@aurodesignsystem-dev/auro-formkit 0.0.0-pr1510.3 → 0.0.0-pr1512.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 +119 -96
- 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 +119 -96
- package/components/combobox/demo/index.js +23 -0
- package/components/combobox/demo/index.min.js +119 -96
- package/components/combobox/demo/styles.scss +1 -0
- package/components/combobox/dist/index.js +118 -95
- package/components/combobox/dist/registered.js +118 -95
- package/components/counter/demo/customize.js +21 -0
- package/components/counter/demo/customize.min.js +2 -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 +2 -2
- package/components/counter/demo/styles.scss +1 -0
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -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 +335 -702
- package/components/datepicker/demo/demo-support.js +1 -0
- package/components/datepicker/demo/index.js +23 -0
- package/components/datepicker/demo/index.min.js +335 -702
- package/components/datepicker/demo/styles.scss +1 -0
- package/components/datepicker/dist/index.js +335 -702
- package/components/datepicker/dist/registered.js +335 -702
- 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 +1 -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 +1 -1
- package/components/dropdown/demo/index.js +16 -0
- package/components/dropdown/demo/index.min.js +1 -1
- package/components/dropdown/demo/styles.scss +1 -0
- package/components/dropdown/dist/index.js +1 -1
- package/components/dropdown/dist/registered.js +1 -1
- package/components/form/demo/customize.js +28 -0
- package/components/form/demo/customize.min.js +583 -904
- 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 +583 -904
- package/components/form/demo/index.js +5 -0
- package/components/form/demo/index.min.js +583 -904
- package/components/form/demo/registerDemoDeps.js +23 -0
- package/components/form/demo/registerDemoDeps.min.js +583 -904
- package/components/form/demo/styles.scss +1 -0
- package/components/input/demo/api.md +5 -5
- package/components/input/demo/customize.js +25 -0
- package/components/input/demo/customize.md +8 -8
- package/components/input/demo/customize.min.js +116 -93
- 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 +116 -93
- package/components/input/demo/index.js +8 -0
- package/components/input/demo/index.min.js +116 -93
- package/components/input/demo/styles.css +974 -0
- package/components/input/demo/styles.scss +1 -0
- package/components/input/dist/base-input.d.ts +33 -44
- package/components/input/dist/index.js +129 -94
- package/components/input/dist/registered.js +116 -93
- 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 +2 -2
- 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 +2 -2
- package/components/select/demo/index.js +11 -0
- package/components/select/demo/index.min.js +2 -2
- package/components/select/demo/styles.scss +1 -0
- package/components/select/dist/index.js +2 -2
- package/components/select/dist/registered.js +2 -2
- package/custom-elements.json +2146 -2218
- package/package.json +2 -6
- package/components/datepicker/dist/blackoutUtils.d.ts +0 -43
- /package/components/datepicker/dist/{auro-calendar-month.d.ts → src/auro-calendar-month.d.ts} +0 -0
- /package/components/datepicker/dist/{buttonVersion.d.ts → src/buttonVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{datepickerKeyboardStrategy.d.ts → src/datepickerKeyboardStrategy.d.ts} +0 -0
- /package/components/datepicker/dist/{iconVersion.d.ts → src/iconVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/components/datepicker/dist/{popoverVersion.d.ts → src/popoverVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/classic/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/classic/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/shapeSize-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/snowflake/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/snowflake/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/tokens-css.d.ts +0 -0
- /package/components/datepicker/dist/{utilities.d.ts → src/utilities.d.ts} +0 -0
- /package/components/datepicker/dist/{utilitiesCalendar.d.ts → src/utilitiesCalendar.d.ts} +0 -0
- /package/components/datepicker/dist/{utilitiesCalendarRender.d.ts → src/utilitiesCalendarRender.d.ts} +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/day.d.ts +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker-calendar.d.ts +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker-cell.d.ts +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker.d.ts +0 -0
|
@@ -5135,7 +5135,7 @@ function normalizeDates$3(context, ...dates) {
|
|
|
5135
5135
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
5136
5136
|
* //=> Tue Sep 02 2014 00:00:00
|
|
5137
5137
|
*/
|
|
5138
|
-
function startOfDay$
|
|
5138
|
+
function startOfDay$4(date, options) {
|
|
5139
5139
|
const _date = toDate$3(date, options?.in);
|
|
5140
5140
|
_date.setHours(0, 0, 0, 0);
|
|
5141
5141
|
return _date;
|
|
@@ -5183,8 +5183,8 @@ function differenceInCalendarDays$3(laterDate, earlierDate, options) {
|
|
|
5183
5183
|
earlierDate,
|
|
5184
5184
|
);
|
|
5185
5185
|
|
|
5186
|
-
const laterStartOfDay = startOfDay$
|
|
5187
|
-
const earlierStartOfDay = startOfDay$
|
|
5186
|
+
const laterStartOfDay = startOfDay$4(laterDate_);
|
|
5187
|
+
const earlierStartOfDay = startOfDay$4(earlierDate_);
|
|
5188
5188
|
|
|
5189
5189
|
const laterTimestamp =
|
|
5190
5190
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$3(laterStartOfDay);
|
|
@@ -10456,6 +10456,13 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
|
|
|
10456
10456
|
* @returns {string | undefined}
|
|
10457
10457
|
*/
|
|
10458
10458
|
toFormattedValue(valueObject, format) {
|
|
10459
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
10460
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
10461
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
10462
|
+
// as "no format → no display value".
|
|
10463
|
+
if (!format) {
|
|
10464
|
+
return undefined;
|
|
10465
|
+
}
|
|
10459
10466
|
const normalizedFormat = format.toLowerCase();
|
|
10460
10467
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
10461
10468
|
|
|
@@ -10606,79 +10613,18 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
10606
10613
|
constructor() {
|
|
10607
10614
|
super();
|
|
10608
10615
|
|
|
10609
|
-
|
|
10610
|
-
|
|
10611
|
-
|
|
10612
|
-
|
|
10613
|
-
|
|
10614
|
-
|
|
10615
|
-
|
|
10616
|
-
|
|
10617
|
-
|
|
10618
|
-
|
|
10619
|
-
this.required = false;
|
|
10620
|
-
this.onDark = false;
|
|
10621
|
-
this.setCustomValidityForType = undefined;
|
|
10622
|
-
this.size = 'lg';
|
|
10623
|
-
this.shape = 'classic';
|
|
10624
|
-
this.value = undefined;
|
|
10625
|
-
this._valueObject = undefined;
|
|
10626
|
-
|
|
10627
|
-
this._initializePrivateDefaults();
|
|
10628
|
-
}
|
|
10629
|
-
|
|
10630
|
-
/**
|
|
10631
|
-
* Internal Defaults.
|
|
10632
|
-
* @private
|
|
10633
|
-
* @returns {void}
|
|
10634
|
-
*/
|
|
10635
|
-
_initializePrivateDefaults() {
|
|
10616
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
10617
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
10618
|
+
// exactly once here (previously the constructor + the old
|
|
10619
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
10620
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
10621
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
10622
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
10623
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
10624
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
10625
|
+
// during its own update cycle sees a populated util instance.
|
|
10636
10626
|
this.activeLabel = false;
|
|
10637
|
-
|
|
10638
|
-
this.icon = false;
|
|
10639
|
-
this.disabled = false;
|
|
10640
|
-
this.dvInputOnly = false;
|
|
10641
|
-
this.hideLabelVisually = false;
|
|
10642
|
-
this.max = undefined;
|
|
10643
|
-
this.maxLength = undefined;
|
|
10644
|
-
this.min = undefined;
|
|
10645
|
-
this.minLength = undefined;
|
|
10646
|
-
this.noValidate = false;
|
|
10647
|
-
this.onDark = false;
|
|
10648
|
-
this.required = false;
|
|
10649
|
-
this.setCustomValidityForType = undefined;
|
|
10650
|
-
|
|
10651
|
-
// Used for storing raw values returned from input mask.
|
|
10652
|
-
this._rawMaskValue = undefined;
|
|
10653
|
-
|
|
10654
|
-
/**
|
|
10655
|
-
* @private
|
|
10656
|
-
*/
|
|
10657
|
-
this.layout = 'classic';
|
|
10658
|
-
|
|
10659
|
-
/**
|
|
10660
|
-
* @private
|
|
10661
|
-
*/
|
|
10662
|
-
this.shape = 'classic';
|
|
10663
|
-
|
|
10664
|
-
/**
|
|
10665
|
-
* @private
|
|
10666
|
-
*/
|
|
10667
|
-
this.size = 'lg';
|
|
10668
|
-
|
|
10669
|
-
this.touched = false;
|
|
10670
|
-
this.util = new AuroInputUtilities$3({
|
|
10671
|
-
locale: "en-US",
|
|
10672
|
-
format: this.format
|
|
10673
|
-
});
|
|
10674
|
-
this.validation = new AuroFormValidation$7();
|
|
10675
|
-
this.inputIconName = undefined;
|
|
10676
|
-
this.showPassword = false;
|
|
10677
|
-
this.validationCCLength = undefined;
|
|
10678
|
-
this.hasValue = false;
|
|
10679
|
-
this.label = 'Input label is undefined';
|
|
10680
|
-
|
|
10681
|
-
|
|
10627
|
+
/** @private */
|
|
10682
10628
|
this.allowedInputTypes = [
|
|
10683
10629
|
"text",
|
|
10684
10630
|
"number",
|
|
@@ -10687,7 +10633,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
10687
10633
|
"credit-card",
|
|
10688
10634
|
"tel"
|
|
10689
10635
|
];
|
|
10690
|
-
this.
|
|
10636
|
+
this.appearance = "default";
|
|
10637
|
+
/** @private */
|
|
10691
10638
|
this.dateFormatMap = {
|
|
10692
10639
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
10693
10640
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -10704,27 +10651,57 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
10704
10651
|
'dd/mm': 'dateDDMM',
|
|
10705
10652
|
'mm/dd': 'dateMMDD'
|
|
10706
10653
|
};
|
|
10654
|
+
this.disabled = false;
|
|
10655
|
+
/** @private */
|
|
10707
10656
|
this.domHandler = new DomHandler$3();
|
|
10708
10657
|
this.dvInputOnly = false;
|
|
10709
10658
|
this.hasValue = false;
|
|
10659
|
+
this.hideLabelVisually = false;
|
|
10660
|
+
this.icon = false;
|
|
10661
|
+
/** @private */
|
|
10710
10662
|
this.inputIconName = undefined;
|
|
10663
|
+
/** @private */
|
|
10711
10664
|
this.label = 'Input label is undefined';
|
|
10665
|
+
this.layout = 'classic';
|
|
10666
|
+
this.locale = 'en-US';
|
|
10667
|
+
this.max = undefined;
|
|
10668
|
+
this._maxObject = undefined;
|
|
10669
|
+
this.maxLength = undefined;
|
|
10670
|
+
this.min = undefined;
|
|
10671
|
+
this._minObject = undefined;
|
|
10672
|
+
this.minLength = undefined;
|
|
10712
10673
|
this.noValidate = false;
|
|
10713
|
-
this.
|
|
10674
|
+
this.onDark = false;
|
|
10675
|
+
// Raw values returned from the input mask before model normalization.
|
|
10676
|
+
this._rawMaskValue = undefined;
|
|
10677
|
+
this.required = false;
|
|
10678
|
+
this.setCustomValidityForType = undefined;
|
|
10679
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
10680
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
10681
|
+
/** @private */
|
|
10714
10682
|
this.setSelectionInputTypes = [
|
|
10715
10683
|
"text",
|
|
10716
10684
|
"password",
|
|
10717
10685
|
"email"
|
|
10718
|
-
];
|
|
10686
|
+
];
|
|
10687
|
+
this.shape = 'classic';
|
|
10688
|
+
/** @private */
|
|
10719
10689
|
this.showPassword = false;
|
|
10690
|
+
this.size = 'lg';
|
|
10720
10691
|
this.touched = false;
|
|
10692
|
+
/** @private */
|
|
10721
10693
|
this.uniqueId = new UniqueId$2().create();
|
|
10694
|
+
/** @private */
|
|
10722
10695
|
this.util = new AuroInputUtilities$3({
|
|
10723
10696
|
locale: this.locale,
|
|
10724
10697
|
format: this.format
|
|
10725
10698
|
});
|
|
10699
|
+
/** @private */
|
|
10726
10700
|
this.validation = new AuroFormValidation$7();
|
|
10701
|
+
/** @private */
|
|
10727
10702
|
this.validationCCLength = undefined;
|
|
10703
|
+
this.value = undefined;
|
|
10704
|
+
this._valueObject = undefined;
|
|
10728
10705
|
}
|
|
10729
10706
|
|
|
10730
10707
|
// function to define props used within the scope of this component
|
|
@@ -11272,6 +11249,15 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11272
11249
|
|
|
11273
11250
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
11274
11251
|
|
|
11252
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
11253
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
11254
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
11255
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
11256
|
+
// unset.
|
|
11257
|
+
if (this.format) {
|
|
11258
|
+
this.format = this.format.toLowerCase();
|
|
11259
|
+
}
|
|
11260
|
+
|
|
11275
11261
|
// use validity message override if declared when initializing the component
|
|
11276
11262
|
if (this.hasAttribute('setCustomValidity')) {
|
|
11277
11263
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -11705,6 +11691,38 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11705
11691
|
this.touched = true;
|
|
11706
11692
|
this.validation.validate(this);
|
|
11707
11693
|
}
|
|
11694
|
+
|
|
11695
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
11696
|
+
// update that can re-render the input and reset the native cursor; we
|
|
11697
|
+
// capture the caret position before that update commits and restore it
|
|
11698
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
11699
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
11700
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
11701
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
11702
|
+
// on input types that don't support text selection (number, email in
|
|
11703
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
11704
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
11705
|
+
// the gated types currently support it, since the list is a public
|
|
11706
|
+
// property a consumer could mutate.
|
|
11707
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
11708
|
+
let selectionStart;
|
|
11709
|
+
try {
|
|
11710
|
+
selectionStart = this.inputElement.selectionStart;
|
|
11711
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
11712
|
+
return;
|
|
11713
|
+
}
|
|
11714
|
+
if (typeof selectionStart !== 'number') {
|
|
11715
|
+
return;
|
|
11716
|
+
}
|
|
11717
|
+
this.updateComplete.then(() => {
|
|
11718
|
+
try {
|
|
11719
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
11720
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
11721
|
+
// Some input types (number/email in certain UAs) throw on
|
|
11722
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
11723
|
+
}
|
|
11724
|
+
});
|
|
11725
|
+
}
|
|
11708
11726
|
}
|
|
11709
11727
|
|
|
11710
11728
|
/**
|
|
@@ -12331,7 +12349,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
|
|
|
12331
12349
|
}
|
|
12332
12350
|
};
|
|
12333
12351
|
|
|
12334
|
-
var formkitVersion$8 = '
|
|
12352
|
+
var formkitVersion$8 = '202606252337';
|
|
12335
12353
|
|
|
12336
12354
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12337
12355
|
// See LICENSE in the project root for license information.
|
|
@@ -12834,6 +12852,7 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
12834
12852
|
<${this.buttonTag}
|
|
12835
12853
|
@click="${this.handleClickShowPassword}"
|
|
12836
12854
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
12855
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
12837
12856
|
class="notificationBtn passwordBtn"
|
|
12838
12857
|
shape="circle"
|
|
12839
12858
|
size="sm"
|
|
@@ -12907,25 +12926,29 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
12907
12926
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
12908
12927
|
*/
|
|
12909
12928
|
renderHtmlHelpText() {
|
|
12929
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
12930
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
12931
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
12932
|
+
// re-announce because the live-region element it was watching had been
|
|
12933
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
12934
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
12935
|
+
// observe and announce.
|
|
12936
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
12910
12937
|
return u$d`
|
|
12911
|
-
|
|
12912
|
-
?
|
|
12913
|
-
|
|
12914
|
-
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
|
|
12918
|
-
|
|
12919
|
-
|
|
12920
|
-
|
|
12921
|
-
|
|
12922
|
-
|
|
12923
|
-
|
|
12924
|
-
|
|
12925
|
-
</p>
|
|
12926
|
-
</${this.helpTextTag}>
|
|
12927
|
-
`
|
|
12928
|
-
}
|
|
12938
|
+
<${this.helpTextTag}
|
|
12939
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
12940
|
+
?error=${isError}>
|
|
12941
|
+
<p
|
|
12942
|
+
id="${this.uniqueId}"
|
|
12943
|
+
part="helpText"
|
|
12944
|
+
role="${o$4(isError ? 'alert' : undefined)}"
|
|
12945
|
+
aria-live="${o$4(isError ? 'assertive' : undefined)}">
|
|
12946
|
+
${isError
|
|
12947
|
+
? this.errorMessage
|
|
12948
|
+
: u$d`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
12949
|
+
}
|
|
12950
|
+
</p>
|
|
12951
|
+
</${this.helpTextTag}>
|
|
12929
12952
|
`;
|
|
12930
12953
|
}
|
|
12931
12954
|
|
|
@@ -14415,7 +14438,7 @@ function normalizeDates$1(context, ...dates) {
|
|
|
14415
14438
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
14416
14439
|
* //=> Tue Sep 02 2014 00:00:00
|
|
14417
14440
|
*/
|
|
14418
|
-
function startOfDay$
|
|
14441
|
+
function startOfDay$2(date, options) {
|
|
14419
14442
|
const _date = toDate$1(date, options?.in);
|
|
14420
14443
|
_date.setHours(0, 0, 0, 0);
|
|
14421
14444
|
return _date;
|
|
@@ -14463,8 +14486,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
|
|
|
14463
14486
|
earlierDate,
|
|
14464
14487
|
);
|
|
14465
14488
|
|
|
14466
|
-
const laterStartOfDay = startOfDay$
|
|
14467
|
-
const earlierStartOfDay = startOfDay$
|
|
14489
|
+
const laterStartOfDay = startOfDay$2(laterDate_);
|
|
14490
|
+
const earlierStartOfDay = startOfDay$2(earlierDate_);
|
|
14468
14491
|
|
|
14469
14492
|
const laterTimestamp =
|
|
14470
14493
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
|
|
@@ -23566,6 +23589,13 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
23566
23589
|
* @returns {string | undefined}
|
|
23567
23590
|
*/
|
|
23568
23591
|
toFormattedValue(valueObject, format) {
|
|
23592
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
23593
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
23594
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
23595
|
+
// as "no format → no display value".
|
|
23596
|
+
if (!format) {
|
|
23597
|
+
return undefined;
|
|
23598
|
+
}
|
|
23569
23599
|
const normalizedFormat = format.toLowerCase();
|
|
23570
23600
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
23571
23601
|
|
|
@@ -23921,8 +23951,8 @@ class RangeDatepickerCell extends i$2 {
|
|
|
23921
23951
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
23922
23952
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
23923
23953
|
if (day) {
|
|
23924
|
-
if (getTime(startOfDay$
|
|
23925
|
-
getTime(startOfDay$
|
|
23954
|
+
if (getTime(startOfDay$2(parsedDateTo * 1000)) / 1000 === day.date ||
|
|
23955
|
+
getTime(startOfDay$2(parsedDateFrom * 1000)) / 1000 === day.date) {
|
|
23926
23956
|
this.selected = true;
|
|
23927
23957
|
}
|
|
23928
23958
|
if (((hoveredDate === day.date || day.date < hoveredDate) &&
|
|
@@ -24110,7 +24140,7 @@ class RangeDatepickerCalendar extends i$2 {
|
|
|
24110
24140
|
this.dayNamesOfTheWeek = [];
|
|
24111
24141
|
this.daysOfMonth = [];
|
|
24112
24142
|
this._locale = null;
|
|
24113
|
-
this.currentDate = parseInt(format$1(startOfDay$
|
|
24143
|
+
this.currentDate = parseInt(format$1(startOfDay$2(Date.now()), 't'), 10);
|
|
24114
24144
|
this.localeChanged();
|
|
24115
24145
|
this.yearAndMonthChanged(this.year, this.month);
|
|
24116
24146
|
}
|
|
@@ -24584,7 +24614,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
|
|
|
24584
24614
|
__decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
24585
24615
|
AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
24586
24616
|
|
|
24587
|
-
var styleCss$5$2 = i$4`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.rangeDepartDate.lastHoveredDate::before{border-radius:10px}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
|
|
24617
|
+
var styleCss$5$2 = i$4`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
|
|
24588
24618
|
|
|
24589
24619
|
var colorCss$5$2 = i$4`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day.activeCell:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-color);border-color:var(--ds-advanced-color-state-selected);outline-color:var(--ds-auro-calendar-cell-container-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference:after{border-color:var(--ds-basic-color-border-default, #959595);box-shadow:inset 0 0 0 2px var(--ds-basic-color-surface-default, #ffffff)}:host .day.reference:hover::after{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background-muted, #f7f7f7)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.blackout{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
|
|
24590
24620
|
|
|
@@ -24609,104 +24639,14 @@ class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,cl
|
|
|
24609
24639
|
|
|
24610
24640
|
var popoverVersion = '6.0.1';
|
|
24611
24641
|
|
|
24612
|
-
/**
|
|
24613
|
-
* Single source of truth for parsing and matching blackout dates across the
|
|
24614
|
-
* datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
|
|
24615
|
-
* pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
|
|
24616
|
-
* helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
|
|
24617
|
-
* `disabledDays` rules are defined exactly once.
|
|
24618
|
-
*/
|
|
24619
|
-
|
|
24620
|
-
/**
|
|
24621
|
-
* Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
|
|
24622
|
-
* representing local midnight on that calendar day. Returns `null` for
|
|
24623
|
-
* inputs that don't parse to a finite timestamp.
|
|
24624
|
-
*
|
|
24625
|
-
* Uses the `new Date(year, monthIndex, day)` constructor (NOT
|
|
24626
|
-
* `new Date(isoStr)`) so the result is local-midnight rather than UTC
|
|
24627
|
-
* midnight — required to keep the calendar grid aligned with the user's
|
|
24628
|
-
* local calendar day in negative-offset timezones.
|
|
24629
|
-
*
|
|
24630
|
-
* @param {string} isoStr - Date string in `YYYY-MM-DD` format.
|
|
24631
|
-
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
24632
|
-
*/
|
|
24633
|
-
function parseIsoToTimestamp(isoStr) {
|
|
24634
|
-
if (typeof isoStr !== 'string') {
|
|
24635
|
-
return null;
|
|
24636
|
-
}
|
|
24637
|
-
const parts = isoStr.split('-');
|
|
24638
|
-
if (parts.length !== 3) {
|
|
24639
|
-
return null;
|
|
24640
|
-
}
|
|
24641
|
-
const year = parseInt(parts[0], 10);
|
|
24642
|
-
const month = parseInt(parts[1], 10);
|
|
24643
|
-
const day = parseInt(parts[2], 10);
|
|
24644
|
-
if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
|
|
24645
|
-
return null;
|
|
24646
|
-
}
|
|
24647
|
-
// Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
|
|
24648
|
-
// silently normalizes those to a different calendar day, which would
|
|
24649
|
-
// disable the wrong date if we let the result through.
|
|
24650
|
-
if (month < 1 || month > 12 || day < 1 || day > 31) {
|
|
24651
|
-
return null;
|
|
24652
|
-
}
|
|
24653
|
-
const date = new Date(year, month - 1, day);
|
|
24654
|
-
// Guard the residual case where JS still rolls a value (e.g. Feb 30 → Mar 2).
|
|
24655
|
-
// After construction, getFullYear/getMonth/getDate should match the inputs.
|
|
24656
|
-
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
|
|
24657
|
-
return null;
|
|
24658
|
-
}
|
|
24659
|
-
const ts = Math.floor(date.getTime() / 1000);
|
|
24660
|
-
return Number.isFinite(ts) ? ts : null;
|
|
24661
|
-
}
|
|
24662
|
-
|
|
24663
|
-
/**
|
|
24664
|
-
* Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
|
|
24665
|
-
* legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
|
|
24666
|
-
* array. Use this for O(1) membership checks in hot paths.
|
|
24667
|
-
*
|
|
24668
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
24669
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
24670
|
-
* @returns {Set<number>}
|
|
24671
|
-
*/
|
|
24672
|
-
function buildBlackoutSet(disabledDays, blackoutDates) {
|
|
24673
|
-
const set = new Set();
|
|
24674
|
-
if (Array.isArray(disabledDays)) {
|
|
24675
|
-
for (const day of disabledDays) {
|
|
24676
|
-
const ts = parseInt(day, 10);
|
|
24677
|
-
if (Number.isFinite(ts)) {
|
|
24678
|
-
set.add(ts);
|
|
24679
|
-
}
|
|
24680
|
-
}
|
|
24681
|
-
}
|
|
24682
|
-
if (Array.isArray(blackoutDates)) {
|
|
24683
|
-
for (const isoStr of blackoutDates) {
|
|
24684
|
-
const ts = parseIsoToTimestamp(isoStr);
|
|
24685
|
-
if (ts !== null) {
|
|
24686
|
-
set.add(ts);
|
|
24687
|
-
}
|
|
24688
|
-
}
|
|
24689
|
-
}
|
|
24690
|
-
return set;
|
|
24691
|
-
}
|
|
24692
|
-
|
|
24693
|
-
/**
|
|
24694
|
-
* One-shot membership test for a single timestamp against both blackout
|
|
24695
|
-
* sources. Allocates a Set on each call; only use this in cold paths
|
|
24696
|
-
* (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
|
|
24697
|
-
* Set returned from `buildBlackoutSet` and `.has(ts)` directly.
|
|
24698
|
-
*
|
|
24699
|
-
* @param {number} dateTs - Unix timestamp (seconds) to test.
|
|
24700
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
24701
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
24702
|
-
* @returns {boolean}
|
|
24703
|
-
*/
|
|
24704
|
-
function isBlackoutTimestamp(dateTs, disabledDays, blackoutDates) {
|
|
24705
|
-
return buildBlackoutSet(disabledDays, blackoutDates).has(dateTs);
|
|
24706
|
-
}
|
|
24707
|
-
|
|
24708
24642
|
/* eslint-disable curly, max-lines, no-underscore-dangle, no-magic-numbers, no-underscore-dangle, max-params, no-extra-parens, arrow-parens, max-lines, line-comment-position, no-inline-comments, lit/binding-positions, lit/no-invalid-html */
|
|
24709
24643
|
|
|
24644
|
+
const startOfDay$1 = (ms) => {
|
|
24645
|
+
const date = new Date(ms);
|
|
24646
|
+
date.setHours(0, 0, 0, 0);
|
|
24647
|
+
return date.getTime();
|
|
24648
|
+
};
|
|
24649
|
+
|
|
24710
24650
|
class AuroCalendarCell extends i$2 {
|
|
24711
24651
|
constructor() {
|
|
24712
24652
|
super();
|
|
@@ -24753,14 +24693,6 @@ class AuroCalendarCell extends i$2 {
|
|
|
24753
24693
|
type: Boolean,
|
|
24754
24694
|
reflect: true
|
|
24755
24695
|
},
|
|
24756
|
-
/**
|
|
24757
|
-
* @deprecated Propagated from the legacy `auro-calendar.disabledDays`
|
|
24758
|
-
* Unix-timestamp array. The cell honors it for backward compatibility
|
|
24759
|
-
* (see the divergence-check fallback inside `isBlackout`), but
|
|
24760
|
-
* consumers should migrate to `auro-datepicker.blackoutDates`
|
|
24761
|
-
* (YYYY-MM-DD ISO strings). The calendar emits a one-time
|
|
24762
|
-
* deprecation warning the first time a non-empty value is observed.
|
|
24763
|
-
*/
|
|
24764
24696
|
disabledDays: { type: Array },
|
|
24765
24697
|
isCurrentDate: { type: Boolean },
|
|
24766
24698
|
locale: { type: String },
|
|
@@ -24806,8 +24738,8 @@ class AuroCalendarCell extends i$2 {
|
|
|
24806
24738
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
24807
24739
|
|
|
24808
24740
|
if (day) {
|
|
24809
|
-
const departTimestamp =
|
|
24810
|
-
const returnTimestamp =
|
|
24741
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
24742
|
+
const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
|
|
24811
24743
|
|
|
24812
24744
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
24813
24745
|
this.selected = true;
|
|
@@ -24891,33 +24823,27 @@ class AuroCalendarCell extends i$2 {
|
|
|
24891
24823
|
return false;
|
|
24892
24824
|
}
|
|
24893
24825
|
|
|
24894
|
-
//
|
|
24895
|
-
|
|
24896
|
-
|
|
24897
|
-
|
|
24898
|
-
|
|
24899
|
-
|
|
24826
|
+
// Check against disabledDays timestamps (legacy path)
|
|
24827
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0 &&
|
|
24828
|
+
(this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
|
|
24829
|
+
return true;
|
|
24830
|
+
}
|
|
24831
|
+
|
|
24832
|
+
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
24833
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
24834
|
+
|
|
24835
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
24836
|
+
const date = new Date(this.day.date * 1000);
|
|
24837
|
+
const yyyy = date.getFullYear();
|
|
24838
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
24839
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
24840
|
+
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
24841
|
+
if (blackoutDates.includes(cellDate)) {
|
|
24900
24842
|
return true;
|
|
24901
24843
|
}
|
|
24902
|
-
// If the cell's local disabledDays diverged from the calendar's (a
|
|
24903
|
-
// consumer or test mutated cell.disabledDays directly), the Set does
|
|
24904
|
-
// not reflect that addition — fall through to the per-cell scan only
|
|
24905
|
-
// when the reference no longer matches. Production data flow keeps
|
|
24906
|
-
// these identical, so this branch stays cold. Guarded with
|
|
24907
|
-
// Array.isArray to match `_getBlackoutSet`'s contract: non-array
|
|
24908
|
-
// values are treated as empty rather than crashing on `.findIndex`.
|
|
24909
|
-
if (Array.isArray(this.disabledDays) && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
|
|
24910
|
-
if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
|
|
24911
|
-
return true;
|
|
24912
|
-
}
|
|
24913
|
-
}
|
|
24914
|
-
return false;
|
|
24915
24844
|
}
|
|
24916
24845
|
|
|
24917
|
-
|
|
24918
|
-
// ancestor calendar is wired up. Routes through the shared
|
|
24919
|
-
// blackoutUtils helper so the parsing rules stay in one place.
|
|
24920
|
-
return isBlackoutTimestamp(this.day.date, this.disabledDays, this.datepicker?.blackoutDates);
|
|
24846
|
+
return false;
|
|
24921
24847
|
}
|
|
24922
24848
|
|
|
24923
24849
|
/**
|
|
@@ -25023,12 +24949,12 @@ class AuroCalendarCell extends i$2 {
|
|
|
25023
24949
|
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
25024
24950
|
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
25025
24951
|
|
|
25026
|
-
const departTimestamp =
|
|
24952
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
25027
24953
|
const dayDate = this.day.date;
|
|
25028
24954
|
|
|
25029
24955
|
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
25030
24956
|
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
25031
|
-
const returnTimestamp = hasDateTo ?
|
|
24957
|
+
const returnTimestamp = hasDateTo ? startOfDay$1(parsedDateTo * 1000) / 1000 : null;
|
|
25032
24958
|
|
|
25033
24959
|
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
25034
24960
|
|
|
@@ -25038,9 +24964,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25038
24964
|
|
|
25039
24965
|
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
25040
24966
|
|
|
25041
|
-
|
|
25042
|
-
|
|
25043
|
-
// After end date when both dateFrom and dateTo are set.
|
|
24967
|
+
// After start date, no end date yet, or after end date
|
|
25044
24968
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
25045
24969
|
}
|
|
25046
24970
|
|
|
@@ -25053,7 +24977,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25053
24977
|
*/
|
|
25054
24978
|
isDepartDate(day, dateFrom) {
|
|
25055
24979
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
25056
|
-
const departTimestamp =
|
|
24980
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
25057
24981
|
|
|
25058
24982
|
return this.selected && day.date === departTimestamp;
|
|
25059
24983
|
}
|
|
@@ -25068,7 +24992,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25068
24992
|
*/
|
|
25069
24993
|
isReturnDate(day, dateFrom, dateTo) {
|
|
25070
24994
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
25071
|
-
const returnTimestamp =
|
|
24995
|
+
const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
|
|
25072
24996
|
|
|
25073
24997
|
return this.selected && day.date === returnTimestamp && dateFrom;
|
|
25074
24998
|
}
|
|
@@ -25232,7 +25156,6 @@ class AuroCalendarCell extends i$2 {
|
|
|
25232
25156
|
setTimeout(() => this.firstUpdated(), 0);
|
|
25233
25157
|
return;
|
|
25234
25158
|
}
|
|
25235
|
-
this.calendar = calendar;
|
|
25236
25159
|
this.datepicker = calendar.datepicker;
|
|
25237
25160
|
this._slotContentHandler = () => {
|
|
25238
25161
|
this.handleSlotContent();
|
|
@@ -25290,13 +25213,12 @@ class AuroCalendarCell extends i$2 {
|
|
|
25290
25213
|
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
25291
25214
|
});
|
|
25292
25215
|
|
|
25293
|
-
//
|
|
25216
|
+
// Update host-level aria attributes for ariaActiveDescendantElement.
|
|
25294
25217
|
this.updateHostAria();
|
|
25295
25218
|
}
|
|
25296
25219
|
|
|
25297
25220
|
// Update host aria when selection changes (aria-selected, range labels)
|
|
25298
|
-
|
|
25299
|
-
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
|
|
25221
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
|
|
25300
25222
|
this.updateHostAria();
|
|
25301
25223
|
}
|
|
25302
25224
|
|
|
@@ -25307,8 +25229,8 @@ class AuroCalendarCell extends i$2 {
|
|
|
25307
25229
|
}
|
|
25308
25230
|
|
|
25309
25231
|
/**
|
|
25310
|
-
*
|
|
25311
|
-
*
|
|
25232
|
+
* Updates ARIA attributes on the host element so that
|
|
25233
|
+
* ariaActiveDescendantElement can expose cell info to the SR.
|
|
25312
25234
|
* @private
|
|
25313
25235
|
* @returns {void}
|
|
25314
25236
|
*/
|
|
@@ -25317,27 +25239,16 @@ class AuroCalendarCell extends i$2 {
|
|
|
25317
25239
|
|
|
25318
25240
|
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
25319
25241
|
if (outOfRange) {
|
|
25320
|
-
// Strip every aria attribute the in-range branch may have set on a
|
|
25321
|
-
// previous render — if a cell flips from in-range to out-of-range
|
|
25322
|
-
// (calendar shifts months, minDate/maxDate change, etc.).
|
|
25323
25242
|
this.removeAttribute('role');
|
|
25324
25243
|
this.removeAttribute('aria-label');
|
|
25325
|
-
this.removeAttribute('aria-current');
|
|
25326
|
-
this.removeAttribute('aria-selected');
|
|
25327
|
-
this.removeAttribute('aria-disabled');
|
|
25328
25244
|
return;
|
|
25329
25245
|
}
|
|
25330
25246
|
|
|
25247
|
+
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
25331
25248
|
this.setAttribute('role', 'gridcell');
|
|
25332
25249
|
this.setAttribute('aria-label', this.getAriaLabel());
|
|
25333
25250
|
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
25334
25251
|
|
|
25335
|
-
if (this.isCurrentDate) {
|
|
25336
|
-
this.setAttribute('aria-current', 'date');
|
|
25337
|
-
} else {
|
|
25338
|
-
this.removeAttribute('aria-current');
|
|
25339
|
-
}
|
|
25340
|
-
|
|
25341
25252
|
if (this.isBlackout()) {
|
|
25342
25253
|
this.setAttribute('aria-disabled', 'true');
|
|
25343
25254
|
} else {
|
|
@@ -25352,7 +25263,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25352
25263
|
* @returns {void}
|
|
25353
25264
|
*/
|
|
25354
25265
|
focusButton() {
|
|
25355
|
-
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([
|
|
25266
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
|
|
25356
25267
|
if (button) {
|
|
25357
25268
|
button.focus({ focusVisible: true });
|
|
25358
25269
|
}
|
|
@@ -25360,9 +25271,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25360
25271
|
|
|
25361
25272
|
/**
|
|
25362
25273
|
* Imperatively marks this cell as active without triggering a Lit re-render.
|
|
25363
|
-
*
|
|
25364
|
-
* arrow keys move the active cell imperatively and the live region carries
|
|
25365
|
-
* the SR announcement.
|
|
25274
|
+
* Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
|
|
25366
25275
|
* @returns {void}
|
|
25367
25276
|
*/
|
|
25368
25277
|
setActive() {
|
|
@@ -25404,13 +25313,10 @@ class AuroCalendarCell extends i$2 {
|
|
|
25404
25313
|
if (!btn || !this.day) return;
|
|
25405
25314
|
|
|
25406
25315
|
const dayDate = this.day.date;
|
|
25407
|
-
const departTimestamp =
|
|
25316
|
+
const departTimestamp = startOfDay$1(dateFrom * 1000) / 1000;
|
|
25408
25317
|
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
25409
|
-
|
|
25410
|
-
|
|
25411
|
-
// rangeDepartDate and lastHoveredDate.
|
|
25412
|
-
const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
|
|
25413
|
-
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
|
|
25318
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
|
|
25319
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
|
|
25414
25320
|
|
|
25415
25321
|
btn.classList.toggle('inRange', isInRange);
|
|
25416
25322
|
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
@@ -25468,6 +25374,7 @@ class AuroCalendarCell extends i$2 {
|
|
|
25468
25374
|
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
25469
25375
|
class="${e$2(buttonClasses)}"
|
|
25470
25376
|
?disabled="${outOfRange}"
|
|
25377
|
+
aria-hidden="${outOfRange ? 'true' : A$7}"
|
|
25471
25378
|
tabindex="-1">
|
|
25472
25379
|
<div class="buttonWrapper" aria-hidden="true">
|
|
25473
25380
|
<div class="currentDayMarker">${this.day?.title || A$7}</div>
|
|
@@ -26573,7 +26480,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
|
|
|
26573
26480
|
}
|
|
26574
26481
|
};
|
|
26575
26482
|
|
|
26576
|
-
var formkitVersion$2$1 = '
|
|
26483
|
+
var formkitVersion$2$1 = '202606252337';
|
|
26577
26484
|
|
|
26578
26485
|
let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
26579
26486
|
`,u$4$2=i$4`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -26696,11 +26603,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
26696
26603
|
this.calendarRangeMonths = null;
|
|
26697
26604
|
|
|
26698
26605
|
/**
|
|
26699
|
-
*
|
|
26700
|
-
* `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
|
|
26701
|
-
* timestamps is still honored for backward compatibility but emits a
|
|
26702
|
-
* one-time `console.debug` the first time a non-empty value is observed.
|
|
26703
|
-
* Support will be removed in a future major release.
|
|
26606
|
+
* Legacy array of disabled-date timestamps.
|
|
26704
26607
|
* @private
|
|
26705
26608
|
*/
|
|
26706
26609
|
this.disabledDays = [];
|
|
@@ -26957,44 +26860,17 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
26957
26860
|
* @returns {void}
|
|
26958
26861
|
*/
|
|
26959
26862
|
updateActiveCellForVisibleMonth() {
|
|
26960
|
-
|
|
26961
|
-
|
|
26962
|
-
|
|
26963
|
-
if (newDate !== null && newDate !== undefined) {
|
|
26964
|
-
this.activeCellDate = newDate;
|
|
26965
|
-
this.setActiveCell(this.activeCellDate);
|
|
26966
|
-
}
|
|
26967
|
-
});
|
|
26968
|
-
}
|
|
26969
|
-
|
|
26970
|
-
/**
|
|
26971
|
-
* Schedules `callback` two animation frames out, giving the child
|
|
26972
|
-
* `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
|
|
26973
|
-
* a full render-and-paint cycle to settle before the callback reads or
|
|
26974
|
-
* mutates DOM.
|
|
26975
|
-
*
|
|
26976
|
-
* Why two frames, not one:
|
|
26977
|
-
* 1. Lit batches property updates and renders in a microtask, so frame N
|
|
26978
|
-
* schedules the render but the new DOM may not be painted yet.
|
|
26979
|
-
* 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
|
|
26980
|
-
* which also lands a tick later. Reading buttons from frame N+1
|
|
26981
|
-
* (after both renders + cache refresh have flushed) reliably hits the
|
|
26982
|
-
* new month's cells.
|
|
26983
|
-
*
|
|
26984
|
-
* Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
|
|
26985
|
-
* and then needs to inspect the freshly-rendered cells (cross-month
|
|
26986
|
-
* keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
|
|
26987
|
-
* Do NOT collapse to a single rAF — it intermittently lands before
|
|
26988
|
-
* `_cachedButton` is refreshed, which silently breaks focus restoration
|
|
26989
|
-
* and `setActiveCell` lookups.
|
|
26990
|
-
* @private
|
|
26991
|
-
* @param {() => void} callback - Runs once after the month re-render and
|
|
26992
|
-
* the cells' button caches have refreshed.
|
|
26993
|
-
* @returns {void}
|
|
26994
|
-
*/
|
|
26995
|
-
_afterMonthRender(callback) {
|
|
26863
|
+
// Use double-rAF to ensure child month/cell components have fully
|
|
26864
|
+
// rendered and cached their button references before we set tabindex.
|
|
26996
26865
|
requestAnimationFrame(() => {
|
|
26997
|
-
requestAnimationFrame(
|
|
26866
|
+
requestAnimationFrame(() => {
|
|
26867
|
+
const newDate = this.computeActiveDate({ skipDateFrom: true });
|
|
26868
|
+
|
|
26869
|
+
if (newDate !== null && newDate !== undefined) {
|
|
26870
|
+
this.activeCellDate = newDate;
|
|
26871
|
+
this.setActiveCell(this.activeCellDate);
|
|
26872
|
+
}
|
|
26873
|
+
});
|
|
26998
26874
|
});
|
|
26999
26875
|
}
|
|
27000
26876
|
|
|
@@ -27112,47 +26988,6 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27112
26988
|
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
27113
26989
|
}
|
|
27114
26990
|
|
|
27115
|
-
/**
|
|
27116
|
-
* Picks the focusable cell whose date is closest to targetTs. Used as a
|
|
27117
|
-
* fallback after a month-boundary nav when the exact target date isn't
|
|
27118
|
-
* focusable — typically because the month re-render lagged or the date
|
|
27119
|
-
* was filtered out by isOutOfRange. When two cells are equidistant, the
|
|
27120
|
-
* navigation direction breaks the tie so the user moves the way they
|
|
27121
|
-
* pressed (forward → later cell, backward → earlier cell).
|
|
27122
|
-
* @private
|
|
27123
|
-
* @param {Array} cells - Focusable cells from getAllFocusableCells.
|
|
27124
|
-
* @param {Number} targetTs - Desired Unix timestamp (seconds).
|
|
27125
|
-
* @param {'next'|'prev'} direction - Navigation direction.
|
|
27126
|
-
* @returns {Object|null} The nearest cell, or null when cells is empty.
|
|
27127
|
-
*/
|
|
27128
|
-
pickNearestCell(cells, targetTs, direction) {
|
|
27129
|
-
if (!cells.length) {
|
|
27130
|
-
return null;
|
|
27131
|
-
}
|
|
27132
|
-
const forward = direction === 'next';
|
|
27133
|
-
let best = null;
|
|
27134
|
-
let bestDelta = Infinity;
|
|
27135
|
-
cells.forEach((cell) => {
|
|
27136
|
-
if (!cell.day) {
|
|
27137
|
-
return;
|
|
27138
|
-
}
|
|
27139
|
-
const distance = Math.abs(cell.day.date - targetTs);
|
|
27140
|
-
if (distance < bestDelta) {
|
|
27141
|
-
best = cell;
|
|
27142
|
-
bestDelta = distance;
|
|
27143
|
-
return;
|
|
27144
|
-
}
|
|
27145
|
-
if (distance === bestDelta && best) {
|
|
27146
|
-
if (forward && cell.day.date > best.day.date) {
|
|
27147
|
-
best = cell;
|
|
27148
|
-
} else if (!forward && cell.day.date < best.day.date) {
|
|
27149
|
-
best = cell;
|
|
27150
|
-
}
|
|
27151
|
-
}
|
|
27152
|
-
});
|
|
27153
|
-
return best;
|
|
27154
|
-
}
|
|
27155
|
-
|
|
27156
26991
|
/**
|
|
27157
26992
|
* Gets all focusable cells across all rendered months.
|
|
27158
26993
|
* @private
|
|
@@ -27169,9 +27004,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27169
27004
|
|
|
27170
27005
|
/**
|
|
27171
27006
|
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
27172
|
-
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
27173
|
-
*
|
|
27174
|
-
*
|
|
27007
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
27008
|
+
* Also updates ariaActiveDescendantElement on the grid wrapper so
|
|
27009
|
+
* screen readers announce the active cell without moving DOM focus.
|
|
27175
27010
|
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
27176
27011
|
* @returns {void}
|
|
27177
27012
|
*/
|
|
@@ -27252,65 +27087,6 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27252
27087
|
this.clearRangePreview();
|
|
27253
27088
|
}
|
|
27254
27089
|
|
|
27255
|
-
/**
|
|
27256
|
-
* Returns a memoized Set of blackout timestamps (seconds) drawn from both
|
|
27257
|
-
* the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
|
|
27258
|
-
* The cache invalidates when either source array's reference changes, which
|
|
27259
|
-
* matches Lit's own reactive identity semantics for array properties.
|
|
27260
|
-
* @private
|
|
27261
|
-
* @returns {Set<Number>}
|
|
27262
|
-
*/
|
|
27263
|
-
_getBlackoutSet() {
|
|
27264
|
-
// Normalize non-array values to a stable `null` sentinel rather than a
|
|
27265
|
-
// fresh `[]` per call — otherwise the reference-identity cache key
|
|
27266
|
-
// (`_cachedBlackoutDisabledDays === disabledDays`) never matches on
|
|
27267
|
-
// subsequent calls and the Set rebuilds every time. `buildBlackoutSet`
|
|
27268
|
-
// already treats null/non-array as "no legacy disabledDays" via its
|
|
27269
|
-
// own Array.isArray gate.
|
|
27270
|
-
const disabledDays = Array.isArray(this.disabledDays) ? this.disabledDays : null;
|
|
27271
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
27272
|
-
if (this._blackoutSet &&
|
|
27273
|
-
this._cachedBlackoutDisabledDays === disabledDays &&
|
|
27274
|
-
this._cachedBlackoutDates === blackoutDates) {
|
|
27275
|
-
return this._blackoutSet;
|
|
27276
|
-
}
|
|
27277
|
-
|
|
27278
|
-
if (disabledDays && disabledDays.length > 0) {
|
|
27279
|
-
this._warnDisabledDaysDeprecated();
|
|
27280
|
-
}
|
|
27281
|
-
|
|
27282
|
-
this._blackoutSet = buildBlackoutSet(disabledDays, blackoutDates);
|
|
27283
|
-
this._cachedBlackoutDisabledDays = disabledDays;
|
|
27284
|
-
this._cachedBlackoutDates = blackoutDates;
|
|
27285
|
-
return this._blackoutSet;
|
|
27286
|
-
}
|
|
27287
|
-
|
|
27288
|
-
/**
|
|
27289
|
-
* Per-class flag that gates the `disabledDays` deprecation warning so it
|
|
27290
|
-
* fires exactly once per page no matter how many calendars or rebuild
|
|
27291
|
-
* cycles encounter the legacy array.
|
|
27292
|
-
* @private
|
|
27293
|
-
*/
|
|
27294
|
-
static _warnedDisabledDaysDeprecation = false;
|
|
27295
|
-
|
|
27296
|
-
/**
|
|
27297
|
-
* One-time `console.debug` directing consumers from the legacy
|
|
27298
|
-
* `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
|
|
27299
|
-
* the first time `_getBlackoutSet` rebuilds from a non-empty
|
|
27300
|
-
* `disabledDays`; subsequent calls (on this or any other AuroCalendar
|
|
27301
|
-
* instance on the page) are silent.
|
|
27302
|
-
* @private
|
|
27303
|
-
* @returns {void}
|
|
27304
|
-
*/
|
|
27305
|
-
_warnDisabledDaysDeprecated() {
|
|
27306
|
-
if (AuroCalendar._warnedDisabledDaysDeprecation) {
|
|
27307
|
-
return;
|
|
27308
|
-
}
|
|
27309
|
-
AuroCalendar._warnedDisabledDaysDeprecation = true;
|
|
27310
|
-
// eslint-disable-next-line no-console
|
|
27311
|
-
console.debug('[auro-datepicker] The `disabledDays` property (Unix timestamps) is deprecated. Migrate to the `blackoutDates` property on auro-datepicker (an array of `YYYY-MM-DD` ISO strings). `disabledDays` will be removed in a future major release.');
|
|
27312
|
-
}
|
|
27313
|
-
|
|
27314
27090
|
/**
|
|
27315
27091
|
* Computes the initial active date from data properties alone — no DOM required.
|
|
27316
27092
|
* Priority:
|
|
@@ -27355,10 +27131,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27355
27131
|
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
27356
27132
|
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
27357
27133
|
|
|
27358
|
-
// Build a Set of blackout timestamps for O(1) lookup.
|
|
27359
|
-
|
|
27360
|
-
|
|
27361
|
-
|
|
27134
|
+
// Build a Set of blackout timestamps for O(1) lookup.
|
|
27135
|
+
const blackoutSet = new Set(this.disabledDays.map((day) => parseInt(day, 10)));
|
|
27136
|
+
|
|
27137
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
27138
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
27139
|
+
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
27140
|
+
if (Array.isArray(isoBlackouts)) {
|
|
27141
|
+
for (const isoStr of isoBlackouts) {
|
|
27142
|
+
const parts = isoStr.split('-');
|
|
27143
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
27144
|
+
if (Number.isFinite(ts)) {
|
|
27145
|
+
blackoutSet.add(ts);
|
|
27146
|
+
}
|
|
27147
|
+
}
|
|
27148
|
+
}
|
|
27362
27149
|
|
|
27363
27150
|
/**
|
|
27364
27151
|
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
@@ -27554,8 +27341,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27554
27341
|
|
|
27555
27342
|
/**
|
|
27556
27343
|
* Handles arrow key navigation on the calendar grid wrapper.
|
|
27557
|
-
* Focus stays on the grid wrapper; only
|
|
27558
|
-
*
|
|
27344
|
+
* Focus stays on the grid wrapper; only ariaActiveDescendantElement
|
|
27345
|
+
* and the visual active-cell indicator change.
|
|
27559
27346
|
* @private
|
|
27560
27347
|
* @param {KeyboardEvent} event - The keyboard event.
|
|
27561
27348
|
* @returns {void}
|
|
@@ -27620,21 +27407,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27620
27407
|
} else {
|
|
27621
27408
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
27622
27409
|
}
|
|
27623
|
-
|
|
27624
|
-
|
|
27625
|
-
|
|
27626
|
-
|
|
27627
|
-
|
|
27628
|
-
|
|
27629
|
-
|
|
27630
|
-
|
|
27631
|
-
|
|
27410
|
+
requestAnimationFrame(() => {
|
|
27411
|
+
requestAnimationFrame(() => {
|
|
27412
|
+
const cells = this.getAllFocusableCells();
|
|
27413
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
|
|
27414
|
+
if (target) {
|
|
27415
|
+
this.setActiveCell(target.day.date);
|
|
27416
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
27417
|
+
} else if (cells.length > 0) {
|
|
27418
|
+
const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
|
|
27632
27419
|
this.setActiveCell(fallback.day.date);
|
|
27633
27420
|
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
27634
27421
|
}
|
|
27635
|
-
|
|
27636
|
-
|
|
27637
|
-
|
|
27422
|
+
// Re-focus grid wrapper after month change re-render
|
|
27423
|
+
this.focusActiveCell();
|
|
27424
|
+
});
|
|
27638
27425
|
});
|
|
27639
27426
|
}
|
|
27640
27427
|
}
|
|
@@ -27660,20 +27447,26 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27660
27447
|
} else {
|
|
27661
27448
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
27662
27449
|
}
|
|
27663
|
-
|
|
27664
|
-
|
|
27665
|
-
|
|
27666
|
-
|
|
27667
|
-
|
|
27668
|
-
|
|
27669
|
-
|
|
27670
|
-
|
|
27671
|
-
|
|
27450
|
+
requestAnimationFrame(() => {
|
|
27451
|
+
requestAnimationFrame(() => {
|
|
27452
|
+
const cells = this.getAllFocusableCells();
|
|
27453
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
27454
|
+
if (target) {
|
|
27455
|
+
this.setActiveCell(target.day.date);
|
|
27456
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
27457
|
+
} else if (cells.length > 0) {
|
|
27458
|
+
let nearest = null;
|
|
27459
|
+
|
|
27460
|
+
if (navDirection === 'next') {
|
|
27461
|
+
[nearest] = cells;
|
|
27462
|
+
} else {
|
|
27463
|
+
nearest = cells[cells.length - 1];
|
|
27464
|
+
}
|
|
27672
27465
|
this.setActiveCell(nearest.day.date);
|
|
27673
27466
|
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
27674
27467
|
}
|
|
27675
|
-
|
|
27676
|
-
|
|
27468
|
+
this.focusActiveCell();
|
|
27469
|
+
});
|
|
27677
27470
|
});
|
|
27678
27471
|
}
|
|
27679
27472
|
}
|
|
@@ -27723,22 +27516,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27723
27516
|
}
|
|
27724
27517
|
|
|
27725
27518
|
this.handleNextMonth({ skipActiveUpdate: true });
|
|
27726
|
-
|
|
27727
|
-
|
|
27728
|
-
|
|
27729
|
-
|
|
27730
|
-
|
|
27731
|
-
|
|
27732
|
-
|
|
27733
|
-
|
|
27734
|
-
|
|
27735
|
-
|
|
27736
|
-
const fallback = this.pickNearestCell(cells, nextTs, 'next');
|
|
27737
|
-
if (fallback) {
|
|
27738
|
-
this.setActiveCell(fallback.day.date);
|
|
27519
|
+
requestAnimationFrame(() => {
|
|
27520
|
+
requestAnimationFrame(() => {
|
|
27521
|
+
const cells = this.getAllFocusableCells();
|
|
27522
|
+
const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
|
|
27523
|
+
if (target) {
|
|
27524
|
+
this.setActiveCell(target.day.date);
|
|
27525
|
+
this.focusActiveCell();
|
|
27526
|
+
} else if (cells.length > 0) {
|
|
27527
|
+
// Fallback: first cell of the last rendered month
|
|
27528
|
+
this.setActiveCell(cells[cells.length - 1].day.date);
|
|
27739
27529
|
this.focusActiveCell();
|
|
27740
27530
|
}
|
|
27741
|
-
}
|
|
27531
|
+
});
|
|
27742
27532
|
});
|
|
27743
27533
|
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
27744
27534
|
// Navigate to previous month and focus the computed previous date.
|
|
@@ -27752,22 +27542,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27752
27542
|
}
|
|
27753
27543
|
|
|
27754
27544
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
27755
|
-
|
|
27756
|
-
|
|
27757
|
-
|
|
27758
|
-
|
|
27759
|
-
|
|
27760
|
-
|
|
27761
|
-
|
|
27762
|
-
|
|
27763
|
-
|
|
27764
|
-
|
|
27765
|
-
const fallback = this.pickNearestCell(cells, prevTs, 'prev');
|
|
27766
|
-
if (fallback) {
|
|
27767
|
-
this.setActiveCell(fallback.day.date);
|
|
27545
|
+
requestAnimationFrame(() => {
|
|
27546
|
+
requestAnimationFrame(() => {
|
|
27547
|
+
const cells = this.getAllFocusableCells();
|
|
27548
|
+
const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
|
|
27549
|
+
if (target) {
|
|
27550
|
+
this.setActiveCell(target.day.date);
|
|
27551
|
+
this.focusActiveCell();
|
|
27552
|
+
} else if (cells.length > 0) {
|
|
27553
|
+
// Fallback: last cell of the first rendered month
|
|
27554
|
+
this.setActiveCell(cells[0].day.date);
|
|
27768
27555
|
this.focusActiveCell();
|
|
27769
27556
|
}
|
|
27770
|
-
}
|
|
27557
|
+
});
|
|
27771
27558
|
});
|
|
27772
27559
|
}
|
|
27773
27560
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
@@ -27795,22 +27582,20 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27795
27582
|
} else {
|
|
27796
27583
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
27797
27584
|
}
|
|
27798
|
-
|
|
27799
|
-
|
|
27800
|
-
|
|
27801
|
-
|
|
27802
|
-
|
|
27803
|
-
|
|
27804
|
-
|
|
27805
|
-
|
|
27806
|
-
|
|
27807
|
-
|
|
27808
|
-
const nearest = this.pickNearestCell(cells, targetDate, navDirection);
|
|
27809
|
-
if (nearest) {
|
|
27585
|
+
requestAnimationFrame(() => {
|
|
27586
|
+
requestAnimationFrame(() => {
|
|
27587
|
+
const cells = this.getAllFocusableCells();
|
|
27588
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
27589
|
+
if (target) {
|
|
27590
|
+
this.setActiveCell(target.day.date);
|
|
27591
|
+
this.focusActiveCell();
|
|
27592
|
+
} else if (cells.length > 0) {
|
|
27593
|
+
// Clamp to nearest focusable cell
|
|
27594
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
27810
27595
|
this.setActiveCell(nearest.day.date);
|
|
27811
27596
|
this.focusActiveCell();
|
|
27812
27597
|
}
|
|
27813
|
-
}
|
|
27598
|
+
});
|
|
27814
27599
|
});
|
|
27815
27600
|
}
|
|
27816
27601
|
}
|
|
@@ -27849,9 +27634,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27849
27634
|
return;
|
|
27850
27635
|
}
|
|
27851
27636
|
|
|
27852
|
-
//
|
|
27853
|
-
//
|
|
27854
|
-
// region carries the full-context announcement instead.
|
|
27637
|
+
// With aria-activedescendant, the button no longer receives native focus,
|
|
27638
|
+
// so we use the debounced live region for the full context announcement.
|
|
27855
27639
|
const announcement = this.buildFocusAnnouncement(date);
|
|
27856
27640
|
this.announceFocusDebounced(announcement);
|
|
27857
27641
|
|
|
@@ -27921,10 +27705,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27921
27705
|
return null;
|
|
27922
27706
|
}
|
|
27923
27707
|
|
|
27924
|
-
const departTs =
|
|
27708
|
+
const departTs = startOfDay$2(parsedFrom * 1000) / 1000;
|
|
27925
27709
|
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
27926
27710
|
const hasTo = Number.isFinite(parsedTo);
|
|
27927
|
-
const returnTs = hasTo ?
|
|
27711
|
+
const returnTs = hasTo ? startOfDay$2(parsedTo * 1000) / 1000 : null;
|
|
27928
27712
|
|
|
27929
27713
|
if (date === departTs) {
|
|
27930
27714
|
return this.datepicker.rangeLabelStart || 'range start';
|
|
@@ -27938,22 +27722,36 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27938
27722
|
if (hasTo && date > departTs && date < returnTs) {
|
|
27939
27723
|
return this.datepicker.rangeLabelInRange || 'in range';
|
|
27940
27724
|
}
|
|
27941
|
-
if (!hasTo && date > departTs) {
|
|
27942
|
-
return this.datepicker.rangeLabelEndPreview || 'previewing range end';
|
|
27943
|
-
}
|
|
27944
27725
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
27945
27726
|
}
|
|
27946
27727
|
|
|
27947
27728
|
/**
|
|
27948
|
-
* Checks whether a given date is a blackout date.
|
|
27949
|
-
* memoized `_getBlackoutSet` so the YYYY-MM-DD parsing and the
|
|
27950
|
-
* legacy/ISO merge rules live in exactly one place (see `blackoutUtils.js`).
|
|
27729
|
+
* Checks whether a given date is a blackout date.
|
|
27951
27730
|
* @private
|
|
27952
27731
|
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
27953
27732
|
* @returns {Boolean} True if the date is blacked out.
|
|
27954
27733
|
*/
|
|
27955
27734
|
isDateBlackout(dateTs) {
|
|
27956
|
-
|
|
27735
|
+
// Check legacy disabledDays.
|
|
27736
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
27737
|
+
if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
|
|
27738
|
+
return true;
|
|
27739
|
+
}
|
|
27740
|
+
}
|
|
27741
|
+
|
|
27742
|
+
// Check ISO blackoutDates.
|
|
27743
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
27744
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
27745
|
+
const date = new Date(dateTs * 1000);
|
|
27746
|
+
const yyyy = date.getFullYear();
|
|
27747
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
27748
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
27749
|
+
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
27750
|
+
return true;
|
|
27751
|
+
}
|
|
27752
|
+
}
|
|
27753
|
+
|
|
27754
|
+
return false;
|
|
27957
27755
|
}
|
|
27958
27756
|
|
|
27959
27757
|
/**
|
|
@@ -28120,34 +27918,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28120
27918
|
// the last one.
|
|
28121
27919
|
if (this._announceRafId) {
|
|
28122
27920
|
cancelAnimationFrame(this._announceRafId);
|
|
28123
|
-
this._announceRafId = null;
|
|
28124
27921
|
}
|
|
28125
|
-
this._deliverAnnouncement(dateStr, 0);
|
|
28126
|
-
}
|
|
28127
|
-
|
|
28128
|
-
/**
|
|
28129
|
-
* Writes `dateStr` to the live region. If the dropdown's dialog hasn't
|
|
28130
|
-
* mounted yet (so getOrCreateLiveRegion can't attach), retries on the
|
|
28131
|
-
* next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
|
|
28132
|
-
* dropping the announcement. The retry uses the same `_announceRafId`
|
|
28133
|
-
* the double-rAF below uses, so a newer announceSelection call (or
|
|
28134
|
-
* disconnectedCallback) cancels any in-flight retry.
|
|
28135
|
-
* @private
|
|
28136
|
-
* @param {String} dateStr - The localized date string to announce.
|
|
28137
|
-
* @param {Number} attempts - Number of prior retry attempts.
|
|
28138
|
-
* @returns {void}
|
|
28139
|
-
*/
|
|
28140
|
-
_deliverAnnouncement(dateStr, attempts) {
|
|
28141
27922
|
const liveRegion = this.getOrCreateLiveRegion();
|
|
28142
27923
|
if (!liveRegion) {
|
|
28143
|
-
const MAX_LIVE_REGION_RETRIES = 10;
|
|
28144
|
-
if (attempts < MAX_LIVE_REGION_RETRIES) {
|
|
28145
|
-
this._announceRafId = requestAnimationFrame(() => {
|
|
28146
|
-
this._deliverAnnouncement(dateStr, attempts + 1);
|
|
28147
|
-
});
|
|
28148
|
-
} else {
|
|
28149
|
-
this._announceRafId = null;
|
|
28150
|
-
}
|
|
28151
27924
|
return;
|
|
28152
27925
|
}
|
|
28153
27926
|
|
|
@@ -28333,7 +28106,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28333
28106
|
</button>
|
|
28334
28107
|
` : undefined}
|
|
28335
28108
|
</div>
|
|
28336
|
-
<div id="calendarGrid" class="calendars" role="group"
|
|
28109
|
+
<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}">
|
|
28337
28110
|
${this.renderAllCalendars()}
|
|
28338
28111
|
</div>
|
|
28339
28112
|
</div>
|
|
@@ -32218,7 +31991,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
|
|
|
32218
31991
|
}
|
|
32219
31992
|
};
|
|
32220
31993
|
|
|
32221
|
-
var formkitVersion$1$3 = '
|
|
31994
|
+
var formkitVersion$1$3 = '202606252337';
|
|
32222
31995
|
|
|
32223
31996
|
let AuroElement$2$2 = class AuroElement extends i$2 {
|
|
32224
31997
|
static get properties() {
|
|
@@ -38615,7 +38388,7 @@ function normalizeDates$2(context, ...dates) {
|
|
|
38615
38388
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
38616
38389
|
* //=> Tue Sep 02 2014 00:00:00
|
|
38617
38390
|
*/
|
|
38618
|
-
function startOfDay$
|
|
38391
|
+
function startOfDay$3(date, options) {
|
|
38619
38392
|
const _date = toDate$2(date, options?.in);
|
|
38620
38393
|
_date.setHours(0, 0, 0, 0);
|
|
38621
38394
|
return _date;
|
|
@@ -38663,8 +38436,8 @@ function differenceInCalendarDays$2(laterDate, earlierDate, options) {
|
|
|
38663
38436
|
earlierDate,
|
|
38664
38437
|
);
|
|
38665
38438
|
|
|
38666
|
-
const laterStartOfDay = startOfDay$
|
|
38667
|
-
const earlierStartOfDay = startOfDay$
|
|
38439
|
+
const laterStartOfDay = startOfDay$3(laterDate_);
|
|
38440
|
+
const earlierStartOfDay = startOfDay$3(earlierDate_);
|
|
38668
38441
|
|
|
38669
38442
|
const laterTimestamp =
|
|
38670
38443
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$2(laterStartOfDay);
|
|
@@ -43936,6 +43709,13 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
|
|
|
43936
43709
|
* @returns {string | undefined}
|
|
43937
43710
|
*/
|
|
43938
43711
|
toFormattedValue(valueObject, format) {
|
|
43712
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
43713
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
43714
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
43715
|
+
// as "no format → no display value".
|
|
43716
|
+
if (!format) {
|
|
43717
|
+
return undefined;
|
|
43718
|
+
}
|
|
43939
43719
|
const normalizedFormat = format.toLowerCase();
|
|
43940
43720
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
43941
43721
|
|
|
@@ -44086,79 +43866,18 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
44086
43866
|
constructor() {
|
|
44087
43867
|
super();
|
|
44088
43868
|
|
|
44089
|
-
|
|
44090
|
-
|
|
44091
|
-
|
|
44092
|
-
|
|
44093
|
-
|
|
44094
|
-
|
|
44095
|
-
|
|
44096
|
-
|
|
44097
|
-
|
|
44098
|
-
|
|
44099
|
-
this.required = false;
|
|
44100
|
-
this.onDark = false;
|
|
44101
|
-
this.setCustomValidityForType = undefined;
|
|
44102
|
-
this.size = 'lg';
|
|
44103
|
-
this.shape = 'classic';
|
|
44104
|
-
this.value = undefined;
|
|
44105
|
-
this._valueObject = undefined;
|
|
44106
|
-
|
|
44107
|
-
this._initializePrivateDefaults();
|
|
44108
|
-
}
|
|
44109
|
-
|
|
44110
|
-
/**
|
|
44111
|
-
* Internal Defaults.
|
|
44112
|
-
* @private
|
|
44113
|
-
* @returns {void}
|
|
44114
|
-
*/
|
|
44115
|
-
_initializePrivateDefaults() {
|
|
43869
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
43870
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
43871
|
+
// exactly once here (previously the constructor + the old
|
|
43872
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
43873
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
43874
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
43875
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
43876
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
43877
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
43878
|
+
// during its own update cycle sees a populated util instance.
|
|
44116
43879
|
this.activeLabel = false;
|
|
44117
|
-
|
|
44118
|
-
this.icon = false;
|
|
44119
|
-
this.disabled = false;
|
|
44120
|
-
this.dvInputOnly = false;
|
|
44121
|
-
this.hideLabelVisually = false;
|
|
44122
|
-
this.max = undefined;
|
|
44123
|
-
this.maxLength = undefined;
|
|
44124
|
-
this.min = undefined;
|
|
44125
|
-
this.minLength = undefined;
|
|
44126
|
-
this.noValidate = false;
|
|
44127
|
-
this.onDark = false;
|
|
44128
|
-
this.required = false;
|
|
44129
|
-
this.setCustomValidityForType = undefined;
|
|
44130
|
-
|
|
44131
|
-
// Used for storing raw values returned from input mask.
|
|
44132
|
-
this._rawMaskValue = undefined;
|
|
44133
|
-
|
|
44134
|
-
/**
|
|
44135
|
-
* @private
|
|
44136
|
-
*/
|
|
44137
|
-
this.layout = 'classic';
|
|
44138
|
-
|
|
44139
|
-
/**
|
|
44140
|
-
* @private
|
|
44141
|
-
*/
|
|
44142
|
-
this.shape = 'classic';
|
|
44143
|
-
|
|
44144
|
-
/**
|
|
44145
|
-
* @private
|
|
44146
|
-
*/
|
|
44147
|
-
this.size = 'lg';
|
|
44148
|
-
|
|
44149
|
-
this.touched = false;
|
|
44150
|
-
this.util = new AuroInputUtilities$2({
|
|
44151
|
-
locale: "en-US",
|
|
44152
|
-
format: this.format
|
|
44153
|
-
});
|
|
44154
|
-
this.validation = new AuroFormValidation$6();
|
|
44155
|
-
this.inputIconName = undefined;
|
|
44156
|
-
this.showPassword = false;
|
|
44157
|
-
this.validationCCLength = undefined;
|
|
44158
|
-
this.hasValue = false;
|
|
44159
|
-
this.label = 'Input label is undefined';
|
|
44160
|
-
|
|
44161
|
-
|
|
43880
|
+
/** @private */
|
|
44162
43881
|
this.allowedInputTypes = [
|
|
44163
43882
|
"text",
|
|
44164
43883
|
"number",
|
|
@@ -44167,7 +43886,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
44167
43886
|
"credit-card",
|
|
44168
43887
|
"tel"
|
|
44169
43888
|
];
|
|
44170
|
-
this.
|
|
43889
|
+
this.appearance = "default";
|
|
43890
|
+
/** @private */
|
|
44171
43891
|
this.dateFormatMap = {
|
|
44172
43892
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
44173
43893
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -44184,27 +43904,57 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
44184
43904
|
'dd/mm': 'dateDDMM',
|
|
44185
43905
|
'mm/dd': 'dateMMDD'
|
|
44186
43906
|
};
|
|
43907
|
+
this.disabled = false;
|
|
43908
|
+
/** @private */
|
|
44187
43909
|
this.domHandler = new DomHandler$2();
|
|
44188
43910
|
this.dvInputOnly = false;
|
|
44189
43911
|
this.hasValue = false;
|
|
43912
|
+
this.hideLabelVisually = false;
|
|
43913
|
+
this.icon = false;
|
|
43914
|
+
/** @private */
|
|
44190
43915
|
this.inputIconName = undefined;
|
|
43916
|
+
/** @private */
|
|
44191
43917
|
this.label = 'Input label is undefined';
|
|
43918
|
+
this.layout = 'classic';
|
|
43919
|
+
this.locale = 'en-US';
|
|
43920
|
+
this.max = undefined;
|
|
43921
|
+
this._maxObject = undefined;
|
|
43922
|
+
this.maxLength = undefined;
|
|
43923
|
+
this.min = undefined;
|
|
43924
|
+
this._minObject = undefined;
|
|
43925
|
+
this.minLength = undefined;
|
|
44192
43926
|
this.noValidate = false;
|
|
44193
|
-
this.
|
|
43927
|
+
this.onDark = false;
|
|
43928
|
+
// Raw values returned from the input mask before model normalization.
|
|
43929
|
+
this._rawMaskValue = undefined;
|
|
43930
|
+
this.required = false;
|
|
43931
|
+
this.setCustomValidityForType = undefined;
|
|
43932
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
43933
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
43934
|
+
/** @private */
|
|
44194
43935
|
this.setSelectionInputTypes = [
|
|
44195
43936
|
"text",
|
|
44196
43937
|
"password",
|
|
44197
43938
|
"email"
|
|
44198
|
-
];
|
|
43939
|
+
];
|
|
43940
|
+
this.shape = 'classic';
|
|
43941
|
+
/** @private */
|
|
44199
43942
|
this.showPassword = false;
|
|
43943
|
+
this.size = 'lg';
|
|
44200
43944
|
this.touched = false;
|
|
43945
|
+
/** @private */
|
|
44201
43946
|
this.uniqueId = new UniqueId$1().create();
|
|
43947
|
+
/** @private */
|
|
44202
43948
|
this.util = new AuroInputUtilities$2({
|
|
44203
43949
|
locale: this.locale,
|
|
44204
43950
|
format: this.format
|
|
44205
43951
|
});
|
|
43952
|
+
/** @private */
|
|
44206
43953
|
this.validation = new AuroFormValidation$6();
|
|
43954
|
+
/** @private */
|
|
44207
43955
|
this.validationCCLength = undefined;
|
|
43956
|
+
this.value = undefined;
|
|
43957
|
+
this._valueObject = undefined;
|
|
44208
43958
|
}
|
|
44209
43959
|
|
|
44210
43960
|
// function to define props used within the scope of this component
|
|
@@ -44752,6 +44502,15 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
44752
44502
|
|
|
44753
44503
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
44754
44504
|
|
|
44505
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
44506
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
44507
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
44508
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
44509
|
+
// unset.
|
|
44510
|
+
if (this.format) {
|
|
44511
|
+
this.format = this.format.toLowerCase();
|
|
44512
|
+
}
|
|
44513
|
+
|
|
44755
44514
|
// use validity message override if declared when initializing the component
|
|
44756
44515
|
if (this.hasAttribute('setCustomValidity')) {
|
|
44757
44516
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -45185,6 +44944,38 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45185
44944
|
this.touched = true;
|
|
45186
44945
|
this.validation.validate(this);
|
|
45187
44946
|
}
|
|
44947
|
+
|
|
44948
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
44949
|
+
// update that can re-render the input and reset the native cursor; we
|
|
44950
|
+
// capture the caret position before that update commits and restore it
|
|
44951
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
44952
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
44953
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
44954
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
44955
|
+
// on input types that don't support text selection (number, email in
|
|
44956
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
44957
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
44958
|
+
// the gated types currently support it, since the list is a public
|
|
44959
|
+
// property a consumer could mutate.
|
|
44960
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
44961
|
+
let selectionStart;
|
|
44962
|
+
try {
|
|
44963
|
+
selectionStart = this.inputElement.selectionStart;
|
|
44964
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
44965
|
+
return;
|
|
44966
|
+
}
|
|
44967
|
+
if (typeof selectionStart !== 'number') {
|
|
44968
|
+
return;
|
|
44969
|
+
}
|
|
44970
|
+
this.updateComplete.then(() => {
|
|
44971
|
+
try {
|
|
44972
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
44973
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
44974
|
+
// Some input types (number/email in certain UAs) throw on
|
|
44975
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
44976
|
+
}
|
|
44977
|
+
});
|
|
44978
|
+
}
|
|
45188
44979
|
}
|
|
45189
44980
|
|
|
45190
44981
|
/**
|
|
@@ -45811,7 +45602,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
|
|
|
45811
45602
|
}
|
|
45812
45603
|
};
|
|
45813
45604
|
|
|
45814
|
-
var formkitVersion$7 = '
|
|
45605
|
+
var formkitVersion$7 = '202606252337';
|
|
45815
45606
|
|
|
45816
45607
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
45817
45608
|
// See LICENSE in the project root for license information.
|
|
@@ -46314,6 +46105,7 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
46314
46105
|
<${this.buttonTag}
|
|
46315
46106
|
@click="${this.handleClickShowPassword}"
|
|
46316
46107
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
46108
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
46317
46109
|
class="notificationBtn passwordBtn"
|
|
46318
46110
|
shape="circle"
|
|
46319
46111
|
size="sm"
|
|
@@ -46387,25 +46179,29 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
46387
46179
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
46388
46180
|
*/
|
|
46389
46181
|
renderHtmlHelpText() {
|
|
46182
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
46183
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
46184
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
46185
|
+
// re-announce because the live-region element it was watching had been
|
|
46186
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
46187
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
46188
|
+
// observe and announce.
|
|
46189
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
46390
46190
|
return u$d`
|
|
46391
|
-
|
|
46392
|
-
?
|
|
46393
|
-
|
|
46394
|
-
|
|
46395
|
-
|
|
46396
|
-
|
|
46397
|
-
|
|
46398
|
-
|
|
46399
|
-
|
|
46400
|
-
|
|
46401
|
-
|
|
46402
|
-
|
|
46403
|
-
|
|
46404
|
-
|
|
46405
|
-
</p>
|
|
46406
|
-
</${this.helpTextTag}>
|
|
46407
|
-
`
|
|
46408
|
-
}
|
|
46191
|
+
<${this.helpTextTag}
|
|
46192
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
46193
|
+
?error=${isError}>
|
|
46194
|
+
<p
|
|
46195
|
+
id="${this.uniqueId}"
|
|
46196
|
+
part="helpText"
|
|
46197
|
+
role="${o$4(isError ? 'alert' : undefined)}"
|
|
46198
|
+
aria-live="${o$4(isError ? 'assertive' : undefined)}">
|
|
46199
|
+
${isError
|
|
46200
|
+
? this.errorMessage
|
|
46201
|
+
: u$d`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
46202
|
+
}
|
|
46203
|
+
</p>
|
|
46204
|
+
</${this.helpTextTag}>
|
|
46409
46205
|
`;
|
|
46410
46206
|
}
|
|
46411
46207
|
|
|
@@ -46552,6 +46348,15 @@ function formatISODate(isoStr, format) {
|
|
|
46552
46348
|
try {
|
|
46553
46349
|
const date = dateFormatter$2.stringToDateInstance(isoStr);
|
|
46554
46350
|
|
|
46351
|
+
// `stringToDateInstance` returns an `Invalid Date` for malformed strings
|
|
46352
|
+
// and `null` for non-string input — it does NOT throw. Without this
|
|
46353
|
+
// guard, `getFullYear()`/`getMonth()`/`getDate()` on an Invalid Date
|
|
46354
|
+
// yield `NaN`, and `String(NaN).padStart(4, '0')` produces literals
|
|
46355
|
+
// like "0NaN/0NaN/0NaN" instead of `undefined`.
|
|
46356
|
+
if (!(date instanceof Date) || Number.isNaN(date.getTime())) {
|
|
46357
|
+
return undefined;
|
|
46358
|
+
}
|
|
46359
|
+
|
|
46555
46360
|
const year = String(date.getFullYear()).padStart(4, '0');
|
|
46556
46361
|
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
46557
46362
|
const day = String(date.getDate()).padStart(2, '0');
|
|
@@ -46562,7 +46367,10 @@ function formatISODate(isoStr, format) {
|
|
|
46562
46367
|
replace(/mm/iu, month).
|
|
46563
46368
|
replace(/dd/iu, day);
|
|
46564
46369
|
} catch (err) {
|
|
46565
|
-
//
|
|
46370
|
+
// Defensive: the Date-returning path is guarded above, but `parseDate`
|
|
46371
|
+
// (inside `stringToDateInstance`) could throw on pathological input
|
|
46372
|
+
// future-library-versions might introduce. Treat any thrown error as
|
|
46373
|
+
// "not a valid date" and return undefined.
|
|
46566
46374
|
return undefined;
|
|
46567
46375
|
}
|
|
46568
46376
|
}
|
|
@@ -47288,7 +47096,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47288
47096
|
this.rangeLabelBeforeRange = 'before range';
|
|
47289
47097
|
this.rangeLabelInRange = 'in range';
|
|
47290
47098
|
this.rangeLabelAfterRange = 'after range';
|
|
47291
|
-
this.rangeLabelEndPreview = 'previewing range end';
|
|
47292
47099
|
this.blackoutDates = [];
|
|
47293
47100
|
this.blackoutLabel = 'unavailable';
|
|
47294
47101
|
this.navLabelPrevMonth = 'Previous month';
|
|
@@ -47388,22 +47195,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47388
47195
|
*/
|
|
47389
47196
|
this.handleClick = this.handleClick.bind(this);
|
|
47390
47197
|
|
|
47391
|
-
/**
|
|
47392
|
-
* Single AbortController shared by every listener registered in the
|
|
47393
|
-
* configure* methods. Lets disconnectedCallback tear all of them down
|
|
47394
|
-
* with one abort() call.
|
|
47395
|
-
*
|
|
47396
|
-
* The genuine leak risk is the listeners attached to children that can
|
|
47397
|
-
* outlive the host if they get reparented — `this.dropdown`,
|
|
47398
|
-
* `this.calendar`, and the inputs inside the dropdown's slot.
|
|
47399
|
-
* Listeners attached to `this` (e.g. focusin/focusout on the host)
|
|
47400
|
-
* form a self-contained reference graph that the GC can collect with
|
|
47401
|
-
* the host anyway, but they share the same signal so the cleanup
|
|
47402
|
-
* pattern stays uniform across all configure* sites.
|
|
47403
|
-
* @private
|
|
47404
|
-
*/
|
|
47405
|
-
this._listenerAbortController = new AbortController();
|
|
47406
|
-
|
|
47407
47198
|
/**
|
|
47408
47199
|
* @private
|
|
47409
47200
|
*/
|
|
@@ -47452,7 +47243,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47452
47243
|
|
|
47453
47244
|
/**
|
|
47454
47245
|
* Label announced for blackout (disabled but in-range) date cells.
|
|
47455
|
-
* @default 'unavailable'
|
|
47456
47246
|
*/
|
|
47457
47247
|
blackoutLabel: {
|
|
47458
47248
|
type: String,
|
|
@@ -47469,7 +47259,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47469
47259
|
|
|
47470
47260
|
/**
|
|
47471
47261
|
* Accessible label for the calendar grid containing the days of the month.
|
|
47472
|
-
* @default 'Calendar days of the month'
|
|
47473
47262
|
*/
|
|
47474
47263
|
calendarGridLabel: {
|
|
47475
47264
|
type: String,
|
|
@@ -47632,7 +47421,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47632
47421
|
|
|
47633
47422
|
/**
|
|
47634
47423
|
* Accessible label for the next month navigation button.
|
|
47635
|
-
* @default 'Next month'
|
|
47636
47424
|
*/
|
|
47637
47425
|
navLabelNextMonth: {
|
|
47638
47426
|
type: String,
|
|
@@ -47641,7 +47429,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47641
47429
|
|
|
47642
47430
|
/**
|
|
47643
47431
|
* Accessible label for the previous month navigation button.
|
|
47644
|
-
* @default 'Previous month'
|
|
47645
47432
|
*/
|
|
47646
47433
|
navLabelPrevMonth: {
|
|
47647
47434
|
type: String,
|
|
@@ -47719,11 +47506,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47719
47506
|
},
|
|
47720
47507
|
|
|
47721
47508
|
/**
|
|
47722
|
-
* Label announced for cells after
|
|
47723
|
-
* `dateFrom` and `dateTo` are set). While a range is still being
|
|
47724
|
-
* picked (`dateFrom` set, `dateTo` unset), focused cells past the
|
|
47725
|
-
* start use `rangeLabelEndPreview` instead.
|
|
47726
|
-
* @default 'after range'
|
|
47509
|
+
* Label announced for cells after the range (or after start when no end is selected).
|
|
47727
47510
|
*/
|
|
47728
47511
|
rangeLabelAfterRange: {
|
|
47729
47512
|
type: String,
|
|
@@ -47732,7 +47515,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47732
47515
|
|
|
47733
47516
|
/**
|
|
47734
47517
|
* Label announced for cells before the range start.
|
|
47735
|
-
* @default 'before range'
|
|
47736
47518
|
*/
|
|
47737
47519
|
rangeLabelBeforeRange: {
|
|
47738
47520
|
type: String,
|
|
@@ -47741,27 +47523,14 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47741
47523
|
|
|
47742
47524
|
/**
|
|
47743
47525
|
* Label announced for the range end date cell.
|
|
47744
|
-
* @default 'range end'
|
|
47745
47526
|
*/
|
|
47746
47527
|
rangeLabelEnd: {
|
|
47747
47528
|
type: String,
|
|
47748
47529
|
reflect: true
|
|
47749
47530
|
},
|
|
47750
47531
|
|
|
47751
|
-
/**
|
|
47752
|
-
* Label announced for the focused cell while previewing a range end
|
|
47753
|
-
* (dateFrom set, dateTo not yet selected). Tells AT users that
|
|
47754
|
-
* pressing Enter would commit this cell as the range end.
|
|
47755
|
-
* @default 'previewing range end'
|
|
47756
|
-
*/
|
|
47757
|
-
rangeLabelEndPreview: {
|
|
47758
|
-
type: String,
|
|
47759
|
-
reflect: true
|
|
47760
|
-
},
|
|
47761
|
-
|
|
47762
47532
|
/**
|
|
47763
47533
|
* Label announced for cells within the selected range.
|
|
47764
|
-
* @default 'in range'
|
|
47765
47534
|
*/
|
|
47766
47535
|
rangeLabelInRange: {
|
|
47767
47536
|
type: String,
|
|
@@ -47770,7 +47539,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47770
47539
|
|
|
47771
47540
|
/**
|
|
47772
47541
|
* Label announced for the range start date cell.
|
|
47773
|
-
* @default 'range start'
|
|
47774
47542
|
*/
|
|
47775
47543
|
rangeLabelStart: {
|
|
47776
47544
|
type: String,
|
|
@@ -47778,7 +47546,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
47778
47546
|
},
|
|
47779
47547
|
|
|
47780
47548
|
/**
|
|
47781
|
-
* Dates that the user should have for reference as part of their decision
|
|
47549
|
+
* Dates that the user should have for reference as part of their decision making when selecting a date.
|
|
47782
47550
|
* This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
|
|
47783
47551
|
*/
|
|
47784
47552
|
referenceDates: {
|
|
@@ -48135,26 +47903,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48135
47903
|
// ─── Vendor calendar time conversions ─────────────────────────────────────
|
|
48136
47904
|
|
|
48137
47905
|
/**
|
|
48138
|
-
* Converts a Unix timestamp (seconds) from the
|
|
48139
|
-
* (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
|
|
48140
|
-
*
|
|
48141
|
-
* Timezone contract:
|
|
48142
|
-
* - INPUT: `time` is assumed to be the seconds-since-epoch of **local
|
|
48143
|
-
* midnight** for the intended calendar day. The vendor's Day constructor
|
|
48144
|
-
* builds it via `date-fns format(date, 't')` from a locally-constructed
|
|
48145
|
-
* Date, so this assumption currently holds end-to-end.
|
|
48146
|
-
* - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
|
|
48147
|
-
* getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
|
|
48148
|
-
* string matches the local calendar day.
|
|
48149
|
-
*
|
|
48150
|
-
* If the vendor ever switches to emitting UTC-midnight timestamps, this
|
|
48151
|
-
* conversion will silently shift the returned date by one day in zones
|
|
48152
|
-
* west of UTC. Any vendor swap should re-verify this contract; the TZ
|
|
48153
|
-
* regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
|
|
48154
|
-
*
|
|
47906
|
+
* Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.
|
|
48155
47907
|
* @private
|
|
48156
|
-
* @param {number} time - Unix timestamp
|
|
48157
|
-
* @returns {string} ISO date string (yyyy-mm-dd)
|
|
47908
|
+
* @param {number} time - Unix timestamp in seconds.
|
|
47909
|
+
* @returns {string} ISO date string (yyyy-mm-dd).
|
|
48158
47910
|
*/
|
|
48159
47911
|
convertWcTimeToDate(time) {
|
|
48160
47912
|
return dateFormatter$1.toISOFormatString(new Date(time * 1000));
|
|
@@ -48256,8 +48008,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48256
48008
|
}
|
|
48257
48009
|
}
|
|
48258
48010
|
|
|
48259
|
-
// Focus the calendar grid wrapper
|
|
48260
|
-
//
|
|
48011
|
+
// Focus the calendar grid wrapper (aria-activedescendant handles
|
|
48012
|
+
// the SR announcement for the active cell).
|
|
48261
48013
|
if (activeCell) {
|
|
48262
48014
|
this.calendar.focusActiveCell();
|
|
48263
48015
|
|
|
@@ -48307,13 +48059,11 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48307
48059
|
this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
|
|
48308
48060
|
}
|
|
48309
48061
|
|
|
48310
|
-
const { signal } = this._listenerAbortController;
|
|
48311
|
-
|
|
48312
48062
|
this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
|
|
48313
48063
|
if (!this.isPopoverVisible) {
|
|
48314
48064
|
this.dropdown.show();
|
|
48315
48065
|
}
|
|
48316
|
-
}
|
|
48066
|
+
});
|
|
48317
48067
|
|
|
48318
48068
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
48319
48069
|
this.notifyDatepickerToggled();
|
|
@@ -48331,7 +48081,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48331
48081
|
if (this.valueObject) {
|
|
48332
48082
|
this.centralDate = this.value;
|
|
48333
48083
|
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
48334
|
-
this.centralDate =
|
|
48084
|
+
this.centralDate = new Date();
|
|
48335
48085
|
}
|
|
48336
48086
|
}
|
|
48337
48087
|
|
|
@@ -48411,7 +48161,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48411
48161
|
this.forceScrollOnNextMobileCalendarRender = false;
|
|
48412
48162
|
}, 0);
|
|
48413
48163
|
}
|
|
48414
|
-
}
|
|
48164
|
+
});
|
|
48415
48165
|
|
|
48416
48166
|
// Handle responsive strategy changes while the dropdown is open
|
|
48417
48167
|
// (e.g. resizing from desktop → mobile or vice versa).
|
|
@@ -48458,7 +48208,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48458
48208
|
});
|
|
48459
48209
|
});
|
|
48460
48210
|
}
|
|
48461
|
-
}
|
|
48211
|
+
});
|
|
48462
48212
|
}
|
|
48463
48213
|
|
|
48464
48214
|
/**
|
|
@@ -48471,8 +48221,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48471
48221
|
|
|
48472
48222
|
this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
|
|
48473
48223
|
|
|
48474
|
-
const { signal } = this._listenerAbortController;
|
|
48475
|
-
|
|
48476
48224
|
this.inputList.forEach((input, index) => {
|
|
48477
48225
|
input.addEventListener('input', (event) => {
|
|
48478
48226
|
event.stopPropagation();
|
|
@@ -48484,7 +48232,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48484
48232
|
}
|
|
48485
48233
|
|
|
48486
48234
|
this.notifyValueChanged();
|
|
48487
|
-
}
|
|
48235
|
+
});
|
|
48488
48236
|
|
|
48489
48237
|
input.addEventListener('auroFormElement-validated', (evt) => {
|
|
48490
48238
|
// not to bubble up input's validated event.
|
|
@@ -48500,7 +48248,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48500
48248
|
this.validity = evt.detail.validity;
|
|
48501
48249
|
this.errorMessage = evt.detail.message;
|
|
48502
48250
|
}
|
|
48503
|
-
}
|
|
48251
|
+
});
|
|
48504
48252
|
});
|
|
48505
48253
|
}
|
|
48506
48254
|
|
|
@@ -48514,32 +48262,19 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48514
48262
|
this.calendar.datepicker = this;
|
|
48515
48263
|
this.calendar.dropdown = this.dropdown;
|
|
48516
48264
|
|
|
48517
|
-
const { signal } = this._listenerAbortController;
|
|
48518
|
-
|
|
48519
48265
|
this.calendar.addEventListener('auroCalendar-dateSelected', () => {
|
|
48520
|
-
|
|
48521
|
-
|
|
48522
|
-
// strings — comparing the input ISO directly against them would
|
|
48523
|
-
// never match, so the write would fire on every event and emit
|
|
48524
|
-
// redundant input/change activity).
|
|
48525
|
-
if (this.calendar.dateFrom !== undefined) {
|
|
48526
|
-
const fromIso = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
48527
|
-
if (this.inputList[0].value !== fromIso) {
|
|
48528
|
-
this.inputList[0].value = fromIso;
|
|
48529
|
-
}
|
|
48266
|
+
if (this.inputList[0].value !== this.calendar.dateFrom && this.calendar.dateFrom !== undefined) {
|
|
48267
|
+
this.inputList[0].value = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
48530
48268
|
}
|
|
48531
48269
|
|
|
48532
|
-
if (this.inputList[1] && this.calendar.dateTo) {
|
|
48533
|
-
|
|
48534
|
-
if (this.inputList[1].value !== toIso) {
|
|
48535
|
-
this.inputList[1].value = toIso;
|
|
48536
|
-
}
|
|
48270
|
+
if (this.inputList[1] && this.calendar.dateTo && this.inputList[1].value !== this.calendar.dateTo) {
|
|
48271
|
+
this.inputList[1].value = this.convertWcTimeToDate(this.calendar.dateTo);
|
|
48537
48272
|
}
|
|
48538
|
-
}
|
|
48273
|
+
});
|
|
48539
48274
|
|
|
48540
48275
|
this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
|
|
48541
48276
|
this.dropdown.hide();
|
|
48542
|
-
}
|
|
48277
|
+
});
|
|
48543
48278
|
|
|
48544
48279
|
this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
|
|
48545
48280
|
const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
|
|
@@ -48549,7 +48284,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48549
48284
|
}
|
|
48550
48285
|
|
|
48551
48286
|
this.notifyMonthChanged(event);
|
|
48552
|
-
}
|
|
48287
|
+
});
|
|
48553
48288
|
}
|
|
48554
48289
|
|
|
48555
48290
|
/**
|
|
@@ -48558,17 +48293,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48558
48293
|
* @returns {void}
|
|
48559
48294
|
*/
|
|
48560
48295
|
configureDatepicker() {
|
|
48561
|
-
// These listeners are on `this` (the host), so they would GC with the
|
|
48562
|
-
// host even without the abort signal — see the leak rationale on
|
|
48563
|
-
// `_listenerAbortController`. The signal is still passed for uniform
|
|
48564
|
-
// cleanup semantics with the child-element listeners in the other
|
|
48565
|
-
// configure* methods.
|
|
48566
|
-
const { signal } = this._listenerAbortController;
|
|
48567
|
-
|
|
48568
48296
|
this.addEventListener('focusin', () => {
|
|
48569
48297
|
this.touched = true;
|
|
48570
48298
|
this.hasFocus = true;
|
|
48571
|
-
}
|
|
48299
|
+
});
|
|
48572
48300
|
|
|
48573
48301
|
this.addEventListener('focusout', () => {
|
|
48574
48302
|
this.hasFocus = false;
|
|
@@ -48580,7 +48308,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48580
48308
|
if (!this.matches(':focus-within')) {
|
|
48581
48309
|
this.validate();
|
|
48582
48310
|
}
|
|
48583
|
-
}
|
|
48311
|
+
});
|
|
48584
48312
|
|
|
48585
48313
|
if (this.valueObject) {
|
|
48586
48314
|
this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
|
|
@@ -48778,41 +48506,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48778
48506
|
return this.validity !== undefined && this.validity !== 'valid';
|
|
48779
48507
|
}
|
|
48780
48508
|
|
|
48781
|
-
/**
|
|
48782
|
-
* Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
|
|
48783
|
-
* spans every datepicker instance on the page; lives on the class (not
|
|
48784
|
-
* at module scope) so it stays an encapsulated implementation detail of
|
|
48785
|
-
* this component and does not interfere with WCA's class-JSDoc
|
|
48786
|
-
* attachment.
|
|
48787
|
-
* @private
|
|
48788
|
-
*/
|
|
48789
|
-
static _warnedInvalidLocales = new Set();
|
|
48790
|
-
|
|
48791
|
-
/**
|
|
48792
|
-
* Logs a one-time `console.debug` when an unsupported locale falls back to
|
|
48793
|
-
* en-US. Deduped by the offending tag so noisy re-renders that resurface
|
|
48794
|
-
* the same bad value stay quiet, but each new bad value still signals so
|
|
48795
|
-
* consumers can spot the typo or missing tag.
|
|
48796
|
-
* @private
|
|
48797
|
-
* @param {string|undefined} badLocale - The locale value that failed.
|
|
48798
|
-
* @returns {void}
|
|
48799
|
-
*/
|
|
48800
|
-
_warnInvalidLocale(badLocale) {
|
|
48801
|
-
// Stringify without coalescing — `String(undefined)` / `String(null)`
|
|
48802
|
-
// surface the actual offending value in the log, instead of the
|
|
48803
|
-
// ambiguous `Locale ""` that `String(badLocale ?? '')` would produce.
|
|
48804
|
-
// Dedup still works correctly because each unique stringification
|
|
48805
|
-
// becomes its own Set entry.
|
|
48806
|
-
const key = String(badLocale);
|
|
48807
|
-
const seen = AuroDatePicker._warnedInvalidLocales;
|
|
48808
|
-
if (seen.has(key)) {
|
|
48809
|
-
return;
|
|
48810
|
-
}
|
|
48811
|
-
seen.add(key);
|
|
48812
|
-
// eslint-disable-next-line no-console
|
|
48813
|
-
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".`);
|
|
48814
|
-
}
|
|
48815
|
-
|
|
48816
48509
|
/**
|
|
48817
48510
|
* Lifecycle method to check if the locale is valid.
|
|
48818
48511
|
* @ignore
|
|
@@ -48823,15 +48516,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48823
48516
|
if (changedProperties.has('locale')) {
|
|
48824
48517
|
try {
|
|
48825
48518
|
const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
|
|
48826
|
-
|
|
48827
|
-
this._validLocale = this.locale;
|
|
48828
|
-
} else {
|
|
48829
|
-
this._validLocale = 'en-US';
|
|
48830
|
-
this._warnInvalidLocale(this.locale);
|
|
48831
|
-
}
|
|
48519
|
+
this._validLocale = supported.length > 0 ? this.locale : 'en-US';
|
|
48832
48520
|
} catch {
|
|
48521
|
+
console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
|
|
48833
48522
|
this._validLocale = 'en-US';
|
|
48834
|
-
this._warnInvalidLocale(this.locale);
|
|
48835
48523
|
}
|
|
48836
48524
|
|
|
48837
48525
|
const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
|
|
@@ -48913,6 +48601,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48913
48601
|
// Skip centralDate update when user clicked a cell in range mode
|
|
48914
48602
|
// to prevent the displayed months from shifting
|
|
48915
48603
|
this.centralDate = this.value;
|
|
48604
|
+
//TODO: TEST THIS CHANGE
|
|
48605
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
48916
48606
|
}
|
|
48917
48607
|
|
|
48918
48608
|
this.setHasValue();
|
|
@@ -48972,6 +48662,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48972
48662
|
// Skip centralDate update when user clicked a cell in range mode
|
|
48973
48663
|
// to prevent the displayed months from shifting
|
|
48974
48664
|
this.centralDate = this.valueEnd;
|
|
48665
|
+
// TODO: TEST THIS CHANGE
|
|
48666
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
48975
48667
|
}
|
|
48976
48668
|
|
|
48977
48669
|
this.validate();
|
|
@@ -49113,7 +48805,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49113
48805
|
* @returns {void}
|
|
49114
48806
|
*/
|
|
49115
48807
|
configureClickHandler() {
|
|
49116
|
-
this.addEventListener('click', this.handleClick
|
|
48808
|
+
this.addEventListener('click', this.handleClick);
|
|
49117
48809
|
}
|
|
49118
48810
|
|
|
49119
48811
|
firstUpdated() {
|
|
@@ -49121,15 +48813,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49121
48813
|
// Add the tag name as an attribute if it is different than the component name
|
|
49122
48814
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
49123
48815
|
|
|
49124
|
-
// If the element was disconnected before this first render finished,
|
|
49125
|
-
// disconnectedCallback's microtask already aborted the controller. The
|
|
49126
|
-
// connectedCallback reinit guard skips that case because `hasUpdated`
|
|
49127
|
-
// is still false. Mint a fresh controller here so configure* registers
|
|
49128
|
-
// listeners against a live signal.
|
|
49129
|
-
if (this._listenerAbortController.signal.aborted) {
|
|
49130
|
-
this._listenerAbortController = new AbortController();
|
|
49131
|
-
}
|
|
49132
|
-
|
|
49133
48816
|
this.configureDropdown();
|
|
49134
48817
|
this.configureInput();
|
|
49135
48818
|
this.configureCalendar();
|
|
@@ -49141,36 +48824,9 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49141
48824
|
connectedCallback() {
|
|
49142
48825
|
super.connectedCallback();
|
|
49143
48826
|
|
|
49144
|
-
// True reconnect after `disconnectedCallback` aborted our controller:
|
|
49145
|
-
// the existing signal is dead, so listeners registered against it
|
|
49146
|
-
// would never fire. Create a fresh controller and re-run the
|
|
49147
|
-
// configure* wiring (each method is idempotent — it just re-caches
|
|
49148
|
-
// child refs and re-registers listeners against the new signal).
|
|
49149
|
-
// `hasUpdated` gates this so the *first* connect (which precedes
|
|
49150
|
-
// firstUpdated) still falls through to firstUpdated's initial wiring.
|
|
49151
|
-
if (this.hasUpdated && this._listenerAbortController.signal.aborted) {
|
|
49152
|
-
this._listenerAbortController = new AbortController();
|
|
49153
|
-
this.configureDropdown();
|
|
49154
|
-
this.configureInput();
|
|
49155
|
-
this.configureCalendar();
|
|
49156
|
-
this.configureDatepicker();
|
|
49157
|
-
this.configureClickHandler();
|
|
49158
|
-
}
|
|
49159
|
-
|
|
49160
48827
|
this.locale = this.domHandler.getLocale(this);
|
|
49161
48828
|
}
|
|
49162
48829
|
|
|
49163
|
-
disconnectedCallback() {
|
|
49164
|
-
super.disconnectedCallback();
|
|
49165
|
-
// Defer so that re-parenting (auro-drawer slotting it into a dialog,
|
|
49166
|
-
// for example) does not abort listeners we still need after reconnect.
|
|
49167
|
-
queueMicrotask(() => {
|
|
49168
|
-
if (!this.isConnected) {
|
|
49169
|
-
this._listenerAbortController.abort();
|
|
49170
|
-
}
|
|
49171
|
-
});
|
|
49172
|
-
}
|
|
49173
|
-
|
|
49174
48830
|
// layout render methods
|
|
49175
48831
|
// ------------------------------------
|
|
49176
48832
|
|
|
@@ -50666,7 +50322,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
|
|
|
50666
50322
|
}
|
|
50667
50323
|
};
|
|
50668
50324
|
|
|
50669
|
-
var formkitVersion$1$2 = '
|
|
50325
|
+
var formkitVersion$1$2 = '202606252337';
|
|
50670
50326
|
|
|
50671
50327
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
50672
50328
|
// See LICENSE in the project root for license information.
|
|
@@ -54994,7 +54650,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
|
|
|
54994
54650
|
}
|
|
54995
54651
|
};
|
|
54996
54652
|
|
|
54997
|
-
var formkitVersion$6 = '
|
|
54653
|
+
var formkitVersion$6 = '202606252337';
|
|
54998
54654
|
|
|
54999
54655
|
let AuroElement$1$2 = class AuroElement extends i$2 {
|
|
55000
54656
|
static get properties() {
|
|
@@ -58934,7 +58590,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
|
|
|
58934
58590
|
}
|
|
58935
58591
|
};
|
|
58936
58592
|
|
|
58937
|
-
var formkitVersion$5 = '
|
|
58593
|
+
var formkitVersion$5 = '202606252337';
|
|
58938
58594
|
|
|
58939
58595
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
58940
58596
|
// See LICENSE in the project root for license information.
|
|
@@ -60684,7 +60340,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
|
|
|
60684
60340
|
}
|
|
60685
60341
|
};
|
|
60686
60342
|
|
|
60687
|
-
var formkitVersion$4 = '
|
|
60343
|
+
var formkitVersion$4 = '202606252337';
|
|
60688
60344
|
|
|
60689
60345
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
60690
60346
|
// See LICENSE in the project root for license information.
|
|
@@ -65899,7 +65555,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
|
|
|
65899
65555
|
}
|
|
65900
65556
|
};
|
|
65901
65557
|
|
|
65902
|
-
var formkitVersion$2 = '
|
|
65558
|
+
var formkitVersion$2 = '202606252337';
|
|
65903
65559
|
|
|
65904
65560
|
let AuroElement$2$1 = class AuroElement extends i$2 {
|
|
65905
65561
|
static get properties() {
|
|
@@ -77617,6 +77273,13 @@ class AuroInputUtilities {
|
|
|
77617
77273
|
* @returns {string | undefined}
|
|
77618
77274
|
*/
|
|
77619
77275
|
toFormattedValue(valueObject, format) {
|
|
77276
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
77277
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
77278
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
77279
|
+
// as "no format → no display value".
|
|
77280
|
+
if (!format) {
|
|
77281
|
+
return undefined;
|
|
77282
|
+
}
|
|
77620
77283
|
const normalizedFormat = format.toLowerCase();
|
|
77621
77284
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
77622
77285
|
|
|
@@ -77767,79 +77430,18 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
77767
77430
|
constructor() {
|
|
77768
77431
|
super();
|
|
77769
77432
|
|
|
77770
|
-
|
|
77771
|
-
|
|
77772
|
-
|
|
77773
|
-
|
|
77774
|
-
|
|
77775
|
-
|
|
77776
|
-
|
|
77777
|
-
|
|
77778
|
-
|
|
77779
|
-
|
|
77780
|
-
this.required = false;
|
|
77781
|
-
this.onDark = false;
|
|
77782
|
-
this.setCustomValidityForType = undefined;
|
|
77783
|
-
this.size = 'lg';
|
|
77784
|
-
this.shape = 'classic';
|
|
77785
|
-
this.value = undefined;
|
|
77786
|
-
this._valueObject = undefined;
|
|
77787
|
-
|
|
77788
|
-
this._initializePrivateDefaults();
|
|
77789
|
-
}
|
|
77790
|
-
|
|
77791
|
-
/**
|
|
77792
|
-
* Internal Defaults.
|
|
77793
|
-
* @private
|
|
77794
|
-
* @returns {void}
|
|
77795
|
-
*/
|
|
77796
|
-
_initializePrivateDefaults() {
|
|
77433
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
77434
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
77435
|
+
// exactly once here (previously the constructor + the old
|
|
77436
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
77437
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
77438
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
77439
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
77440
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
77441
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
77442
|
+
// during its own update cycle sees a populated util instance.
|
|
77797
77443
|
this.activeLabel = false;
|
|
77798
|
-
|
|
77799
|
-
this.icon = false;
|
|
77800
|
-
this.disabled = false;
|
|
77801
|
-
this.dvInputOnly = false;
|
|
77802
|
-
this.hideLabelVisually = false;
|
|
77803
|
-
this.max = undefined;
|
|
77804
|
-
this.maxLength = undefined;
|
|
77805
|
-
this.min = undefined;
|
|
77806
|
-
this.minLength = undefined;
|
|
77807
|
-
this.noValidate = false;
|
|
77808
|
-
this.onDark = false;
|
|
77809
|
-
this.required = false;
|
|
77810
|
-
this.setCustomValidityForType = undefined;
|
|
77811
|
-
|
|
77812
|
-
// Used for storing raw values returned from input mask.
|
|
77813
|
-
this._rawMaskValue = undefined;
|
|
77814
|
-
|
|
77815
|
-
/**
|
|
77816
|
-
* @private
|
|
77817
|
-
*/
|
|
77818
|
-
this.layout = 'classic';
|
|
77819
|
-
|
|
77820
|
-
/**
|
|
77821
|
-
* @private
|
|
77822
|
-
*/
|
|
77823
|
-
this.shape = 'classic';
|
|
77824
|
-
|
|
77825
|
-
/**
|
|
77826
|
-
* @private
|
|
77827
|
-
*/
|
|
77828
|
-
this.size = 'lg';
|
|
77829
|
-
|
|
77830
|
-
this.touched = false;
|
|
77831
|
-
this.util = new AuroInputUtilities({
|
|
77832
|
-
locale: "en-US",
|
|
77833
|
-
format: this.format
|
|
77834
|
-
});
|
|
77835
|
-
this.validation = new AuroFormValidation$2();
|
|
77836
|
-
this.inputIconName = undefined;
|
|
77837
|
-
this.showPassword = false;
|
|
77838
|
-
this.validationCCLength = undefined;
|
|
77839
|
-
this.hasValue = false;
|
|
77840
|
-
this.label = 'Input label is undefined';
|
|
77841
|
-
|
|
77842
|
-
|
|
77444
|
+
/** @private */
|
|
77843
77445
|
this.allowedInputTypes = [
|
|
77844
77446
|
"text",
|
|
77845
77447
|
"number",
|
|
@@ -77848,7 +77450,8 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
77848
77450
|
"credit-card",
|
|
77849
77451
|
"tel"
|
|
77850
77452
|
];
|
|
77851
|
-
this.
|
|
77453
|
+
this.appearance = "default";
|
|
77454
|
+
/** @private */
|
|
77852
77455
|
this.dateFormatMap = {
|
|
77853
77456
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
77854
77457
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -77865,27 +77468,57 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
77865
77468
|
'dd/mm': 'dateDDMM',
|
|
77866
77469
|
'mm/dd': 'dateMMDD'
|
|
77867
77470
|
};
|
|
77471
|
+
this.disabled = false;
|
|
77472
|
+
/** @private */
|
|
77868
77473
|
this.domHandler = new DomHandler();
|
|
77869
77474
|
this.dvInputOnly = false;
|
|
77870
77475
|
this.hasValue = false;
|
|
77476
|
+
this.hideLabelVisually = false;
|
|
77477
|
+
this.icon = false;
|
|
77478
|
+
/** @private */
|
|
77871
77479
|
this.inputIconName = undefined;
|
|
77480
|
+
/** @private */
|
|
77872
77481
|
this.label = 'Input label is undefined';
|
|
77482
|
+
this.layout = 'classic';
|
|
77483
|
+
this.locale = 'en-US';
|
|
77484
|
+
this.max = undefined;
|
|
77485
|
+
this._maxObject = undefined;
|
|
77486
|
+
this.maxLength = undefined;
|
|
77487
|
+
this.min = undefined;
|
|
77488
|
+
this._minObject = undefined;
|
|
77489
|
+
this.minLength = undefined;
|
|
77873
77490
|
this.noValidate = false;
|
|
77874
|
-
this.
|
|
77491
|
+
this.onDark = false;
|
|
77492
|
+
// Raw values returned from the input mask before model normalization.
|
|
77493
|
+
this._rawMaskValue = undefined;
|
|
77494
|
+
this.required = false;
|
|
77495
|
+
this.setCustomValidityForType = undefined;
|
|
77496
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
77497
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
77498
|
+
/** @private */
|
|
77875
77499
|
this.setSelectionInputTypes = [
|
|
77876
77500
|
"text",
|
|
77877
77501
|
"password",
|
|
77878
77502
|
"email"
|
|
77879
|
-
];
|
|
77503
|
+
];
|
|
77504
|
+
this.shape = 'classic';
|
|
77505
|
+
/** @private */
|
|
77880
77506
|
this.showPassword = false;
|
|
77507
|
+
this.size = 'lg';
|
|
77881
77508
|
this.touched = false;
|
|
77509
|
+
/** @private */
|
|
77882
77510
|
this.uniqueId = new UniqueId().create();
|
|
77511
|
+
/** @private */
|
|
77883
77512
|
this.util = new AuroInputUtilities({
|
|
77884
77513
|
locale: this.locale,
|
|
77885
77514
|
format: this.format
|
|
77886
77515
|
});
|
|
77516
|
+
/** @private */
|
|
77887
77517
|
this.validation = new AuroFormValidation$2();
|
|
77518
|
+
/** @private */
|
|
77888
77519
|
this.validationCCLength = undefined;
|
|
77520
|
+
this.value = undefined;
|
|
77521
|
+
this._valueObject = undefined;
|
|
77889
77522
|
}
|
|
77890
77523
|
|
|
77891
77524
|
// function to define props used within the scope of this component
|
|
@@ -78433,6 +78066,15 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78433
78066
|
|
|
78434
78067
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
78435
78068
|
|
|
78069
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
78070
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
78071
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
78072
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
78073
|
+
// unset.
|
|
78074
|
+
if (this.format) {
|
|
78075
|
+
this.format = this.format.toLowerCase();
|
|
78076
|
+
}
|
|
78077
|
+
|
|
78436
78078
|
// use validity message override if declared when initializing the component
|
|
78437
78079
|
if (this.hasAttribute('setCustomValidity')) {
|
|
78438
78080
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -78866,6 +78508,38 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78866
78508
|
this.touched = true;
|
|
78867
78509
|
this.validation.validate(this);
|
|
78868
78510
|
}
|
|
78511
|
+
|
|
78512
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
78513
|
+
// update that can re-render the input and reset the native cursor; we
|
|
78514
|
+
// capture the caret position before that update commits and restore it
|
|
78515
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
78516
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
78517
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
78518
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
78519
|
+
// on input types that don't support text selection (number, email in
|
|
78520
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
78521
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
78522
|
+
// the gated types currently support it, since the list is a public
|
|
78523
|
+
// property a consumer could mutate.
|
|
78524
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
78525
|
+
let selectionStart;
|
|
78526
|
+
try {
|
|
78527
|
+
selectionStart = this.inputElement.selectionStart;
|
|
78528
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
78529
|
+
return;
|
|
78530
|
+
}
|
|
78531
|
+
if (typeof selectionStart !== 'number') {
|
|
78532
|
+
return;
|
|
78533
|
+
}
|
|
78534
|
+
this.updateComplete.then(() => {
|
|
78535
|
+
try {
|
|
78536
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
78537
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
78538
|
+
// Some input types (number/email in certain UAs) throw on
|
|
78539
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
78540
|
+
}
|
|
78541
|
+
});
|
|
78542
|
+
}
|
|
78869
78543
|
}
|
|
78870
78544
|
|
|
78871
78545
|
/**
|
|
@@ -79492,7 +79166,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
|
|
|
79492
79166
|
}
|
|
79493
79167
|
};
|
|
79494
79168
|
|
|
79495
|
-
var formkitVersion$1$1 = '
|
|
79169
|
+
var formkitVersion$1$1 = '202606252337';
|
|
79496
79170
|
|
|
79497
79171
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
79498
79172
|
// See LICENSE in the project root for license information.
|
|
@@ -79995,6 +79669,7 @@ class AuroInput extends BaseInput {
|
|
|
79995
79669
|
<${this.buttonTag}
|
|
79996
79670
|
@click="${this.handleClickShowPassword}"
|
|
79997
79671
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
79672
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
79998
79673
|
class="notificationBtn passwordBtn"
|
|
79999
79674
|
shape="circle"
|
|
80000
79675
|
size="sm"
|
|
@@ -80068,25 +79743,29 @@ class AuroInput extends BaseInput {
|
|
|
80068
79743
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
80069
79744
|
*/
|
|
80070
79745
|
renderHtmlHelpText() {
|
|
79746
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
79747
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
79748
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
79749
|
+
// re-announce because the live-region element it was watching had been
|
|
79750
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
79751
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
79752
|
+
// observe and announce.
|
|
79753
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
80071
79754
|
return u$d`
|
|
80072
|
-
|
|
80073
|
-
?
|
|
80074
|
-
|
|
80075
|
-
|
|
80076
|
-
|
|
80077
|
-
|
|
80078
|
-
|
|
80079
|
-
|
|
80080
|
-
|
|
80081
|
-
|
|
80082
|
-
|
|
80083
|
-
|
|
80084
|
-
|
|
80085
|
-
|
|
80086
|
-
</p>
|
|
80087
|
-
</${this.helpTextTag}>
|
|
80088
|
-
`
|
|
80089
|
-
}
|
|
79755
|
+
<${this.helpTextTag}
|
|
79756
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
79757
|
+
?error=${isError}>
|
|
79758
|
+
<p
|
|
79759
|
+
id="${this.uniqueId}"
|
|
79760
|
+
part="helpText"
|
|
79761
|
+
role="${o$4(isError ? 'alert' : undefined)}"
|
|
79762
|
+
aria-live="${o$4(isError ? 'assertive' : undefined)}">
|
|
79763
|
+
${isError
|
|
79764
|
+
? this.errorMessage
|
|
79765
|
+
: u$d`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
79766
|
+
}
|
|
79767
|
+
</p>
|
|
79768
|
+
</${this.helpTextTag}>
|
|
80090
79769
|
`;
|
|
80091
79770
|
}
|
|
80092
79771
|
|
|
@@ -80613,7 +80292,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
|
|
|
80613
80292
|
}
|
|
80614
80293
|
};
|
|
80615
80294
|
|
|
80616
|
-
var formkitVersion$3 = '
|
|
80295
|
+
var formkitVersion$3 = '202606252337';
|
|
80617
80296
|
|
|
80618
80297
|
var styleCss$1$3 = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
80619
80298
|
|
|
@@ -89404,7 +89083,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
89404
89083
|
}
|
|
89405
89084
|
};
|
|
89406
89085
|
|
|
89407
|
-
var formkitVersion$1 = '
|
|
89086
|
+
var formkitVersion$1 = '202606252337';
|
|
89408
89087
|
|
|
89409
89088
|
class AuroElement extends i$2 {
|
|
89410
89089
|
static get properties() {
|
|
@@ -91425,7 +91104,7 @@ class AuroHelpText extends i$2 {
|
|
|
91425
91104
|
}
|
|
91426
91105
|
}
|
|
91427
91106
|
|
|
91428
|
-
var formkitVersion = '
|
|
91107
|
+
var formkitVersion = '202606252337';
|
|
91429
91108
|
|
|
91430
91109
|
var styleCss = i$4`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
91431
91110
|
|