@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
|
@@ -6176,7 +6176,7 @@ function normalizeDates$3(context, ...dates) {
|
|
|
6176
6176
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
6177
6177
|
* //=> Tue Sep 02 2014 00:00:00
|
|
6178
6178
|
*/
|
|
6179
|
-
function startOfDay$
|
|
6179
|
+
function startOfDay$4(date, options) {
|
|
6180
6180
|
const _date = toDate$3(date, options?.in);
|
|
6181
6181
|
_date.setHours(0, 0, 0, 0);
|
|
6182
6182
|
return _date;
|
|
@@ -6224,8 +6224,8 @@ function differenceInCalendarDays$3(laterDate, earlierDate, options) {
|
|
|
6224
6224
|
earlierDate,
|
|
6225
6225
|
);
|
|
6226
6226
|
|
|
6227
|
-
const laterStartOfDay = startOfDay$
|
|
6228
|
-
const earlierStartOfDay = startOfDay$
|
|
6227
|
+
const laterStartOfDay = startOfDay$4(laterDate_);
|
|
6228
|
+
const earlierStartOfDay = startOfDay$4(earlierDate_);
|
|
6229
6229
|
|
|
6230
6230
|
const laterTimestamp =
|
|
6231
6231
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$3(laterStartOfDay);
|
|
@@ -13372,7 +13372,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
|
|
|
13372
13372
|
}
|
|
13373
13373
|
};
|
|
13374
13374
|
|
|
13375
|
-
var formkitVersion$8 = '
|
|
13375
|
+
var formkitVersion$8 = '202606252142';
|
|
13376
13376
|
|
|
13377
13377
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13378
13378
|
// See LICENSE in the project root for license information.
|
|
@@ -15456,7 +15456,7 @@ function normalizeDates$1(context, ...dates) {
|
|
|
15456
15456
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
15457
15457
|
* //=> Tue Sep 02 2014 00:00:00
|
|
15458
15458
|
*/
|
|
15459
|
-
function startOfDay$
|
|
15459
|
+
function startOfDay$2(date, options) {
|
|
15460
15460
|
const _date = toDate$1(date, options?.in);
|
|
15461
15461
|
_date.setHours(0, 0, 0, 0);
|
|
15462
15462
|
return _date;
|
|
@@ -15504,8 +15504,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
|
|
|
15504
15504
|
earlierDate,
|
|
15505
15505
|
);
|
|
15506
15506
|
|
|
15507
|
-
const laterStartOfDay = startOfDay$
|
|
15508
|
-
const earlierStartOfDay = startOfDay$
|
|
15507
|
+
const laterStartOfDay = startOfDay$2(laterDate_);
|
|
15508
|
+
const earlierStartOfDay = startOfDay$2(earlierDate_);
|
|
15509
15509
|
|
|
15510
15510
|
const laterTimestamp =
|
|
15511
15511
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
|
|
@@ -24962,8 +24962,8 @@ class RangeDatepickerCell extends i$3 {
|
|
|
24962
24962
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
24963
24963
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
24964
24964
|
if (day) {
|
|
24965
|
-
if (getTime(startOfDay$
|
|
24966
|
-
getTime(startOfDay$
|
|
24965
|
+
if (getTime(startOfDay$2(parsedDateTo * 1000)) / 1000 === day.date ||
|
|
24966
|
+
getTime(startOfDay$2(parsedDateFrom * 1000)) / 1000 === day.date) {
|
|
24967
24967
|
this.selected = true;
|
|
24968
24968
|
}
|
|
24969
24969
|
if (((hoveredDate === day.date || day.date < hoveredDate) &&
|
|
@@ -25151,7 +25151,7 @@ class RangeDatepickerCalendar extends i$3 {
|
|
|
25151
25151
|
this.dayNamesOfTheWeek = [];
|
|
25152
25152
|
this.daysOfMonth = [];
|
|
25153
25153
|
this._locale = null;
|
|
25154
|
-
this.currentDate = parseInt(format$1(startOfDay$
|
|
25154
|
+
this.currentDate = parseInt(format$1(startOfDay$2(Date.now()), 't'), 10);
|
|
25155
25155
|
this.localeChanged();
|
|
25156
25156
|
this.yearAndMonthChanged(this.year, this.month);
|
|
25157
25157
|
}
|
|
@@ -25625,7 +25625,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
|
|
|
25625
25625
|
__decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
25626
25626
|
AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
25627
25627
|
|
|
25628
|
-
var styleCss$5$2 = i$6`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.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}`;
|
|
25628
|
+
var styleCss$5$2 = i$6`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
|
|
25629
25629
|
|
|
25630
25630
|
var colorCss$5$2 = i$6`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day.activeCell:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-color);border-color:var(--ds-advanced-color-state-selected);outline-color:var(--ds-auro-calendar-cell-container-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference:after{border-color:var(--ds-basic-color-border-default, #959595);box-shadow:inset 0 0 0 2px var(--ds-basic-color-surface-default, #ffffff)}:host .day.reference:hover::after{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background-muted, #f7f7f7)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.blackout{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
|
|
25631
25631
|
|
|
@@ -25650,104 +25650,14 @@ class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,cl
|
|
|
25650
25650
|
|
|
25651
25651
|
var popoverVersion = '6.0.1';
|
|
25652
25652
|
|
|
25653
|
-
/**
|
|
25654
|
-
* Single source of truth for parsing and matching blackout dates across the
|
|
25655
|
-
* datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
|
|
25656
|
-
* pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
|
|
25657
|
-
* helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
|
|
25658
|
-
* `disabledDays` rules are defined exactly once.
|
|
25659
|
-
*/
|
|
25660
|
-
|
|
25661
|
-
/**
|
|
25662
|
-
* Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
|
|
25663
|
-
* representing local midnight on that calendar day. Returns `null` for
|
|
25664
|
-
* inputs that don't parse to a finite timestamp.
|
|
25665
|
-
*
|
|
25666
|
-
* Uses the `new Date(year, monthIndex, day)` constructor (NOT
|
|
25667
|
-
* `new Date(isoStr)`) so the result is local-midnight rather than UTC
|
|
25668
|
-
* midnight — required to keep the calendar grid aligned with the user's
|
|
25669
|
-
* local calendar day in negative-offset timezones.
|
|
25670
|
-
*
|
|
25671
|
-
* @param {string} isoStr - Date string in `YYYY-MM-DD` format.
|
|
25672
|
-
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
25673
|
-
*/
|
|
25674
|
-
function parseIsoToTimestamp(isoStr) {
|
|
25675
|
-
if (typeof isoStr !== 'string') {
|
|
25676
|
-
return null;
|
|
25677
|
-
}
|
|
25678
|
-
const parts = isoStr.split('-');
|
|
25679
|
-
if (parts.length !== 3) {
|
|
25680
|
-
return null;
|
|
25681
|
-
}
|
|
25682
|
-
const year = parseInt(parts[0], 10);
|
|
25683
|
-
const month = parseInt(parts[1], 10);
|
|
25684
|
-
const day = parseInt(parts[2], 10);
|
|
25685
|
-
if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
|
|
25686
|
-
return null;
|
|
25687
|
-
}
|
|
25688
|
-
// Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
|
|
25689
|
-
// silently normalizes those to a different calendar day, which would
|
|
25690
|
-
// disable the wrong date if we let the result through.
|
|
25691
|
-
if (month < 1 || month > 12 || day < 1 || day > 31) {
|
|
25692
|
-
return null;
|
|
25693
|
-
}
|
|
25694
|
-
const date = new Date(year, month - 1, day);
|
|
25695
|
-
// Guard the residual case where JS still rolls a value (e.g. Feb 30 → Mar 2).
|
|
25696
|
-
// After construction, getFullYear/getMonth/getDate should match the inputs.
|
|
25697
|
-
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
|
|
25698
|
-
return null;
|
|
25699
|
-
}
|
|
25700
|
-
const ts = Math.floor(date.getTime() / 1000);
|
|
25701
|
-
return Number.isFinite(ts) ? ts : null;
|
|
25702
|
-
}
|
|
25703
|
-
|
|
25704
|
-
/**
|
|
25705
|
-
* Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
|
|
25706
|
-
* legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
|
|
25707
|
-
* array. Use this for O(1) membership checks in hot paths.
|
|
25708
|
-
*
|
|
25709
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
25710
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
25711
|
-
* @returns {Set<number>}
|
|
25712
|
-
*/
|
|
25713
|
-
function buildBlackoutSet(disabledDays, blackoutDates) {
|
|
25714
|
-
const set = new Set();
|
|
25715
|
-
if (Array.isArray(disabledDays)) {
|
|
25716
|
-
for (const day of disabledDays) {
|
|
25717
|
-
const ts = parseInt(day, 10);
|
|
25718
|
-
if (Number.isFinite(ts)) {
|
|
25719
|
-
set.add(ts);
|
|
25720
|
-
}
|
|
25721
|
-
}
|
|
25722
|
-
}
|
|
25723
|
-
if (Array.isArray(blackoutDates)) {
|
|
25724
|
-
for (const isoStr of blackoutDates) {
|
|
25725
|
-
const ts = parseIsoToTimestamp(isoStr);
|
|
25726
|
-
if (ts !== null) {
|
|
25727
|
-
set.add(ts);
|
|
25728
|
-
}
|
|
25729
|
-
}
|
|
25730
|
-
}
|
|
25731
|
-
return set;
|
|
25732
|
-
}
|
|
25733
|
-
|
|
25734
|
-
/**
|
|
25735
|
-
* One-shot membership test for a single timestamp against both blackout
|
|
25736
|
-
* sources. Allocates a Set on each call; only use this in cold paths
|
|
25737
|
-
* (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
|
|
25738
|
-
* Set returned from `buildBlackoutSet` and `.has(ts)` directly.
|
|
25739
|
-
*
|
|
25740
|
-
* @param {number} dateTs - Unix timestamp (seconds) to test.
|
|
25741
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
25742
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
25743
|
-
* @returns {boolean}
|
|
25744
|
-
*/
|
|
25745
|
-
function isBlackoutTimestamp(dateTs, disabledDays, blackoutDates) {
|
|
25746
|
-
return buildBlackoutSet(disabledDays, blackoutDates).has(dateTs);
|
|
25747
|
-
}
|
|
25748
|
-
|
|
25749
25653
|
/* 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 */
|
|
25750
25654
|
|
|
25655
|
+
const startOfDay$1 = (ms) => {
|
|
25656
|
+
const date = new Date(ms);
|
|
25657
|
+
date.setHours(0, 0, 0, 0);
|
|
25658
|
+
return date.getTime();
|
|
25659
|
+
};
|
|
25660
|
+
|
|
25751
25661
|
class AuroCalendarCell extends i$3 {
|
|
25752
25662
|
constructor() {
|
|
25753
25663
|
super();
|
|
@@ -25794,14 +25704,6 @@ class AuroCalendarCell extends i$3 {
|
|
|
25794
25704
|
type: Boolean,
|
|
25795
25705
|
reflect: true
|
|
25796
25706
|
},
|
|
25797
|
-
/**
|
|
25798
|
-
* @deprecated Propagated from the legacy `auro-calendar.disabledDays`
|
|
25799
|
-
* Unix-timestamp array. The cell honors it for backward compatibility
|
|
25800
|
-
* (see the divergence-check fallback inside `isBlackout`), but
|
|
25801
|
-
* consumers should migrate to `auro-datepicker.blackoutDates`
|
|
25802
|
-
* (YYYY-MM-DD ISO strings). The calendar emits a one-time
|
|
25803
|
-
* deprecation warning the first time a non-empty value is observed.
|
|
25804
|
-
*/
|
|
25805
25707
|
disabledDays: { type: Array },
|
|
25806
25708
|
isCurrentDate: { type: Boolean },
|
|
25807
25709
|
locale: { type: String },
|
|
@@ -25847,8 +25749,8 @@ class AuroCalendarCell extends i$3 {
|
|
|
25847
25749
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
25848
25750
|
|
|
25849
25751
|
if (day) {
|
|
25850
|
-
const departTimestamp =
|
|
25851
|
-
const returnTimestamp =
|
|
25752
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
25753
|
+
const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
|
|
25852
25754
|
|
|
25853
25755
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
25854
25756
|
this.selected = true;
|
|
@@ -25932,33 +25834,27 @@ class AuroCalendarCell extends i$3 {
|
|
|
25932
25834
|
return false;
|
|
25933
25835
|
}
|
|
25934
25836
|
|
|
25935
|
-
//
|
|
25936
|
-
|
|
25937
|
-
|
|
25938
|
-
|
|
25939
|
-
|
|
25940
|
-
|
|
25837
|
+
// Check against disabledDays timestamps (legacy path)
|
|
25838
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0 &&
|
|
25839
|
+
(this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
|
|
25840
|
+
return true;
|
|
25841
|
+
}
|
|
25842
|
+
|
|
25843
|
+
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
25844
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
25845
|
+
|
|
25846
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
25847
|
+
const date = new Date(this.day.date * 1000);
|
|
25848
|
+
const yyyy = date.getFullYear();
|
|
25849
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
25850
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
25851
|
+
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
25852
|
+
if (blackoutDates.includes(cellDate)) {
|
|
25941
25853
|
return true;
|
|
25942
25854
|
}
|
|
25943
|
-
// If the cell's local disabledDays diverged from the calendar's (a
|
|
25944
|
-
// consumer or test mutated cell.disabledDays directly), the Set does
|
|
25945
|
-
// not reflect that addition — fall through to the per-cell scan only
|
|
25946
|
-
// when the reference no longer matches. Production data flow keeps
|
|
25947
|
-
// these identical, so this branch stays cold. Guarded with
|
|
25948
|
-
// Array.isArray to match `_getBlackoutSet`'s contract: non-array
|
|
25949
|
-
// values are treated as empty rather than crashing on `.findIndex`.
|
|
25950
|
-
if (Array.isArray(this.disabledDays) && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
|
|
25951
|
-
if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
|
|
25952
|
-
return true;
|
|
25953
|
-
}
|
|
25954
|
-
}
|
|
25955
|
-
return false;
|
|
25956
25855
|
}
|
|
25957
25856
|
|
|
25958
|
-
|
|
25959
|
-
// ancestor calendar is wired up. Routes through the shared
|
|
25960
|
-
// blackoutUtils helper so the parsing rules stay in one place.
|
|
25961
|
-
return isBlackoutTimestamp(this.day.date, this.disabledDays, this.datepicker?.blackoutDates);
|
|
25857
|
+
return false;
|
|
25962
25858
|
}
|
|
25963
25859
|
|
|
25964
25860
|
/**
|
|
@@ -26064,12 +25960,12 @@ class AuroCalendarCell extends i$3 {
|
|
|
26064
25960
|
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
26065
25961
|
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
26066
25962
|
|
|
26067
|
-
const departTimestamp =
|
|
25963
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
26068
25964
|
const dayDate = this.day.date;
|
|
26069
25965
|
|
|
26070
25966
|
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
26071
25967
|
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
26072
|
-
const returnTimestamp = hasDateTo ?
|
|
25968
|
+
const returnTimestamp = hasDateTo ? startOfDay$1(parsedDateTo * 1000) / 1000 : null;
|
|
26073
25969
|
|
|
26074
25970
|
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
26075
25971
|
|
|
@@ -26079,9 +25975,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26079
25975
|
|
|
26080
25976
|
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
26081
25977
|
|
|
26082
|
-
|
|
26083
|
-
|
|
26084
|
-
// After end date when both dateFrom and dateTo are set.
|
|
25978
|
+
// After start date, no end date yet, or after end date
|
|
26085
25979
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
26086
25980
|
}
|
|
26087
25981
|
|
|
@@ -26094,7 +25988,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26094
25988
|
*/
|
|
26095
25989
|
isDepartDate(day, dateFrom) {
|
|
26096
25990
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
26097
|
-
const departTimestamp =
|
|
25991
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
26098
25992
|
|
|
26099
25993
|
return this.selected && day.date === departTimestamp;
|
|
26100
25994
|
}
|
|
@@ -26109,7 +26003,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26109
26003
|
*/
|
|
26110
26004
|
isReturnDate(day, dateFrom, dateTo) {
|
|
26111
26005
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
26112
|
-
const returnTimestamp =
|
|
26006
|
+
const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
|
|
26113
26007
|
|
|
26114
26008
|
return this.selected && day.date === returnTimestamp && dateFrom;
|
|
26115
26009
|
}
|
|
@@ -26273,7 +26167,6 @@ class AuroCalendarCell extends i$3 {
|
|
|
26273
26167
|
setTimeout(() => this.firstUpdated(), 0);
|
|
26274
26168
|
return;
|
|
26275
26169
|
}
|
|
26276
|
-
this.calendar = calendar;
|
|
26277
26170
|
this.datepicker = calendar.datepicker;
|
|
26278
26171
|
this._slotContentHandler = () => {
|
|
26279
26172
|
this.handleSlotContent();
|
|
@@ -26331,13 +26224,12 @@ class AuroCalendarCell extends i$3 {
|
|
|
26331
26224
|
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
26332
26225
|
});
|
|
26333
26226
|
|
|
26334
|
-
//
|
|
26227
|
+
// Update host-level aria attributes for ariaActiveDescendantElement.
|
|
26335
26228
|
this.updateHostAria();
|
|
26336
26229
|
}
|
|
26337
26230
|
|
|
26338
26231
|
// Update host aria when selection changes (aria-selected, range labels)
|
|
26339
|
-
|
|
26340
|
-
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
|
|
26232
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
|
|
26341
26233
|
this.updateHostAria();
|
|
26342
26234
|
}
|
|
26343
26235
|
|
|
@@ -26348,8 +26240,8 @@ class AuroCalendarCell extends i$3 {
|
|
|
26348
26240
|
}
|
|
26349
26241
|
|
|
26350
26242
|
/**
|
|
26351
|
-
*
|
|
26352
|
-
*
|
|
26243
|
+
* Updates ARIA attributes on the host element so that
|
|
26244
|
+
* ariaActiveDescendantElement can expose cell info to the SR.
|
|
26353
26245
|
* @private
|
|
26354
26246
|
* @returns {void}
|
|
26355
26247
|
*/
|
|
@@ -26358,27 +26250,16 @@ class AuroCalendarCell extends i$3 {
|
|
|
26358
26250
|
|
|
26359
26251
|
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
26360
26252
|
if (outOfRange) {
|
|
26361
|
-
// Strip every aria attribute the in-range branch may have set on a
|
|
26362
|
-
// previous render — if a cell flips from in-range to out-of-range
|
|
26363
|
-
// (calendar shifts months, minDate/maxDate change, etc.).
|
|
26364
26253
|
this.removeAttribute('role');
|
|
26365
26254
|
this.removeAttribute('aria-label');
|
|
26366
|
-
this.removeAttribute('aria-current');
|
|
26367
|
-
this.removeAttribute('aria-selected');
|
|
26368
|
-
this.removeAttribute('aria-disabled');
|
|
26369
26255
|
return;
|
|
26370
26256
|
}
|
|
26371
26257
|
|
|
26258
|
+
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
26372
26259
|
this.setAttribute('role', 'gridcell');
|
|
26373
26260
|
this.setAttribute('aria-label', this.getAriaLabel());
|
|
26374
26261
|
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
26375
26262
|
|
|
26376
|
-
if (this.isCurrentDate) {
|
|
26377
|
-
this.setAttribute('aria-current', 'date');
|
|
26378
|
-
} else {
|
|
26379
|
-
this.removeAttribute('aria-current');
|
|
26380
|
-
}
|
|
26381
|
-
|
|
26382
26263
|
if (this.isBlackout()) {
|
|
26383
26264
|
this.setAttribute('aria-disabled', 'true');
|
|
26384
26265
|
} else {
|
|
@@ -26393,7 +26274,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26393
26274
|
* @returns {void}
|
|
26394
26275
|
*/
|
|
26395
26276
|
focusButton() {
|
|
26396
|
-
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([
|
|
26277
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
|
|
26397
26278
|
if (button) {
|
|
26398
26279
|
button.focus({ focusVisible: true });
|
|
26399
26280
|
}
|
|
@@ -26401,9 +26282,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26401
26282
|
|
|
26402
26283
|
/**
|
|
26403
26284
|
* Imperatively marks this cell as active without triggering a Lit re-render.
|
|
26404
|
-
*
|
|
26405
|
-
* arrow keys move the active cell imperatively and the live region carries
|
|
26406
|
-
* the SR announcement.
|
|
26285
|
+
* Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
|
|
26407
26286
|
* @returns {void}
|
|
26408
26287
|
*/
|
|
26409
26288
|
setActive() {
|
|
@@ -26445,13 +26324,10 @@ class AuroCalendarCell extends i$3 {
|
|
|
26445
26324
|
if (!btn || !this.day) return;
|
|
26446
26325
|
|
|
26447
26326
|
const dayDate = this.day.date;
|
|
26448
|
-
const departTimestamp =
|
|
26327
|
+
const departTimestamp = startOfDay$1(dateFrom * 1000) / 1000;
|
|
26449
26328
|
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
26450
|
-
|
|
26451
|
-
|
|
26452
|
-
// rangeDepartDate and lastHoveredDate.
|
|
26453
|
-
const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
|
|
26454
|
-
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
|
|
26329
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
|
|
26330
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
|
|
26455
26331
|
|
|
26456
26332
|
btn.classList.toggle('inRange', isInRange);
|
|
26457
26333
|
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
@@ -26509,6 +26385,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26509
26385
|
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
26510
26386
|
class="${e$2(buttonClasses)}"
|
|
26511
26387
|
?disabled="${outOfRange}"
|
|
26388
|
+
aria-hidden="${outOfRange ? 'true' : A$7}"
|
|
26512
26389
|
tabindex="-1">
|
|
26513
26390
|
<div class="buttonWrapper" aria-hidden="true">
|
|
26514
26391
|
<div class="currentDayMarker">${this.day?.title || A$7}</div>
|
|
@@ -27614,7 +27491,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
27614
27491
|
}
|
|
27615
27492
|
};
|
|
27616
27493
|
|
|
27617
|
-
var formkitVersion$2$1 = '
|
|
27494
|
+
var formkitVersion$2$1 = '202606252142';
|
|
27618
27495
|
|
|
27619
27496
|
let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$2`${s$3(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$6`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
27620
27497
|
`,u$4$2=i$6`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -27737,11 +27614,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27737
27614
|
this.calendarRangeMonths = null;
|
|
27738
27615
|
|
|
27739
27616
|
/**
|
|
27740
|
-
*
|
|
27741
|
-
* `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
|
|
27742
|
-
* timestamps is still honored for backward compatibility but emits a
|
|
27743
|
-
* one-time `console.debug` the first time a non-empty value is observed.
|
|
27744
|
-
* Support will be removed in a future major release.
|
|
27617
|
+
* Legacy array of disabled-date timestamps.
|
|
27745
27618
|
* @private
|
|
27746
27619
|
*/
|
|
27747
27620
|
this.disabledDays = [];
|
|
@@ -27998,44 +27871,17 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27998
27871
|
* @returns {void}
|
|
27999
27872
|
*/
|
|
28000
27873
|
updateActiveCellForVisibleMonth() {
|
|
28001
|
-
|
|
28002
|
-
|
|
28003
|
-
|
|
28004
|
-
if (newDate !== null && newDate !== undefined) {
|
|
28005
|
-
this.activeCellDate = newDate;
|
|
28006
|
-
this.setActiveCell(this.activeCellDate);
|
|
28007
|
-
}
|
|
28008
|
-
});
|
|
28009
|
-
}
|
|
28010
|
-
|
|
28011
|
-
/**
|
|
28012
|
-
* Schedules `callback` two animation frames out, giving the child
|
|
28013
|
-
* `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
|
|
28014
|
-
* a full render-and-paint cycle to settle before the callback reads or
|
|
28015
|
-
* mutates DOM.
|
|
28016
|
-
*
|
|
28017
|
-
* Why two frames, not one:
|
|
28018
|
-
* 1. Lit batches property updates and renders in a microtask, so frame N
|
|
28019
|
-
* schedules the render but the new DOM may not be painted yet.
|
|
28020
|
-
* 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
|
|
28021
|
-
* which also lands a tick later. Reading buttons from frame N+1
|
|
28022
|
-
* (after both renders + cache refresh have flushed) reliably hits the
|
|
28023
|
-
* new month's cells.
|
|
28024
|
-
*
|
|
28025
|
-
* Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
|
|
28026
|
-
* and then needs to inspect the freshly-rendered cells (cross-month
|
|
28027
|
-
* keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
|
|
28028
|
-
* Do NOT collapse to a single rAF — it intermittently lands before
|
|
28029
|
-
* `_cachedButton` is refreshed, which silently breaks focus restoration
|
|
28030
|
-
* and `setActiveCell` lookups.
|
|
28031
|
-
* @private
|
|
28032
|
-
* @param {() => void} callback - Runs once after the month re-render and
|
|
28033
|
-
* the cells' button caches have refreshed.
|
|
28034
|
-
* @returns {void}
|
|
28035
|
-
*/
|
|
28036
|
-
_afterMonthRender(callback) {
|
|
27874
|
+
// Use double-rAF to ensure child month/cell components have fully
|
|
27875
|
+
// rendered and cached their button references before we set tabindex.
|
|
28037
27876
|
requestAnimationFrame(() => {
|
|
28038
|
-
requestAnimationFrame(
|
|
27877
|
+
requestAnimationFrame(() => {
|
|
27878
|
+
const newDate = this.computeActiveDate({ skipDateFrom: true });
|
|
27879
|
+
|
|
27880
|
+
if (newDate !== null && newDate !== undefined) {
|
|
27881
|
+
this.activeCellDate = newDate;
|
|
27882
|
+
this.setActiveCell(this.activeCellDate);
|
|
27883
|
+
}
|
|
27884
|
+
});
|
|
28039
27885
|
});
|
|
28040
27886
|
}
|
|
28041
27887
|
|
|
@@ -28153,47 +27999,6 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28153
27999
|
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
28154
28000
|
}
|
|
28155
28001
|
|
|
28156
|
-
/**
|
|
28157
|
-
* Picks the focusable cell whose date is closest to targetTs. Used as a
|
|
28158
|
-
* fallback after a month-boundary nav when the exact target date isn't
|
|
28159
|
-
* focusable — typically because the month re-render lagged or the date
|
|
28160
|
-
* was filtered out by isOutOfRange. When two cells are equidistant, the
|
|
28161
|
-
* navigation direction breaks the tie so the user moves the way they
|
|
28162
|
-
* pressed (forward → later cell, backward → earlier cell).
|
|
28163
|
-
* @private
|
|
28164
|
-
* @param {Array} cells - Focusable cells from getAllFocusableCells.
|
|
28165
|
-
* @param {Number} targetTs - Desired Unix timestamp (seconds).
|
|
28166
|
-
* @param {'next'|'prev'} direction - Navigation direction.
|
|
28167
|
-
* @returns {Object|null} The nearest cell, or null when cells is empty.
|
|
28168
|
-
*/
|
|
28169
|
-
pickNearestCell(cells, targetTs, direction) {
|
|
28170
|
-
if (!cells.length) {
|
|
28171
|
-
return null;
|
|
28172
|
-
}
|
|
28173
|
-
const forward = direction === 'next';
|
|
28174
|
-
let best = null;
|
|
28175
|
-
let bestDelta = Infinity;
|
|
28176
|
-
cells.forEach((cell) => {
|
|
28177
|
-
if (!cell.day) {
|
|
28178
|
-
return;
|
|
28179
|
-
}
|
|
28180
|
-
const distance = Math.abs(cell.day.date - targetTs);
|
|
28181
|
-
if (distance < bestDelta) {
|
|
28182
|
-
best = cell;
|
|
28183
|
-
bestDelta = distance;
|
|
28184
|
-
return;
|
|
28185
|
-
}
|
|
28186
|
-
if (distance === bestDelta && best) {
|
|
28187
|
-
if (forward && cell.day.date > best.day.date) {
|
|
28188
|
-
best = cell;
|
|
28189
|
-
} else if (!forward && cell.day.date < best.day.date) {
|
|
28190
|
-
best = cell;
|
|
28191
|
-
}
|
|
28192
|
-
}
|
|
28193
|
-
});
|
|
28194
|
-
return best;
|
|
28195
|
-
}
|
|
28196
|
-
|
|
28197
28002
|
/**
|
|
28198
28003
|
* Gets all focusable cells across all rendered months.
|
|
28199
28004
|
* @private
|
|
@@ -28210,9 +28015,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28210
28015
|
|
|
28211
28016
|
/**
|
|
28212
28017
|
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
28213
|
-
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
28214
|
-
*
|
|
28215
|
-
*
|
|
28018
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
28019
|
+
* Also updates ariaActiveDescendantElement on the grid wrapper so
|
|
28020
|
+
* screen readers announce the active cell without moving DOM focus.
|
|
28216
28021
|
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
28217
28022
|
* @returns {void}
|
|
28218
28023
|
*/
|
|
@@ -28293,65 +28098,6 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28293
28098
|
this.clearRangePreview();
|
|
28294
28099
|
}
|
|
28295
28100
|
|
|
28296
|
-
/**
|
|
28297
|
-
* Returns a memoized Set of blackout timestamps (seconds) drawn from both
|
|
28298
|
-
* the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
|
|
28299
|
-
* The cache invalidates when either source array's reference changes, which
|
|
28300
|
-
* matches Lit's own reactive identity semantics for array properties.
|
|
28301
|
-
* @private
|
|
28302
|
-
* @returns {Set<Number>}
|
|
28303
|
-
*/
|
|
28304
|
-
_getBlackoutSet() {
|
|
28305
|
-
// Normalize non-array values to a stable `null` sentinel rather than a
|
|
28306
|
-
// fresh `[]` per call — otherwise the reference-identity cache key
|
|
28307
|
-
// (`_cachedBlackoutDisabledDays === disabledDays`) never matches on
|
|
28308
|
-
// subsequent calls and the Set rebuilds every time. `buildBlackoutSet`
|
|
28309
|
-
// already treats null/non-array as "no legacy disabledDays" via its
|
|
28310
|
-
// own Array.isArray gate.
|
|
28311
|
-
const disabledDays = Array.isArray(this.disabledDays) ? this.disabledDays : null;
|
|
28312
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
28313
|
-
if (this._blackoutSet &&
|
|
28314
|
-
this._cachedBlackoutDisabledDays === disabledDays &&
|
|
28315
|
-
this._cachedBlackoutDates === blackoutDates) {
|
|
28316
|
-
return this._blackoutSet;
|
|
28317
|
-
}
|
|
28318
|
-
|
|
28319
|
-
if (disabledDays && disabledDays.length > 0) {
|
|
28320
|
-
this._warnDisabledDaysDeprecated();
|
|
28321
|
-
}
|
|
28322
|
-
|
|
28323
|
-
this._blackoutSet = buildBlackoutSet(disabledDays, blackoutDates);
|
|
28324
|
-
this._cachedBlackoutDisabledDays = disabledDays;
|
|
28325
|
-
this._cachedBlackoutDates = blackoutDates;
|
|
28326
|
-
return this._blackoutSet;
|
|
28327
|
-
}
|
|
28328
|
-
|
|
28329
|
-
/**
|
|
28330
|
-
* Per-class flag that gates the `disabledDays` deprecation warning so it
|
|
28331
|
-
* fires exactly once per page no matter how many calendars or rebuild
|
|
28332
|
-
* cycles encounter the legacy array.
|
|
28333
|
-
* @private
|
|
28334
|
-
*/
|
|
28335
|
-
static _warnedDisabledDaysDeprecation = false;
|
|
28336
|
-
|
|
28337
|
-
/**
|
|
28338
|
-
* One-time `console.debug` directing consumers from the legacy
|
|
28339
|
-
* `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
|
|
28340
|
-
* the first time `_getBlackoutSet` rebuilds from a non-empty
|
|
28341
|
-
* `disabledDays`; subsequent calls (on this or any other AuroCalendar
|
|
28342
|
-
* instance on the page) are silent.
|
|
28343
|
-
* @private
|
|
28344
|
-
* @returns {void}
|
|
28345
|
-
*/
|
|
28346
|
-
_warnDisabledDaysDeprecated() {
|
|
28347
|
-
if (AuroCalendar._warnedDisabledDaysDeprecation) {
|
|
28348
|
-
return;
|
|
28349
|
-
}
|
|
28350
|
-
AuroCalendar._warnedDisabledDaysDeprecation = true;
|
|
28351
|
-
// eslint-disable-next-line no-console
|
|
28352
|
-
console.debug('[auro-datepicker] The `disabledDays` property (Unix timestamps) is deprecated. Migrate to the `blackoutDates` property on auro-datepicker (an array of `YYYY-MM-DD` ISO strings). `disabledDays` will be removed in a future major release.');
|
|
28353
|
-
}
|
|
28354
|
-
|
|
28355
28101
|
/**
|
|
28356
28102
|
* Computes the initial active date from data properties alone — no DOM required.
|
|
28357
28103
|
* Priority:
|
|
@@ -28396,10 +28142,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28396
28142
|
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
28397
28143
|
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
28398
28144
|
|
|
28399
|
-
// Build a Set of blackout timestamps for O(1) lookup.
|
|
28400
|
-
|
|
28401
|
-
|
|
28402
|
-
|
|
28145
|
+
// Build a Set of blackout timestamps for O(1) lookup.
|
|
28146
|
+
const blackoutSet = new Set(this.disabledDays.map((day) => parseInt(day, 10)));
|
|
28147
|
+
|
|
28148
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
28149
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
28150
|
+
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
28151
|
+
if (Array.isArray(isoBlackouts)) {
|
|
28152
|
+
for (const isoStr of isoBlackouts) {
|
|
28153
|
+
const parts = isoStr.split('-');
|
|
28154
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
28155
|
+
if (Number.isFinite(ts)) {
|
|
28156
|
+
blackoutSet.add(ts);
|
|
28157
|
+
}
|
|
28158
|
+
}
|
|
28159
|
+
}
|
|
28403
28160
|
|
|
28404
28161
|
/**
|
|
28405
28162
|
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
@@ -28595,8 +28352,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28595
28352
|
|
|
28596
28353
|
/**
|
|
28597
28354
|
* Handles arrow key navigation on the calendar grid wrapper.
|
|
28598
|
-
* Focus stays on the grid wrapper; only
|
|
28599
|
-
*
|
|
28355
|
+
* Focus stays on the grid wrapper; only ariaActiveDescendantElement
|
|
28356
|
+
* and the visual active-cell indicator change.
|
|
28600
28357
|
* @private
|
|
28601
28358
|
* @param {KeyboardEvent} event - The keyboard event.
|
|
28602
28359
|
* @returns {void}
|
|
@@ -28661,21 +28418,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28661
28418
|
} else {
|
|
28662
28419
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28663
28420
|
}
|
|
28664
|
-
|
|
28665
|
-
|
|
28666
|
-
|
|
28667
|
-
|
|
28668
|
-
|
|
28669
|
-
|
|
28670
|
-
|
|
28671
|
-
|
|
28672
|
-
|
|
28421
|
+
requestAnimationFrame(() => {
|
|
28422
|
+
requestAnimationFrame(() => {
|
|
28423
|
+
const cells = this.getAllFocusableCells();
|
|
28424
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
|
|
28425
|
+
if (target) {
|
|
28426
|
+
this.setActiveCell(target.day.date);
|
|
28427
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
28428
|
+
} else if (cells.length > 0) {
|
|
28429
|
+
const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
|
|
28673
28430
|
this.setActiveCell(fallback.day.date);
|
|
28674
28431
|
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
28675
28432
|
}
|
|
28676
|
-
|
|
28677
|
-
|
|
28678
|
-
|
|
28433
|
+
// Re-focus grid wrapper after month change re-render
|
|
28434
|
+
this.focusActiveCell();
|
|
28435
|
+
});
|
|
28679
28436
|
});
|
|
28680
28437
|
}
|
|
28681
28438
|
}
|
|
@@ -28701,20 +28458,26 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28701
28458
|
} else {
|
|
28702
28459
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28703
28460
|
}
|
|
28704
|
-
|
|
28705
|
-
|
|
28706
|
-
|
|
28707
|
-
|
|
28708
|
-
|
|
28709
|
-
|
|
28710
|
-
|
|
28711
|
-
|
|
28712
|
-
|
|
28461
|
+
requestAnimationFrame(() => {
|
|
28462
|
+
requestAnimationFrame(() => {
|
|
28463
|
+
const cells = this.getAllFocusableCells();
|
|
28464
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
28465
|
+
if (target) {
|
|
28466
|
+
this.setActiveCell(target.day.date);
|
|
28467
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
28468
|
+
} else if (cells.length > 0) {
|
|
28469
|
+
let nearest = null;
|
|
28470
|
+
|
|
28471
|
+
if (navDirection === 'next') {
|
|
28472
|
+
[nearest] = cells;
|
|
28473
|
+
} else {
|
|
28474
|
+
nearest = cells[cells.length - 1];
|
|
28475
|
+
}
|
|
28713
28476
|
this.setActiveCell(nearest.day.date);
|
|
28714
28477
|
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
28715
28478
|
}
|
|
28716
|
-
|
|
28717
|
-
|
|
28479
|
+
this.focusActiveCell();
|
|
28480
|
+
});
|
|
28718
28481
|
});
|
|
28719
28482
|
}
|
|
28720
28483
|
}
|
|
@@ -28764,17 +28527,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28764
28527
|
}
|
|
28765
28528
|
|
|
28766
28529
|
this.handleNextMonth({ skipActiveUpdate: true });
|
|
28767
|
-
|
|
28768
|
-
|
|
28769
|
-
|
|
28770
|
-
|
|
28771
|
-
|
|
28772
|
-
|
|
28773
|
-
|
|
28774
|
-
|
|
28775
|
-
|
|
28776
|
-
|
|
28777
|
-
|
|
28530
|
+
requestAnimationFrame(() => {
|
|
28531
|
+
requestAnimationFrame(() => {
|
|
28532
|
+
const cells = this.getAllFocusableCells();
|
|
28533
|
+
const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
|
|
28534
|
+
if (target) {
|
|
28535
|
+
this.setActiveCell(target.day.date);
|
|
28536
|
+
this.focusActiveCell();
|
|
28537
|
+
} else if (cells.length > 0) {
|
|
28538
|
+
// Fallback: first cell of the last rendered month
|
|
28539
|
+
this.setActiveCell(cells[cells.length - 1].day.date);
|
|
28540
|
+
this.focusActiveCell();
|
|
28541
|
+
}
|
|
28542
|
+
});
|
|
28778
28543
|
});
|
|
28779
28544
|
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
28780
28545
|
// Navigate to previous month and focus the computed previous date.
|
|
@@ -28788,17 +28553,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28788
28553
|
}
|
|
28789
28554
|
|
|
28790
28555
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28791
|
-
|
|
28792
|
-
|
|
28793
|
-
|
|
28794
|
-
|
|
28795
|
-
|
|
28796
|
-
|
|
28797
|
-
|
|
28798
|
-
|
|
28799
|
-
|
|
28800
|
-
|
|
28801
|
-
|
|
28556
|
+
requestAnimationFrame(() => {
|
|
28557
|
+
requestAnimationFrame(() => {
|
|
28558
|
+
const cells = this.getAllFocusableCells();
|
|
28559
|
+
const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
|
|
28560
|
+
if (target) {
|
|
28561
|
+
this.setActiveCell(target.day.date);
|
|
28562
|
+
this.focusActiveCell();
|
|
28563
|
+
} else if (cells.length > 0) {
|
|
28564
|
+
// Fallback: last cell of the first rendered month
|
|
28565
|
+
this.setActiveCell(cells[0].day.date);
|
|
28566
|
+
this.focusActiveCell();
|
|
28567
|
+
}
|
|
28568
|
+
});
|
|
28802
28569
|
});
|
|
28803
28570
|
}
|
|
28804
28571
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
@@ -28826,18 +28593,20 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28826
28593
|
} else {
|
|
28827
28594
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28828
28595
|
}
|
|
28829
|
-
|
|
28830
|
-
|
|
28831
|
-
|
|
28832
|
-
|
|
28833
|
-
|
|
28834
|
-
|
|
28835
|
-
|
|
28836
|
-
|
|
28837
|
-
|
|
28838
|
-
|
|
28839
|
-
|
|
28840
|
-
|
|
28596
|
+
requestAnimationFrame(() => {
|
|
28597
|
+
requestAnimationFrame(() => {
|
|
28598
|
+
const cells = this.getAllFocusableCells();
|
|
28599
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
28600
|
+
if (target) {
|
|
28601
|
+
this.setActiveCell(target.day.date);
|
|
28602
|
+
this.focusActiveCell();
|
|
28603
|
+
} else if (cells.length > 0) {
|
|
28604
|
+
// Clamp to nearest focusable cell
|
|
28605
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
28606
|
+
this.setActiveCell(nearest.day.date);
|
|
28607
|
+
this.focusActiveCell();
|
|
28608
|
+
}
|
|
28609
|
+
});
|
|
28841
28610
|
});
|
|
28842
28611
|
}
|
|
28843
28612
|
}
|
|
@@ -28876,9 +28645,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28876
28645
|
return;
|
|
28877
28646
|
}
|
|
28878
28647
|
|
|
28879
|
-
//
|
|
28880
|
-
//
|
|
28881
|
-
// region carries the full-context announcement instead.
|
|
28648
|
+
// With aria-activedescendant, the button no longer receives native focus,
|
|
28649
|
+
// so we use the debounced live region for the full context announcement.
|
|
28882
28650
|
const announcement = this.buildFocusAnnouncement(date);
|
|
28883
28651
|
this.announceFocusDebounced(announcement);
|
|
28884
28652
|
|
|
@@ -28948,10 +28716,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28948
28716
|
return null;
|
|
28949
28717
|
}
|
|
28950
28718
|
|
|
28951
|
-
const departTs =
|
|
28719
|
+
const departTs = startOfDay$2(parsedFrom * 1000) / 1000;
|
|
28952
28720
|
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
28953
28721
|
const hasTo = Number.isFinite(parsedTo);
|
|
28954
|
-
const returnTs = hasTo ?
|
|
28722
|
+
const returnTs = hasTo ? startOfDay$2(parsedTo * 1000) / 1000 : null;
|
|
28955
28723
|
|
|
28956
28724
|
if (date === departTs) {
|
|
28957
28725
|
return this.datepicker.rangeLabelStart || 'range start';
|
|
@@ -28965,22 +28733,36 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28965
28733
|
if (hasTo && date > departTs && date < returnTs) {
|
|
28966
28734
|
return this.datepicker.rangeLabelInRange || 'in range';
|
|
28967
28735
|
}
|
|
28968
|
-
if (!hasTo && date > departTs) {
|
|
28969
|
-
return this.datepicker.rangeLabelEndPreview || 'previewing range end';
|
|
28970
|
-
}
|
|
28971
28736
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
28972
28737
|
}
|
|
28973
28738
|
|
|
28974
28739
|
/**
|
|
28975
|
-
* Checks whether a given date is a blackout date.
|
|
28976
|
-
* memoized `_getBlackoutSet` so the YYYY-MM-DD parsing and the
|
|
28977
|
-
* legacy/ISO merge rules live in exactly one place (see `blackoutUtils.js`).
|
|
28740
|
+
* Checks whether a given date is a blackout date.
|
|
28978
28741
|
* @private
|
|
28979
28742
|
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
28980
28743
|
* @returns {Boolean} True if the date is blacked out.
|
|
28981
28744
|
*/
|
|
28982
28745
|
isDateBlackout(dateTs) {
|
|
28983
|
-
|
|
28746
|
+
// Check legacy disabledDays.
|
|
28747
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
28748
|
+
if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
|
|
28749
|
+
return true;
|
|
28750
|
+
}
|
|
28751
|
+
}
|
|
28752
|
+
|
|
28753
|
+
// Check ISO blackoutDates.
|
|
28754
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
28755
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
28756
|
+
const date = new Date(dateTs * 1000);
|
|
28757
|
+
const yyyy = date.getFullYear();
|
|
28758
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
28759
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
28760
|
+
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
28761
|
+
return true;
|
|
28762
|
+
}
|
|
28763
|
+
}
|
|
28764
|
+
|
|
28765
|
+
return false;
|
|
28984
28766
|
}
|
|
28985
28767
|
|
|
28986
28768
|
/**
|
|
@@ -29147,34 +28929,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
29147
28929
|
// the last one.
|
|
29148
28930
|
if (this._announceRafId) {
|
|
29149
28931
|
cancelAnimationFrame(this._announceRafId);
|
|
29150
|
-
this._announceRafId = null;
|
|
29151
28932
|
}
|
|
29152
|
-
this._deliverAnnouncement(dateStr, 0);
|
|
29153
|
-
}
|
|
29154
|
-
|
|
29155
|
-
/**
|
|
29156
|
-
* Writes `dateStr` to the live region. If the dropdown's dialog hasn't
|
|
29157
|
-
* mounted yet (so getOrCreateLiveRegion can't attach), retries on the
|
|
29158
|
-
* next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
|
|
29159
|
-
* dropping the announcement. The retry uses the same `_announceRafId`
|
|
29160
|
-
* the double-rAF below uses, so a newer announceSelection call (or
|
|
29161
|
-
* disconnectedCallback) cancels any in-flight retry.
|
|
29162
|
-
* @private
|
|
29163
|
-
* @param {String} dateStr - The localized date string to announce.
|
|
29164
|
-
* @param {Number} attempts - Number of prior retry attempts.
|
|
29165
|
-
* @returns {void}
|
|
29166
|
-
*/
|
|
29167
|
-
_deliverAnnouncement(dateStr, attempts) {
|
|
29168
28933
|
const liveRegion = this.getOrCreateLiveRegion();
|
|
29169
28934
|
if (!liveRegion) {
|
|
29170
|
-
const MAX_LIVE_REGION_RETRIES = 10;
|
|
29171
|
-
if (attempts < MAX_LIVE_REGION_RETRIES) {
|
|
29172
|
-
this._announceRafId = requestAnimationFrame(() => {
|
|
29173
|
-
this._deliverAnnouncement(dateStr, attempts + 1);
|
|
29174
|
-
});
|
|
29175
|
-
} else {
|
|
29176
|
-
this._announceRafId = null;
|
|
29177
|
-
}
|
|
29178
28935
|
return;
|
|
29179
28936
|
}
|
|
29180
28937
|
|
|
@@ -29360,7 +29117,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
29360
29117
|
</button>
|
|
29361
29118
|
` : undefined}
|
|
29362
29119
|
</div>
|
|
29363
|
-
<div id="calendarGrid" class="calendars" role="group"
|
|
29120
|
+
<div id="calendarGrid" class="calendars" role="group" tabindex="0" aria-label="${this.datepicker?.calendarGridLabel}" @keydown="${this.handleGridKeyDown}" @focusin="${this.handleGridFocusIn}" @focusout="${this.handleGridFocusOut}" @calendar-month-mouseleave="${this.clearRangePreview}">
|
|
29364
29121
|
${this.renderAllCalendars()}
|
|
29365
29122
|
</div>
|
|
29366
29123
|
</div>
|
|
@@ -33245,7 +33002,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
33245
33002
|
}
|
|
33246
33003
|
};
|
|
33247
33004
|
|
|
33248
|
-
var formkitVersion$1$3 = '
|
|
33005
|
+
var formkitVersion$1$3 = '202606252142';
|
|
33249
33006
|
|
|
33250
33007
|
let AuroElement$2$2 = class AuroElement extends i$3 {
|
|
33251
33008
|
static get properties() {
|
|
@@ -34517,6 +34274,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
34517
34274
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
34518
34275
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
34519
34276
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
34277
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
34520
34278
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
34521
34279
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
34522
34280
|
@focusin="${this.handleFocusin}"
|
|
@@ -39642,7 +39400,7 @@ function normalizeDates$2(context, ...dates) {
|
|
|
39642
39400
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
39643
39401
|
* //=> Tue Sep 02 2014 00:00:00
|
|
39644
39402
|
*/
|
|
39645
|
-
function startOfDay$
|
|
39403
|
+
function startOfDay$3(date, options) {
|
|
39646
39404
|
const _date = toDate$2(date, options?.in);
|
|
39647
39405
|
_date.setHours(0, 0, 0, 0);
|
|
39648
39406
|
return _date;
|
|
@@ -39690,8 +39448,8 @@ function differenceInCalendarDays$2(laterDate, earlierDate, options) {
|
|
|
39690
39448
|
earlierDate,
|
|
39691
39449
|
);
|
|
39692
39450
|
|
|
39693
|
-
const laterStartOfDay = startOfDay$
|
|
39694
|
-
const earlierStartOfDay = startOfDay$
|
|
39451
|
+
const laterStartOfDay = startOfDay$3(laterDate_);
|
|
39452
|
+
const earlierStartOfDay = startOfDay$3(earlierDate_);
|
|
39695
39453
|
|
|
39696
39454
|
const laterTimestamp =
|
|
39697
39455
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$2(laterStartOfDay);
|
|
@@ -46838,7 +46596,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
|
|
|
46838
46596
|
}
|
|
46839
46597
|
};
|
|
46840
46598
|
|
|
46841
|
-
var formkitVersion$7 = '
|
|
46599
|
+
var formkitVersion$7 = '202606252142';
|
|
46842
46600
|
|
|
46843
46601
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
46844
46602
|
// See LICENSE in the project root for license information.
|
|
@@ -48315,7 +48073,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48315
48073
|
this.rangeLabelBeforeRange = 'before range';
|
|
48316
48074
|
this.rangeLabelInRange = 'in range';
|
|
48317
48075
|
this.rangeLabelAfterRange = 'after range';
|
|
48318
|
-
this.rangeLabelEndPreview = 'previewing range end';
|
|
48319
48076
|
this.blackoutDates = [];
|
|
48320
48077
|
this.blackoutLabel = 'unavailable';
|
|
48321
48078
|
this.navLabelPrevMonth = 'Previous month';
|
|
@@ -48415,22 +48172,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48415
48172
|
*/
|
|
48416
48173
|
this.handleClick = this.handleClick.bind(this);
|
|
48417
48174
|
|
|
48418
|
-
/**
|
|
48419
|
-
* Single AbortController shared by every listener registered in the
|
|
48420
|
-
* configure* methods. Lets disconnectedCallback tear all of them down
|
|
48421
|
-
* with one abort() call.
|
|
48422
|
-
*
|
|
48423
|
-
* The genuine leak risk is the listeners attached to children that can
|
|
48424
|
-
* outlive the host if they get reparented — `this.dropdown`,
|
|
48425
|
-
* `this.calendar`, and the inputs inside the dropdown's slot.
|
|
48426
|
-
* Listeners attached to `this` (e.g. focusin/focusout on the host)
|
|
48427
|
-
* form a self-contained reference graph that the GC can collect with
|
|
48428
|
-
* the host anyway, but they share the same signal so the cleanup
|
|
48429
|
-
* pattern stays uniform across all configure* sites.
|
|
48430
|
-
* @private
|
|
48431
|
-
*/
|
|
48432
|
-
this._listenerAbortController = new AbortController();
|
|
48433
|
-
|
|
48434
48175
|
/**
|
|
48435
48176
|
* @private
|
|
48436
48177
|
*/
|
|
@@ -48479,7 +48220,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48479
48220
|
|
|
48480
48221
|
/**
|
|
48481
48222
|
* Label announced for blackout (disabled but in-range) date cells.
|
|
48482
|
-
* @default 'unavailable'
|
|
48483
48223
|
*/
|
|
48484
48224
|
blackoutLabel: {
|
|
48485
48225
|
type: String,
|
|
@@ -48496,7 +48236,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48496
48236
|
|
|
48497
48237
|
/**
|
|
48498
48238
|
* Accessible label for the calendar grid containing the days of the month.
|
|
48499
|
-
* @default 'Calendar days of the month'
|
|
48500
48239
|
*/
|
|
48501
48240
|
calendarGridLabel: {
|
|
48502
48241
|
type: String,
|
|
@@ -48659,7 +48398,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48659
48398
|
|
|
48660
48399
|
/**
|
|
48661
48400
|
* Accessible label for the next month navigation button.
|
|
48662
|
-
* @default 'Next month'
|
|
48663
48401
|
*/
|
|
48664
48402
|
navLabelNextMonth: {
|
|
48665
48403
|
type: String,
|
|
@@ -48668,7 +48406,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48668
48406
|
|
|
48669
48407
|
/**
|
|
48670
48408
|
* Accessible label for the previous month navigation button.
|
|
48671
|
-
* @default 'Previous month'
|
|
48672
48409
|
*/
|
|
48673
48410
|
navLabelPrevMonth: {
|
|
48674
48411
|
type: String,
|
|
@@ -48746,11 +48483,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48746
48483
|
},
|
|
48747
48484
|
|
|
48748
48485
|
/**
|
|
48749
|
-
* Label announced for cells after
|
|
48750
|
-
* `dateFrom` and `dateTo` are set). While a range is still being
|
|
48751
|
-
* picked (`dateFrom` set, `dateTo` unset), focused cells past the
|
|
48752
|
-
* start use `rangeLabelEndPreview` instead.
|
|
48753
|
-
* @default 'after range'
|
|
48486
|
+
* Label announced for cells after the range (or after start when no end is selected).
|
|
48754
48487
|
*/
|
|
48755
48488
|
rangeLabelAfterRange: {
|
|
48756
48489
|
type: String,
|
|
@@ -48759,7 +48492,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48759
48492
|
|
|
48760
48493
|
/**
|
|
48761
48494
|
* Label announced for cells before the range start.
|
|
48762
|
-
* @default 'before range'
|
|
48763
48495
|
*/
|
|
48764
48496
|
rangeLabelBeforeRange: {
|
|
48765
48497
|
type: String,
|
|
@@ -48768,27 +48500,14 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48768
48500
|
|
|
48769
48501
|
/**
|
|
48770
48502
|
* Label announced for the range end date cell.
|
|
48771
|
-
* @default 'range end'
|
|
48772
48503
|
*/
|
|
48773
48504
|
rangeLabelEnd: {
|
|
48774
48505
|
type: String,
|
|
48775
48506
|
reflect: true
|
|
48776
48507
|
},
|
|
48777
48508
|
|
|
48778
|
-
/**
|
|
48779
|
-
* Label announced for the focused cell while previewing a range end
|
|
48780
|
-
* (dateFrom set, dateTo not yet selected). Tells AT users that
|
|
48781
|
-
* pressing Enter would commit this cell as the range end.
|
|
48782
|
-
* @default 'previewing range end'
|
|
48783
|
-
*/
|
|
48784
|
-
rangeLabelEndPreview: {
|
|
48785
|
-
type: String,
|
|
48786
|
-
reflect: true
|
|
48787
|
-
},
|
|
48788
|
-
|
|
48789
48509
|
/**
|
|
48790
48510
|
* Label announced for cells within the selected range.
|
|
48791
|
-
* @default 'in range'
|
|
48792
48511
|
*/
|
|
48793
48512
|
rangeLabelInRange: {
|
|
48794
48513
|
type: String,
|
|
@@ -48797,7 +48516,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48797
48516
|
|
|
48798
48517
|
/**
|
|
48799
48518
|
* Label announced for the range start date cell.
|
|
48800
|
-
* @default 'range start'
|
|
48801
48519
|
*/
|
|
48802
48520
|
rangeLabelStart: {
|
|
48803
48521
|
type: String,
|
|
@@ -48805,7 +48523,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48805
48523
|
},
|
|
48806
48524
|
|
|
48807
48525
|
/**
|
|
48808
|
-
* Dates that the user should have for reference as part of their decision
|
|
48526
|
+
* Dates that the user should have for reference as part of their decision making when selecting a date.
|
|
48809
48527
|
* This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
|
|
48810
48528
|
*/
|
|
48811
48529
|
referenceDates: {
|
|
@@ -49162,26 +48880,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49162
48880
|
// ─── Vendor calendar time conversions ─────────────────────────────────────
|
|
49163
48881
|
|
|
49164
48882
|
/**
|
|
49165
|
-
* Converts a Unix timestamp (seconds) from the
|
|
49166
|
-
* (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
|
|
49167
|
-
*
|
|
49168
|
-
* Timezone contract:
|
|
49169
|
-
* - INPUT: `time` is assumed to be the seconds-since-epoch of **local
|
|
49170
|
-
* midnight** for the intended calendar day. The vendor's Day constructor
|
|
49171
|
-
* builds it via `date-fns format(date, 't')` from a locally-constructed
|
|
49172
|
-
* Date, so this assumption currently holds end-to-end.
|
|
49173
|
-
* - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
|
|
49174
|
-
* getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
|
|
49175
|
-
* string matches the local calendar day.
|
|
49176
|
-
*
|
|
49177
|
-
* If the vendor ever switches to emitting UTC-midnight timestamps, this
|
|
49178
|
-
* conversion will silently shift the returned date by one day in zones
|
|
49179
|
-
* west of UTC. Any vendor swap should re-verify this contract; the TZ
|
|
49180
|
-
* regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
|
|
49181
|
-
*
|
|
48883
|
+
* Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.
|
|
49182
48884
|
* @private
|
|
49183
|
-
* @param {number} time - Unix timestamp
|
|
49184
|
-
* @returns {string} ISO date string (yyyy-mm-dd)
|
|
48885
|
+
* @param {number} time - Unix timestamp in seconds.
|
|
48886
|
+
* @returns {string} ISO date string (yyyy-mm-dd).
|
|
49185
48887
|
*/
|
|
49186
48888
|
convertWcTimeToDate(time) {
|
|
49187
48889
|
return dateFormatter$1.toISOFormatString(new Date(time * 1000));
|
|
@@ -49283,8 +48985,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49283
48985
|
}
|
|
49284
48986
|
}
|
|
49285
48987
|
|
|
49286
|
-
// Focus the calendar grid wrapper
|
|
49287
|
-
//
|
|
48988
|
+
// Focus the calendar grid wrapper (aria-activedescendant handles
|
|
48989
|
+
// the SR announcement for the active cell).
|
|
49288
48990
|
if (activeCell) {
|
|
49289
48991
|
this.calendar.focusActiveCell();
|
|
49290
48992
|
|
|
@@ -49334,13 +49036,11 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49334
49036
|
this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
|
|
49335
49037
|
}
|
|
49336
49038
|
|
|
49337
|
-
const { signal } = this._listenerAbortController;
|
|
49338
|
-
|
|
49339
49039
|
this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
|
|
49340
49040
|
if (!this.isPopoverVisible) {
|
|
49341
49041
|
this.dropdown.show();
|
|
49342
49042
|
}
|
|
49343
|
-
}
|
|
49043
|
+
});
|
|
49344
49044
|
|
|
49345
49045
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
49346
49046
|
this.notifyDatepickerToggled();
|
|
@@ -49358,7 +49058,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49358
49058
|
if (this.valueObject) {
|
|
49359
49059
|
this.centralDate = this.value;
|
|
49360
49060
|
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
49361
|
-
this.centralDate =
|
|
49061
|
+
this.centralDate = new Date();
|
|
49362
49062
|
}
|
|
49363
49063
|
}
|
|
49364
49064
|
|
|
@@ -49438,7 +49138,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49438
49138
|
this.forceScrollOnNextMobileCalendarRender = false;
|
|
49439
49139
|
}, 0);
|
|
49440
49140
|
}
|
|
49441
|
-
}
|
|
49141
|
+
});
|
|
49442
49142
|
|
|
49443
49143
|
// Handle responsive strategy changes while the dropdown is open
|
|
49444
49144
|
// (e.g. resizing from desktop → mobile or vice versa).
|
|
@@ -49485,7 +49185,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49485
49185
|
});
|
|
49486
49186
|
});
|
|
49487
49187
|
}
|
|
49488
|
-
}
|
|
49188
|
+
});
|
|
49489
49189
|
}
|
|
49490
49190
|
|
|
49491
49191
|
/**
|
|
@@ -49498,8 +49198,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49498
49198
|
|
|
49499
49199
|
this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
|
|
49500
49200
|
|
|
49501
|
-
const { signal } = this._listenerAbortController;
|
|
49502
|
-
|
|
49503
49201
|
this.inputList.forEach((input, index) => {
|
|
49504
49202
|
input.addEventListener('input', (event) => {
|
|
49505
49203
|
event.stopPropagation();
|
|
@@ -49511,7 +49209,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49511
49209
|
}
|
|
49512
49210
|
|
|
49513
49211
|
this.notifyValueChanged();
|
|
49514
|
-
}
|
|
49212
|
+
});
|
|
49515
49213
|
|
|
49516
49214
|
input.addEventListener('auroFormElement-validated', (evt) => {
|
|
49517
49215
|
// not to bubble up input's validated event.
|
|
@@ -49527,7 +49225,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49527
49225
|
this.validity = evt.detail.validity;
|
|
49528
49226
|
this.errorMessage = evt.detail.message;
|
|
49529
49227
|
}
|
|
49530
|
-
}
|
|
49228
|
+
});
|
|
49531
49229
|
});
|
|
49532
49230
|
}
|
|
49533
49231
|
|
|
@@ -49541,32 +49239,19 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49541
49239
|
this.calendar.datepicker = this;
|
|
49542
49240
|
this.calendar.dropdown = this.dropdown;
|
|
49543
49241
|
|
|
49544
|
-
const { signal } = this._listenerAbortController;
|
|
49545
|
-
|
|
49546
49242
|
this.calendar.addEventListener('auroCalendar-dateSelected', () => {
|
|
49547
|
-
|
|
49548
|
-
|
|
49549
|
-
// strings — comparing the input ISO directly against them would
|
|
49550
|
-
// never match, so the write would fire on every event and emit
|
|
49551
|
-
// redundant input/change activity).
|
|
49552
|
-
if (this.calendar.dateFrom !== undefined) {
|
|
49553
|
-
const fromIso = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
49554
|
-
if (this.inputList[0].value !== fromIso) {
|
|
49555
|
-
this.inputList[0].value = fromIso;
|
|
49556
|
-
}
|
|
49243
|
+
if (this.inputList[0].value !== this.calendar.dateFrom && this.calendar.dateFrom !== undefined) {
|
|
49244
|
+
this.inputList[0].value = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
49557
49245
|
}
|
|
49558
49246
|
|
|
49559
|
-
if (this.inputList[1] && this.calendar.dateTo) {
|
|
49560
|
-
|
|
49561
|
-
if (this.inputList[1].value !== toIso) {
|
|
49562
|
-
this.inputList[1].value = toIso;
|
|
49563
|
-
}
|
|
49247
|
+
if (this.inputList[1] && this.calendar.dateTo && this.inputList[1].value !== this.calendar.dateTo) {
|
|
49248
|
+
this.inputList[1].value = this.convertWcTimeToDate(this.calendar.dateTo);
|
|
49564
49249
|
}
|
|
49565
|
-
}
|
|
49250
|
+
});
|
|
49566
49251
|
|
|
49567
49252
|
this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
|
|
49568
49253
|
this.dropdown.hide();
|
|
49569
|
-
}
|
|
49254
|
+
});
|
|
49570
49255
|
|
|
49571
49256
|
this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
|
|
49572
49257
|
const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
|
|
@@ -49576,7 +49261,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49576
49261
|
}
|
|
49577
49262
|
|
|
49578
49263
|
this.notifyMonthChanged(event);
|
|
49579
|
-
}
|
|
49264
|
+
});
|
|
49580
49265
|
}
|
|
49581
49266
|
|
|
49582
49267
|
/**
|
|
@@ -49585,17 +49270,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49585
49270
|
* @returns {void}
|
|
49586
49271
|
*/
|
|
49587
49272
|
configureDatepicker() {
|
|
49588
|
-
// These listeners are on `this` (the host), so they would GC with the
|
|
49589
|
-
// host even without the abort signal — see the leak rationale on
|
|
49590
|
-
// `_listenerAbortController`. The signal is still passed for uniform
|
|
49591
|
-
// cleanup semantics with the child-element listeners in the other
|
|
49592
|
-
// configure* methods.
|
|
49593
|
-
const { signal } = this._listenerAbortController;
|
|
49594
|
-
|
|
49595
49273
|
this.addEventListener('focusin', () => {
|
|
49596
49274
|
this.touched = true;
|
|
49597
49275
|
this.hasFocus = true;
|
|
49598
|
-
}
|
|
49276
|
+
});
|
|
49599
49277
|
|
|
49600
49278
|
this.addEventListener('focusout', () => {
|
|
49601
49279
|
this.hasFocus = false;
|
|
@@ -49607,7 +49285,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49607
49285
|
if (!this.matches(':focus-within')) {
|
|
49608
49286
|
this.validate();
|
|
49609
49287
|
}
|
|
49610
|
-
}
|
|
49288
|
+
});
|
|
49611
49289
|
|
|
49612
49290
|
if (this.valueObject) {
|
|
49613
49291
|
this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
|
|
@@ -49805,41 +49483,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49805
49483
|
return this.validity !== undefined && this.validity !== 'valid';
|
|
49806
49484
|
}
|
|
49807
49485
|
|
|
49808
|
-
/**
|
|
49809
|
-
* Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
|
|
49810
|
-
* spans every datepicker instance on the page; lives on the class (not
|
|
49811
|
-
* at module scope) so it stays an encapsulated implementation detail of
|
|
49812
|
-
* this component and does not interfere with WCA's class-JSDoc
|
|
49813
|
-
* attachment.
|
|
49814
|
-
* @private
|
|
49815
|
-
*/
|
|
49816
|
-
static _warnedInvalidLocales = new Set();
|
|
49817
|
-
|
|
49818
|
-
/**
|
|
49819
|
-
* Logs a one-time `console.debug` when an unsupported locale falls back to
|
|
49820
|
-
* en-US. Deduped by the offending tag so noisy re-renders that resurface
|
|
49821
|
-
* the same bad value stay quiet, but each new bad value still signals so
|
|
49822
|
-
* consumers can spot the typo or missing tag.
|
|
49823
|
-
* @private
|
|
49824
|
-
* @param {string|undefined} badLocale - The locale value that failed.
|
|
49825
|
-
* @returns {void}
|
|
49826
|
-
*/
|
|
49827
|
-
_warnInvalidLocale(badLocale) {
|
|
49828
|
-
// Stringify without coalescing — `String(undefined)` / `String(null)`
|
|
49829
|
-
// surface the actual offending value in the log, instead of the
|
|
49830
|
-
// ambiguous `Locale ""` that `String(badLocale ?? '')` would produce.
|
|
49831
|
-
// Dedup still works correctly because each unique stringification
|
|
49832
|
-
// becomes its own Set entry.
|
|
49833
|
-
const key = String(badLocale);
|
|
49834
|
-
const seen = AuroDatePicker._warnedInvalidLocales;
|
|
49835
|
-
if (seen.has(key)) {
|
|
49836
|
-
return;
|
|
49837
|
-
}
|
|
49838
|
-
seen.add(key);
|
|
49839
|
-
// eslint-disable-next-line no-console
|
|
49840
|
-
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".`);
|
|
49841
|
-
}
|
|
49842
|
-
|
|
49843
49486
|
/**
|
|
49844
49487
|
* Lifecycle method to check if the locale is valid.
|
|
49845
49488
|
* @ignore
|
|
@@ -49850,15 +49493,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49850
49493
|
if (changedProperties.has('locale')) {
|
|
49851
49494
|
try {
|
|
49852
49495
|
const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
|
|
49853
|
-
|
|
49854
|
-
this._validLocale = this.locale;
|
|
49855
|
-
} else {
|
|
49856
|
-
this._validLocale = 'en-US';
|
|
49857
|
-
this._warnInvalidLocale(this.locale);
|
|
49858
|
-
}
|
|
49496
|
+
this._validLocale = supported.length > 0 ? this.locale : 'en-US';
|
|
49859
49497
|
} catch {
|
|
49498
|
+
console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
|
|
49860
49499
|
this._validLocale = 'en-US';
|
|
49861
|
-
this._warnInvalidLocale(this.locale);
|
|
49862
49500
|
}
|
|
49863
49501
|
|
|
49864
49502
|
const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
|
|
@@ -49940,6 +49578,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49940
49578
|
// Skip centralDate update when user clicked a cell in range mode
|
|
49941
49579
|
// to prevent the displayed months from shifting
|
|
49942
49580
|
this.centralDate = this.value;
|
|
49581
|
+
//TODO: TEST THIS CHANGE
|
|
49582
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
49943
49583
|
}
|
|
49944
49584
|
|
|
49945
49585
|
this.setHasValue();
|
|
@@ -49999,6 +49639,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49999
49639
|
// Skip centralDate update when user clicked a cell in range mode
|
|
50000
49640
|
// to prevent the displayed months from shifting
|
|
50001
49641
|
this.centralDate = this.valueEnd;
|
|
49642
|
+
// TODO: TEST THIS CHANGE
|
|
49643
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
50002
49644
|
}
|
|
50003
49645
|
|
|
50004
49646
|
this.validate();
|
|
@@ -50140,7 +49782,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50140
49782
|
* @returns {void}
|
|
50141
49783
|
*/
|
|
50142
49784
|
configureClickHandler() {
|
|
50143
|
-
this.addEventListener('click', this.handleClick
|
|
49785
|
+
this.addEventListener('click', this.handleClick);
|
|
50144
49786
|
}
|
|
50145
49787
|
|
|
50146
49788
|
firstUpdated() {
|
|
@@ -50148,15 +49790,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50148
49790
|
// Add the tag name as an attribute if it is different than the component name
|
|
50149
49791
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
50150
49792
|
|
|
50151
|
-
// If the element was disconnected before this first render finished,
|
|
50152
|
-
// disconnectedCallback's microtask already aborted the controller. The
|
|
50153
|
-
// connectedCallback reinit guard skips that case because `hasUpdated`
|
|
50154
|
-
// is still false. Mint a fresh controller here so configure* registers
|
|
50155
|
-
// listeners against a live signal.
|
|
50156
|
-
if (this._listenerAbortController.signal.aborted) {
|
|
50157
|
-
this._listenerAbortController = new AbortController();
|
|
50158
|
-
}
|
|
50159
|
-
|
|
50160
49793
|
this.configureDropdown();
|
|
50161
49794
|
this.configureInput();
|
|
50162
49795
|
this.configureCalendar();
|
|
@@ -50168,36 +49801,9 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50168
49801
|
connectedCallback() {
|
|
50169
49802
|
super.connectedCallback();
|
|
50170
49803
|
|
|
50171
|
-
// True reconnect after `disconnectedCallback` aborted our controller:
|
|
50172
|
-
// the existing signal is dead, so listeners registered against it
|
|
50173
|
-
// would never fire. Create a fresh controller and re-run the
|
|
50174
|
-
// configure* wiring (each method is idempotent — it just re-caches
|
|
50175
|
-
// child refs and re-registers listeners against the new signal).
|
|
50176
|
-
// `hasUpdated` gates this so the *first* connect (which precedes
|
|
50177
|
-
// firstUpdated) still falls through to firstUpdated's initial wiring.
|
|
50178
|
-
if (this.hasUpdated && this._listenerAbortController.signal.aborted) {
|
|
50179
|
-
this._listenerAbortController = new AbortController();
|
|
50180
|
-
this.configureDropdown();
|
|
50181
|
-
this.configureInput();
|
|
50182
|
-
this.configureCalendar();
|
|
50183
|
-
this.configureDatepicker();
|
|
50184
|
-
this.configureClickHandler();
|
|
50185
|
-
}
|
|
50186
|
-
|
|
50187
49804
|
this.locale = this.domHandler.getLocale(this);
|
|
50188
49805
|
}
|
|
50189
49806
|
|
|
50190
|
-
disconnectedCallback() {
|
|
50191
|
-
super.disconnectedCallback();
|
|
50192
|
-
// Defer so that re-parenting (auro-drawer slotting it into a dialog,
|
|
50193
|
-
// for example) does not abort listeners we still need after reconnect.
|
|
50194
|
-
queueMicrotask(() => {
|
|
50195
|
-
if (!this.isConnected) {
|
|
50196
|
-
this._listenerAbortController.abort();
|
|
50197
|
-
}
|
|
50198
|
-
});
|
|
50199
|
-
}
|
|
50200
|
-
|
|
50201
49807
|
// layout render methods
|
|
50202
49808
|
// ------------------------------------
|
|
50203
49809
|
|
|
@@ -51693,7 +51299,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
51693
51299
|
}
|
|
51694
51300
|
};
|
|
51695
51301
|
|
|
51696
|
-
var formkitVersion$1$2 = '
|
|
51302
|
+
var formkitVersion$1$2 = '202606252142';
|
|
51697
51303
|
|
|
51698
51304
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
51699
51305
|
// See LICENSE in the project root for license information.
|
|
@@ -56021,7 +55627,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
56021
55627
|
}
|
|
56022
55628
|
};
|
|
56023
55629
|
|
|
56024
|
-
var formkitVersion$6 = '
|
|
55630
|
+
var formkitVersion$6 = '202606252142';
|
|
56025
55631
|
|
|
56026
55632
|
let AuroElement$1$2 = class AuroElement extends i$3 {
|
|
56027
55633
|
static get properties() {
|
|
@@ -57293,6 +56899,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
57293
56899
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
57294
56900
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
57295
56901
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
56902
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
57296
56903
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
57297
56904
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
57298
56905
|
@focusin="${this.handleFocusin}"
|
|
@@ -59961,7 +59568,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
59961
59568
|
}
|
|
59962
59569
|
};
|
|
59963
59570
|
|
|
59964
|
-
var formkitVersion$5 = '
|
|
59571
|
+
var formkitVersion$5 = '202606252142';
|
|
59965
59572
|
|
|
59966
59573
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
59967
59574
|
// See LICENSE in the project root for license information.
|
|
@@ -61711,7 +61318,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
61711
61318
|
}
|
|
61712
61319
|
};
|
|
61713
61320
|
|
|
61714
|
-
var formkitVersion$4 = '
|
|
61321
|
+
var formkitVersion$4 = '202606252142';
|
|
61715
61322
|
|
|
61716
61323
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
61717
61324
|
// See LICENSE in the project root for license information.
|
|
@@ -66926,7 +66533,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
66926
66533
|
}
|
|
66927
66534
|
};
|
|
66928
66535
|
|
|
66929
|
-
var formkitVersion$2 = '
|
|
66536
|
+
var formkitVersion$2 = '202606252142';
|
|
66930
66537
|
|
|
66931
66538
|
let AuroElement$2$1 = class AuroElement extends i$3 {
|
|
66932
66539
|
static get properties() {
|
|
@@ -68198,6 +67805,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
68198
67805
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
68199
67806
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
68200
67807
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
67808
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
68201
67809
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
68202
67810
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
68203
67811
|
@focusin="${this.handleFocusin}"
|
|
@@ -80519,7 +80127,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
80519
80127
|
}
|
|
80520
80128
|
};
|
|
80521
80129
|
|
|
80522
|
-
var formkitVersion$1$1 = '
|
|
80130
|
+
var formkitVersion$1$1 = '202606252142';
|
|
80523
80131
|
|
|
80524
80132
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
80525
80133
|
// See LICENSE in the project root for license information.
|
|
@@ -81640,7 +81248,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
81640
81248
|
}
|
|
81641
81249
|
};
|
|
81642
81250
|
|
|
81643
|
-
var formkitVersion$3 = '
|
|
81251
|
+
var formkitVersion$3 = '202606252142';
|
|
81644
81252
|
|
|
81645
81253
|
var styleCss$1$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
81646
81254
|
|
|
@@ -86453,19 +86061,24 @@ const selectKeyboardStrategy = {
|
|
|
86453
86061
|
},
|
|
86454
86062
|
|
|
86455
86063
|
End(component, evt, ctx) {
|
|
86456
|
-
if (!ctx.isExpanded) {
|
|
86457
|
-
return;
|
|
86458
|
-
}
|
|
86459
86064
|
evt.preventDefault();
|
|
86460
86065
|
evt.stopPropagation();
|
|
86461
86066
|
// `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
|
|
86462
86067
|
const lastOption = getEnabledOptions(component.menu).pop();
|
|
86463
|
-
if (lastOption) {
|
|
86464
|
-
|
|
86068
|
+
if (!lastOption) {
|
|
86069
|
+
return;
|
|
86465
86070
|
}
|
|
86071
|
+
if (!ctx.isExpanded) {
|
|
86072
|
+
component.dropdown.show();
|
|
86073
|
+
}
|
|
86074
|
+
component.menu.updateActiveOption(lastOption);
|
|
86466
86075
|
},
|
|
86467
86076
|
|
|
86468
86077
|
Enter(component, evt, ctx) {
|
|
86078
|
+
// Prevent the keypress from bubbling to parent containers (e.g., forms)
|
|
86079
|
+
// which could interpret Enter as a submit. Matches APG select-only combobox
|
|
86080
|
+
// and native <select> behavior: Enter opens the listbox when closed, selects
|
|
86081
|
+
// the active option when open — it does not submit a parent form.
|
|
86469
86082
|
evt.preventDefault();
|
|
86470
86083
|
evt.stopPropagation();
|
|
86471
86084
|
if (!ctx.isExpanded) {
|
|
@@ -86476,15 +86089,16 @@ const selectKeyboardStrategy = {
|
|
|
86476
86089
|
},
|
|
86477
86090
|
|
|
86478
86091
|
Home(component, evt, ctx) {
|
|
86479
|
-
if (!ctx.isExpanded) {
|
|
86480
|
-
return;
|
|
86481
|
-
}
|
|
86482
86092
|
evt.preventDefault();
|
|
86483
86093
|
evt.stopPropagation();
|
|
86484
86094
|
const [firstOption] = getEnabledOptions(component.menu);
|
|
86485
|
-
if (firstOption) {
|
|
86486
|
-
|
|
86095
|
+
if (!firstOption) {
|
|
86096
|
+
return;
|
|
86097
|
+
}
|
|
86098
|
+
if (!ctx.isExpanded) {
|
|
86099
|
+
component.dropdown.show();
|
|
86487
86100
|
}
|
|
86101
|
+
component.menu.updateActiveOption(firstOption);
|
|
86488
86102
|
},
|
|
86489
86103
|
|
|
86490
86104
|
Tab(component, evt, ctx) {
|
|
@@ -90431,7 +90045,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
90431
90045
|
}
|
|
90432
90046
|
};
|
|
90433
90047
|
|
|
90434
|
-
var formkitVersion$1 = '
|
|
90048
|
+
var formkitVersion$1 = '202606252142';
|
|
90435
90049
|
|
|
90436
90050
|
class AuroElement extends i$3 {
|
|
90437
90051
|
static get properties() {
|
|
@@ -91703,6 +91317,7 @@ class AuroDropdown extends AuroElement {
|
|
|
91703
91317
|
role="${o$4(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
91704
91318
|
aria-expanded="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
91705
91319
|
aria-controls="${o$4(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
91320
|
+
aria-haspopup="${o$4(this.a11yRole === 'combobox' ? 'listbox' : undefined)}"
|
|
91706
91321
|
aria-labelledby="${o$4(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
91707
91322
|
aria-disabled="${o$4(this.disabled ? 'true' : undefined)}"
|
|
91708
91323
|
@focusin="${this.handleFocusin}"
|
|
@@ -92452,7 +92067,7 @@ class AuroHelpText extends i$3 {
|
|
|
92452
92067
|
}
|
|
92453
92068
|
}
|
|
92454
92069
|
|
|
92455
|
-
var formkitVersion = '
|
|
92070
|
+
var formkitVersion = '202606252142';
|
|
92456
92071
|
|
|
92457
92072
|
var styleCss = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
92458
92073
|
|
|
@@ -92784,14 +92399,6 @@ class AuroSelect extends AuroElement$1 {
|
|
|
92784
92399
|
reflect: true
|
|
92785
92400
|
},
|
|
92786
92401
|
|
|
92787
|
-
/**
|
|
92788
|
-
* @private
|
|
92789
|
-
*/
|
|
92790
|
-
options: {
|
|
92791
|
-
type: Array,
|
|
92792
|
-
state: true
|
|
92793
|
-
},
|
|
92794
|
-
|
|
92795
92402
|
/**
|
|
92796
92403
|
* Specifies the current selected menuOption. Default type is `HTMLElement`, changing to `Array<HTMLElement>` when `multiSelect` is true.
|
|
92797
92404
|
* @type {HTMLElement|Array<HTMLElement>}
|
|
@@ -93079,16 +92686,68 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93079
92686
|
this.dropdown.dropdownWidth = this.customBibWidth;
|
|
93080
92687
|
}
|
|
93081
92688
|
|
|
93082
|
-
|
|
93083
|
-
const labelElement = this.querySelector('span[slot="label"]');
|
|
93084
|
-
if (labelElement) {
|
|
93085
|
-
this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
|
|
93086
|
-
}
|
|
92689
|
+
this._syncLabelText();
|
|
93087
92690
|
|
|
93088
92691
|
// Exposes the CSS parts from the dropdown for styling
|
|
93089
92692
|
this.dropdown.exposeCssParts();
|
|
93090
92693
|
}
|
|
93091
92694
|
|
|
92695
|
+
/**
|
|
92696
|
+
* Reads the current label slot text and pushes it to the dropdown bib
|
|
92697
|
+
* (for dialog naming) and the menu (for listbox aria-label). Safe to call
|
|
92698
|
+
* before either child has been wired up — each branch self-guards.
|
|
92699
|
+
* @private
|
|
92700
|
+
*/
|
|
92701
|
+
_syncLabelText() {
|
|
92702
|
+
const labelElement = this.querySelector('[slot="label"]');
|
|
92703
|
+
const text = labelElement ? labelElement.textContent.trim() : '';
|
|
92704
|
+
if (this.dropdown) {
|
|
92705
|
+
this.dropdown.bibDialogLabel = text || undefined;
|
|
92706
|
+
}
|
|
92707
|
+
if (this.menu) {
|
|
92708
|
+
if (text) {
|
|
92709
|
+
this.menu.setAttribute('aria-label', text);
|
|
92710
|
+
} else {
|
|
92711
|
+
this.menu.removeAttribute('aria-label');
|
|
92712
|
+
}
|
|
92713
|
+
}
|
|
92714
|
+
}
|
|
92715
|
+
|
|
92716
|
+
/**
|
|
92717
|
+
* Keeps the dialog/menu accessible names in sync when consumers mutate the
|
|
92718
|
+
* label slot at runtime (e.g., i18n locale swap). `slotchange` alone is
|
|
92719
|
+
* insufficient — it doesn't fire when textContent of an already-assigned
|
|
92720
|
+
* slotted node changes, which is the common case. We scope the observer to
|
|
92721
|
+
* the label node itself (not the whole host subtree) so option-content
|
|
92722
|
+
* mutations don't trigger label re-syncs, and re-target on `slotchange`
|
|
92723
|
+
* when consumers add or replace the label element.
|
|
92724
|
+
* @private
|
|
92725
|
+
*/
|
|
92726
|
+
_observeLabelChanges() {
|
|
92727
|
+
if (this._labelObserver) return;
|
|
92728
|
+
this._labelObserver = new MutationObserver(() => this._syncLabelText());
|
|
92729
|
+
|
|
92730
|
+
const retarget = () => {
|
|
92731
|
+
this._labelObserver.disconnect();
|
|
92732
|
+
const labelElement = this.querySelector('[slot="label"]');
|
|
92733
|
+
if (labelElement) {
|
|
92734
|
+
this._labelObserver.observe(labelElement, {
|
|
92735
|
+
childList: true,
|
|
92736
|
+
subtree: true,
|
|
92737
|
+
characterData: true
|
|
92738
|
+
});
|
|
92739
|
+
}
|
|
92740
|
+
this._syncLabelText();
|
|
92741
|
+
};
|
|
92742
|
+
|
|
92743
|
+
retarget();
|
|
92744
|
+
|
|
92745
|
+
this._retargetLabelObserver = retarget;
|
|
92746
|
+
this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
|
|
92747
|
+
slot.addEventListener('slotchange', retarget);
|
|
92748
|
+
});
|
|
92749
|
+
}
|
|
92750
|
+
|
|
93092
92751
|
/**
|
|
93093
92752
|
* This will register this element with the browser.
|
|
93094
92753
|
* @param {string} [name="auro-select"] - The name of element that you want to register to.
|
|
@@ -93239,11 +92898,7 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93239
92898
|
this.updateMenuShapeSize();
|
|
93240
92899
|
this.setMenuValue(this.value);
|
|
93241
92900
|
|
|
93242
|
-
|
|
93243
|
-
const labelElement = this.querySelector('[slot="label"]');
|
|
93244
|
-
if (labelElement) {
|
|
93245
|
-
this.menu.setAttribute('aria-label', labelElement.textContent.trim());
|
|
93246
|
-
}
|
|
92901
|
+
this._syncLabelText();
|
|
93247
92902
|
|
|
93248
92903
|
if (this.multiSelect) {
|
|
93249
92904
|
this.menu.multiSelect = this.multiSelect;
|
|
@@ -93255,8 +92910,21 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93255
92910
|
if (typeof this.menu.initItems === 'function') {
|
|
93256
92911
|
this.menu.initItems();
|
|
93257
92912
|
}
|
|
93258
|
-
this.options = this.menu.options;
|
|
93259
92913
|
this.updateOptionPositions();
|
|
92914
|
+
// renderNativeSelect reads this.menu.options, which the parent doesn't
|
|
92915
|
+
// observe — request an update so the hidden native <option> list reflects
|
|
92916
|
+
// the menu's options after initItems populates them.
|
|
92917
|
+
this.requestUpdate();
|
|
92918
|
+
|
|
92919
|
+
// Keep aria-setsize/aria-posinset (and the native <option> list) in sync
|
|
92920
|
+
// when the menu re-initializes its items — e.g., slotchange, async/lazy
|
|
92921
|
+
// loads, value-triggered re-init. Without this, stale set-size is
|
|
92922
|
+
// announced and the native select goes stale after dynamic mutations.
|
|
92923
|
+
this.menu.addEventListener('auroMenu-optionsChange', () => {
|
|
92924
|
+
this.updateOptionPositions();
|
|
92925
|
+
this.requestUpdate();
|
|
92926
|
+
});
|
|
92927
|
+
|
|
93260
92928
|
this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
|
|
93261
92929
|
|
|
93262
92930
|
this.menu.addEventListener("auroMenu-selectValueFailure", () => {
|
|
@@ -93275,11 +92943,22 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93275
92943
|
this.dropdown.setActiveDescendant(this.optionActive);
|
|
93276
92944
|
}
|
|
93277
92945
|
|
|
93278
|
-
// Announce the active option for screen readers
|
|
93279
|
-
|
|
92946
|
+
// Announce the active option for screen readers. Skip when the activated
|
|
92947
|
+
// option is already selected: Enter triggers an auroMenu-selectedOption
|
|
92948
|
+
// re-announce, and aria-selected on the active descendant otherwise
|
|
92949
|
+
// conveys state without an explicit utterance.
|
|
92950
|
+
if (this.optionActive && !this.optionActive.hasAttribute('selected')) {
|
|
93280
92951
|
const optionText = this.optionActive.textContent.trim();
|
|
93281
|
-
const
|
|
93282
|
-
|
|
92952
|
+
const message = `${optionText}, not selected`;
|
|
92953
|
+
if (this.dropdown.isPopoverVisible) {
|
|
92954
|
+
announceToScreenReader(this._getAnnouncementRoot(), message);
|
|
92955
|
+
} else {
|
|
92956
|
+
// Typeahead-on-closed fires this event before `show()` flips
|
|
92957
|
+
// isPopoverVisible. Defer so the announcement targets the bib's
|
|
92958
|
+
// live region once the fullscreen <dialog> opens — otherwise it
|
|
92959
|
+
// lands in the host root, which is inert under the active modal.
|
|
92960
|
+
queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
|
|
92961
|
+
}
|
|
93283
92962
|
}
|
|
93284
92963
|
|
|
93285
92964
|
if (this.dropdown.isPopoverVisible) {
|
|
@@ -93411,24 +93090,32 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93411
93090
|
|
|
93412
93091
|
this.typeaheadBuffer += key;
|
|
93413
93092
|
|
|
93414
|
-
|
|
93093
|
+
// Prefer the literal buffer as a prefix per WAI-ARIA APG ("focus moves to the
|
|
93094
|
+
// next item with a name that starts with the string of characters typed").
|
|
93095
|
+
// Only fall back to single-char cycling when the repeated buffer has no
|
|
93096
|
+
// longer prefix match — e.g. "aa" cycles through ["Apple", "Apricot"] only
|
|
93097
|
+
// because no option starts with "aa".
|
|
93098
|
+
let match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
|
|
93415
93099
|
|
|
93416
|
-
|
|
93100
|
+
const isRepeatedChar = !match && this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
|
|
93417
93101
|
if (isRepeatedChar) {
|
|
93418
93102
|
const matches = options.filter((option) => this._getOptionDisplayText(option).startsWith(key));
|
|
93419
93103
|
if (matches.length) {
|
|
93420
93104
|
const cycleIndex = (this.typeaheadBuffer.length - 1) % matches.length;
|
|
93421
93105
|
match = matches[cycleIndex];
|
|
93422
93106
|
}
|
|
93423
|
-
} else {
|
|
93424
|
-
match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
|
|
93425
93107
|
}
|
|
93426
93108
|
|
|
93109
|
+
// Intentional: no-match leaves the bib closed (deviates from APG / some native <select>).
|
|
93427
93110
|
if (match) {
|
|
93111
|
+
// Pre-stash the match so the auroDropdown-toggled handler's `!optionActive`
|
|
93112
|
+
// guard short-circuits and skips the firstActive/selected fallback —
|
|
93113
|
+
// otherwise show() synchronously fires the handler, which writes
|
|
93114
|
+
// aria-activedescendant once before we overwrite it.
|
|
93115
|
+
this.menu.updateActiveOption(match);
|
|
93428
93116
|
if (!this.dropdown.isPopoverVisible) {
|
|
93429
93117
|
this.dropdown.show();
|
|
93430
93118
|
}
|
|
93431
|
-
this.menu.updateActiveOption(match);
|
|
93432
93119
|
}
|
|
93433
93120
|
}
|
|
93434
93121
|
|
|
@@ -93545,6 +93232,16 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93545
93232
|
disconnectedCallback() {
|
|
93546
93233
|
super.disconnectedCallback();
|
|
93547
93234
|
this._clearTypeaheadBuffer();
|
|
93235
|
+
if (this._labelObserver) {
|
|
93236
|
+
this._labelObserver.disconnect();
|
|
93237
|
+
this._labelObserver = null;
|
|
93238
|
+
}
|
|
93239
|
+
if (this._retargetLabelObserver && this.shadowRoot) {
|
|
93240
|
+
this.shadowRoot.querySelectorAll('slot[name="label"]').forEach((slot) => {
|
|
93241
|
+
slot.removeEventListener('slotchange', this._retargetLabelObserver);
|
|
93242
|
+
});
|
|
93243
|
+
this._retargetLabelObserver = null;
|
|
93244
|
+
}
|
|
93548
93245
|
}
|
|
93549
93246
|
|
|
93550
93247
|
// lifecycle runs only after the element's DOM has been updated the first time
|
|
@@ -93555,6 +93252,7 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93555
93252
|
this.configureDropdown();
|
|
93556
93253
|
this.configureMenu();
|
|
93557
93254
|
this.configureSelect();
|
|
93255
|
+
this._observeLabelChanges();
|
|
93558
93256
|
}
|
|
93559
93257
|
|
|
93560
93258
|
setMenuValue(value) {
|
|
@@ -93691,21 +93389,8 @@ class AuroSelect extends AuroElement$1 {
|
|
|
93691
93389
|
if (!selectedOption) return;
|
|
93692
93390
|
const selectedValue = selectedOption.value;
|
|
93693
93391
|
|
|
93694
|
-
if (this.
|
|
93695
|
-
|
|
93696
|
-
|
|
93697
|
-
if (!currentArray.includes(selectedValue)) {
|
|
93698
|
-
this.value = JSON.stringify([
|
|
93699
|
-
...currentArray,
|
|
93700
|
-
selectedValue
|
|
93701
|
-
]);
|
|
93702
|
-
}
|
|
93703
|
-
} else {
|
|
93704
|
-
const currentValue = this.value;
|
|
93705
|
-
|
|
93706
|
-
if (currentValue !== selectedValue) {
|
|
93707
|
-
this.value = selectedValue;
|
|
93708
|
-
}
|
|
93392
|
+
if (this.value !== selectedValue) {
|
|
93393
|
+
this.value = selectedValue;
|
|
93709
93394
|
}
|
|
93710
93395
|
}
|
|
93711
93396
|
|