@aurodesignsystem-dev/auro-formkit 0.0.0-pr1514.3 → 0.0.0-pr1514.5
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/bibtemplate/dist/index.js +1 -1
- package/components/bibtemplate/dist/registered.js +1 -1
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.min.js +121 -97
- package/components/combobox/demo/getting-started.min.js +121 -97
- package/components/combobox/demo/index.min.js +121 -97
- package/components/combobox/dist/index.js +120 -96
- package/components/combobox/dist/registered.js +120 -96
- package/components/counter/demo/customize.min.js +11 -3
- package/components/counter/demo/index.min.js +11 -3
- package/components/counter/dist/index.js +11 -3
- package/components/counter/dist/registered.js +11 -3
- package/components/datepicker/demo/customize.min.js +224 -119
- package/components/datepicker/demo/index.min.js +224 -119
- package/components/datepicker/dist/auro-calendar.d.ts +24 -7
- package/components/datepicker/dist/index.js +224 -119
- package/components/datepicker/dist/registered.js +224 -119
- package/components/dropdown/demo/customize.min.js +2 -1
- package/components/dropdown/demo/getting-started.min.js +2 -1
- package/components/dropdown/demo/index.min.js +2 -1
- package/components/dropdown/dist/index.js +2 -1
- package/components/dropdown/dist/registered.js +2 -1
- package/components/form/demo/customize.min.js +662 -378
- package/components/form/demo/getting-started.min.js +662 -378
- package/components/form/demo/index.min.js +662 -378
- package/components/form/demo/registerDemoDeps.min.js +662 -378
- package/components/input/demo/api.md +5 -5
- package/components/input/demo/customize.md +8 -8
- package/components/input/demo/customize.min.js +116 -93
- package/components/input/demo/getting-started.min.js +116 -93
- package/components/input/demo/index.min.js +116 -93
- 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/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.min.js +187 -63
- package/components/select/demo/getting-started.min.js +187 -63
- package/components/select/demo/index.min.js +187 -63
- package/components/select/demo/keyboard-behavior.md +18 -4
- package/components/select/dist/auro-select.d.ts +20 -8
- package/components/select/dist/index.js +187 -63
- package/components/select/dist/registered.js +187 -63
- package/custom-elements.json +1940 -1734
- package/package.json +1 -1
|
@@ -4806,7 +4806,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
4806
4806
|
}
|
|
4807
4807
|
};
|
|
4808
4808
|
|
|
4809
|
-
var formkitVersion$2 = '
|
|
4809
|
+
var formkitVersion$2 = '202606291930';
|
|
4810
4810
|
|
|
4811
4811
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
4812
4812
|
static get properties() {
|
|
@@ -6078,6 +6078,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
6078
6078
|
role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
6079
6079
|
aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
6080
6080
|
aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
6081
|
+
aria-haspopup="${ifDefined(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
|
|
6081
6082
|
aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
6082
6083
|
aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
|
|
6083
6084
|
@focusin="${this.handleFocusin}"
|
|
@@ -16524,6 +16525,13 @@ class AuroInputUtilities {
|
|
|
16524
16525
|
* @returns {string | undefined}
|
|
16525
16526
|
*/
|
|
16526
16527
|
toFormattedValue(valueObject, format) {
|
|
16528
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
16529
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
16530
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
16531
|
+
// as "no format → no display value".
|
|
16532
|
+
if (!format) {
|
|
16533
|
+
return undefined;
|
|
16534
|
+
}
|
|
16527
16535
|
const normalizedFormat = format.toLowerCase();
|
|
16528
16536
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
16529
16537
|
|
|
@@ -16674,79 +16682,18 @@ class BaseInput extends AuroElement$1 {
|
|
|
16674
16682
|
constructor() {
|
|
16675
16683
|
super();
|
|
16676
16684
|
|
|
16677
|
-
|
|
16678
|
-
|
|
16679
|
-
|
|
16680
|
-
|
|
16681
|
-
|
|
16682
|
-
|
|
16683
|
-
|
|
16684
|
-
|
|
16685
|
-
|
|
16686
|
-
|
|
16687
|
-
this.required = false;
|
|
16688
|
-
this.onDark = false;
|
|
16689
|
-
this.setCustomValidityForType = undefined;
|
|
16690
|
-
this.size = 'lg';
|
|
16691
|
-
this.shape = 'classic';
|
|
16692
|
-
this.value = undefined;
|
|
16693
|
-
this._valueObject = undefined;
|
|
16694
|
-
|
|
16695
|
-
this._initializePrivateDefaults();
|
|
16696
|
-
}
|
|
16697
|
-
|
|
16698
|
-
/**
|
|
16699
|
-
* Internal Defaults.
|
|
16700
|
-
* @private
|
|
16701
|
-
* @returns {void}
|
|
16702
|
-
*/
|
|
16703
|
-
_initializePrivateDefaults() {
|
|
16685
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
16686
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
16687
|
+
// exactly once here (previously the constructor + the old
|
|
16688
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
16689
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
16690
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
16691
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
16692
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
16693
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
16694
|
+
// during its own update cycle sees a populated util instance.
|
|
16704
16695
|
this.activeLabel = false;
|
|
16705
|
-
|
|
16706
|
-
this.icon = false;
|
|
16707
|
-
this.disabled = false;
|
|
16708
|
-
this.dvInputOnly = false;
|
|
16709
|
-
this.hideLabelVisually = false;
|
|
16710
|
-
this.max = undefined;
|
|
16711
|
-
this.maxLength = undefined;
|
|
16712
|
-
this.min = undefined;
|
|
16713
|
-
this.minLength = undefined;
|
|
16714
|
-
this.noValidate = false;
|
|
16715
|
-
this.onDark = false;
|
|
16716
|
-
this.required = false;
|
|
16717
|
-
this.setCustomValidityForType = undefined;
|
|
16718
|
-
|
|
16719
|
-
// Used for storing raw values returned from input mask.
|
|
16720
|
-
this._rawMaskValue = undefined;
|
|
16721
|
-
|
|
16722
|
-
/**
|
|
16723
|
-
* @private
|
|
16724
|
-
*/
|
|
16725
|
-
this.layout = 'classic';
|
|
16726
|
-
|
|
16727
|
-
/**
|
|
16728
|
-
* @private
|
|
16729
|
-
*/
|
|
16730
|
-
this.shape = 'classic';
|
|
16731
|
-
|
|
16732
|
-
/**
|
|
16733
|
-
* @private
|
|
16734
|
-
*/
|
|
16735
|
-
this.size = 'lg';
|
|
16736
|
-
|
|
16737
|
-
this.touched = false;
|
|
16738
|
-
this.util = new AuroInputUtilities({
|
|
16739
|
-
locale: "en-US",
|
|
16740
|
-
format: this.format
|
|
16741
|
-
});
|
|
16742
|
-
this.validation = new AuroFormValidation();
|
|
16743
|
-
this.inputIconName = undefined;
|
|
16744
|
-
this.showPassword = false;
|
|
16745
|
-
this.validationCCLength = undefined;
|
|
16746
|
-
this.hasValue = false;
|
|
16747
|
-
this.label = 'Input label is undefined';
|
|
16748
|
-
|
|
16749
|
-
|
|
16696
|
+
/** @private */
|
|
16750
16697
|
this.allowedInputTypes = [
|
|
16751
16698
|
"text",
|
|
16752
16699
|
"number",
|
|
@@ -16755,7 +16702,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
16755
16702
|
"credit-card",
|
|
16756
16703
|
"tel"
|
|
16757
16704
|
];
|
|
16758
|
-
this.
|
|
16705
|
+
this.appearance = "default";
|
|
16706
|
+
/** @private */
|
|
16759
16707
|
this.dateFormatMap = {
|
|
16760
16708
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
16761
16709
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -16772,27 +16720,57 @@ class BaseInput extends AuroElement$1 {
|
|
|
16772
16720
|
'dd/mm': 'dateDDMM',
|
|
16773
16721
|
'mm/dd': 'dateMMDD'
|
|
16774
16722
|
};
|
|
16723
|
+
this.disabled = false;
|
|
16724
|
+
/** @private */
|
|
16775
16725
|
this.domHandler = new DomHandler();
|
|
16776
16726
|
this.dvInputOnly = false;
|
|
16777
16727
|
this.hasValue = false;
|
|
16728
|
+
this.hideLabelVisually = false;
|
|
16729
|
+
this.icon = false;
|
|
16730
|
+
/** @private */
|
|
16778
16731
|
this.inputIconName = undefined;
|
|
16732
|
+
/** @private */
|
|
16779
16733
|
this.label = 'Input label is undefined';
|
|
16734
|
+
this.layout = 'classic';
|
|
16735
|
+
this.locale = 'en-US';
|
|
16736
|
+
this.max = undefined;
|
|
16737
|
+
this._maxObject = undefined;
|
|
16738
|
+
this.maxLength = undefined;
|
|
16739
|
+
this.min = undefined;
|
|
16740
|
+
this._minObject = undefined;
|
|
16741
|
+
this.minLength = undefined;
|
|
16780
16742
|
this.noValidate = false;
|
|
16781
|
-
this.
|
|
16743
|
+
this.onDark = false;
|
|
16744
|
+
// Raw values returned from the input mask before model normalization.
|
|
16745
|
+
this._rawMaskValue = undefined;
|
|
16746
|
+
this.required = false;
|
|
16747
|
+
this.setCustomValidityForType = undefined;
|
|
16748
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
16749
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
16750
|
+
/** @private */
|
|
16782
16751
|
this.setSelectionInputTypes = [
|
|
16783
16752
|
"text",
|
|
16784
16753
|
"password",
|
|
16785
16754
|
"email"
|
|
16786
|
-
];
|
|
16755
|
+
];
|
|
16756
|
+
this.shape = 'classic';
|
|
16757
|
+
/** @private */
|
|
16787
16758
|
this.showPassword = false;
|
|
16759
|
+
this.size = 'lg';
|
|
16788
16760
|
this.touched = false;
|
|
16761
|
+
/** @private */
|
|
16789
16762
|
this.uniqueId = new UniqueId().create();
|
|
16763
|
+
/** @private */
|
|
16790
16764
|
this.util = new AuroInputUtilities({
|
|
16791
16765
|
locale: this.locale,
|
|
16792
16766
|
format: this.format
|
|
16793
16767
|
});
|
|
16768
|
+
/** @private */
|
|
16794
16769
|
this.validation = new AuroFormValidation();
|
|
16770
|
+
/** @private */
|
|
16795
16771
|
this.validationCCLength = undefined;
|
|
16772
|
+
this.value = undefined;
|
|
16773
|
+
this._valueObject = undefined;
|
|
16796
16774
|
}
|
|
16797
16775
|
|
|
16798
16776
|
// function to define props used within the scope of this component
|
|
@@ -17340,6 +17318,15 @@ class BaseInput extends AuroElement$1 {
|
|
|
17340
17318
|
|
|
17341
17319
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
17342
17320
|
|
|
17321
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
17322
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
17323
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
17324
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
17325
|
+
// unset.
|
|
17326
|
+
if (this.format) {
|
|
17327
|
+
this.format = this.format.toLowerCase();
|
|
17328
|
+
}
|
|
17329
|
+
|
|
17343
17330
|
// use validity message override if declared when initializing the component
|
|
17344
17331
|
if (this.hasAttribute('setCustomValidity')) {
|
|
17345
17332
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -17773,6 +17760,38 @@ class BaseInput extends AuroElement$1 {
|
|
|
17773
17760
|
this.touched = true;
|
|
17774
17761
|
this.validation.validate(this);
|
|
17775
17762
|
}
|
|
17763
|
+
|
|
17764
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
17765
|
+
// update that can re-render the input and reset the native cursor; we
|
|
17766
|
+
// capture the caret position before that update commits and restore it
|
|
17767
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
17768
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
17769
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
17770
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
17771
|
+
// on input types that don't support text selection (number, email in
|
|
17772
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
17773
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
17774
|
+
// the gated types currently support it, since the list is a public
|
|
17775
|
+
// property a consumer could mutate.
|
|
17776
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
17777
|
+
let selectionStart;
|
|
17778
|
+
try {
|
|
17779
|
+
selectionStart = this.inputElement.selectionStart;
|
|
17780
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
17781
|
+
return;
|
|
17782
|
+
}
|
|
17783
|
+
if (typeof selectionStart !== 'number') {
|
|
17784
|
+
return;
|
|
17785
|
+
}
|
|
17786
|
+
this.updateComplete.then(() => {
|
|
17787
|
+
try {
|
|
17788
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
17789
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
17790
|
+
// Some input types (number/email in certain UAs) throw on
|
|
17791
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
17792
|
+
}
|
|
17793
|
+
});
|
|
17794
|
+
}
|
|
17776
17795
|
}
|
|
17777
17796
|
|
|
17778
17797
|
/**
|
|
@@ -18399,7 +18418,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
18399
18418
|
}
|
|
18400
18419
|
};
|
|
18401
18420
|
|
|
18402
|
-
var formkitVersion$1 = '
|
|
18421
|
+
var formkitVersion$1 = '202606291930';
|
|
18403
18422
|
|
|
18404
18423
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18405
18424
|
// See LICENSE in the project root for license information.
|
|
@@ -18902,6 +18921,7 @@ class AuroInput extends BaseInput {
|
|
|
18902
18921
|
<${this.buttonTag}
|
|
18903
18922
|
@click="${this.handleClickShowPassword}"
|
|
18904
18923
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
18924
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
18905
18925
|
class="notificationBtn passwordBtn"
|
|
18906
18926
|
shape="circle"
|
|
18907
18927
|
size="sm"
|
|
@@ -18975,25 +18995,29 @@ class AuroInput extends BaseInput {
|
|
|
18975
18995
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
18976
18996
|
*/
|
|
18977
18997
|
renderHtmlHelpText() {
|
|
18998
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
18999
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
19000
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
19001
|
+
// re-announce because the live-region element it was watching had been
|
|
19002
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
19003
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
19004
|
+
// observe and announce.
|
|
19005
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
18978
19006
|
return html`
|
|
18979
|
-
|
|
18980
|
-
?
|
|
18981
|
-
|
|
18982
|
-
|
|
18983
|
-
|
|
18984
|
-
|
|
18985
|
-
|
|
18986
|
-
|
|
18987
|
-
|
|
18988
|
-
|
|
18989
|
-
|
|
18990
|
-
appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
18991
|
-
<p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
|
|
18992
|
-
${this.errorMessage}
|
|
18993
|
-
</p>
|
|
18994
|
-
</${this.helpTextTag}>
|
|
18995
|
-
`
|
|
19007
|
+
<${this.helpTextTag}
|
|
19008
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
19009
|
+
?error=${isError}>
|
|
19010
|
+
<p
|
|
19011
|
+
id="${this.uniqueId}"
|
|
19012
|
+
part="helpText"
|
|
19013
|
+
role="${ifDefined(isError ? 'alert' : undefined)}"
|
|
19014
|
+
aria-live="${ifDefined(isError ? 'assertive' : undefined)}">
|
|
19015
|
+
${isError
|
|
19016
|
+
? this.errorMessage
|
|
19017
|
+
: html`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
18996
19018
|
}
|
|
19019
|
+
</p>
|
|
19020
|
+
</${this.helpTextTag}>
|
|
18997
19021
|
`;
|
|
18998
19022
|
}
|
|
18999
19023
|
|
|
@@ -19125,7 +19149,7 @@ class AuroInput extends BaseInput {
|
|
|
19125
19149
|
|
|
19126
19150
|
var colorCss$1 = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
|
|
19127
19151
|
|
|
19128
|
-
var styleCss$2 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column;padding:var(--ds-size-200, 1rem);padding-top:var(--ds-size-400, 2rem);padding-bottom:0}#headerContainer .titleRow{display:flex;flex-direction:row;justify-content:space-between;gap:var(--ds-size-100, 0.5rem)}#headerContainer .header{max-width:calc(100vw - var(--ds-size-900, 4.5rem));padding-top:var(--ds-size-200, 1rem)}#headerContainer .subheader{width:100%}#closeButton [auro-icon]{--ds-auro-icon-size: var(--ds-size-500, 2.5rem)}#bodyContainer{position:relative;overflow:auto;flex:1
|
|
19152
|
+
var styleCss$2 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column;padding:var(--ds-size-200, 1rem);padding-top:var(--ds-size-400, 2rem);padding-bottom:0}#headerContainer .titleRow{display:flex;flex-direction:row;justify-content:space-between;gap:var(--ds-size-100, 0.5rem)}#headerContainer .header{max-width:calc(100vw - var(--ds-size-900, 4.5rem));padding-top:var(--ds-size-200, 1rem)}#headerContainer .subheader{width:100%}#closeButton [auro-icon]{--ds-auro-icon-size: var(--ds-size-500, 2.5rem)}#bodyContainer{position:relative;overflow:auto;flex:1}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{padding:var(--ds-size-200, 1rem)}`;
|
|
19129
19153
|
|
|
19130
19154
|
var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
|
|
19131
19155
|
|
|
@@ -19520,7 +19544,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
19520
19544
|
}
|
|
19521
19545
|
}
|
|
19522
19546
|
|
|
19523
|
-
var formkitVersion = '
|
|
19547
|
+
var formkitVersion = '202606291930';
|
|
19524
19548
|
|
|
19525
19549
|
var styleCss$1 = css`.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}`;
|
|
19526
19550
|
|
|
@@ -4806,7 +4806,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
4806
4806
|
}
|
|
4807
4807
|
};
|
|
4808
4808
|
|
|
4809
|
-
var formkitVersion$2 = '
|
|
4809
|
+
var formkitVersion$2 = '202606291930';
|
|
4810
4810
|
|
|
4811
4811
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
4812
4812
|
static get properties() {
|
|
@@ -6078,6 +6078,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
6078
6078
|
role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
6079
6079
|
aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
6080
6080
|
aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
6081
|
+
aria-haspopup="${ifDefined(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
|
|
6081
6082
|
aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
6082
6083
|
aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
|
|
6083
6084
|
@focusin="${this.handleFocusin}"
|
|
@@ -16524,6 +16525,13 @@ class AuroInputUtilities {
|
|
|
16524
16525
|
* @returns {string | undefined}
|
|
16525
16526
|
*/
|
|
16526
16527
|
toFormattedValue(valueObject, format) {
|
|
16528
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
16529
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
16530
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
16531
|
+
// as "no format → no display value".
|
|
16532
|
+
if (!format) {
|
|
16533
|
+
return undefined;
|
|
16534
|
+
}
|
|
16527
16535
|
const normalizedFormat = format.toLowerCase();
|
|
16528
16536
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
16529
16537
|
|
|
@@ -16674,79 +16682,18 @@ class BaseInput extends AuroElement$1 {
|
|
|
16674
16682
|
constructor() {
|
|
16675
16683
|
super();
|
|
16676
16684
|
|
|
16677
|
-
|
|
16678
|
-
|
|
16679
|
-
|
|
16680
|
-
|
|
16681
|
-
|
|
16682
|
-
|
|
16683
|
-
|
|
16684
|
-
|
|
16685
|
-
|
|
16686
|
-
|
|
16687
|
-
this.required = false;
|
|
16688
|
-
this.onDark = false;
|
|
16689
|
-
this.setCustomValidityForType = undefined;
|
|
16690
|
-
this.size = 'lg';
|
|
16691
|
-
this.shape = 'classic';
|
|
16692
|
-
this.value = undefined;
|
|
16693
|
-
this._valueObject = undefined;
|
|
16694
|
-
|
|
16695
|
-
this._initializePrivateDefaults();
|
|
16696
|
-
}
|
|
16697
|
-
|
|
16698
|
-
/**
|
|
16699
|
-
* Internal Defaults.
|
|
16700
|
-
* @private
|
|
16701
|
-
* @returns {void}
|
|
16702
|
-
*/
|
|
16703
|
-
_initializePrivateDefaults() {
|
|
16685
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
16686
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
16687
|
+
// exactly once here (previously the constructor + the old
|
|
16688
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
16689
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
16690
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
16691
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
16692
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
16693
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
16694
|
+
// during its own update cycle sees a populated util instance.
|
|
16704
16695
|
this.activeLabel = false;
|
|
16705
|
-
|
|
16706
|
-
this.icon = false;
|
|
16707
|
-
this.disabled = false;
|
|
16708
|
-
this.dvInputOnly = false;
|
|
16709
|
-
this.hideLabelVisually = false;
|
|
16710
|
-
this.max = undefined;
|
|
16711
|
-
this.maxLength = undefined;
|
|
16712
|
-
this.min = undefined;
|
|
16713
|
-
this.minLength = undefined;
|
|
16714
|
-
this.noValidate = false;
|
|
16715
|
-
this.onDark = false;
|
|
16716
|
-
this.required = false;
|
|
16717
|
-
this.setCustomValidityForType = undefined;
|
|
16718
|
-
|
|
16719
|
-
// Used for storing raw values returned from input mask.
|
|
16720
|
-
this._rawMaskValue = undefined;
|
|
16721
|
-
|
|
16722
|
-
/**
|
|
16723
|
-
* @private
|
|
16724
|
-
*/
|
|
16725
|
-
this.layout = 'classic';
|
|
16726
|
-
|
|
16727
|
-
/**
|
|
16728
|
-
* @private
|
|
16729
|
-
*/
|
|
16730
|
-
this.shape = 'classic';
|
|
16731
|
-
|
|
16732
|
-
/**
|
|
16733
|
-
* @private
|
|
16734
|
-
*/
|
|
16735
|
-
this.size = 'lg';
|
|
16736
|
-
|
|
16737
|
-
this.touched = false;
|
|
16738
|
-
this.util = new AuroInputUtilities({
|
|
16739
|
-
locale: "en-US",
|
|
16740
|
-
format: this.format
|
|
16741
|
-
});
|
|
16742
|
-
this.validation = new AuroFormValidation();
|
|
16743
|
-
this.inputIconName = undefined;
|
|
16744
|
-
this.showPassword = false;
|
|
16745
|
-
this.validationCCLength = undefined;
|
|
16746
|
-
this.hasValue = false;
|
|
16747
|
-
this.label = 'Input label is undefined';
|
|
16748
|
-
|
|
16749
|
-
|
|
16696
|
+
/** @private */
|
|
16750
16697
|
this.allowedInputTypes = [
|
|
16751
16698
|
"text",
|
|
16752
16699
|
"number",
|
|
@@ -16755,7 +16702,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
16755
16702
|
"credit-card",
|
|
16756
16703
|
"tel"
|
|
16757
16704
|
];
|
|
16758
|
-
this.
|
|
16705
|
+
this.appearance = "default";
|
|
16706
|
+
/** @private */
|
|
16759
16707
|
this.dateFormatMap = {
|
|
16760
16708
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
16761
16709
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -16772,27 +16720,57 @@ class BaseInput extends AuroElement$1 {
|
|
|
16772
16720
|
'dd/mm': 'dateDDMM',
|
|
16773
16721
|
'mm/dd': 'dateMMDD'
|
|
16774
16722
|
};
|
|
16723
|
+
this.disabled = false;
|
|
16724
|
+
/** @private */
|
|
16775
16725
|
this.domHandler = new DomHandler();
|
|
16776
16726
|
this.dvInputOnly = false;
|
|
16777
16727
|
this.hasValue = false;
|
|
16728
|
+
this.hideLabelVisually = false;
|
|
16729
|
+
this.icon = false;
|
|
16730
|
+
/** @private */
|
|
16778
16731
|
this.inputIconName = undefined;
|
|
16732
|
+
/** @private */
|
|
16779
16733
|
this.label = 'Input label is undefined';
|
|
16734
|
+
this.layout = 'classic';
|
|
16735
|
+
this.locale = 'en-US';
|
|
16736
|
+
this.max = undefined;
|
|
16737
|
+
this._maxObject = undefined;
|
|
16738
|
+
this.maxLength = undefined;
|
|
16739
|
+
this.min = undefined;
|
|
16740
|
+
this._minObject = undefined;
|
|
16741
|
+
this.minLength = undefined;
|
|
16780
16742
|
this.noValidate = false;
|
|
16781
|
-
this.
|
|
16743
|
+
this.onDark = false;
|
|
16744
|
+
// Raw values returned from the input mask before model normalization.
|
|
16745
|
+
this._rawMaskValue = undefined;
|
|
16746
|
+
this.required = false;
|
|
16747
|
+
this.setCustomValidityForType = undefined;
|
|
16748
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
16749
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
16750
|
+
/** @private */
|
|
16782
16751
|
this.setSelectionInputTypes = [
|
|
16783
16752
|
"text",
|
|
16784
16753
|
"password",
|
|
16785
16754
|
"email"
|
|
16786
|
-
];
|
|
16755
|
+
];
|
|
16756
|
+
this.shape = 'classic';
|
|
16757
|
+
/** @private */
|
|
16787
16758
|
this.showPassword = false;
|
|
16759
|
+
this.size = 'lg';
|
|
16788
16760
|
this.touched = false;
|
|
16761
|
+
/** @private */
|
|
16789
16762
|
this.uniqueId = new UniqueId().create();
|
|
16763
|
+
/** @private */
|
|
16790
16764
|
this.util = new AuroInputUtilities({
|
|
16791
16765
|
locale: this.locale,
|
|
16792
16766
|
format: this.format
|
|
16793
16767
|
});
|
|
16768
|
+
/** @private */
|
|
16794
16769
|
this.validation = new AuroFormValidation();
|
|
16770
|
+
/** @private */
|
|
16795
16771
|
this.validationCCLength = undefined;
|
|
16772
|
+
this.value = undefined;
|
|
16773
|
+
this._valueObject = undefined;
|
|
16796
16774
|
}
|
|
16797
16775
|
|
|
16798
16776
|
// function to define props used within the scope of this component
|
|
@@ -17340,6 +17318,15 @@ class BaseInput extends AuroElement$1 {
|
|
|
17340
17318
|
|
|
17341
17319
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
17342
17320
|
|
|
17321
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
17322
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
17323
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
17324
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
17325
|
+
// unset.
|
|
17326
|
+
if (this.format) {
|
|
17327
|
+
this.format = this.format.toLowerCase();
|
|
17328
|
+
}
|
|
17329
|
+
|
|
17343
17330
|
// use validity message override if declared when initializing the component
|
|
17344
17331
|
if (this.hasAttribute('setCustomValidity')) {
|
|
17345
17332
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -17773,6 +17760,38 @@ class BaseInput extends AuroElement$1 {
|
|
|
17773
17760
|
this.touched = true;
|
|
17774
17761
|
this.validation.validate(this);
|
|
17775
17762
|
}
|
|
17763
|
+
|
|
17764
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
17765
|
+
// update that can re-render the input and reset the native cursor; we
|
|
17766
|
+
// capture the caret position before that update commits and restore it
|
|
17767
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
17768
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
17769
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
17770
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
17771
|
+
// on input types that don't support text selection (number, email in
|
|
17772
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
17773
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
17774
|
+
// the gated types currently support it, since the list is a public
|
|
17775
|
+
// property a consumer could mutate.
|
|
17776
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
17777
|
+
let selectionStart;
|
|
17778
|
+
try {
|
|
17779
|
+
selectionStart = this.inputElement.selectionStart;
|
|
17780
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
17781
|
+
return;
|
|
17782
|
+
}
|
|
17783
|
+
if (typeof selectionStart !== 'number') {
|
|
17784
|
+
return;
|
|
17785
|
+
}
|
|
17786
|
+
this.updateComplete.then(() => {
|
|
17787
|
+
try {
|
|
17788
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
17789
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
17790
|
+
// Some input types (number/email in certain UAs) throw on
|
|
17791
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
17792
|
+
}
|
|
17793
|
+
});
|
|
17794
|
+
}
|
|
17776
17795
|
}
|
|
17777
17796
|
|
|
17778
17797
|
/**
|
|
@@ -18399,7 +18418,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
18399
18418
|
}
|
|
18400
18419
|
};
|
|
18401
18420
|
|
|
18402
|
-
var formkitVersion$1 = '
|
|
18421
|
+
var formkitVersion$1 = '202606291930';
|
|
18403
18422
|
|
|
18404
18423
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18405
18424
|
// See LICENSE in the project root for license information.
|
|
@@ -18902,6 +18921,7 @@ class AuroInput extends BaseInput {
|
|
|
18902
18921
|
<${this.buttonTag}
|
|
18903
18922
|
@click="${this.handleClickShowPassword}"
|
|
18904
18923
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
18924
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
18905
18925
|
class="notificationBtn passwordBtn"
|
|
18906
18926
|
shape="circle"
|
|
18907
18927
|
size="sm"
|
|
@@ -18975,25 +18995,29 @@ class AuroInput extends BaseInput {
|
|
|
18975
18995
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
18976
18996
|
*/
|
|
18977
18997
|
renderHtmlHelpText() {
|
|
18998
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
18999
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
19000
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
19001
|
+
// re-announce because the live-region element it was watching had been
|
|
19002
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
19003
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
19004
|
+
// observe and announce.
|
|
19005
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
18978
19006
|
return html`
|
|
18979
|
-
|
|
18980
|
-
?
|
|
18981
|
-
|
|
18982
|
-
|
|
18983
|
-
|
|
18984
|
-
|
|
18985
|
-
|
|
18986
|
-
|
|
18987
|
-
|
|
18988
|
-
|
|
18989
|
-
|
|
18990
|
-
appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
18991
|
-
<p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
|
|
18992
|
-
${this.errorMessage}
|
|
18993
|
-
</p>
|
|
18994
|
-
</${this.helpTextTag}>
|
|
18995
|
-
`
|
|
19007
|
+
<${this.helpTextTag}
|
|
19008
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
19009
|
+
?error=${isError}>
|
|
19010
|
+
<p
|
|
19011
|
+
id="${this.uniqueId}"
|
|
19012
|
+
part="helpText"
|
|
19013
|
+
role="${ifDefined(isError ? 'alert' : undefined)}"
|
|
19014
|
+
aria-live="${ifDefined(isError ? 'assertive' : undefined)}">
|
|
19015
|
+
${isError
|
|
19016
|
+
? this.errorMessage
|
|
19017
|
+
: html`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
18996
19018
|
}
|
|
19019
|
+
</p>
|
|
19020
|
+
</${this.helpTextTag}>
|
|
18997
19021
|
`;
|
|
18998
19022
|
}
|
|
18999
19023
|
|
|
@@ -19125,7 +19149,7 @@ class AuroInput extends BaseInput {
|
|
|
19125
19149
|
|
|
19126
19150
|
var colorCss$1 = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
|
|
19127
19151
|
|
|
19128
|
-
var styleCss$2 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column;padding:var(--ds-size-200, 1rem);padding-top:var(--ds-size-400, 2rem);padding-bottom:0}#headerContainer .titleRow{display:flex;flex-direction:row;justify-content:space-between;gap:var(--ds-size-100, 0.5rem)}#headerContainer .header{max-width:calc(100vw - var(--ds-size-900, 4.5rem));padding-top:var(--ds-size-200, 1rem)}#headerContainer .subheader{width:100%}#closeButton [auro-icon]{--ds-auro-icon-size: var(--ds-size-500, 2.5rem)}#bodyContainer{position:relative;overflow:auto;flex:1
|
|
19152
|
+
var styleCss$2 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column;padding:var(--ds-size-200, 1rem);padding-top:var(--ds-size-400, 2rem);padding-bottom:0}#headerContainer .titleRow{display:flex;flex-direction:row;justify-content:space-between;gap:var(--ds-size-100, 0.5rem)}#headerContainer .header{max-width:calc(100vw - var(--ds-size-900, 4.5rem));padding-top:var(--ds-size-200, 1rem)}#headerContainer .subheader{width:100%}#closeButton [auro-icon]{--ds-auro-icon-size: var(--ds-size-500, 2.5rem)}#bodyContainer{position:relative;overflow:auto;flex:1}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{padding:var(--ds-size-200, 1rem)}`;
|
|
19129
19153
|
|
|
19130
19154
|
var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
|
|
19131
19155
|
|
|
@@ -19520,7 +19544,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
19520
19544
|
}
|
|
19521
19545
|
}
|
|
19522
19546
|
|
|
19523
|
-
var formkitVersion = '
|
|
19547
|
+
var formkitVersion = '202606291930';
|
|
19524
19548
|
|
|
19525
19549
|
var styleCss$1 = css`.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}`;
|
|
19526
19550
|
|