@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
|
@@ -6176,7 +6176,7 @@ function normalizeDates$3(context, ...dates) {
|
|
|
6176
6176
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
6177
6177
|
* //=> Tue Sep 02 2014 00:00:00
|
|
6178
6178
|
*/
|
|
6179
|
-
function startOfDay$
|
|
6179
|
+
function startOfDay$4(date, options) {
|
|
6180
6180
|
const _date = toDate$3(date, options?.in);
|
|
6181
6181
|
_date.setHours(0, 0, 0, 0);
|
|
6182
6182
|
return _date;
|
|
@@ -6224,8 +6224,8 @@ function differenceInCalendarDays$3(laterDate, earlierDate, options) {
|
|
|
6224
6224
|
earlierDate,
|
|
6225
6225
|
);
|
|
6226
6226
|
|
|
6227
|
-
const laterStartOfDay = startOfDay$
|
|
6228
|
-
const earlierStartOfDay = startOfDay$
|
|
6227
|
+
const laterStartOfDay = startOfDay$4(laterDate_);
|
|
6228
|
+
const earlierStartOfDay = startOfDay$4(earlierDate_);
|
|
6229
6229
|
|
|
6230
6230
|
const laterTimestamp =
|
|
6231
6231
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$3(laterStartOfDay);
|
|
@@ -11497,6 +11497,13 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
|
|
|
11497
11497
|
* @returns {string | undefined}
|
|
11498
11498
|
*/
|
|
11499
11499
|
toFormattedValue(valueObject, format) {
|
|
11500
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
11501
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
11502
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
11503
|
+
// as "no format → no display value".
|
|
11504
|
+
if (!format) {
|
|
11505
|
+
return undefined;
|
|
11506
|
+
}
|
|
11500
11507
|
const normalizedFormat = format.toLowerCase();
|
|
11501
11508
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
11502
11509
|
|
|
@@ -11647,79 +11654,18 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11647
11654
|
constructor() {
|
|
11648
11655
|
super();
|
|
11649
11656
|
|
|
11650
|
-
|
|
11651
|
-
|
|
11652
|
-
|
|
11653
|
-
|
|
11654
|
-
|
|
11655
|
-
|
|
11656
|
-
|
|
11657
|
-
|
|
11658
|
-
|
|
11659
|
-
|
|
11660
|
-
this.required = false;
|
|
11661
|
-
this.onDark = false;
|
|
11662
|
-
this.setCustomValidityForType = undefined;
|
|
11663
|
-
this.size = 'lg';
|
|
11664
|
-
this.shape = 'classic';
|
|
11665
|
-
this.value = undefined;
|
|
11666
|
-
this._valueObject = undefined;
|
|
11667
|
-
|
|
11668
|
-
this._initializePrivateDefaults();
|
|
11669
|
-
}
|
|
11670
|
-
|
|
11671
|
-
/**
|
|
11672
|
-
* Internal Defaults.
|
|
11673
|
-
* @private
|
|
11674
|
-
* @returns {void}
|
|
11675
|
-
*/
|
|
11676
|
-
_initializePrivateDefaults() {
|
|
11657
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
11658
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
11659
|
+
// exactly once here (previously the constructor + the old
|
|
11660
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
11661
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
11662
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
11663
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
11664
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
11665
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
11666
|
+
// during its own update cycle sees a populated util instance.
|
|
11677
11667
|
this.activeLabel = false;
|
|
11678
|
-
|
|
11679
|
-
this.icon = false;
|
|
11680
|
-
this.disabled = false;
|
|
11681
|
-
this.dvInputOnly = false;
|
|
11682
|
-
this.hideLabelVisually = false;
|
|
11683
|
-
this.max = undefined;
|
|
11684
|
-
this.maxLength = undefined;
|
|
11685
|
-
this.min = undefined;
|
|
11686
|
-
this.minLength = undefined;
|
|
11687
|
-
this.noValidate = false;
|
|
11688
|
-
this.onDark = false;
|
|
11689
|
-
this.required = false;
|
|
11690
|
-
this.setCustomValidityForType = undefined;
|
|
11691
|
-
|
|
11692
|
-
// Used for storing raw values returned from input mask.
|
|
11693
|
-
this._rawMaskValue = undefined;
|
|
11694
|
-
|
|
11695
|
-
/**
|
|
11696
|
-
* @private
|
|
11697
|
-
*/
|
|
11698
|
-
this.layout = 'classic';
|
|
11699
|
-
|
|
11700
|
-
/**
|
|
11701
|
-
* @private
|
|
11702
|
-
*/
|
|
11703
|
-
this.shape = 'classic';
|
|
11704
|
-
|
|
11705
|
-
/**
|
|
11706
|
-
* @private
|
|
11707
|
-
*/
|
|
11708
|
-
this.size = 'lg';
|
|
11709
|
-
|
|
11710
|
-
this.touched = false;
|
|
11711
|
-
this.util = new AuroInputUtilities$3({
|
|
11712
|
-
locale: "en-US",
|
|
11713
|
-
format: this.format
|
|
11714
|
-
});
|
|
11715
|
-
this.validation = new AuroFormValidation$7();
|
|
11716
|
-
this.inputIconName = undefined;
|
|
11717
|
-
this.showPassword = false;
|
|
11718
|
-
this.validationCCLength = undefined;
|
|
11719
|
-
this.hasValue = false;
|
|
11720
|
-
this.label = 'Input label is undefined';
|
|
11721
|
-
|
|
11722
|
-
|
|
11668
|
+
/** @private */
|
|
11723
11669
|
this.allowedInputTypes = [
|
|
11724
11670
|
"text",
|
|
11725
11671
|
"number",
|
|
@@ -11728,7 +11674,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11728
11674
|
"credit-card",
|
|
11729
11675
|
"tel"
|
|
11730
11676
|
];
|
|
11731
|
-
this.
|
|
11677
|
+
this.appearance = "default";
|
|
11678
|
+
/** @private */
|
|
11732
11679
|
this.dateFormatMap = {
|
|
11733
11680
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
11734
11681
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -11745,27 +11692,57 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11745
11692
|
'dd/mm': 'dateDDMM',
|
|
11746
11693
|
'mm/dd': 'dateMMDD'
|
|
11747
11694
|
};
|
|
11695
|
+
this.disabled = false;
|
|
11696
|
+
/** @private */
|
|
11748
11697
|
this.domHandler = new DomHandler$3();
|
|
11749
11698
|
this.dvInputOnly = false;
|
|
11750
11699
|
this.hasValue = false;
|
|
11700
|
+
this.hideLabelVisually = false;
|
|
11701
|
+
this.icon = false;
|
|
11702
|
+
/** @private */
|
|
11751
11703
|
this.inputIconName = undefined;
|
|
11704
|
+
/** @private */
|
|
11752
11705
|
this.label = 'Input label is undefined';
|
|
11706
|
+
this.layout = 'classic';
|
|
11707
|
+
this.locale = 'en-US';
|
|
11708
|
+
this.max = undefined;
|
|
11709
|
+
this._maxObject = undefined;
|
|
11710
|
+
this.maxLength = undefined;
|
|
11711
|
+
this.min = undefined;
|
|
11712
|
+
this._minObject = undefined;
|
|
11713
|
+
this.minLength = undefined;
|
|
11753
11714
|
this.noValidate = false;
|
|
11754
|
-
this.
|
|
11715
|
+
this.onDark = false;
|
|
11716
|
+
// Raw values returned from the input mask before model normalization.
|
|
11717
|
+
this._rawMaskValue = undefined;
|
|
11718
|
+
this.required = false;
|
|
11719
|
+
this.setCustomValidityForType = undefined;
|
|
11720
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
11721
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
11722
|
+
/** @private */
|
|
11755
11723
|
this.setSelectionInputTypes = [
|
|
11756
11724
|
"text",
|
|
11757
11725
|
"password",
|
|
11758
11726
|
"email"
|
|
11759
|
-
];
|
|
11727
|
+
];
|
|
11728
|
+
this.shape = 'classic';
|
|
11729
|
+
/** @private */
|
|
11760
11730
|
this.showPassword = false;
|
|
11731
|
+
this.size = 'lg';
|
|
11761
11732
|
this.touched = false;
|
|
11733
|
+
/** @private */
|
|
11762
11734
|
this.uniqueId = new UniqueId$2().create();
|
|
11735
|
+
/** @private */
|
|
11763
11736
|
this.util = new AuroInputUtilities$3({
|
|
11764
11737
|
locale: this.locale,
|
|
11765
11738
|
format: this.format
|
|
11766
11739
|
});
|
|
11740
|
+
/** @private */
|
|
11767
11741
|
this.validation = new AuroFormValidation$7();
|
|
11742
|
+
/** @private */
|
|
11768
11743
|
this.validationCCLength = undefined;
|
|
11744
|
+
this.value = undefined;
|
|
11745
|
+
this._valueObject = undefined;
|
|
11769
11746
|
}
|
|
11770
11747
|
|
|
11771
11748
|
// function to define props used within the scope of this component
|
|
@@ -12313,6 +12290,15 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12313
12290
|
|
|
12314
12291
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
12315
12292
|
|
|
12293
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
12294
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
12295
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
12296
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
12297
|
+
// unset.
|
|
12298
|
+
if (this.format) {
|
|
12299
|
+
this.format = this.format.toLowerCase();
|
|
12300
|
+
}
|
|
12301
|
+
|
|
12316
12302
|
// use validity message override if declared when initializing the component
|
|
12317
12303
|
if (this.hasAttribute('setCustomValidity')) {
|
|
12318
12304
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -12746,6 +12732,38 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12746
12732
|
this.touched = true;
|
|
12747
12733
|
this.validation.validate(this);
|
|
12748
12734
|
}
|
|
12735
|
+
|
|
12736
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
12737
|
+
// update that can re-render the input and reset the native cursor; we
|
|
12738
|
+
// capture the caret position before that update commits and restore it
|
|
12739
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
12740
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
12741
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
12742
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
12743
|
+
// on input types that don't support text selection (number, email in
|
|
12744
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
12745
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
12746
|
+
// the gated types currently support it, since the list is a public
|
|
12747
|
+
// property a consumer could mutate.
|
|
12748
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
12749
|
+
let selectionStart;
|
|
12750
|
+
try {
|
|
12751
|
+
selectionStart = this.inputElement.selectionStart;
|
|
12752
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
12753
|
+
return;
|
|
12754
|
+
}
|
|
12755
|
+
if (typeof selectionStart !== 'number') {
|
|
12756
|
+
return;
|
|
12757
|
+
}
|
|
12758
|
+
this.updateComplete.then(() => {
|
|
12759
|
+
try {
|
|
12760
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
12761
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
12762
|
+
// Some input types (number/email in certain UAs) throw on
|
|
12763
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
12764
|
+
}
|
|
12765
|
+
});
|
|
12766
|
+
}
|
|
12749
12767
|
}
|
|
12750
12768
|
|
|
12751
12769
|
/**
|
|
@@ -13372,7 +13390,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
|
|
|
13372
13390
|
}
|
|
13373
13391
|
};
|
|
13374
13392
|
|
|
13375
|
-
var formkitVersion$8 = '
|
|
13393
|
+
var formkitVersion$8 = '202606252337';
|
|
13376
13394
|
|
|
13377
13395
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13378
13396
|
// See LICENSE in the project root for license information.
|
|
@@ -13875,6 +13893,7 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
13875
13893
|
<${this.buttonTag}
|
|
13876
13894
|
@click="${this.handleClickShowPassword}"
|
|
13877
13895
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
13896
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
13878
13897
|
class="notificationBtn passwordBtn"
|
|
13879
13898
|
shape="circle"
|
|
13880
13899
|
size="sm"
|
|
@@ -13948,25 +13967,29 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
13948
13967
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
13949
13968
|
*/
|
|
13950
13969
|
renderHtmlHelpText() {
|
|
13970
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
13971
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
13972
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
13973
|
+
// re-announce because the live-region element it was watching had been
|
|
13974
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
13975
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
13976
|
+
// observe and announce.
|
|
13977
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
13951
13978
|
return u$c`
|
|
13952
|
-
|
|
13953
|
-
?
|
|
13954
|
-
|
|
13955
|
-
|
|
13956
|
-
|
|
13957
|
-
|
|
13958
|
-
|
|
13959
|
-
|
|
13960
|
-
|
|
13961
|
-
|
|
13962
|
-
|
|
13963
|
-
|
|
13964
|
-
|
|
13965
|
-
|
|
13966
|
-
</p>
|
|
13967
|
-
</${this.helpTextTag}>
|
|
13968
|
-
`
|
|
13969
|
-
}
|
|
13979
|
+
<${this.helpTextTag}
|
|
13980
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
13981
|
+
?error=${isError}>
|
|
13982
|
+
<p
|
|
13983
|
+
id="${this.uniqueId}"
|
|
13984
|
+
part="helpText"
|
|
13985
|
+
role="${o$4(isError ? 'alert' : undefined)}"
|
|
13986
|
+
aria-live="${o$4(isError ? 'assertive' : undefined)}">
|
|
13987
|
+
${isError
|
|
13988
|
+
? this.errorMessage
|
|
13989
|
+
: u$c`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
13990
|
+
}
|
|
13991
|
+
</p>
|
|
13992
|
+
</${this.helpTextTag}>
|
|
13970
13993
|
`;
|
|
13971
13994
|
}
|
|
13972
13995
|
|
|
@@ -15456,7 +15479,7 @@ function normalizeDates$1(context, ...dates) {
|
|
|
15456
15479
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
15457
15480
|
* //=> Tue Sep 02 2014 00:00:00
|
|
15458
15481
|
*/
|
|
15459
|
-
function startOfDay$
|
|
15482
|
+
function startOfDay$2(date, options) {
|
|
15460
15483
|
const _date = toDate$1(date, options?.in);
|
|
15461
15484
|
_date.setHours(0, 0, 0, 0);
|
|
15462
15485
|
return _date;
|
|
@@ -15504,8 +15527,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
|
|
|
15504
15527
|
earlierDate,
|
|
15505
15528
|
);
|
|
15506
15529
|
|
|
15507
|
-
const laterStartOfDay = startOfDay$
|
|
15508
|
-
const earlierStartOfDay = startOfDay$
|
|
15530
|
+
const laterStartOfDay = startOfDay$2(laterDate_);
|
|
15531
|
+
const earlierStartOfDay = startOfDay$2(earlierDate_);
|
|
15509
15532
|
|
|
15510
15533
|
const laterTimestamp =
|
|
15511
15534
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
|
|
@@ -24607,6 +24630,13 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
24607
24630
|
* @returns {string | undefined}
|
|
24608
24631
|
*/
|
|
24609
24632
|
toFormattedValue(valueObject, format) {
|
|
24633
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
24634
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
24635
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
24636
|
+
// as "no format → no display value".
|
|
24637
|
+
if (!format) {
|
|
24638
|
+
return undefined;
|
|
24639
|
+
}
|
|
24610
24640
|
const normalizedFormat = format.toLowerCase();
|
|
24611
24641
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
24612
24642
|
|
|
@@ -24962,8 +24992,8 @@ class RangeDatepickerCell extends i$3 {
|
|
|
24962
24992
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
24963
24993
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
24964
24994
|
if (day) {
|
|
24965
|
-
if (getTime(startOfDay$
|
|
24966
|
-
getTime(startOfDay$
|
|
24995
|
+
if (getTime(startOfDay$2(parsedDateTo * 1000)) / 1000 === day.date ||
|
|
24996
|
+
getTime(startOfDay$2(parsedDateFrom * 1000)) / 1000 === day.date) {
|
|
24967
24997
|
this.selected = true;
|
|
24968
24998
|
}
|
|
24969
24999
|
if (((hoveredDate === day.date || day.date < hoveredDate) &&
|
|
@@ -25151,7 +25181,7 @@ class RangeDatepickerCalendar extends i$3 {
|
|
|
25151
25181
|
this.dayNamesOfTheWeek = [];
|
|
25152
25182
|
this.daysOfMonth = [];
|
|
25153
25183
|
this._locale = null;
|
|
25154
|
-
this.currentDate = parseInt(format$1(startOfDay$
|
|
25184
|
+
this.currentDate = parseInt(format$1(startOfDay$2(Date.now()), 't'), 10);
|
|
25155
25185
|
this.localeChanged();
|
|
25156
25186
|
this.yearAndMonthChanged(this.year, this.month);
|
|
25157
25187
|
}
|
|
@@ -25625,7 +25655,7 @@ __decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesO
|
|
|
25625
25655
|
__decorate([n$4({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
|
|
25626
25656
|
AuroLibraryRuntimeUtils$5$1.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
|
|
25627
25657
|
|
|
25628
|
-
var styleCss$5$2 = i$6`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.rangeDepartDate.lastHoveredDate::before{border-radius:10px}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
|
|
25658
|
+
var styleCss$5$2 = i$6`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}@media screen and (max-width: 576px){:host{display:flex;justify-content:center}}.day{position:relative;width:48px;height:56px;padding:0;border-width:2px;border-style:solid;border-radius:10px;cursor:pointer;user-select:none}.day:focus-visible{outline:none;background-color:unset}.day.activeCell{outline-width:2px;outline-style:solid;outline-offset:-4px}.day.disabled{cursor:default !important;pointer-events:none}.day.blackout{cursor:pointer}.day.reference:after{position:absolute;top:-2px;left:-2px;display:block;width:calc(100% + 2px);height:calc(100% + 2px);box-sizing:content-box;border-radius:10px;border-style:solid;border-width:1px;content:""}.day.inRange::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:""}.day.rangeDepartDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:10px 0 0 10px;overflow:hidden}.day.rangeReturnDate::before,.day.lastHoveredDate::before{position:absolute;z-index:-1;top:-2px;left:-2px;display:block;width:calc(100% + 4px);height:calc(100% + 4px);box-sizing:content-box;content:"";border-radius:0 10px 10px 0;overflow:hidden}.day.firstDayOfMonth::before{border-radius:10px 0 0 10px;overflow:hidden}.day.lastDayOfMonth::before{border-radius:0 10px 10px 0;overflow:hidden}.buttonWrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.dateSlot{display:block}::slotted([slot^=date_]){width:100%;white-space:nowrap}::slotted(auro-icon){max-height:24px;max-width:24px}:host([renderForDateSlot]) .buttonWrapper{position:relative;width:100%;height:100%}:host([renderForDateSlot]) .currentDayMarker{position:relative}`;
|
|
25629
25659
|
|
|
25630
25660
|
var colorCss$5$2 = i$6`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar-cell-price-text-color)}:host ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success, #447a1f)}:host .day{border-color:var(--ds-auro-calendar-cell-border-color);background-color:var(--ds-auro-calendar-cell-container-color);color:var(--ds-auro-calendar-cell-text-color)}:host .day.activeCell:not(.selected){--ds-auro-calendar-cell-container-color: var(--ds-auro-calendar-cell-in-range-color);border-color:var(--ds-advanced-color-state-selected);outline-color:var(--ds-auro-calendar-cell-container-color)}:host .day.selected{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.selected ::slotted([slot^=date_][highlight]){--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host .day.selected:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-selected-hover, #00274a);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host .day.reference:after{border-color:var(--ds-basic-color-border-default, #959595);box-shadow:inset 0 0 0 2px var(--ds-basic-color-surface-default, #ffffff)}:host .day.reference:hover::after{box-shadow:inset 0 0 0 2px var(--ds-advanced-color-shared-background-muted, #f7f7f7)}:host .day:hover{--ds-auro-calendar-cell-container-color: var(--ds-advanced-color-state-background-hover, #f2f2f2);--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host .day.disabled{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.blackout{--ds-auro-calendar-cell-container-color: transparent;--ds-auro-calendar-cell-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-calendar-cell-price-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host .day.inRange:before,:host .day.rangeDepartDate:before,:host .day.rangeReturnDate:before,:host .day.lastHoveredDate:before{background-color:var(--ds-auro-calendar-cell-in-range-color)}:host .day.sameDateTrip:before{--ds-auro-calendar-cell-in-range-color: transparent}`;
|
|
25631
25661
|
|
|
@@ -25650,104 +25680,14 @@ class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,cl
|
|
|
25650
25680
|
|
|
25651
25681
|
var popoverVersion = '6.0.1';
|
|
25652
25682
|
|
|
25653
|
-
/**
|
|
25654
|
-
* Single source of truth for parsing and matching blackout dates across the
|
|
25655
|
-
* datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
|
|
25656
|
-
* pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
|
|
25657
|
-
* helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
|
|
25658
|
-
* `disabledDays` rules are defined exactly once.
|
|
25659
|
-
*/
|
|
25660
|
-
|
|
25661
|
-
/**
|
|
25662
|
-
* Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
|
|
25663
|
-
* representing local midnight on that calendar day. Returns `null` for
|
|
25664
|
-
* inputs that don't parse to a finite timestamp.
|
|
25665
|
-
*
|
|
25666
|
-
* Uses the `new Date(year, monthIndex, day)` constructor (NOT
|
|
25667
|
-
* `new Date(isoStr)`) so the result is local-midnight rather than UTC
|
|
25668
|
-
* midnight — required to keep the calendar grid aligned with the user's
|
|
25669
|
-
* local calendar day in negative-offset timezones.
|
|
25670
|
-
*
|
|
25671
|
-
* @param {string} isoStr - Date string in `YYYY-MM-DD` format.
|
|
25672
|
-
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
25673
|
-
*/
|
|
25674
|
-
function parseIsoToTimestamp(isoStr) {
|
|
25675
|
-
if (typeof isoStr !== 'string') {
|
|
25676
|
-
return null;
|
|
25677
|
-
}
|
|
25678
|
-
const parts = isoStr.split('-');
|
|
25679
|
-
if (parts.length !== 3) {
|
|
25680
|
-
return null;
|
|
25681
|
-
}
|
|
25682
|
-
const year = parseInt(parts[0], 10);
|
|
25683
|
-
const month = parseInt(parts[1], 10);
|
|
25684
|
-
const day = parseInt(parts[2], 10);
|
|
25685
|
-
if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
|
|
25686
|
-
return null;
|
|
25687
|
-
}
|
|
25688
|
-
// Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
|
|
25689
|
-
// silently normalizes those to a different calendar day, which would
|
|
25690
|
-
// disable the wrong date if we let the result through.
|
|
25691
|
-
if (month < 1 || month > 12 || day < 1 || day > 31) {
|
|
25692
|
-
return null;
|
|
25693
|
-
}
|
|
25694
|
-
const date = new Date(year, month - 1, day);
|
|
25695
|
-
// Guard the residual case where JS still rolls a value (e.g. Feb 30 → Mar 2).
|
|
25696
|
-
// After construction, getFullYear/getMonth/getDate should match the inputs.
|
|
25697
|
-
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
|
|
25698
|
-
return null;
|
|
25699
|
-
}
|
|
25700
|
-
const ts = Math.floor(date.getTime() / 1000);
|
|
25701
|
-
return Number.isFinite(ts) ? ts : null;
|
|
25702
|
-
}
|
|
25703
|
-
|
|
25704
|
-
/**
|
|
25705
|
-
* Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
|
|
25706
|
-
* legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
|
|
25707
|
-
* array. Use this for O(1) membership checks in hot paths.
|
|
25708
|
-
*
|
|
25709
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
25710
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
25711
|
-
* @returns {Set<number>}
|
|
25712
|
-
*/
|
|
25713
|
-
function buildBlackoutSet(disabledDays, blackoutDates) {
|
|
25714
|
-
const set = new Set();
|
|
25715
|
-
if (Array.isArray(disabledDays)) {
|
|
25716
|
-
for (const day of disabledDays) {
|
|
25717
|
-
const ts = parseInt(day, 10);
|
|
25718
|
-
if (Number.isFinite(ts)) {
|
|
25719
|
-
set.add(ts);
|
|
25720
|
-
}
|
|
25721
|
-
}
|
|
25722
|
-
}
|
|
25723
|
-
if (Array.isArray(blackoutDates)) {
|
|
25724
|
-
for (const isoStr of blackoutDates) {
|
|
25725
|
-
const ts = parseIsoToTimestamp(isoStr);
|
|
25726
|
-
if (ts !== null) {
|
|
25727
|
-
set.add(ts);
|
|
25728
|
-
}
|
|
25729
|
-
}
|
|
25730
|
-
}
|
|
25731
|
-
return set;
|
|
25732
|
-
}
|
|
25733
|
-
|
|
25734
|
-
/**
|
|
25735
|
-
* One-shot membership test for a single timestamp against both blackout
|
|
25736
|
-
* sources. Allocates a Set on each call; only use this in cold paths
|
|
25737
|
-
* (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
|
|
25738
|
-
* Set returned from `buildBlackoutSet` and `.has(ts)` directly.
|
|
25739
|
-
*
|
|
25740
|
-
* @param {number} dateTs - Unix timestamp (seconds) to test.
|
|
25741
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
25742
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
25743
|
-
* @returns {boolean}
|
|
25744
|
-
*/
|
|
25745
|
-
function isBlackoutTimestamp(dateTs, disabledDays, blackoutDates) {
|
|
25746
|
-
return buildBlackoutSet(disabledDays, blackoutDates).has(dateTs);
|
|
25747
|
-
}
|
|
25748
|
-
|
|
25749
25683
|
/* eslint-disable curly, max-lines, no-underscore-dangle, no-magic-numbers, no-underscore-dangle, max-params, no-extra-parens, arrow-parens, max-lines, line-comment-position, no-inline-comments, lit/binding-positions, lit/no-invalid-html */
|
|
25750
25684
|
|
|
25685
|
+
const startOfDay$1 = (ms) => {
|
|
25686
|
+
const date = new Date(ms);
|
|
25687
|
+
date.setHours(0, 0, 0, 0);
|
|
25688
|
+
return date.getTime();
|
|
25689
|
+
};
|
|
25690
|
+
|
|
25751
25691
|
class AuroCalendarCell extends i$3 {
|
|
25752
25692
|
constructor() {
|
|
25753
25693
|
super();
|
|
@@ -25794,14 +25734,6 @@ class AuroCalendarCell extends i$3 {
|
|
|
25794
25734
|
type: Boolean,
|
|
25795
25735
|
reflect: true
|
|
25796
25736
|
},
|
|
25797
|
-
/**
|
|
25798
|
-
* @deprecated Propagated from the legacy `auro-calendar.disabledDays`
|
|
25799
|
-
* Unix-timestamp array. The cell honors it for backward compatibility
|
|
25800
|
-
* (see the divergence-check fallback inside `isBlackout`), but
|
|
25801
|
-
* consumers should migrate to `auro-datepicker.blackoutDates`
|
|
25802
|
-
* (YYYY-MM-DD ISO strings). The calendar emits a one-time
|
|
25803
|
-
* deprecation warning the first time a non-empty value is observed.
|
|
25804
|
-
*/
|
|
25805
25737
|
disabledDays: { type: Array },
|
|
25806
25738
|
isCurrentDate: { type: Boolean },
|
|
25807
25739
|
locale: { type: String },
|
|
@@ -25847,8 +25779,8 @@ class AuroCalendarCell extends i$3 {
|
|
|
25847
25779
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
25848
25780
|
|
|
25849
25781
|
if (day) {
|
|
25850
|
-
const departTimestamp =
|
|
25851
|
-
const returnTimestamp =
|
|
25782
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
25783
|
+
const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
|
|
25852
25784
|
|
|
25853
25785
|
if (day.date === departTimestamp || day.date === returnTimestamp) {
|
|
25854
25786
|
this.selected = true;
|
|
@@ -25932,33 +25864,27 @@ class AuroCalendarCell extends i$3 {
|
|
|
25932
25864
|
return false;
|
|
25933
25865
|
}
|
|
25934
25866
|
|
|
25935
|
-
//
|
|
25936
|
-
|
|
25937
|
-
|
|
25938
|
-
|
|
25939
|
-
|
|
25940
|
-
|
|
25867
|
+
// Check against disabledDays timestamps (legacy path)
|
|
25868
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0 &&
|
|
25869
|
+
(this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
|
|
25870
|
+
return true;
|
|
25871
|
+
}
|
|
25872
|
+
|
|
25873
|
+
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
25874
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
25875
|
+
|
|
25876
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
25877
|
+
const date = new Date(this.day.date * 1000);
|
|
25878
|
+
const yyyy = date.getFullYear();
|
|
25879
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
25880
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
25881
|
+
const cellDate = `${yyyy}-${mm}-${dd}`;
|
|
25882
|
+
if (blackoutDates.includes(cellDate)) {
|
|
25941
25883
|
return true;
|
|
25942
25884
|
}
|
|
25943
|
-
// If the cell's local disabledDays diverged from the calendar's (a
|
|
25944
|
-
// consumer or test mutated cell.disabledDays directly), the Set does
|
|
25945
|
-
// not reflect that addition — fall through to the per-cell scan only
|
|
25946
|
-
// when the reference no longer matches. Production data flow keeps
|
|
25947
|
-
// these identical, so this branch stays cold. Guarded with
|
|
25948
|
-
// Array.isArray to match `_getBlackoutSet`'s contract: non-array
|
|
25949
|
-
// values are treated as empty rather than crashing on `.findIndex`.
|
|
25950
|
-
if (Array.isArray(this.disabledDays) && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
|
|
25951
|
-
if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
|
|
25952
|
-
return true;
|
|
25953
|
-
}
|
|
25954
|
-
}
|
|
25955
|
-
return false;
|
|
25956
25885
|
}
|
|
25957
25886
|
|
|
25958
|
-
|
|
25959
|
-
// ancestor calendar is wired up. Routes through the shared
|
|
25960
|
-
// blackoutUtils helper so the parsing rules stay in one place.
|
|
25961
|
-
return isBlackoutTimestamp(this.day.date, this.disabledDays, this.datepicker?.blackoutDates);
|
|
25887
|
+
return false;
|
|
25962
25888
|
}
|
|
25963
25889
|
|
|
25964
25890
|
/**
|
|
@@ -26064,12 +25990,12 @@ class AuroCalendarCell extends i$3 {
|
|
|
26064
25990
|
const parsedDateFrom = Number.parseInt(this.dateFrom, 10);
|
|
26065
25991
|
if (!Number.isFinite(parsedDateFrom)) return null;
|
|
26066
25992
|
|
|
26067
|
-
const departTimestamp =
|
|
25993
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
26068
25994
|
const dayDate = this.day.date;
|
|
26069
25995
|
|
|
26070
25996
|
const parsedDateTo = Number.parseInt(this.dateTo, 10);
|
|
26071
25997
|
const hasDateTo = Number.isFinite(parsedDateTo);
|
|
26072
|
-
const returnTimestamp = hasDateTo ?
|
|
25998
|
+
const returnTimestamp = hasDateTo ? startOfDay$1(parsedDateTo * 1000) / 1000 : null;
|
|
26073
25999
|
|
|
26074
26000
|
if (dayDate === departTimestamp) return this.datepicker.rangeLabelStart || 'range start';
|
|
26075
26001
|
|
|
@@ -26079,9 +26005,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26079
26005
|
|
|
26080
26006
|
if (hasDateTo && dayDate > departTimestamp && dayDate < returnTimestamp) return this.datepicker.rangeLabelInRange || 'in range';
|
|
26081
26007
|
|
|
26082
|
-
|
|
26083
|
-
|
|
26084
|
-
// After end date when both dateFrom and dateTo are set.
|
|
26008
|
+
// After start date, no end date yet, or after end date
|
|
26085
26009
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
26086
26010
|
}
|
|
26087
26011
|
|
|
@@ -26094,7 +26018,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26094
26018
|
*/
|
|
26095
26019
|
isDepartDate(day, dateFrom) {
|
|
26096
26020
|
const parsedDateFrom = parseInt(dateFrom, 10);
|
|
26097
|
-
const departTimestamp =
|
|
26021
|
+
const departTimestamp = startOfDay$1(parsedDateFrom * 1000) / 1000;
|
|
26098
26022
|
|
|
26099
26023
|
return this.selected && day.date === departTimestamp;
|
|
26100
26024
|
}
|
|
@@ -26109,7 +26033,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26109
26033
|
*/
|
|
26110
26034
|
isReturnDate(day, dateFrom, dateTo) {
|
|
26111
26035
|
const parsedDateTo = parseInt(dateTo, 10);
|
|
26112
|
-
const returnTimestamp =
|
|
26036
|
+
const returnTimestamp = startOfDay$1(parsedDateTo * 1000) / 1000;
|
|
26113
26037
|
|
|
26114
26038
|
return this.selected && day.date === returnTimestamp && dateFrom;
|
|
26115
26039
|
}
|
|
@@ -26273,7 +26197,6 @@ class AuroCalendarCell extends i$3 {
|
|
|
26273
26197
|
setTimeout(() => this.firstUpdated(), 0);
|
|
26274
26198
|
return;
|
|
26275
26199
|
}
|
|
26276
|
-
this.calendar = calendar;
|
|
26277
26200
|
this.datepicker = calendar.datepicker;
|
|
26278
26201
|
this._slotContentHandler = () => {
|
|
26279
26202
|
this.handleSlotContent();
|
|
@@ -26331,13 +26254,12 @@ class AuroCalendarCell extends i$3 {
|
|
|
26331
26254
|
this._cachedButton = this.shadowRoot.querySelector('button.day');
|
|
26332
26255
|
});
|
|
26333
26256
|
|
|
26334
|
-
//
|
|
26257
|
+
// Update host-level aria attributes for ariaActiveDescendantElement.
|
|
26335
26258
|
this.updateHostAria();
|
|
26336
26259
|
}
|
|
26337
26260
|
|
|
26338
26261
|
// Update host aria when selection changes (aria-selected, range labels)
|
|
26339
|
-
|
|
26340
|
-
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected') || properties.has('isCurrentDate')) {
|
|
26262
|
+
if (properties.has('dateFrom') || properties.has('dateTo') || properties.has('selected')) {
|
|
26341
26263
|
this.updateHostAria();
|
|
26342
26264
|
}
|
|
26343
26265
|
|
|
@@ -26348,8 +26270,8 @@ class AuroCalendarCell extends i$3 {
|
|
|
26348
26270
|
}
|
|
26349
26271
|
|
|
26350
26272
|
/**
|
|
26351
|
-
*
|
|
26352
|
-
*
|
|
26273
|
+
* Updates ARIA attributes on the host element so that
|
|
26274
|
+
* ariaActiveDescendantElement can expose cell info to the SR.
|
|
26353
26275
|
* @private
|
|
26354
26276
|
* @returns {void}
|
|
26355
26277
|
*/
|
|
@@ -26358,27 +26280,16 @@ class AuroCalendarCell extends i$3 {
|
|
|
26358
26280
|
|
|
26359
26281
|
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
26360
26282
|
if (outOfRange) {
|
|
26361
|
-
// Strip every aria attribute the in-range branch may have set on a
|
|
26362
|
-
// previous render — if a cell flips from in-range to out-of-range
|
|
26363
|
-
// (calendar shifts months, minDate/maxDate change, etc.).
|
|
26364
26283
|
this.removeAttribute('role');
|
|
26365
26284
|
this.removeAttribute('aria-label');
|
|
26366
|
-
this.removeAttribute('aria-current');
|
|
26367
|
-
this.removeAttribute('aria-selected');
|
|
26368
|
-
this.removeAttribute('aria-disabled');
|
|
26369
26285
|
return;
|
|
26370
26286
|
}
|
|
26371
26287
|
|
|
26288
|
+
// The host acts as the gridcell for ariaActiveDescendantElement.
|
|
26372
26289
|
this.setAttribute('role', 'gridcell');
|
|
26373
26290
|
this.setAttribute('aria-label', this.getAriaLabel());
|
|
26374
26291
|
this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
|
|
26375
26292
|
|
|
26376
|
-
if (this.isCurrentDate) {
|
|
26377
|
-
this.setAttribute('aria-current', 'date');
|
|
26378
|
-
} else {
|
|
26379
|
-
this.removeAttribute('aria-current');
|
|
26380
|
-
}
|
|
26381
|
-
|
|
26382
26293
|
if (this.isBlackout()) {
|
|
26383
26294
|
this.setAttribute('aria-disabled', 'true');
|
|
26384
26295
|
} else {
|
|
@@ -26393,7 +26304,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26393
26304
|
* @returns {void}
|
|
26394
26305
|
*/
|
|
26395
26306
|
focusButton() {
|
|
26396
|
-
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([
|
|
26307
|
+
const button = this._cachedButton || this.shadowRoot.querySelector('button:not([aria-hidden])');
|
|
26397
26308
|
if (button) {
|
|
26398
26309
|
button.focus({ focusVisible: true });
|
|
26399
26310
|
}
|
|
@@ -26401,9 +26312,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26401
26312
|
|
|
26402
26313
|
/**
|
|
26403
26314
|
* Imperatively marks this cell as active without triggering a Lit re-render.
|
|
26404
|
-
*
|
|
26405
|
-
* arrow keys move the active cell imperatively and the live region carries
|
|
26406
|
-
* the SR announcement.
|
|
26315
|
+
* Note: buttons stay tabindex="-1" because the grid uses aria-activedescendant.
|
|
26407
26316
|
* @returns {void}
|
|
26408
26317
|
*/
|
|
26409
26318
|
setActive() {
|
|
@@ -26445,13 +26354,10 @@ class AuroCalendarCell extends i$3 {
|
|
|
26445
26354
|
if (!btn || !this.day) return;
|
|
26446
26355
|
|
|
26447
26356
|
const dayDate = this.day.date;
|
|
26448
|
-
const departTimestamp =
|
|
26357
|
+
const departTimestamp = startOfDay$1(dateFrom * 1000) / 1000;
|
|
26449
26358
|
const isInRange = dayDate > departTimestamp && dayDate < hoveredDate;
|
|
26450
|
-
|
|
26451
|
-
|
|
26452
|
-
// rangeDepartDate and lastHoveredDate.
|
|
26453
|
-
const isLastHovered = dayDate === hoveredDate && hoveredDate >= departTimestamp;
|
|
26454
|
-
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate >= departTimestamp;
|
|
26359
|
+
const isLastHovered = dayDate === hoveredDate && hoveredDate > departTimestamp;
|
|
26360
|
+
const isDepartWithPreview = dayDate === departTimestamp && hoveredDate > departTimestamp;
|
|
26455
26361
|
|
|
26456
26362
|
btn.classList.toggle('inRange', isInRange);
|
|
26457
26363
|
btn.classList.toggle('lastHoveredDate', isLastHovered);
|
|
@@ -26509,6 +26415,7 @@ class AuroCalendarCell extends i$3 {
|
|
|
26509
26415
|
@focus="${outOfRange ? undefined : this.handleFocus}"
|
|
26510
26416
|
class="${e$2(buttonClasses)}"
|
|
26511
26417
|
?disabled="${outOfRange}"
|
|
26418
|
+
aria-hidden="${outOfRange ? 'true' : A$7}"
|
|
26512
26419
|
tabindex="-1">
|
|
26513
26420
|
<div class="buttonWrapper" aria-hidden="true">
|
|
26514
26421
|
<div class="currentDayMarker">${this.day?.title || A$7}</div>
|
|
@@ -27614,7 +27521,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
27614
27521
|
}
|
|
27615
27522
|
};
|
|
27616
27523
|
|
|
27617
|
-
var formkitVersion$2$1 = '
|
|
27524
|
+
var formkitVersion$2$1 = '202606252337';
|
|
27618
27525
|
|
|
27619
27526
|
let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$2`${s$3(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$6`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
27620
27527
|
`,u$4$2=i$6`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -27737,11 +27644,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27737
27644
|
this.calendarRangeMonths = null;
|
|
27738
27645
|
|
|
27739
27646
|
/**
|
|
27740
|
-
*
|
|
27741
|
-
* `YYYY-MM-DD` ISO strings) instead. This legacy array of Unix
|
|
27742
|
-
* timestamps is still honored for backward compatibility but emits a
|
|
27743
|
-
* one-time `console.debug` the first time a non-empty value is observed.
|
|
27744
|
-
* Support will be removed in a future major release.
|
|
27647
|
+
* Legacy array of disabled-date timestamps.
|
|
27745
27648
|
* @private
|
|
27746
27649
|
*/
|
|
27747
27650
|
this.disabledDays = [];
|
|
@@ -27998,44 +27901,17 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
27998
27901
|
* @returns {void}
|
|
27999
27902
|
*/
|
|
28000
27903
|
updateActiveCellForVisibleMonth() {
|
|
28001
|
-
|
|
28002
|
-
|
|
28003
|
-
|
|
28004
|
-
if (newDate !== null && newDate !== undefined) {
|
|
28005
|
-
this.activeCellDate = newDate;
|
|
28006
|
-
this.setActiveCell(this.activeCellDate);
|
|
28007
|
-
}
|
|
28008
|
-
});
|
|
28009
|
-
}
|
|
28010
|
-
|
|
28011
|
-
/**
|
|
28012
|
-
* Schedules `callback` two animation frames out, giving the child
|
|
28013
|
-
* `auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements
|
|
28014
|
-
* a full render-and-paint cycle to settle before the callback reads or
|
|
28015
|
-
* mutates DOM.
|
|
28016
|
-
*
|
|
28017
|
-
* Why two frames, not one:
|
|
28018
|
-
* 1. Lit batches property updates and renders in a microtask, so frame N
|
|
28019
|
-
* schedules the render but the new DOM may not be painted yet.
|
|
28020
|
-
* 2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,
|
|
28021
|
-
* which also lands a tick later. Reading buttons from frame N+1
|
|
28022
|
-
* (after both renders + cache refresh have flushed) reliably hits the
|
|
28023
|
-
* new month's cells.
|
|
28024
|
-
*
|
|
28025
|
-
* Used by every code path that calls `handleNextMonth`/`handlePrevMonth`
|
|
28026
|
-
* and then needs to inspect the freshly-rendered cells (cross-month
|
|
28027
|
-
* keyboard nav, boundary events, `updateActiveCellForVisibleMonth`).
|
|
28028
|
-
* Do NOT collapse to a single rAF — it intermittently lands before
|
|
28029
|
-
* `_cachedButton` is refreshed, which silently breaks focus restoration
|
|
28030
|
-
* and `setActiveCell` lookups.
|
|
28031
|
-
* @private
|
|
28032
|
-
* @param {() => void} callback - Runs once after the month re-render and
|
|
28033
|
-
* the cells' button caches have refreshed.
|
|
28034
|
-
* @returns {void}
|
|
28035
|
-
*/
|
|
28036
|
-
_afterMonthRender(callback) {
|
|
27904
|
+
// Use double-rAF to ensure child month/cell components have fully
|
|
27905
|
+
// rendered and cached their button references before we set tabindex.
|
|
28037
27906
|
requestAnimationFrame(() => {
|
|
28038
|
-
requestAnimationFrame(
|
|
27907
|
+
requestAnimationFrame(() => {
|
|
27908
|
+
const newDate = this.computeActiveDate({ skipDateFrom: true });
|
|
27909
|
+
|
|
27910
|
+
if (newDate !== null && newDate !== undefined) {
|
|
27911
|
+
this.activeCellDate = newDate;
|
|
27912
|
+
this.setActiveCell(this.activeCellDate);
|
|
27913
|
+
}
|
|
27914
|
+
});
|
|
28039
27915
|
});
|
|
28040
27916
|
}
|
|
28041
27917
|
|
|
@@ -28153,47 +28029,6 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28153
28029
|
return Array.from(this.shadowRoot.querySelectorAll('auro-formkit-calendar-month'));
|
|
28154
28030
|
}
|
|
28155
28031
|
|
|
28156
|
-
/**
|
|
28157
|
-
* Picks the focusable cell whose date is closest to targetTs. Used as a
|
|
28158
|
-
* fallback after a month-boundary nav when the exact target date isn't
|
|
28159
|
-
* focusable — typically because the month re-render lagged or the date
|
|
28160
|
-
* was filtered out by isOutOfRange. When two cells are equidistant, the
|
|
28161
|
-
* navigation direction breaks the tie so the user moves the way they
|
|
28162
|
-
* pressed (forward → later cell, backward → earlier cell).
|
|
28163
|
-
* @private
|
|
28164
|
-
* @param {Array} cells - Focusable cells from getAllFocusableCells.
|
|
28165
|
-
* @param {Number} targetTs - Desired Unix timestamp (seconds).
|
|
28166
|
-
* @param {'next'|'prev'} direction - Navigation direction.
|
|
28167
|
-
* @returns {Object|null} The nearest cell, or null when cells is empty.
|
|
28168
|
-
*/
|
|
28169
|
-
pickNearestCell(cells, targetTs, direction) {
|
|
28170
|
-
if (!cells.length) {
|
|
28171
|
-
return null;
|
|
28172
|
-
}
|
|
28173
|
-
const forward = direction === 'next';
|
|
28174
|
-
let best = null;
|
|
28175
|
-
let bestDelta = Infinity;
|
|
28176
|
-
cells.forEach((cell) => {
|
|
28177
|
-
if (!cell.day) {
|
|
28178
|
-
return;
|
|
28179
|
-
}
|
|
28180
|
-
const distance = Math.abs(cell.day.date - targetTs);
|
|
28181
|
-
if (distance < bestDelta) {
|
|
28182
|
-
best = cell;
|
|
28183
|
-
bestDelta = distance;
|
|
28184
|
-
return;
|
|
28185
|
-
}
|
|
28186
|
-
if (distance === bestDelta && best) {
|
|
28187
|
-
if (forward && cell.day.date > best.day.date) {
|
|
28188
|
-
best = cell;
|
|
28189
|
-
} else if (!forward && cell.day.date < best.day.date) {
|
|
28190
|
-
best = cell;
|
|
28191
|
-
}
|
|
28192
|
-
}
|
|
28193
|
-
});
|
|
28194
|
-
return best;
|
|
28195
|
-
}
|
|
28196
|
-
|
|
28197
28032
|
/**
|
|
28198
28033
|
* Gets all focusable cells across all rendered months.
|
|
28199
28034
|
* @private
|
|
@@ -28210,9 +28045,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28210
28045
|
|
|
28211
28046
|
/**
|
|
28212
28047
|
* Sets the active cell across all months. Only one cell has tabindex="0" at a time.
|
|
28213
|
-
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
28214
|
-
*
|
|
28215
|
-
*
|
|
28048
|
+
* Uses imperative DOM manipulation — no Lit re-render triggered.
|
|
28049
|
+
* Also updates ariaActiveDescendantElement on the grid wrapper so
|
|
28050
|
+
* screen readers announce the active cell without moving DOM focus.
|
|
28216
28051
|
* @param {Number} date - Unix timestamp of the cell to activate.
|
|
28217
28052
|
* @returns {void}
|
|
28218
28053
|
*/
|
|
@@ -28293,65 +28128,6 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28293
28128
|
this.clearRangePreview();
|
|
28294
28129
|
}
|
|
28295
28130
|
|
|
28296
|
-
/**
|
|
28297
|
-
* Returns a memoized Set of blackout timestamps (seconds) drawn from both
|
|
28298
|
-
* the legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.
|
|
28299
|
-
* The cache invalidates when either source array's reference changes, which
|
|
28300
|
-
* matches Lit's own reactive identity semantics for array properties.
|
|
28301
|
-
* @private
|
|
28302
|
-
* @returns {Set<Number>}
|
|
28303
|
-
*/
|
|
28304
|
-
_getBlackoutSet() {
|
|
28305
|
-
// Normalize non-array values to a stable `null` sentinel rather than a
|
|
28306
|
-
// fresh `[]` per call — otherwise the reference-identity cache key
|
|
28307
|
-
// (`_cachedBlackoutDisabledDays === disabledDays`) never matches on
|
|
28308
|
-
// subsequent calls and the Set rebuilds every time. `buildBlackoutSet`
|
|
28309
|
-
// already treats null/non-array as "no legacy disabledDays" via its
|
|
28310
|
-
// own Array.isArray gate.
|
|
28311
|
-
const disabledDays = Array.isArray(this.disabledDays) ? this.disabledDays : null;
|
|
28312
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
28313
|
-
if (this._blackoutSet &&
|
|
28314
|
-
this._cachedBlackoutDisabledDays === disabledDays &&
|
|
28315
|
-
this._cachedBlackoutDates === blackoutDates) {
|
|
28316
|
-
return this._blackoutSet;
|
|
28317
|
-
}
|
|
28318
|
-
|
|
28319
|
-
if (disabledDays && disabledDays.length > 0) {
|
|
28320
|
-
this._warnDisabledDaysDeprecated();
|
|
28321
|
-
}
|
|
28322
|
-
|
|
28323
|
-
this._blackoutSet = buildBlackoutSet(disabledDays, blackoutDates);
|
|
28324
|
-
this._cachedBlackoutDisabledDays = disabledDays;
|
|
28325
|
-
this._cachedBlackoutDates = blackoutDates;
|
|
28326
|
-
return this._blackoutSet;
|
|
28327
|
-
}
|
|
28328
|
-
|
|
28329
|
-
/**
|
|
28330
|
-
* Per-class flag that gates the `disabledDays` deprecation warning so it
|
|
28331
|
-
* fires exactly once per page no matter how many calendars or rebuild
|
|
28332
|
-
* cycles encounter the legacy array.
|
|
28333
|
-
* @private
|
|
28334
|
-
*/
|
|
28335
|
-
static _warnedDisabledDaysDeprecation = false;
|
|
28336
|
-
|
|
28337
|
-
/**
|
|
28338
|
-
* One-time `console.debug` directing consumers from the legacy
|
|
28339
|
-
* `disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires
|
|
28340
|
-
* the first time `_getBlackoutSet` rebuilds from a non-empty
|
|
28341
|
-
* `disabledDays`; subsequent calls (on this or any other AuroCalendar
|
|
28342
|
-
* instance on the page) are silent.
|
|
28343
|
-
* @private
|
|
28344
|
-
* @returns {void}
|
|
28345
|
-
*/
|
|
28346
|
-
_warnDisabledDaysDeprecated() {
|
|
28347
|
-
if (AuroCalendar._warnedDisabledDaysDeprecation) {
|
|
28348
|
-
return;
|
|
28349
|
-
}
|
|
28350
|
-
AuroCalendar._warnedDisabledDaysDeprecation = true;
|
|
28351
|
-
// eslint-disable-next-line no-console
|
|
28352
|
-
console.debug('[auro-datepicker] The `disabledDays` property (Unix timestamps) is deprecated. Migrate to the `blackoutDates` property on auro-datepicker (an array of `YYYY-MM-DD` ISO strings). `disabledDays` will be removed in a future major release.');
|
|
28353
|
-
}
|
|
28354
|
-
|
|
28355
28131
|
/**
|
|
28356
28132
|
* Computes the initial active date from data properties alone — no DOM required.
|
|
28357
28133
|
* Priority:
|
|
@@ -28396,10 +28172,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28396
28172
|
const minTs = Number.isFinite(rawMin) ? rawMin : -Infinity;
|
|
28397
28173
|
const maxTs = Number.isFinite(rawMax) ? rawMax : Infinity;
|
|
28398
28174
|
|
|
28399
|
-
// Build a Set of blackout timestamps for O(1) lookup.
|
|
28400
|
-
|
|
28401
|
-
|
|
28402
|
-
|
|
28175
|
+
// Build a Set of blackout timestamps for O(1) lookup.
|
|
28176
|
+
const blackoutSet = new Set(this.disabledDays.map((day) => parseInt(day, 10)));
|
|
28177
|
+
|
|
28178
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
28179
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
28180
|
+
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
28181
|
+
if (Array.isArray(isoBlackouts)) {
|
|
28182
|
+
for (const isoStr of isoBlackouts) {
|
|
28183
|
+
const parts = isoStr.split('-');
|
|
28184
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
28185
|
+
if (Number.isFinite(ts)) {
|
|
28186
|
+
blackoutSet.add(ts);
|
|
28187
|
+
}
|
|
28188
|
+
}
|
|
28189
|
+
}
|
|
28403
28190
|
|
|
28404
28191
|
/**
|
|
28405
28192
|
* A date (unix timestamp in seconds, midnight-aligned) is "enabled" when
|
|
@@ -28595,8 +28382,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28595
28382
|
|
|
28596
28383
|
/**
|
|
28597
28384
|
* Handles arrow key navigation on the calendar grid wrapper.
|
|
28598
|
-
* Focus stays on the grid wrapper; only
|
|
28599
|
-
*
|
|
28385
|
+
* Focus stays on the grid wrapper; only ariaActiveDescendantElement
|
|
28386
|
+
* and the visual active-cell indicator change.
|
|
28600
28387
|
* @private
|
|
28601
28388
|
* @param {KeyboardEvent} event - The keyboard event.
|
|
28602
28389
|
* @returns {void}
|
|
@@ -28661,21 +28448,21 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28661
28448
|
} else {
|
|
28662
28449
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28663
28450
|
}
|
|
28664
|
-
|
|
28665
|
-
|
|
28666
|
-
|
|
28667
|
-
|
|
28668
|
-
|
|
28669
|
-
|
|
28670
|
-
|
|
28671
|
-
|
|
28672
|
-
|
|
28451
|
+
requestAnimationFrame(() => {
|
|
28452
|
+
requestAnimationFrame(() => {
|
|
28453
|
+
const cells = this.getAllFocusableCells();
|
|
28454
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetTs);
|
|
28455
|
+
if (target) {
|
|
28456
|
+
this.setActiveCell(target.day.date);
|
|
28457
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
28458
|
+
} else if (cells.length > 0) {
|
|
28459
|
+
const fallback = navDir === 'next' ? cells[cells.length - 1] : cells[0];
|
|
28673
28460
|
this.setActiveCell(fallback.day.date);
|
|
28674
28461
|
this.handleCellFocused({ detail: { date: fallback.day.date } });
|
|
28675
28462
|
}
|
|
28676
|
-
|
|
28677
|
-
|
|
28678
|
-
|
|
28463
|
+
// Re-focus grid wrapper after month change re-render
|
|
28464
|
+
this.focusActiveCell();
|
|
28465
|
+
});
|
|
28679
28466
|
});
|
|
28680
28467
|
}
|
|
28681
28468
|
}
|
|
@@ -28701,20 +28488,26 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28701
28488
|
} else {
|
|
28702
28489
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28703
28490
|
}
|
|
28704
|
-
|
|
28705
|
-
|
|
28706
|
-
|
|
28707
|
-
|
|
28708
|
-
|
|
28709
|
-
|
|
28710
|
-
|
|
28711
|
-
|
|
28712
|
-
|
|
28491
|
+
requestAnimationFrame(() => {
|
|
28492
|
+
requestAnimationFrame(() => {
|
|
28493
|
+
const cells = this.getAllFocusableCells();
|
|
28494
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
28495
|
+
if (target) {
|
|
28496
|
+
this.setActiveCell(target.day.date);
|
|
28497
|
+
this.handleCellFocused({ detail: { date: target.day.date } });
|
|
28498
|
+
} else if (cells.length > 0) {
|
|
28499
|
+
let nearest = null;
|
|
28500
|
+
|
|
28501
|
+
if (navDirection === 'next') {
|
|
28502
|
+
[nearest] = cells;
|
|
28503
|
+
} else {
|
|
28504
|
+
nearest = cells[cells.length - 1];
|
|
28505
|
+
}
|
|
28713
28506
|
this.setActiveCell(nearest.day.date);
|
|
28714
28507
|
this.handleCellFocused({ detail: { date: nearest.day.date } });
|
|
28715
28508
|
}
|
|
28716
|
-
|
|
28717
|
-
|
|
28509
|
+
this.focusActiveCell();
|
|
28510
|
+
});
|
|
28718
28511
|
});
|
|
28719
28512
|
}
|
|
28720
28513
|
}
|
|
@@ -28764,22 +28557,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28764
28557
|
}
|
|
28765
28558
|
|
|
28766
28559
|
this.handleNextMonth({ skipActiveUpdate: true });
|
|
28767
|
-
|
|
28768
|
-
|
|
28769
|
-
|
|
28770
|
-
|
|
28771
|
-
|
|
28772
|
-
|
|
28773
|
-
|
|
28774
|
-
|
|
28775
|
-
|
|
28776
|
-
|
|
28777
|
-
const fallback = this.pickNearestCell(cells, nextTs, 'next');
|
|
28778
|
-
if (fallback) {
|
|
28779
|
-
this.setActiveCell(fallback.day.date);
|
|
28560
|
+
requestAnimationFrame(() => {
|
|
28561
|
+
requestAnimationFrame(() => {
|
|
28562
|
+
const cells = this.getAllFocusableCells();
|
|
28563
|
+
const target = cells.find((cell) => cell.day && cell.day.date === nextTs);
|
|
28564
|
+
if (target) {
|
|
28565
|
+
this.setActiveCell(target.day.date);
|
|
28566
|
+
this.focusActiveCell();
|
|
28567
|
+
} else if (cells.length > 0) {
|
|
28568
|
+
// Fallback: first cell of the last rendered month
|
|
28569
|
+
this.setActiveCell(cells[cells.length - 1].day.date);
|
|
28780
28570
|
this.focusActiveCell();
|
|
28781
28571
|
}
|
|
28782
|
-
}
|
|
28572
|
+
});
|
|
28783
28573
|
});
|
|
28784
28574
|
} else if (direction === 'prev' && this.showPrevMonthBtn) {
|
|
28785
28575
|
// Navigate to previous month and focus the computed previous date.
|
|
@@ -28793,22 +28583,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28793
28583
|
}
|
|
28794
28584
|
|
|
28795
28585
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28796
|
-
|
|
28797
|
-
|
|
28798
|
-
|
|
28799
|
-
|
|
28800
|
-
|
|
28801
|
-
|
|
28802
|
-
|
|
28803
|
-
|
|
28804
|
-
|
|
28805
|
-
|
|
28806
|
-
const fallback = this.pickNearestCell(cells, prevTs, 'prev');
|
|
28807
|
-
if (fallback) {
|
|
28808
|
-
this.setActiveCell(fallback.day.date);
|
|
28586
|
+
requestAnimationFrame(() => {
|
|
28587
|
+
requestAnimationFrame(() => {
|
|
28588
|
+
const cells = this.getAllFocusableCells();
|
|
28589
|
+
const target = cells.find((cell) => cell.day && cell.day.date === prevTs);
|
|
28590
|
+
if (target) {
|
|
28591
|
+
this.setActiveCell(target.day.date);
|
|
28592
|
+
this.focusActiveCell();
|
|
28593
|
+
} else if (cells.length > 0) {
|
|
28594
|
+
// Fallback: last cell of the first rendered month
|
|
28595
|
+
this.setActiveCell(cells[0].day.date);
|
|
28809
28596
|
this.focusActiveCell();
|
|
28810
28597
|
}
|
|
28811
|
-
}
|
|
28598
|
+
});
|
|
28812
28599
|
});
|
|
28813
28600
|
}
|
|
28814
28601
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
@@ -28836,22 +28623,20 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28836
28623
|
} else {
|
|
28837
28624
|
this.handlePrevMonth({ skipActiveUpdate: true });
|
|
28838
28625
|
}
|
|
28839
|
-
|
|
28840
|
-
|
|
28841
|
-
|
|
28842
|
-
|
|
28843
|
-
|
|
28844
|
-
|
|
28845
|
-
|
|
28846
|
-
|
|
28847
|
-
|
|
28848
|
-
|
|
28849
|
-
const nearest = this.pickNearestCell(cells, targetDate, navDirection);
|
|
28850
|
-
if (nearest) {
|
|
28626
|
+
requestAnimationFrame(() => {
|
|
28627
|
+
requestAnimationFrame(() => {
|
|
28628
|
+
const cells = this.getAllFocusableCells();
|
|
28629
|
+
const target = cells.find((cell) => cell.day && cell.day.date === targetDate);
|
|
28630
|
+
if (target) {
|
|
28631
|
+
this.setActiveCell(target.day.date);
|
|
28632
|
+
this.focusActiveCell();
|
|
28633
|
+
} else if (cells.length > 0) {
|
|
28634
|
+
// Clamp to nearest focusable cell
|
|
28635
|
+
const nearest = navDirection === 'next' ? cells[0] : cells[cells.length - 1];
|
|
28851
28636
|
this.setActiveCell(nearest.day.date);
|
|
28852
28637
|
this.focusActiveCell();
|
|
28853
28638
|
}
|
|
28854
|
-
}
|
|
28639
|
+
});
|
|
28855
28640
|
});
|
|
28856
28641
|
}
|
|
28857
28642
|
}
|
|
@@ -28890,9 +28675,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28890
28675
|
return;
|
|
28891
28676
|
}
|
|
28892
28677
|
|
|
28893
|
-
//
|
|
28894
|
-
//
|
|
28895
|
-
// region carries the full-context announcement instead.
|
|
28678
|
+
// With aria-activedescendant, the button no longer receives native focus,
|
|
28679
|
+
// so we use the debounced live region for the full context announcement.
|
|
28896
28680
|
const announcement = this.buildFocusAnnouncement(date);
|
|
28897
28681
|
this.announceFocusDebounced(announcement);
|
|
28898
28682
|
|
|
@@ -28962,10 +28746,10 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28962
28746
|
return null;
|
|
28963
28747
|
}
|
|
28964
28748
|
|
|
28965
|
-
const departTs =
|
|
28749
|
+
const departTs = startOfDay$2(parsedFrom * 1000) / 1000;
|
|
28966
28750
|
const parsedTo = Number.parseInt(this.dateTo, 10);
|
|
28967
28751
|
const hasTo = Number.isFinite(parsedTo);
|
|
28968
|
-
const returnTs = hasTo ?
|
|
28752
|
+
const returnTs = hasTo ? startOfDay$2(parsedTo * 1000) / 1000 : null;
|
|
28969
28753
|
|
|
28970
28754
|
if (date === departTs) {
|
|
28971
28755
|
return this.datepicker.rangeLabelStart || 'range start';
|
|
@@ -28979,22 +28763,36 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
28979
28763
|
if (hasTo && date > departTs && date < returnTs) {
|
|
28980
28764
|
return this.datepicker.rangeLabelInRange || 'in range';
|
|
28981
28765
|
}
|
|
28982
|
-
if (!hasTo && date > departTs) {
|
|
28983
|
-
return this.datepicker.rangeLabelEndPreview || 'previewing range end';
|
|
28984
|
-
}
|
|
28985
28766
|
return this.datepicker.rangeLabelAfterRange || 'after range';
|
|
28986
28767
|
}
|
|
28987
28768
|
|
|
28988
28769
|
/**
|
|
28989
|
-
* Checks whether a given date is a blackout date.
|
|
28990
|
-
* memoized `_getBlackoutSet` so the YYYY-MM-DD parsing and the
|
|
28991
|
-
* legacy/ISO merge rules live in exactly one place (see `blackoutUtils.js`).
|
|
28770
|
+
* Checks whether a given date is a blackout date.
|
|
28992
28771
|
* @private
|
|
28993
28772
|
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
28994
28773
|
* @returns {Boolean} True if the date is blacked out.
|
|
28995
28774
|
*/
|
|
28996
28775
|
isDateBlackout(dateTs) {
|
|
28997
|
-
|
|
28776
|
+
// Check legacy disabledDays.
|
|
28777
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
28778
|
+
if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
|
|
28779
|
+
return true;
|
|
28780
|
+
}
|
|
28781
|
+
}
|
|
28782
|
+
|
|
28783
|
+
// Check ISO blackoutDates.
|
|
28784
|
+
const blackoutDates = this.datepicker?.blackoutDates;
|
|
28785
|
+
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
28786
|
+
const date = new Date(dateTs * 1000);
|
|
28787
|
+
const yyyy = date.getFullYear();
|
|
28788
|
+
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
28789
|
+
const dd = String(date.getDate()).padStart(2, '0');
|
|
28790
|
+
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
28791
|
+
return true;
|
|
28792
|
+
}
|
|
28793
|
+
}
|
|
28794
|
+
|
|
28795
|
+
return false;
|
|
28998
28796
|
}
|
|
28999
28797
|
|
|
29000
28798
|
/**
|
|
@@ -29161,34 +28959,9 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
29161
28959
|
// the last one.
|
|
29162
28960
|
if (this._announceRafId) {
|
|
29163
28961
|
cancelAnimationFrame(this._announceRafId);
|
|
29164
|
-
this._announceRafId = null;
|
|
29165
28962
|
}
|
|
29166
|
-
this._deliverAnnouncement(dateStr, 0);
|
|
29167
|
-
}
|
|
29168
|
-
|
|
29169
|
-
/**
|
|
29170
|
-
* Writes `dateStr` to the live region. If the dropdown's dialog hasn't
|
|
29171
|
-
* mounted yet (so getOrCreateLiveRegion can't attach), retries on the
|
|
29172
|
-
* next animation frame up to MAX_LIVE_REGION_RETRIES instead of silently
|
|
29173
|
-
* dropping the announcement. The retry uses the same `_announceRafId`
|
|
29174
|
-
* the double-rAF below uses, so a newer announceSelection call (or
|
|
29175
|
-
* disconnectedCallback) cancels any in-flight retry.
|
|
29176
|
-
* @private
|
|
29177
|
-
* @param {String} dateStr - The localized date string to announce.
|
|
29178
|
-
* @param {Number} attempts - Number of prior retry attempts.
|
|
29179
|
-
* @returns {void}
|
|
29180
|
-
*/
|
|
29181
|
-
_deliverAnnouncement(dateStr, attempts) {
|
|
29182
28963
|
const liveRegion = this.getOrCreateLiveRegion();
|
|
29183
28964
|
if (!liveRegion) {
|
|
29184
|
-
const MAX_LIVE_REGION_RETRIES = 10;
|
|
29185
|
-
if (attempts < MAX_LIVE_REGION_RETRIES) {
|
|
29186
|
-
this._announceRafId = requestAnimationFrame(() => {
|
|
29187
|
-
this._deliverAnnouncement(dateStr, attempts + 1);
|
|
29188
|
-
});
|
|
29189
|
-
} else {
|
|
29190
|
-
this._announceRafId = null;
|
|
29191
|
-
}
|
|
29192
28965
|
return;
|
|
29193
28966
|
}
|
|
29194
28967
|
|
|
@@ -29374,7 +29147,7 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
29374
29147
|
</button>
|
|
29375
29148
|
` : undefined}
|
|
29376
29149
|
</div>
|
|
29377
|
-
<div id="calendarGrid" class="calendars" role="group"
|
|
29150
|
+
<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}">
|
|
29378
29151
|
${this.renderAllCalendars()}
|
|
29379
29152
|
</div>
|
|
29380
29153
|
</div>
|
|
@@ -33259,7 +33032,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
33259
33032
|
}
|
|
33260
33033
|
};
|
|
33261
33034
|
|
|
33262
|
-
var formkitVersion$1$3 = '
|
|
33035
|
+
var formkitVersion$1$3 = '202606252337';
|
|
33263
33036
|
|
|
33264
33037
|
let AuroElement$2$2 = class AuroElement extends i$3 {
|
|
33265
33038
|
static get properties() {
|
|
@@ -39656,7 +39429,7 @@ function normalizeDates$2(context, ...dates) {
|
|
|
39656
39429
|
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
39657
39430
|
* //=> Tue Sep 02 2014 00:00:00
|
|
39658
39431
|
*/
|
|
39659
|
-
function startOfDay$
|
|
39432
|
+
function startOfDay$3(date, options) {
|
|
39660
39433
|
const _date = toDate$2(date, options?.in);
|
|
39661
39434
|
_date.setHours(0, 0, 0, 0);
|
|
39662
39435
|
return _date;
|
|
@@ -39704,8 +39477,8 @@ function differenceInCalendarDays$2(laterDate, earlierDate, options) {
|
|
|
39704
39477
|
earlierDate,
|
|
39705
39478
|
);
|
|
39706
39479
|
|
|
39707
|
-
const laterStartOfDay = startOfDay$
|
|
39708
|
-
const earlierStartOfDay = startOfDay$
|
|
39480
|
+
const laterStartOfDay = startOfDay$3(laterDate_);
|
|
39481
|
+
const earlierStartOfDay = startOfDay$3(earlierDate_);
|
|
39709
39482
|
|
|
39710
39483
|
const laterTimestamp =
|
|
39711
39484
|
+laterStartOfDay - getTimezoneOffsetInMilliseconds$2(laterStartOfDay);
|
|
@@ -44977,6 +44750,13 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
|
|
|
44977
44750
|
* @returns {string | undefined}
|
|
44978
44751
|
*/
|
|
44979
44752
|
toFormattedValue(valueObject, format) {
|
|
44753
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
44754
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
44755
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
44756
|
+
// as "no format → no display value".
|
|
44757
|
+
if (!format) {
|
|
44758
|
+
return undefined;
|
|
44759
|
+
}
|
|
44980
44760
|
const normalizedFormat = format.toLowerCase();
|
|
44981
44761
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
44982
44762
|
|
|
@@ -45127,79 +44907,18 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45127
44907
|
constructor() {
|
|
45128
44908
|
super();
|
|
45129
44909
|
|
|
45130
|
-
|
|
45131
|
-
|
|
45132
|
-
|
|
45133
|
-
|
|
45134
|
-
|
|
45135
|
-
|
|
45136
|
-
|
|
45137
|
-
|
|
45138
|
-
|
|
45139
|
-
|
|
45140
|
-
this.required = false;
|
|
45141
|
-
this.onDark = false;
|
|
45142
|
-
this.setCustomValidityForType = undefined;
|
|
45143
|
-
this.size = 'lg';
|
|
45144
|
-
this.shape = 'classic';
|
|
45145
|
-
this.value = undefined;
|
|
45146
|
-
this._valueObject = undefined;
|
|
45147
|
-
|
|
45148
|
-
this._initializePrivateDefaults();
|
|
45149
|
-
}
|
|
45150
|
-
|
|
45151
|
-
/**
|
|
45152
|
-
* Internal Defaults.
|
|
45153
|
-
* @private
|
|
45154
|
-
* @returns {void}
|
|
45155
|
-
*/
|
|
45156
|
-
_initializePrivateDefaults() {
|
|
44910
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
44911
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
44912
|
+
// exactly once here (previously the constructor + the old
|
|
44913
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
44914
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
44915
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
44916
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
44917
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
44918
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
44919
|
+
// during its own update cycle sees a populated util instance.
|
|
45157
44920
|
this.activeLabel = false;
|
|
45158
|
-
|
|
45159
|
-
this.icon = false;
|
|
45160
|
-
this.disabled = false;
|
|
45161
|
-
this.dvInputOnly = false;
|
|
45162
|
-
this.hideLabelVisually = false;
|
|
45163
|
-
this.max = undefined;
|
|
45164
|
-
this.maxLength = undefined;
|
|
45165
|
-
this.min = undefined;
|
|
45166
|
-
this.minLength = undefined;
|
|
45167
|
-
this.noValidate = false;
|
|
45168
|
-
this.onDark = false;
|
|
45169
|
-
this.required = false;
|
|
45170
|
-
this.setCustomValidityForType = undefined;
|
|
45171
|
-
|
|
45172
|
-
// Used for storing raw values returned from input mask.
|
|
45173
|
-
this._rawMaskValue = undefined;
|
|
45174
|
-
|
|
45175
|
-
/**
|
|
45176
|
-
* @private
|
|
45177
|
-
*/
|
|
45178
|
-
this.layout = 'classic';
|
|
45179
|
-
|
|
45180
|
-
/**
|
|
45181
|
-
* @private
|
|
45182
|
-
*/
|
|
45183
|
-
this.shape = 'classic';
|
|
45184
|
-
|
|
45185
|
-
/**
|
|
45186
|
-
* @private
|
|
45187
|
-
*/
|
|
45188
|
-
this.size = 'lg';
|
|
45189
|
-
|
|
45190
|
-
this.touched = false;
|
|
45191
|
-
this.util = new AuroInputUtilities$2({
|
|
45192
|
-
locale: "en-US",
|
|
45193
|
-
format: this.format
|
|
45194
|
-
});
|
|
45195
|
-
this.validation = new AuroFormValidation$6();
|
|
45196
|
-
this.inputIconName = undefined;
|
|
45197
|
-
this.showPassword = false;
|
|
45198
|
-
this.validationCCLength = undefined;
|
|
45199
|
-
this.hasValue = false;
|
|
45200
|
-
this.label = 'Input label is undefined';
|
|
45201
|
-
|
|
45202
|
-
|
|
44921
|
+
/** @private */
|
|
45203
44922
|
this.allowedInputTypes = [
|
|
45204
44923
|
"text",
|
|
45205
44924
|
"number",
|
|
@@ -45208,7 +44927,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45208
44927
|
"credit-card",
|
|
45209
44928
|
"tel"
|
|
45210
44929
|
];
|
|
45211
|
-
this.
|
|
44930
|
+
this.appearance = "default";
|
|
44931
|
+
/** @private */
|
|
45212
44932
|
this.dateFormatMap = {
|
|
45213
44933
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
45214
44934
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -45225,27 +44945,57 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45225
44945
|
'dd/mm': 'dateDDMM',
|
|
45226
44946
|
'mm/dd': 'dateMMDD'
|
|
45227
44947
|
};
|
|
44948
|
+
this.disabled = false;
|
|
44949
|
+
/** @private */
|
|
45228
44950
|
this.domHandler = new DomHandler$2();
|
|
45229
44951
|
this.dvInputOnly = false;
|
|
45230
44952
|
this.hasValue = false;
|
|
44953
|
+
this.hideLabelVisually = false;
|
|
44954
|
+
this.icon = false;
|
|
44955
|
+
/** @private */
|
|
45231
44956
|
this.inputIconName = undefined;
|
|
44957
|
+
/** @private */
|
|
45232
44958
|
this.label = 'Input label is undefined';
|
|
44959
|
+
this.layout = 'classic';
|
|
44960
|
+
this.locale = 'en-US';
|
|
44961
|
+
this.max = undefined;
|
|
44962
|
+
this._maxObject = undefined;
|
|
44963
|
+
this.maxLength = undefined;
|
|
44964
|
+
this.min = undefined;
|
|
44965
|
+
this._minObject = undefined;
|
|
44966
|
+
this.minLength = undefined;
|
|
45233
44967
|
this.noValidate = false;
|
|
45234
|
-
this.
|
|
44968
|
+
this.onDark = false;
|
|
44969
|
+
// Raw values returned from the input mask before model normalization.
|
|
44970
|
+
this._rawMaskValue = undefined;
|
|
44971
|
+
this.required = false;
|
|
44972
|
+
this.setCustomValidityForType = undefined;
|
|
44973
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
44974
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
44975
|
+
/** @private */
|
|
45235
44976
|
this.setSelectionInputTypes = [
|
|
45236
44977
|
"text",
|
|
45237
44978
|
"password",
|
|
45238
44979
|
"email"
|
|
45239
|
-
];
|
|
44980
|
+
];
|
|
44981
|
+
this.shape = 'classic';
|
|
44982
|
+
/** @private */
|
|
45240
44983
|
this.showPassword = false;
|
|
44984
|
+
this.size = 'lg';
|
|
45241
44985
|
this.touched = false;
|
|
44986
|
+
/** @private */
|
|
45242
44987
|
this.uniqueId = new UniqueId$1().create();
|
|
44988
|
+
/** @private */
|
|
45243
44989
|
this.util = new AuroInputUtilities$2({
|
|
45244
44990
|
locale: this.locale,
|
|
45245
44991
|
format: this.format
|
|
45246
44992
|
});
|
|
44993
|
+
/** @private */
|
|
45247
44994
|
this.validation = new AuroFormValidation$6();
|
|
44995
|
+
/** @private */
|
|
45248
44996
|
this.validationCCLength = undefined;
|
|
44997
|
+
this.value = undefined;
|
|
44998
|
+
this._valueObject = undefined;
|
|
45249
44999
|
}
|
|
45250
45000
|
|
|
45251
45001
|
// function to define props used within the scope of this component
|
|
@@ -45793,6 +45543,15 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45793
45543
|
|
|
45794
45544
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
45795
45545
|
|
|
45546
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
45547
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
45548
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
45549
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
45550
|
+
// unset.
|
|
45551
|
+
if (this.format) {
|
|
45552
|
+
this.format = this.format.toLowerCase();
|
|
45553
|
+
}
|
|
45554
|
+
|
|
45796
45555
|
// use validity message override if declared when initializing the component
|
|
45797
45556
|
if (this.hasAttribute('setCustomValidity')) {
|
|
45798
45557
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -46226,6 +45985,38 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
46226
45985
|
this.touched = true;
|
|
46227
45986
|
this.validation.validate(this);
|
|
46228
45987
|
}
|
|
45988
|
+
|
|
45989
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
45990
|
+
// update that can re-render the input and reset the native cursor; we
|
|
45991
|
+
// capture the caret position before that update commits and restore it
|
|
45992
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
45993
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
45994
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
45995
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
45996
|
+
// on input types that don't support text selection (number, email in
|
|
45997
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
45998
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
45999
|
+
// the gated types currently support it, since the list is a public
|
|
46000
|
+
// property a consumer could mutate.
|
|
46001
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
46002
|
+
let selectionStart;
|
|
46003
|
+
try {
|
|
46004
|
+
selectionStart = this.inputElement.selectionStart;
|
|
46005
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
46006
|
+
return;
|
|
46007
|
+
}
|
|
46008
|
+
if (typeof selectionStart !== 'number') {
|
|
46009
|
+
return;
|
|
46010
|
+
}
|
|
46011
|
+
this.updateComplete.then(() => {
|
|
46012
|
+
try {
|
|
46013
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
46014
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
46015
|
+
// Some input types (number/email in certain UAs) throw on
|
|
46016
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
46017
|
+
}
|
|
46018
|
+
});
|
|
46019
|
+
}
|
|
46229
46020
|
}
|
|
46230
46021
|
|
|
46231
46022
|
/**
|
|
@@ -46852,7 +46643,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
|
|
|
46852
46643
|
}
|
|
46853
46644
|
};
|
|
46854
46645
|
|
|
46855
|
-
var formkitVersion$7 = '
|
|
46646
|
+
var formkitVersion$7 = '202606252337';
|
|
46856
46647
|
|
|
46857
46648
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
46858
46649
|
// See LICENSE in the project root for license information.
|
|
@@ -47355,6 +47146,7 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
47355
47146
|
<${this.buttonTag}
|
|
47356
47147
|
@click="${this.handleClickShowPassword}"
|
|
47357
47148
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
47149
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
47358
47150
|
class="notificationBtn passwordBtn"
|
|
47359
47151
|
shape="circle"
|
|
47360
47152
|
size="sm"
|
|
@@ -47428,25 +47220,29 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
47428
47220
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
47429
47221
|
*/
|
|
47430
47222
|
renderHtmlHelpText() {
|
|
47223
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
47224
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
47225
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
47226
|
+
// re-announce because the live-region element it was watching had been
|
|
47227
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
47228
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
47229
|
+
// observe and announce.
|
|
47230
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
47431
47231
|
return u$c`
|
|
47432
|
-
|
|
47433
|
-
?
|
|
47434
|
-
|
|
47435
|
-
|
|
47436
|
-
|
|
47437
|
-
|
|
47438
|
-
|
|
47439
|
-
|
|
47440
|
-
|
|
47441
|
-
|
|
47442
|
-
|
|
47443
|
-
|
|
47444
|
-
|
|
47445
|
-
|
|
47446
|
-
</p>
|
|
47447
|
-
</${this.helpTextTag}>
|
|
47448
|
-
`
|
|
47449
|
-
}
|
|
47232
|
+
<${this.helpTextTag}
|
|
47233
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
47234
|
+
?error=${isError}>
|
|
47235
|
+
<p
|
|
47236
|
+
id="${this.uniqueId}"
|
|
47237
|
+
part="helpText"
|
|
47238
|
+
role="${o$4(isError ? 'alert' : undefined)}"
|
|
47239
|
+
aria-live="${o$4(isError ? 'assertive' : undefined)}">
|
|
47240
|
+
${isError
|
|
47241
|
+
? this.errorMessage
|
|
47242
|
+
: u$c`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
47243
|
+
}
|
|
47244
|
+
</p>
|
|
47245
|
+
</${this.helpTextTag}>
|
|
47450
47246
|
`;
|
|
47451
47247
|
}
|
|
47452
47248
|
|
|
@@ -47593,6 +47389,15 @@ function formatISODate(isoStr, format) {
|
|
|
47593
47389
|
try {
|
|
47594
47390
|
const date = dateFormatter$2.stringToDateInstance(isoStr);
|
|
47595
47391
|
|
|
47392
|
+
// `stringToDateInstance` returns an `Invalid Date` for malformed strings
|
|
47393
|
+
// and `null` for non-string input — it does NOT throw. Without this
|
|
47394
|
+
// guard, `getFullYear()`/`getMonth()`/`getDate()` on an Invalid Date
|
|
47395
|
+
// yield `NaN`, and `String(NaN).padStart(4, '0')` produces literals
|
|
47396
|
+
// like "0NaN/0NaN/0NaN" instead of `undefined`.
|
|
47397
|
+
if (!(date instanceof Date) || Number.isNaN(date.getTime())) {
|
|
47398
|
+
return undefined;
|
|
47399
|
+
}
|
|
47400
|
+
|
|
47596
47401
|
const year = String(date.getFullYear()).padStart(4, '0');
|
|
47597
47402
|
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
47598
47403
|
const day = String(date.getDate()).padStart(2, '0');
|
|
@@ -47603,7 +47408,10 @@ function formatISODate(isoStr, format) {
|
|
|
47603
47408
|
replace(/mm/iu, month).
|
|
47604
47409
|
replace(/dd/iu, day);
|
|
47605
47410
|
} catch (err) {
|
|
47606
|
-
//
|
|
47411
|
+
// Defensive: the Date-returning path is guarded above, but `parseDate`
|
|
47412
|
+
// (inside `stringToDateInstance`) could throw on pathological input
|
|
47413
|
+
// future-library-versions might introduce. Treat any thrown error as
|
|
47414
|
+
// "not a valid date" and return undefined.
|
|
47607
47415
|
return undefined;
|
|
47608
47416
|
}
|
|
47609
47417
|
}
|
|
@@ -48329,7 +48137,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48329
48137
|
this.rangeLabelBeforeRange = 'before range';
|
|
48330
48138
|
this.rangeLabelInRange = 'in range';
|
|
48331
48139
|
this.rangeLabelAfterRange = 'after range';
|
|
48332
|
-
this.rangeLabelEndPreview = 'previewing range end';
|
|
48333
48140
|
this.blackoutDates = [];
|
|
48334
48141
|
this.blackoutLabel = 'unavailable';
|
|
48335
48142
|
this.navLabelPrevMonth = 'Previous month';
|
|
@@ -48429,22 +48236,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48429
48236
|
*/
|
|
48430
48237
|
this.handleClick = this.handleClick.bind(this);
|
|
48431
48238
|
|
|
48432
|
-
/**
|
|
48433
|
-
* Single AbortController shared by every listener registered in the
|
|
48434
|
-
* configure* methods. Lets disconnectedCallback tear all of them down
|
|
48435
|
-
* with one abort() call.
|
|
48436
|
-
*
|
|
48437
|
-
* The genuine leak risk is the listeners attached to children that can
|
|
48438
|
-
* outlive the host if they get reparented — `this.dropdown`,
|
|
48439
|
-
* `this.calendar`, and the inputs inside the dropdown's slot.
|
|
48440
|
-
* Listeners attached to `this` (e.g. focusin/focusout on the host)
|
|
48441
|
-
* form a self-contained reference graph that the GC can collect with
|
|
48442
|
-
* the host anyway, but they share the same signal so the cleanup
|
|
48443
|
-
* pattern stays uniform across all configure* sites.
|
|
48444
|
-
* @private
|
|
48445
|
-
*/
|
|
48446
|
-
this._listenerAbortController = new AbortController();
|
|
48447
|
-
|
|
48448
48239
|
/**
|
|
48449
48240
|
* @private
|
|
48450
48241
|
*/
|
|
@@ -48493,7 +48284,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48493
48284
|
|
|
48494
48285
|
/**
|
|
48495
48286
|
* Label announced for blackout (disabled but in-range) date cells.
|
|
48496
|
-
* @default 'unavailable'
|
|
48497
48287
|
*/
|
|
48498
48288
|
blackoutLabel: {
|
|
48499
48289
|
type: String,
|
|
@@ -48510,7 +48300,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48510
48300
|
|
|
48511
48301
|
/**
|
|
48512
48302
|
* Accessible label for the calendar grid containing the days of the month.
|
|
48513
|
-
* @default 'Calendar days of the month'
|
|
48514
48303
|
*/
|
|
48515
48304
|
calendarGridLabel: {
|
|
48516
48305
|
type: String,
|
|
@@ -48673,7 +48462,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48673
48462
|
|
|
48674
48463
|
/**
|
|
48675
48464
|
* Accessible label for the next month navigation button.
|
|
48676
|
-
* @default 'Next month'
|
|
48677
48465
|
*/
|
|
48678
48466
|
navLabelNextMonth: {
|
|
48679
48467
|
type: String,
|
|
@@ -48682,7 +48470,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48682
48470
|
|
|
48683
48471
|
/**
|
|
48684
48472
|
* Accessible label for the previous month navigation button.
|
|
48685
|
-
* @default 'Previous month'
|
|
48686
48473
|
*/
|
|
48687
48474
|
navLabelPrevMonth: {
|
|
48688
48475
|
type: String,
|
|
@@ -48760,11 +48547,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48760
48547
|
},
|
|
48761
48548
|
|
|
48762
48549
|
/**
|
|
48763
|
-
* Label announced for cells after
|
|
48764
|
-
* `dateFrom` and `dateTo` are set). While a range is still being
|
|
48765
|
-
* picked (`dateFrom` set, `dateTo` unset), focused cells past the
|
|
48766
|
-
* start use `rangeLabelEndPreview` instead.
|
|
48767
|
-
* @default 'after range'
|
|
48550
|
+
* Label announced for cells after the range (or after start when no end is selected).
|
|
48768
48551
|
*/
|
|
48769
48552
|
rangeLabelAfterRange: {
|
|
48770
48553
|
type: String,
|
|
@@ -48773,7 +48556,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48773
48556
|
|
|
48774
48557
|
/**
|
|
48775
48558
|
* Label announced for cells before the range start.
|
|
48776
|
-
* @default 'before range'
|
|
48777
48559
|
*/
|
|
48778
48560
|
rangeLabelBeforeRange: {
|
|
48779
48561
|
type: String,
|
|
@@ -48782,27 +48564,14 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48782
48564
|
|
|
48783
48565
|
/**
|
|
48784
48566
|
* Label announced for the range end date cell.
|
|
48785
|
-
* @default 'range end'
|
|
48786
48567
|
*/
|
|
48787
48568
|
rangeLabelEnd: {
|
|
48788
48569
|
type: String,
|
|
48789
48570
|
reflect: true
|
|
48790
48571
|
},
|
|
48791
48572
|
|
|
48792
|
-
/**
|
|
48793
|
-
* Label announced for the focused cell while previewing a range end
|
|
48794
|
-
* (dateFrom set, dateTo not yet selected). Tells AT users that
|
|
48795
|
-
* pressing Enter would commit this cell as the range end.
|
|
48796
|
-
* @default 'previewing range end'
|
|
48797
|
-
*/
|
|
48798
|
-
rangeLabelEndPreview: {
|
|
48799
|
-
type: String,
|
|
48800
|
-
reflect: true
|
|
48801
|
-
},
|
|
48802
|
-
|
|
48803
48573
|
/**
|
|
48804
48574
|
* Label announced for cells within the selected range.
|
|
48805
|
-
* @default 'in range'
|
|
48806
48575
|
*/
|
|
48807
48576
|
rangeLabelInRange: {
|
|
48808
48577
|
type: String,
|
|
@@ -48811,7 +48580,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48811
48580
|
|
|
48812
48581
|
/**
|
|
48813
48582
|
* Label announced for the range start date cell.
|
|
48814
|
-
* @default 'range start'
|
|
48815
48583
|
*/
|
|
48816
48584
|
rangeLabelStart: {
|
|
48817
48585
|
type: String,
|
|
@@ -48819,7 +48587,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
48819
48587
|
},
|
|
48820
48588
|
|
|
48821
48589
|
/**
|
|
48822
|
-
* Dates that the user should have for reference as part of their decision
|
|
48590
|
+
* Dates that the user should have for reference as part of their decision making when selecting a date.
|
|
48823
48591
|
* This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
|
|
48824
48592
|
*/
|
|
48825
48593
|
referenceDates: {
|
|
@@ -49176,26 +48944,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49176
48944
|
// ─── Vendor calendar time conversions ─────────────────────────────────────
|
|
49177
48945
|
|
|
49178
48946
|
/**
|
|
49179
|
-
* Converts a Unix timestamp (seconds) from the
|
|
49180
|
-
* (`src/vendor/wc-range-datepicker/day.js`) to an ISO date string.
|
|
49181
|
-
*
|
|
49182
|
-
* Timezone contract:
|
|
49183
|
-
* - INPUT: `time` is assumed to be the seconds-since-epoch of **local
|
|
49184
|
-
* midnight** for the intended calendar day. The vendor's Day constructor
|
|
49185
|
-
* builds it via `date-fns format(date, 't')` from a locally-constructed
|
|
49186
|
-
* Date, so this assumption currently holds end-to-end.
|
|
49187
|
-
* - OUTPUT: `dateFormatter.toISOFormatString` reads the Date's local
|
|
49188
|
-
* getFullYear/getMonth/getDate components, so the returned YYYY-MM-DD
|
|
49189
|
-
* string matches the local calendar day.
|
|
49190
|
-
*
|
|
49191
|
-
* If the vendor ever switches to emitting UTC-midnight timestamps, this
|
|
49192
|
-
* conversion will silently shift the returned date by one day in zones
|
|
49193
|
-
* west of UTC. Any vendor swap should re-verify this contract; the TZ
|
|
49194
|
-
* regression suite (`npm run test:hst`, UTC-10) will catch the symptom.
|
|
49195
|
-
*
|
|
48947
|
+
* Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.
|
|
49196
48948
|
* @private
|
|
49197
|
-
* @param {number} time - Unix timestamp
|
|
49198
|
-
* @returns {string} ISO date string (yyyy-mm-dd)
|
|
48949
|
+
* @param {number} time - Unix timestamp in seconds.
|
|
48950
|
+
* @returns {string} ISO date string (yyyy-mm-dd).
|
|
49199
48951
|
*/
|
|
49200
48952
|
convertWcTimeToDate(time) {
|
|
49201
48953
|
return dateFormatter$1.toISOFormatString(new Date(time * 1000));
|
|
@@ -49297,8 +49049,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49297
49049
|
}
|
|
49298
49050
|
}
|
|
49299
49051
|
|
|
49300
|
-
// Focus the calendar grid wrapper
|
|
49301
|
-
//
|
|
49052
|
+
// Focus the calendar grid wrapper (aria-activedescendant handles
|
|
49053
|
+
// the SR announcement for the active cell).
|
|
49302
49054
|
if (activeCell) {
|
|
49303
49055
|
this.calendar.focusActiveCell();
|
|
49304
49056
|
|
|
@@ -49348,13 +49100,11 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49348
49100
|
this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
|
|
49349
49101
|
}
|
|
49350
49102
|
|
|
49351
|
-
const { signal } = this._listenerAbortController;
|
|
49352
|
-
|
|
49353
49103
|
this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
|
|
49354
49104
|
if (!this.isPopoverVisible) {
|
|
49355
49105
|
this.dropdown.show();
|
|
49356
49106
|
}
|
|
49357
|
-
}
|
|
49107
|
+
});
|
|
49358
49108
|
|
|
49359
49109
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
49360
49110
|
this.notifyDatepickerToggled();
|
|
@@ -49372,7 +49122,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49372
49122
|
if (this.valueObject) {
|
|
49373
49123
|
this.centralDate = this.value;
|
|
49374
49124
|
} else if (!this.centralDate && !this.calendarStartDate && !this.minDate) {
|
|
49375
|
-
this.centralDate =
|
|
49125
|
+
this.centralDate = new Date();
|
|
49376
49126
|
}
|
|
49377
49127
|
}
|
|
49378
49128
|
|
|
@@ -49452,7 +49202,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49452
49202
|
this.forceScrollOnNextMobileCalendarRender = false;
|
|
49453
49203
|
}, 0);
|
|
49454
49204
|
}
|
|
49455
|
-
}
|
|
49205
|
+
});
|
|
49456
49206
|
|
|
49457
49207
|
// Handle responsive strategy changes while the dropdown is open
|
|
49458
49208
|
// (e.g. resizing from desktop → mobile or vice versa).
|
|
@@ -49499,7 +49249,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49499
49249
|
});
|
|
49500
49250
|
});
|
|
49501
49251
|
}
|
|
49502
|
-
}
|
|
49252
|
+
});
|
|
49503
49253
|
}
|
|
49504
49254
|
|
|
49505
49255
|
/**
|
|
@@ -49512,8 +49262,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49512
49262
|
|
|
49513
49263
|
this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
|
|
49514
49264
|
|
|
49515
|
-
const { signal } = this._listenerAbortController;
|
|
49516
|
-
|
|
49517
49265
|
this.inputList.forEach((input, index) => {
|
|
49518
49266
|
input.addEventListener('input', (event) => {
|
|
49519
49267
|
event.stopPropagation();
|
|
@@ -49525,7 +49273,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49525
49273
|
}
|
|
49526
49274
|
|
|
49527
49275
|
this.notifyValueChanged();
|
|
49528
|
-
}
|
|
49276
|
+
});
|
|
49529
49277
|
|
|
49530
49278
|
input.addEventListener('auroFormElement-validated', (evt) => {
|
|
49531
49279
|
// not to bubble up input's validated event.
|
|
@@ -49541,7 +49289,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49541
49289
|
this.validity = evt.detail.validity;
|
|
49542
49290
|
this.errorMessage = evt.detail.message;
|
|
49543
49291
|
}
|
|
49544
|
-
}
|
|
49292
|
+
});
|
|
49545
49293
|
});
|
|
49546
49294
|
}
|
|
49547
49295
|
|
|
@@ -49555,32 +49303,19 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49555
49303
|
this.calendar.datepicker = this;
|
|
49556
49304
|
this.calendar.dropdown = this.dropdown;
|
|
49557
49305
|
|
|
49558
|
-
const { signal } = this._listenerAbortController;
|
|
49559
|
-
|
|
49560
49306
|
this.calendar.addEventListener('auroCalendar-dateSelected', () => {
|
|
49561
|
-
|
|
49562
|
-
|
|
49563
|
-
// strings — comparing the input ISO directly against them would
|
|
49564
|
-
// never match, so the write would fire on every event and emit
|
|
49565
|
-
// redundant input/change activity).
|
|
49566
|
-
if (this.calendar.dateFrom !== undefined) {
|
|
49567
|
-
const fromIso = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
49568
|
-
if (this.inputList[0].value !== fromIso) {
|
|
49569
|
-
this.inputList[0].value = fromIso;
|
|
49570
|
-
}
|
|
49307
|
+
if (this.inputList[0].value !== this.calendar.dateFrom && this.calendar.dateFrom !== undefined) {
|
|
49308
|
+
this.inputList[0].value = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
49571
49309
|
}
|
|
49572
49310
|
|
|
49573
|
-
if (this.inputList[1] && this.calendar.dateTo) {
|
|
49574
|
-
|
|
49575
|
-
if (this.inputList[1].value !== toIso) {
|
|
49576
|
-
this.inputList[1].value = toIso;
|
|
49577
|
-
}
|
|
49311
|
+
if (this.inputList[1] && this.calendar.dateTo && this.inputList[1].value !== this.calendar.dateTo) {
|
|
49312
|
+
this.inputList[1].value = this.convertWcTimeToDate(this.calendar.dateTo);
|
|
49578
49313
|
}
|
|
49579
|
-
}
|
|
49314
|
+
});
|
|
49580
49315
|
|
|
49581
49316
|
this.calendar.addEventListener('auroCalendar-dismissRequest', () => {
|
|
49582
49317
|
this.dropdown.hide();
|
|
49583
|
-
}
|
|
49318
|
+
});
|
|
49584
49319
|
|
|
49585
49320
|
this.calendar.addEventListener('auroCalendar-centralDateChanged', (event) => {
|
|
49586
49321
|
const match = this.centralDateObject && this.util.datesMatch(event.detail.date, this.centralDateObject);
|
|
@@ -49590,7 +49325,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49590
49325
|
}
|
|
49591
49326
|
|
|
49592
49327
|
this.notifyMonthChanged(event);
|
|
49593
|
-
}
|
|
49328
|
+
});
|
|
49594
49329
|
}
|
|
49595
49330
|
|
|
49596
49331
|
/**
|
|
@@ -49599,17 +49334,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49599
49334
|
* @returns {void}
|
|
49600
49335
|
*/
|
|
49601
49336
|
configureDatepicker() {
|
|
49602
|
-
// These listeners are on `this` (the host), so they would GC with the
|
|
49603
|
-
// host even without the abort signal — see the leak rationale on
|
|
49604
|
-
// `_listenerAbortController`. The signal is still passed for uniform
|
|
49605
|
-
// cleanup semantics with the child-element listeners in the other
|
|
49606
|
-
// configure* methods.
|
|
49607
|
-
const { signal } = this._listenerAbortController;
|
|
49608
|
-
|
|
49609
49337
|
this.addEventListener('focusin', () => {
|
|
49610
49338
|
this.touched = true;
|
|
49611
49339
|
this.hasFocus = true;
|
|
49612
|
-
}
|
|
49340
|
+
});
|
|
49613
49341
|
|
|
49614
49342
|
this.addEventListener('focusout', () => {
|
|
49615
49343
|
this.hasFocus = false;
|
|
@@ -49621,7 +49349,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49621
49349
|
if (!this.matches(':focus-within')) {
|
|
49622
49350
|
this.validate();
|
|
49623
49351
|
}
|
|
49624
|
-
}
|
|
49352
|
+
});
|
|
49625
49353
|
|
|
49626
49354
|
if (this.valueObject) {
|
|
49627
49355
|
this.calendar.dateFrom = this.convertToWcValidTime(this.valueObject);
|
|
@@ -49819,41 +49547,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49819
49547
|
return this.validity !== undefined && this.validity !== 'valid';
|
|
49820
49548
|
}
|
|
49821
49549
|
|
|
49822
|
-
/**
|
|
49823
|
-
* Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup
|
|
49824
|
-
* spans every datepicker instance on the page; lives on the class (not
|
|
49825
|
-
* at module scope) so it stays an encapsulated implementation detail of
|
|
49826
|
-
* this component and does not interfere with WCA's class-JSDoc
|
|
49827
|
-
* attachment.
|
|
49828
|
-
* @private
|
|
49829
|
-
*/
|
|
49830
|
-
static _warnedInvalidLocales = new Set();
|
|
49831
|
-
|
|
49832
|
-
/**
|
|
49833
|
-
* Logs a one-time `console.debug` when an unsupported locale falls back to
|
|
49834
|
-
* en-US. Deduped by the offending tag so noisy re-renders that resurface
|
|
49835
|
-
* the same bad value stay quiet, but each new bad value still signals so
|
|
49836
|
-
* consumers can spot the typo or missing tag.
|
|
49837
|
-
* @private
|
|
49838
|
-
* @param {string|undefined} badLocale - The locale value that failed.
|
|
49839
|
-
* @returns {void}
|
|
49840
|
-
*/
|
|
49841
|
-
_warnInvalidLocale(badLocale) {
|
|
49842
|
-
// Stringify without coalescing — `String(undefined)` / `String(null)`
|
|
49843
|
-
// surface the actual offending value in the log, instead of the
|
|
49844
|
-
// ambiguous `Locale ""` that `String(badLocale ?? '')` would produce.
|
|
49845
|
-
// Dedup still works correctly because each unique stringification
|
|
49846
|
-
// becomes its own Set entry.
|
|
49847
|
-
const key = String(badLocale);
|
|
49848
|
-
const seen = AuroDatePicker._warnedInvalidLocales;
|
|
49849
|
-
if (seen.has(key)) {
|
|
49850
|
-
return;
|
|
49851
|
-
}
|
|
49852
|
-
seen.add(key);
|
|
49853
|
-
// eslint-disable-next-line no-console
|
|
49854
|
-
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".`);
|
|
49855
|
-
}
|
|
49856
|
-
|
|
49857
49550
|
/**
|
|
49858
49551
|
* Lifecycle method to check if the locale is valid.
|
|
49859
49552
|
* @ignore
|
|
@@ -49864,15 +49557,10 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49864
49557
|
if (changedProperties.has('locale')) {
|
|
49865
49558
|
try {
|
|
49866
49559
|
const supported = Intl.DateTimeFormat.supportedLocalesOf([this.locale], { localeMatcher: 'lookup' });
|
|
49867
|
-
|
|
49868
|
-
this._validLocale = this.locale;
|
|
49869
|
-
} else {
|
|
49870
|
-
this._validLocale = 'en-US';
|
|
49871
|
-
this._warnInvalidLocale(this.locale);
|
|
49872
|
-
}
|
|
49560
|
+
this._validLocale = supported.length > 0 ? this.locale : 'en-US';
|
|
49873
49561
|
} catch {
|
|
49562
|
+
console.debug(`[AuroDatePicker] The locale "${this.locale}" is not valid. Falling back to "en-US".`); // eslint-disable-line no-console
|
|
49874
49563
|
this._validLocale = 'en-US';
|
|
49875
|
-
this._warnInvalidLocale(this.locale);
|
|
49876
49564
|
}
|
|
49877
49565
|
|
|
49878
49566
|
const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
|
|
@@ -49954,6 +49642,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
49954
49642
|
// Skip centralDate update when user clicked a cell in range mode
|
|
49955
49643
|
// to prevent the displayed months from shifting
|
|
49956
49644
|
this.centralDate = this.value;
|
|
49645
|
+
//TODO: TEST THIS CHANGE
|
|
49646
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.value);
|
|
49957
49647
|
}
|
|
49958
49648
|
|
|
49959
49649
|
this.setHasValue();
|
|
@@ -50013,6 +49703,8 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50013
49703
|
// Skip centralDate update when user clicked a cell in range mode
|
|
50014
49704
|
// to prevent the displayed months from shifting
|
|
50015
49705
|
this.centralDate = this.valueEnd;
|
|
49706
|
+
// TODO: TEST THIS CHANGE
|
|
49707
|
+
// this.calendarRenderUtil.updateCentralDate(this, this.formattedValueEnd);
|
|
50016
49708
|
}
|
|
50017
49709
|
|
|
50018
49710
|
this.validate();
|
|
@@ -50154,7 +49846,7 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50154
49846
|
* @returns {void}
|
|
50155
49847
|
*/
|
|
50156
49848
|
configureClickHandler() {
|
|
50157
|
-
this.addEventListener('click', this.handleClick
|
|
49849
|
+
this.addEventListener('click', this.handleClick);
|
|
50158
49850
|
}
|
|
50159
49851
|
|
|
50160
49852
|
firstUpdated() {
|
|
@@ -50162,15 +49854,6 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50162
49854
|
// Add the tag name as an attribute if it is different than the component name
|
|
50163
49855
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
50164
49856
|
|
|
50165
|
-
// If the element was disconnected before this first render finished,
|
|
50166
|
-
// disconnectedCallback's microtask already aborted the controller. The
|
|
50167
|
-
// connectedCallback reinit guard skips that case because `hasUpdated`
|
|
50168
|
-
// is still false. Mint a fresh controller here so configure* registers
|
|
50169
|
-
// listeners against a live signal.
|
|
50170
|
-
if (this._listenerAbortController.signal.aborted) {
|
|
50171
|
-
this._listenerAbortController = new AbortController();
|
|
50172
|
-
}
|
|
50173
|
-
|
|
50174
49857
|
this.configureDropdown();
|
|
50175
49858
|
this.configureInput();
|
|
50176
49859
|
this.configureCalendar();
|
|
@@ -50182,36 +49865,9 @@ class AuroDatePicker extends AuroElement$5 {
|
|
|
50182
49865
|
connectedCallback() {
|
|
50183
49866
|
super.connectedCallback();
|
|
50184
49867
|
|
|
50185
|
-
// True reconnect after `disconnectedCallback` aborted our controller:
|
|
50186
|
-
// the existing signal is dead, so listeners registered against it
|
|
50187
|
-
// would never fire. Create a fresh controller and re-run the
|
|
50188
|
-
// configure* wiring (each method is idempotent — it just re-caches
|
|
50189
|
-
// child refs and re-registers listeners against the new signal).
|
|
50190
|
-
// `hasUpdated` gates this so the *first* connect (which precedes
|
|
50191
|
-
// firstUpdated) still falls through to firstUpdated's initial wiring.
|
|
50192
|
-
if (this.hasUpdated && this._listenerAbortController.signal.aborted) {
|
|
50193
|
-
this._listenerAbortController = new AbortController();
|
|
50194
|
-
this.configureDropdown();
|
|
50195
|
-
this.configureInput();
|
|
50196
|
-
this.configureCalendar();
|
|
50197
|
-
this.configureDatepicker();
|
|
50198
|
-
this.configureClickHandler();
|
|
50199
|
-
}
|
|
50200
|
-
|
|
50201
49868
|
this.locale = this.domHandler.getLocale(this);
|
|
50202
49869
|
}
|
|
50203
49870
|
|
|
50204
|
-
disconnectedCallback() {
|
|
50205
|
-
super.disconnectedCallback();
|
|
50206
|
-
// Defer so that re-parenting (auro-drawer slotting it into a dialog,
|
|
50207
|
-
// for example) does not abort listeners we still need after reconnect.
|
|
50208
|
-
queueMicrotask(() => {
|
|
50209
|
-
if (!this.isConnected) {
|
|
50210
|
-
this._listenerAbortController.abort();
|
|
50211
|
-
}
|
|
50212
|
-
});
|
|
50213
|
-
}
|
|
50214
|
-
|
|
50215
49871
|
// layout render methods
|
|
50216
49872
|
// ------------------------------------
|
|
50217
49873
|
|
|
@@ -51707,7 +51363,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
51707
51363
|
}
|
|
51708
51364
|
};
|
|
51709
51365
|
|
|
51710
|
-
var formkitVersion$1$2 = '
|
|
51366
|
+
var formkitVersion$1$2 = '202606252337';
|
|
51711
51367
|
|
|
51712
51368
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
51713
51369
|
// See LICENSE in the project root for license information.
|
|
@@ -56035,7 +55691,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
56035
55691
|
}
|
|
56036
55692
|
};
|
|
56037
55693
|
|
|
56038
|
-
var formkitVersion$6 = '
|
|
55694
|
+
var formkitVersion$6 = '202606252337';
|
|
56039
55695
|
|
|
56040
55696
|
let AuroElement$1$2 = class AuroElement extends i$3 {
|
|
56041
55697
|
static get properties() {
|
|
@@ -59975,7 +59631,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
59975
59631
|
}
|
|
59976
59632
|
};
|
|
59977
59633
|
|
|
59978
|
-
var formkitVersion$5 = '
|
|
59634
|
+
var formkitVersion$5 = '202606252337';
|
|
59979
59635
|
|
|
59980
59636
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
59981
59637
|
// See LICENSE in the project root for license information.
|
|
@@ -61725,7 +61381,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
61725
61381
|
}
|
|
61726
61382
|
};
|
|
61727
61383
|
|
|
61728
|
-
var formkitVersion$4 = '
|
|
61384
|
+
var formkitVersion$4 = '202606252337';
|
|
61729
61385
|
|
|
61730
61386
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
61731
61387
|
// See LICENSE in the project root for license information.
|
|
@@ -66940,7 +66596,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
66940
66596
|
}
|
|
66941
66597
|
};
|
|
66942
66598
|
|
|
66943
|
-
var formkitVersion$2 = '
|
|
66599
|
+
var formkitVersion$2 = '202606252337';
|
|
66944
66600
|
|
|
66945
66601
|
let AuroElement$2$1 = class AuroElement extends i$3 {
|
|
66946
66602
|
static get properties() {
|
|
@@ -78658,6 +78314,13 @@ class AuroInputUtilities {
|
|
|
78658
78314
|
* @returns {string | undefined}
|
|
78659
78315
|
*/
|
|
78660
78316
|
toFormattedValue(valueObject, format) {
|
|
78317
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
78318
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
78319
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
78320
|
+
// as "no format → no display value".
|
|
78321
|
+
if (!format) {
|
|
78322
|
+
return undefined;
|
|
78323
|
+
}
|
|
78661
78324
|
const normalizedFormat = format.toLowerCase();
|
|
78662
78325
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
78663
78326
|
|
|
@@ -78808,79 +78471,18 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78808
78471
|
constructor() {
|
|
78809
78472
|
super();
|
|
78810
78473
|
|
|
78811
|
-
|
|
78812
|
-
|
|
78813
|
-
|
|
78814
|
-
|
|
78815
|
-
|
|
78816
|
-
|
|
78817
|
-
|
|
78818
|
-
|
|
78819
|
-
|
|
78820
|
-
|
|
78821
|
-
this.required = false;
|
|
78822
|
-
this.onDark = false;
|
|
78823
|
-
this.setCustomValidityForType = undefined;
|
|
78824
|
-
this.size = 'lg';
|
|
78825
|
-
this.shape = 'classic';
|
|
78826
|
-
this.value = undefined;
|
|
78827
|
-
this._valueObject = undefined;
|
|
78828
|
-
|
|
78829
|
-
this._initializePrivateDefaults();
|
|
78830
|
-
}
|
|
78831
|
-
|
|
78832
|
-
/**
|
|
78833
|
-
* Internal Defaults.
|
|
78834
|
-
* @private
|
|
78835
|
-
* @returns {void}
|
|
78836
|
-
*/
|
|
78837
|
-
_initializePrivateDefaults() {
|
|
78474
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
78475
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
78476
|
+
// exactly once here (previously the constructor + the old
|
|
78477
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
78478
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
78479
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
78480
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
78481
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
78482
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
78483
|
+
// during its own update cycle sees a populated util instance.
|
|
78838
78484
|
this.activeLabel = false;
|
|
78839
|
-
|
|
78840
|
-
this.icon = false;
|
|
78841
|
-
this.disabled = false;
|
|
78842
|
-
this.dvInputOnly = false;
|
|
78843
|
-
this.hideLabelVisually = false;
|
|
78844
|
-
this.max = undefined;
|
|
78845
|
-
this.maxLength = undefined;
|
|
78846
|
-
this.min = undefined;
|
|
78847
|
-
this.minLength = undefined;
|
|
78848
|
-
this.noValidate = false;
|
|
78849
|
-
this.onDark = false;
|
|
78850
|
-
this.required = false;
|
|
78851
|
-
this.setCustomValidityForType = undefined;
|
|
78852
|
-
|
|
78853
|
-
// Used for storing raw values returned from input mask.
|
|
78854
|
-
this._rawMaskValue = undefined;
|
|
78855
|
-
|
|
78856
|
-
/**
|
|
78857
|
-
* @private
|
|
78858
|
-
*/
|
|
78859
|
-
this.layout = 'classic';
|
|
78860
|
-
|
|
78861
|
-
/**
|
|
78862
|
-
* @private
|
|
78863
|
-
*/
|
|
78864
|
-
this.shape = 'classic';
|
|
78865
|
-
|
|
78866
|
-
/**
|
|
78867
|
-
* @private
|
|
78868
|
-
*/
|
|
78869
|
-
this.size = 'lg';
|
|
78870
|
-
|
|
78871
|
-
this.touched = false;
|
|
78872
|
-
this.util = new AuroInputUtilities({
|
|
78873
|
-
locale: "en-US",
|
|
78874
|
-
format: this.format
|
|
78875
|
-
});
|
|
78876
|
-
this.validation = new AuroFormValidation$2();
|
|
78877
|
-
this.inputIconName = undefined;
|
|
78878
|
-
this.showPassword = false;
|
|
78879
|
-
this.validationCCLength = undefined;
|
|
78880
|
-
this.hasValue = false;
|
|
78881
|
-
this.label = 'Input label is undefined';
|
|
78882
|
-
|
|
78883
|
-
|
|
78485
|
+
/** @private */
|
|
78884
78486
|
this.allowedInputTypes = [
|
|
78885
78487
|
"text",
|
|
78886
78488
|
"number",
|
|
@@ -78889,7 +78491,8 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78889
78491
|
"credit-card",
|
|
78890
78492
|
"tel"
|
|
78891
78493
|
];
|
|
78892
|
-
this.
|
|
78494
|
+
this.appearance = "default";
|
|
78495
|
+
/** @private */
|
|
78893
78496
|
this.dateFormatMap = {
|
|
78894
78497
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
78895
78498
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -78906,27 +78509,57 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78906
78509
|
'dd/mm': 'dateDDMM',
|
|
78907
78510
|
'mm/dd': 'dateMMDD'
|
|
78908
78511
|
};
|
|
78512
|
+
this.disabled = false;
|
|
78513
|
+
/** @private */
|
|
78909
78514
|
this.domHandler = new DomHandler();
|
|
78910
78515
|
this.dvInputOnly = false;
|
|
78911
78516
|
this.hasValue = false;
|
|
78517
|
+
this.hideLabelVisually = false;
|
|
78518
|
+
this.icon = false;
|
|
78519
|
+
/** @private */
|
|
78912
78520
|
this.inputIconName = undefined;
|
|
78521
|
+
/** @private */
|
|
78913
78522
|
this.label = 'Input label is undefined';
|
|
78523
|
+
this.layout = 'classic';
|
|
78524
|
+
this.locale = 'en-US';
|
|
78525
|
+
this.max = undefined;
|
|
78526
|
+
this._maxObject = undefined;
|
|
78527
|
+
this.maxLength = undefined;
|
|
78528
|
+
this.min = undefined;
|
|
78529
|
+
this._minObject = undefined;
|
|
78530
|
+
this.minLength = undefined;
|
|
78914
78531
|
this.noValidate = false;
|
|
78915
|
-
this.
|
|
78532
|
+
this.onDark = false;
|
|
78533
|
+
// Raw values returned from the input mask before model normalization.
|
|
78534
|
+
this._rawMaskValue = undefined;
|
|
78535
|
+
this.required = false;
|
|
78536
|
+
this.setCustomValidityForType = undefined;
|
|
78537
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
78538
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
78539
|
+
/** @private */
|
|
78916
78540
|
this.setSelectionInputTypes = [
|
|
78917
78541
|
"text",
|
|
78918
78542
|
"password",
|
|
78919
78543
|
"email"
|
|
78920
|
-
];
|
|
78544
|
+
];
|
|
78545
|
+
this.shape = 'classic';
|
|
78546
|
+
/** @private */
|
|
78921
78547
|
this.showPassword = false;
|
|
78548
|
+
this.size = 'lg';
|
|
78922
78549
|
this.touched = false;
|
|
78550
|
+
/** @private */
|
|
78923
78551
|
this.uniqueId = new UniqueId().create();
|
|
78552
|
+
/** @private */
|
|
78924
78553
|
this.util = new AuroInputUtilities({
|
|
78925
78554
|
locale: this.locale,
|
|
78926
78555
|
format: this.format
|
|
78927
78556
|
});
|
|
78557
|
+
/** @private */
|
|
78928
78558
|
this.validation = new AuroFormValidation$2();
|
|
78559
|
+
/** @private */
|
|
78929
78560
|
this.validationCCLength = undefined;
|
|
78561
|
+
this.value = undefined;
|
|
78562
|
+
this._valueObject = undefined;
|
|
78930
78563
|
}
|
|
78931
78564
|
|
|
78932
78565
|
// function to define props used within the scope of this component
|
|
@@ -79474,6 +79107,15 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79474
79107
|
|
|
79475
79108
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
79476
79109
|
|
|
79110
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
79111
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
79112
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
79113
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
79114
|
+
// unset.
|
|
79115
|
+
if (this.format) {
|
|
79116
|
+
this.format = this.format.toLowerCase();
|
|
79117
|
+
}
|
|
79118
|
+
|
|
79477
79119
|
// use validity message override if declared when initializing the component
|
|
79478
79120
|
if (this.hasAttribute('setCustomValidity')) {
|
|
79479
79121
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -79907,6 +79549,38 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79907
79549
|
this.touched = true;
|
|
79908
79550
|
this.validation.validate(this);
|
|
79909
79551
|
}
|
|
79552
|
+
|
|
79553
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
79554
|
+
// update that can re-render the input and reset the native cursor; we
|
|
79555
|
+
// capture the caret position before that update commits and restore it
|
|
79556
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
79557
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
79558
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
79559
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
79560
|
+
// on input types that don't support text selection (number, email in
|
|
79561
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
79562
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
79563
|
+
// the gated types currently support it, since the list is a public
|
|
79564
|
+
// property a consumer could mutate.
|
|
79565
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
79566
|
+
let selectionStart;
|
|
79567
|
+
try {
|
|
79568
|
+
selectionStart = this.inputElement.selectionStart;
|
|
79569
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
79570
|
+
return;
|
|
79571
|
+
}
|
|
79572
|
+
if (typeof selectionStart !== 'number') {
|
|
79573
|
+
return;
|
|
79574
|
+
}
|
|
79575
|
+
this.updateComplete.then(() => {
|
|
79576
|
+
try {
|
|
79577
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
79578
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
79579
|
+
// Some input types (number/email in certain UAs) throw on
|
|
79580
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
79581
|
+
}
|
|
79582
|
+
});
|
|
79583
|
+
}
|
|
79910
79584
|
}
|
|
79911
79585
|
|
|
79912
79586
|
/**
|
|
@@ -80533,7 +80207,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
80533
80207
|
}
|
|
80534
80208
|
};
|
|
80535
80209
|
|
|
80536
|
-
var formkitVersion$1$1 = '
|
|
80210
|
+
var formkitVersion$1$1 = '202606252337';
|
|
80537
80211
|
|
|
80538
80212
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
80539
80213
|
// See LICENSE in the project root for license information.
|
|
@@ -81036,6 +80710,7 @@ class AuroInput extends BaseInput {
|
|
|
81036
80710
|
<${this.buttonTag}
|
|
81037
80711
|
@click="${this.handleClickShowPassword}"
|
|
81038
80712
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
80713
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
81039
80714
|
class="notificationBtn passwordBtn"
|
|
81040
80715
|
shape="circle"
|
|
81041
80716
|
size="sm"
|
|
@@ -81109,25 +80784,29 @@ class AuroInput extends BaseInput {
|
|
|
81109
80784
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
81110
80785
|
*/
|
|
81111
80786
|
renderHtmlHelpText() {
|
|
80787
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
80788
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
80789
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
80790
|
+
// re-announce because the live-region element it was watching had been
|
|
80791
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
80792
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
80793
|
+
// observe and announce.
|
|
80794
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
81112
80795
|
return u$c`
|
|
81113
|
-
|
|
81114
|
-
?
|
|
81115
|
-
|
|
81116
|
-
|
|
81117
|
-
|
|
81118
|
-
|
|
81119
|
-
|
|
81120
|
-
|
|
81121
|
-
|
|
81122
|
-
|
|
81123
|
-
|
|
81124
|
-
|
|
81125
|
-
|
|
81126
|
-
|
|
81127
|
-
</p>
|
|
81128
|
-
</${this.helpTextTag}>
|
|
81129
|
-
`
|
|
81130
|
-
}
|
|
80796
|
+
<${this.helpTextTag}
|
|
80797
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
80798
|
+
?error=${isError}>
|
|
80799
|
+
<p
|
|
80800
|
+
id="${this.uniqueId}"
|
|
80801
|
+
part="helpText"
|
|
80802
|
+
role="${o$4(isError ? 'alert' : undefined)}"
|
|
80803
|
+
aria-live="${o$4(isError ? 'assertive' : undefined)}">
|
|
80804
|
+
${isError
|
|
80805
|
+
? this.errorMessage
|
|
80806
|
+
: u$c`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
80807
|
+
}
|
|
80808
|
+
</p>
|
|
80809
|
+
</${this.helpTextTag}>
|
|
81131
80810
|
`;
|
|
81132
80811
|
}
|
|
81133
80812
|
|
|
@@ -81654,7 +81333,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
81654
81333
|
}
|
|
81655
81334
|
};
|
|
81656
81335
|
|
|
81657
|
-
var formkitVersion$3 = '
|
|
81336
|
+
var formkitVersion$3 = '202606252337';
|
|
81658
81337
|
|
|
81659
81338
|
var styleCss$1$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
81660
81339
|
|
|
@@ -90445,7 +90124,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
90445
90124
|
}
|
|
90446
90125
|
};
|
|
90447
90126
|
|
|
90448
|
-
var formkitVersion$1 = '
|
|
90127
|
+
var formkitVersion$1 = '202606252337';
|
|
90449
90128
|
|
|
90450
90129
|
class AuroElement extends i$3 {
|
|
90451
90130
|
static get properties() {
|
|
@@ -92466,7 +92145,7 @@ class AuroHelpText extends i$3 {
|
|
|
92466
92145
|
}
|
|
92467
92146
|
}
|
|
92468
92147
|
|
|
92469
|
-
var formkitVersion = '
|
|
92148
|
+
var formkitVersion = '202606252337';
|
|
92470
92149
|
|
|
92471
92150
|
var styleCss = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
92472
92151
|
|