@aurodesignsystem-dev/auro-formkit 0.0.0-pr1514.1 → 0.0.0-pr1514.11
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 +262 -134
- package/components/datepicker/demo/index.min.js +262 -134
- package/components/datepicker/dist/auro-calendar.d.ts +30 -5
- package/components/datepicker/dist/index.js +262 -134
- package/components/datepicker/dist/registered.js +262 -134
- 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 +700 -393
- package/components/form/demo/getting-started.min.js +700 -393
- package/components/form/demo/index.min.js +700 -393
- package/components/form/demo/registerDemoDeps.min.js +700 -393
- 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.md +86 -0
- package/components/select/demo/customize.min.js +187 -63
- package/components/select/demo/getting-started.min.js +189 -110
- 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 +558 -342
- package/package.json +1 -1
|
@@ -4873,7 +4873,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
4873
4873
|
}
|
|
4874
4874
|
};
|
|
4875
4875
|
|
|
4876
|
-
var formkitVersion$2 = '
|
|
4876
|
+
var formkitVersion$2 = '202606292042';
|
|
4877
4877
|
|
|
4878
4878
|
let AuroElement$2 = class AuroElement extends i$3 {
|
|
4879
4879
|
static get properties() {
|
|
@@ -6145,6 +6145,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
6145
6145
|
role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
6146
6146
|
aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
6147
6147
|
aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
6148
|
+
aria-haspopup="${o(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
|
|
6148
6149
|
aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
6149
6150
|
aria-disabled="${o(this.disabled ? 'true' : undefined)}"
|
|
6150
6151
|
@focusin="${this.handleFocusin}"
|
|
@@ -16598,6 +16599,13 @@ class AuroInputUtilities {
|
|
|
16598
16599
|
* @returns {string | undefined}
|
|
16599
16600
|
*/
|
|
16600
16601
|
toFormattedValue(valueObject, format) {
|
|
16602
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
16603
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
16604
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
16605
|
+
// as "no format → no display value".
|
|
16606
|
+
if (!format) {
|
|
16607
|
+
return undefined;
|
|
16608
|
+
}
|
|
16601
16609
|
const normalizedFormat = format.toLowerCase();
|
|
16602
16610
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
16603
16611
|
|
|
@@ -16748,79 +16756,18 @@ class BaseInput extends AuroElement$1 {
|
|
|
16748
16756
|
constructor() {
|
|
16749
16757
|
super();
|
|
16750
16758
|
|
|
16751
|
-
|
|
16752
|
-
|
|
16753
|
-
|
|
16754
|
-
|
|
16755
|
-
|
|
16756
|
-
|
|
16757
|
-
|
|
16758
|
-
|
|
16759
|
-
|
|
16760
|
-
|
|
16761
|
-
this.required = false;
|
|
16762
|
-
this.onDark = false;
|
|
16763
|
-
this.setCustomValidityForType = undefined;
|
|
16764
|
-
this.size = 'lg';
|
|
16765
|
-
this.shape = 'classic';
|
|
16766
|
-
this.value = undefined;
|
|
16767
|
-
this._valueObject = undefined;
|
|
16768
|
-
|
|
16769
|
-
this._initializePrivateDefaults();
|
|
16770
|
-
}
|
|
16771
|
-
|
|
16772
|
-
/**
|
|
16773
|
-
* Internal Defaults.
|
|
16774
|
-
* @private
|
|
16775
|
-
* @returns {void}
|
|
16776
|
-
*/
|
|
16777
|
-
_initializePrivateDefaults() {
|
|
16759
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
16760
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
16761
|
+
// exactly once here (previously the constructor + the old
|
|
16762
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
16763
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
16764
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
16765
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
16766
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
16767
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
16768
|
+
// during its own update cycle sees a populated util instance.
|
|
16778
16769
|
this.activeLabel = false;
|
|
16779
|
-
|
|
16780
|
-
this.icon = false;
|
|
16781
|
-
this.disabled = false;
|
|
16782
|
-
this.dvInputOnly = false;
|
|
16783
|
-
this.hideLabelVisually = false;
|
|
16784
|
-
this.max = undefined;
|
|
16785
|
-
this.maxLength = undefined;
|
|
16786
|
-
this.min = undefined;
|
|
16787
|
-
this.minLength = undefined;
|
|
16788
|
-
this.noValidate = false;
|
|
16789
|
-
this.onDark = false;
|
|
16790
|
-
this.required = false;
|
|
16791
|
-
this.setCustomValidityForType = undefined;
|
|
16792
|
-
|
|
16793
|
-
// Used for storing raw values returned from input mask.
|
|
16794
|
-
this._rawMaskValue = undefined;
|
|
16795
|
-
|
|
16796
|
-
/**
|
|
16797
|
-
* @private
|
|
16798
|
-
*/
|
|
16799
|
-
this.layout = 'classic';
|
|
16800
|
-
|
|
16801
|
-
/**
|
|
16802
|
-
* @private
|
|
16803
|
-
*/
|
|
16804
|
-
this.shape = 'classic';
|
|
16805
|
-
|
|
16806
|
-
/**
|
|
16807
|
-
* @private
|
|
16808
|
-
*/
|
|
16809
|
-
this.size = 'lg';
|
|
16810
|
-
|
|
16811
|
-
this.touched = false;
|
|
16812
|
-
this.util = new AuroInputUtilities({
|
|
16813
|
-
locale: "en-US",
|
|
16814
|
-
format: this.format
|
|
16815
|
-
});
|
|
16816
|
-
this.validation = new AuroFormValidation();
|
|
16817
|
-
this.inputIconName = undefined;
|
|
16818
|
-
this.showPassword = false;
|
|
16819
|
-
this.validationCCLength = undefined;
|
|
16820
|
-
this.hasValue = false;
|
|
16821
|
-
this.label = 'Input label is undefined';
|
|
16822
|
-
|
|
16823
|
-
|
|
16770
|
+
/** @private */
|
|
16824
16771
|
this.allowedInputTypes = [
|
|
16825
16772
|
"text",
|
|
16826
16773
|
"number",
|
|
@@ -16829,7 +16776,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
16829
16776
|
"credit-card",
|
|
16830
16777
|
"tel"
|
|
16831
16778
|
];
|
|
16832
|
-
this.
|
|
16779
|
+
this.appearance = "default";
|
|
16780
|
+
/** @private */
|
|
16833
16781
|
this.dateFormatMap = {
|
|
16834
16782
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
16835
16783
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -16846,27 +16794,57 @@ class BaseInput extends AuroElement$1 {
|
|
|
16846
16794
|
'dd/mm': 'dateDDMM',
|
|
16847
16795
|
'mm/dd': 'dateMMDD'
|
|
16848
16796
|
};
|
|
16797
|
+
this.disabled = false;
|
|
16798
|
+
/** @private */
|
|
16849
16799
|
this.domHandler = new DomHandler();
|
|
16850
16800
|
this.dvInputOnly = false;
|
|
16851
16801
|
this.hasValue = false;
|
|
16802
|
+
this.hideLabelVisually = false;
|
|
16803
|
+
this.icon = false;
|
|
16804
|
+
/** @private */
|
|
16852
16805
|
this.inputIconName = undefined;
|
|
16806
|
+
/** @private */
|
|
16853
16807
|
this.label = 'Input label is undefined';
|
|
16808
|
+
this.layout = 'classic';
|
|
16809
|
+
this.locale = 'en-US';
|
|
16810
|
+
this.max = undefined;
|
|
16811
|
+
this._maxObject = undefined;
|
|
16812
|
+
this.maxLength = undefined;
|
|
16813
|
+
this.min = undefined;
|
|
16814
|
+
this._minObject = undefined;
|
|
16815
|
+
this.minLength = undefined;
|
|
16854
16816
|
this.noValidate = false;
|
|
16855
|
-
this.
|
|
16817
|
+
this.onDark = false;
|
|
16818
|
+
// Raw values returned from the input mask before model normalization.
|
|
16819
|
+
this._rawMaskValue = undefined;
|
|
16820
|
+
this.required = false;
|
|
16821
|
+
this.setCustomValidityForType = undefined;
|
|
16822
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
16823
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
16824
|
+
/** @private */
|
|
16856
16825
|
this.setSelectionInputTypes = [
|
|
16857
16826
|
"text",
|
|
16858
16827
|
"password",
|
|
16859
16828
|
"email"
|
|
16860
|
-
];
|
|
16829
|
+
];
|
|
16830
|
+
this.shape = 'classic';
|
|
16831
|
+
/** @private */
|
|
16861
16832
|
this.showPassword = false;
|
|
16833
|
+
this.size = 'lg';
|
|
16862
16834
|
this.touched = false;
|
|
16835
|
+
/** @private */
|
|
16863
16836
|
this.uniqueId = new UniqueId().create();
|
|
16837
|
+
/** @private */
|
|
16864
16838
|
this.util = new AuroInputUtilities({
|
|
16865
16839
|
locale: this.locale,
|
|
16866
16840
|
format: this.format
|
|
16867
16841
|
});
|
|
16842
|
+
/** @private */
|
|
16868
16843
|
this.validation = new AuroFormValidation();
|
|
16844
|
+
/** @private */
|
|
16869
16845
|
this.validationCCLength = undefined;
|
|
16846
|
+
this.value = undefined;
|
|
16847
|
+
this._valueObject = undefined;
|
|
16870
16848
|
}
|
|
16871
16849
|
|
|
16872
16850
|
// function to define props used within the scope of this component
|
|
@@ -17414,6 +17392,15 @@ class BaseInput extends AuroElement$1 {
|
|
|
17414
17392
|
|
|
17415
17393
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
17416
17394
|
|
|
17395
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
17396
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
17397
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
17398
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
17399
|
+
// unset.
|
|
17400
|
+
if (this.format) {
|
|
17401
|
+
this.format = this.format.toLowerCase();
|
|
17402
|
+
}
|
|
17403
|
+
|
|
17417
17404
|
// use validity message override if declared when initializing the component
|
|
17418
17405
|
if (this.hasAttribute('setCustomValidity')) {
|
|
17419
17406
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -17847,6 +17834,38 @@ class BaseInput extends AuroElement$1 {
|
|
|
17847
17834
|
this.touched = true;
|
|
17848
17835
|
this.validation.validate(this);
|
|
17849
17836
|
}
|
|
17837
|
+
|
|
17838
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
17839
|
+
// update that can re-render the input and reset the native cursor; we
|
|
17840
|
+
// capture the caret position before that update commits and restore it
|
|
17841
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
17842
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
17843
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
17844
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
17845
|
+
// on input types that don't support text selection (number, email in
|
|
17846
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
17847
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
17848
|
+
// the gated types currently support it, since the list is a public
|
|
17849
|
+
// property a consumer could mutate.
|
|
17850
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
17851
|
+
let selectionStart;
|
|
17852
|
+
try {
|
|
17853
|
+
selectionStart = this.inputElement.selectionStart;
|
|
17854
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
17855
|
+
return;
|
|
17856
|
+
}
|
|
17857
|
+
if (typeof selectionStart !== 'number') {
|
|
17858
|
+
return;
|
|
17859
|
+
}
|
|
17860
|
+
this.updateComplete.then(() => {
|
|
17861
|
+
try {
|
|
17862
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
17863
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
17864
|
+
// Some input types (number/email in certain UAs) throw on
|
|
17865
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
17866
|
+
}
|
|
17867
|
+
});
|
|
17868
|
+
}
|
|
17850
17869
|
}
|
|
17851
17870
|
|
|
17852
17871
|
/**
|
|
@@ -18473,7 +18492,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
18473
18492
|
}
|
|
18474
18493
|
};
|
|
18475
18494
|
|
|
18476
|
-
var formkitVersion$1 = '
|
|
18495
|
+
var formkitVersion$1 = '202606292042';
|
|
18477
18496
|
|
|
18478
18497
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18479
18498
|
// See LICENSE in the project root for license information.
|
|
@@ -18976,6 +18995,7 @@ class AuroInput extends BaseInput {
|
|
|
18976
18995
|
<${this.buttonTag}
|
|
18977
18996
|
@click="${this.handleClickShowPassword}"
|
|
18978
18997
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
18998
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
18979
18999
|
class="notificationBtn passwordBtn"
|
|
18980
19000
|
shape="circle"
|
|
18981
19001
|
size="sm"
|
|
@@ -19049,25 +19069,29 @@ class AuroInput extends BaseInput {
|
|
|
19049
19069
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
19050
19070
|
*/
|
|
19051
19071
|
renderHtmlHelpText() {
|
|
19072
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
19073
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
19074
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
19075
|
+
// re-announce because the live-region element it was watching had been
|
|
19076
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
19077
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
19078
|
+
// observe and announce.
|
|
19079
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
19052
19080
|
return u$7`
|
|
19053
|
-
|
|
19054
|
-
?
|
|
19055
|
-
|
|
19056
|
-
|
|
19057
|
-
|
|
19058
|
-
|
|
19059
|
-
|
|
19060
|
-
|
|
19061
|
-
|
|
19062
|
-
|
|
19063
|
-
|
|
19064
|
-
|
|
19065
|
-
|
|
19066
|
-
|
|
19067
|
-
</p>
|
|
19068
|
-
</${this.helpTextTag}>
|
|
19069
|
-
`
|
|
19070
|
-
}
|
|
19081
|
+
<${this.helpTextTag}
|
|
19082
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
19083
|
+
?error=${isError}>
|
|
19084
|
+
<p
|
|
19085
|
+
id="${this.uniqueId}"
|
|
19086
|
+
part="helpText"
|
|
19087
|
+
role="${o(isError ? 'alert' : undefined)}"
|
|
19088
|
+
aria-live="${o(isError ? 'assertive' : undefined)}">
|
|
19089
|
+
${isError
|
|
19090
|
+
? this.errorMessage
|
|
19091
|
+
: u$7`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
19092
|
+
}
|
|
19093
|
+
</p>
|
|
19094
|
+
</${this.helpTextTag}>
|
|
19071
19095
|
`;
|
|
19072
19096
|
}
|
|
19073
19097
|
|
|
@@ -19199,7 +19223,7 @@ class AuroInput extends BaseInput {
|
|
|
19199
19223
|
|
|
19200
19224
|
var colorCss$3 = i$6`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
|
|
19201
19225
|
|
|
19202
|
-
var styleCss$4 = i$6`#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
|
|
19226
|
+
var styleCss$4 = i$6`#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)}`;
|
|
19203
19227
|
|
|
19204
19228
|
var tokenCss = i$6`: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)}`;
|
|
19205
19229
|
|
|
@@ -19594,7 +19618,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
19594
19618
|
}
|
|
19595
19619
|
}
|
|
19596
19620
|
|
|
19597
|
-
var formkitVersion = '
|
|
19621
|
+
var formkitVersion = '202606292042';
|
|
19598
19622
|
|
|
19599
19623
|
var styleCss$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}`;
|
|
19600
19624
|
|
|
@@ -4888,7 +4888,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
4888
4888
|
}
|
|
4889
4889
|
};
|
|
4890
4890
|
|
|
4891
|
-
var formkitVersion$2 = '
|
|
4891
|
+
var formkitVersion$2 = '202606292042';
|
|
4892
4892
|
|
|
4893
4893
|
let AuroElement$2 = class AuroElement extends i$3 {
|
|
4894
4894
|
static get properties() {
|
|
@@ -6160,6 +6160,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
6160
6160
|
role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
6161
6161
|
aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
6162
6162
|
aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
6163
|
+
aria-haspopup="${o(this.a11yRole === 'combobox' && !this.triggerContentFocusable ? 'listbox' : undefined)}"
|
|
6163
6164
|
aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
6164
6165
|
aria-disabled="${o(this.disabled ? 'true' : undefined)}"
|
|
6165
6166
|
@focusin="${this.handleFocusin}"
|
|
@@ -16613,6 +16614,13 @@ class AuroInputUtilities {
|
|
|
16613
16614
|
* @returns {string | undefined}
|
|
16614
16615
|
*/
|
|
16615
16616
|
toFormattedValue(valueObject, format) {
|
|
16617
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
16618
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
16619
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
16620
|
+
// as "no format → no display value".
|
|
16621
|
+
if (!format) {
|
|
16622
|
+
return undefined;
|
|
16623
|
+
}
|
|
16616
16624
|
const normalizedFormat = format.toLowerCase();
|
|
16617
16625
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
16618
16626
|
|
|
@@ -16763,79 +16771,18 @@ class BaseInput extends AuroElement$1 {
|
|
|
16763
16771
|
constructor() {
|
|
16764
16772
|
super();
|
|
16765
16773
|
|
|
16766
|
-
|
|
16767
|
-
|
|
16768
|
-
|
|
16769
|
-
|
|
16770
|
-
|
|
16771
|
-
|
|
16772
|
-
|
|
16773
|
-
|
|
16774
|
-
|
|
16775
|
-
|
|
16776
|
-
this.required = false;
|
|
16777
|
-
this.onDark = false;
|
|
16778
|
-
this.setCustomValidityForType = undefined;
|
|
16779
|
-
this.size = 'lg';
|
|
16780
|
-
this.shape = 'classic';
|
|
16781
|
-
this.value = undefined;
|
|
16782
|
-
this._valueObject = undefined;
|
|
16783
|
-
|
|
16784
|
-
this._initializePrivateDefaults();
|
|
16785
|
-
}
|
|
16786
|
-
|
|
16787
|
-
/**
|
|
16788
|
-
* Internal Defaults.
|
|
16789
|
-
* @private
|
|
16790
|
-
* @returns {void}
|
|
16791
|
-
*/
|
|
16792
|
-
_initializePrivateDefaults() {
|
|
16774
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
16775
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
16776
|
+
// exactly once here (previously the constructor + the old
|
|
16777
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
16778
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
16779
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
16780
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
16781
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
16782
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
16783
|
+
// during its own update cycle sees a populated util instance.
|
|
16793
16784
|
this.activeLabel = false;
|
|
16794
|
-
|
|
16795
|
-
this.icon = false;
|
|
16796
|
-
this.disabled = false;
|
|
16797
|
-
this.dvInputOnly = false;
|
|
16798
|
-
this.hideLabelVisually = false;
|
|
16799
|
-
this.max = undefined;
|
|
16800
|
-
this.maxLength = undefined;
|
|
16801
|
-
this.min = undefined;
|
|
16802
|
-
this.minLength = undefined;
|
|
16803
|
-
this.noValidate = false;
|
|
16804
|
-
this.onDark = false;
|
|
16805
|
-
this.required = false;
|
|
16806
|
-
this.setCustomValidityForType = undefined;
|
|
16807
|
-
|
|
16808
|
-
// Used for storing raw values returned from input mask.
|
|
16809
|
-
this._rawMaskValue = undefined;
|
|
16810
|
-
|
|
16811
|
-
/**
|
|
16812
|
-
* @private
|
|
16813
|
-
*/
|
|
16814
|
-
this.layout = 'classic';
|
|
16815
|
-
|
|
16816
|
-
/**
|
|
16817
|
-
* @private
|
|
16818
|
-
*/
|
|
16819
|
-
this.shape = 'classic';
|
|
16820
|
-
|
|
16821
|
-
/**
|
|
16822
|
-
* @private
|
|
16823
|
-
*/
|
|
16824
|
-
this.size = 'lg';
|
|
16825
|
-
|
|
16826
|
-
this.touched = false;
|
|
16827
|
-
this.util = new AuroInputUtilities({
|
|
16828
|
-
locale: "en-US",
|
|
16829
|
-
format: this.format
|
|
16830
|
-
});
|
|
16831
|
-
this.validation = new AuroFormValidation();
|
|
16832
|
-
this.inputIconName = undefined;
|
|
16833
|
-
this.showPassword = false;
|
|
16834
|
-
this.validationCCLength = undefined;
|
|
16835
|
-
this.hasValue = false;
|
|
16836
|
-
this.label = 'Input label is undefined';
|
|
16837
|
-
|
|
16838
|
-
|
|
16785
|
+
/** @private */
|
|
16839
16786
|
this.allowedInputTypes = [
|
|
16840
16787
|
"text",
|
|
16841
16788
|
"number",
|
|
@@ -16844,7 +16791,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
16844
16791
|
"credit-card",
|
|
16845
16792
|
"tel"
|
|
16846
16793
|
];
|
|
16847
|
-
this.
|
|
16794
|
+
this.appearance = "default";
|
|
16795
|
+
/** @private */
|
|
16848
16796
|
this.dateFormatMap = {
|
|
16849
16797
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
16850
16798
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -16861,27 +16809,57 @@ class BaseInput extends AuroElement$1 {
|
|
|
16861
16809
|
'dd/mm': 'dateDDMM',
|
|
16862
16810
|
'mm/dd': 'dateMMDD'
|
|
16863
16811
|
};
|
|
16812
|
+
this.disabled = false;
|
|
16813
|
+
/** @private */
|
|
16864
16814
|
this.domHandler = new DomHandler();
|
|
16865
16815
|
this.dvInputOnly = false;
|
|
16866
16816
|
this.hasValue = false;
|
|
16817
|
+
this.hideLabelVisually = false;
|
|
16818
|
+
this.icon = false;
|
|
16819
|
+
/** @private */
|
|
16867
16820
|
this.inputIconName = undefined;
|
|
16821
|
+
/** @private */
|
|
16868
16822
|
this.label = 'Input label is undefined';
|
|
16823
|
+
this.layout = 'classic';
|
|
16824
|
+
this.locale = 'en-US';
|
|
16825
|
+
this.max = undefined;
|
|
16826
|
+
this._maxObject = undefined;
|
|
16827
|
+
this.maxLength = undefined;
|
|
16828
|
+
this.min = undefined;
|
|
16829
|
+
this._minObject = undefined;
|
|
16830
|
+
this.minLength = undefined;
|
|
16869
16831
|
this.noValidate = false;
|
|
16870
|
-
this.
|
|
16832
|
+
this.onDark = false;
|
|
16833
|
+
// Raw values returned from the input mask before model normalization.
|
|
16834
|
+
this._rawMaskValue = undefined;
|
|
16835
|
+
this.required = false;
|
|
16836
|
+
this.setCustomValidityForType = undefined;
|
|
16837
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
16838
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
16839
|
+
/** @private */
|
|
16871
16840
|
this.setSelectionInputTypes = [
|
|
16872
16841
|
"text",
|
|
16873
16842
|
"password",
|
|
16874
16843
|
"email"
|
|
16875
|
-
];
|
|
16844
|
+
];
|
|
16845
|
+
this.shape = 'classic';
|
|
16846
|
+
/** @private */
|
|
16876
16847
|
this.showPassword = false;
|
|
16848
|
+
this.size = 'lg';
|
|
16877
16849
|
this.touched = false;
|
|
16850
|
+
/** @private */
|
|
16878
16851
|
this.uniqueId = new UniqueId().create();
|
|
16852
|
+
/** @private */
|
|
16879
16853
|
this.util = new AuroInputUtilities({
|
|
16880
16854
|
locale: this.locale,
|
|
16881
16855
|
format: this.format
|
|
16882
16856
|
});
|
|
16857
|
+
/** @private */
|
|
16883
16858
|
this.validation = new AuroFormValidation();
|
|
16859
|
+
/** @private */
|
|
16884
16860
|
this.validationCCLength = undefined;
|
|
16861
|
+
this.value = undefined;
|
|
16862
|
+
this._valueObject = undefined;
|
|
16885
16863
|
}
|
|
16886
16864
|
|
|
16887
16865
|
// function to define props used within the scope of this component
|
|
@@ -17429,6 +17407,15 @@ class BaseInput extends AuroElement$1 {
|
|
|
17429
17407
|
|
|
17430
17408
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
17431
17409
|
|
|
17410
|
+
// Normalize the format token to lowercase so case-mixed values supplied
|
|
17411
|
+
// via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
|
|
17412
|
+
// lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
|
|
17413
|
+
// format silently misses the map and leaves `setCustomValidityForType`
|
|
17414
|
+
// unset.
|
|
17415
|
+
if (this.format) {
|
|
17416
|
+
this.format = this.format.toLowerCase();
|
|
17417
|
+
}
|
|
17418
|
+
|
|
17432
17419
|
// use validity message override if declared when initializing the component
|
|
17433
17420
|
if (this.hasAttribute('setCustomValidity')) {
|
|
17434
17421
|
this.ValidityMessageOverride = this.setCustomValidity;
|
|
@@ -17862,6 +17849,38 @@ class BaseInput extends AuroElement$1 {
|
|
|
17862
17849
|
this.touched = true;
|
|
17863
17850
|
this.validation.validate(this);
|
|
17864
17851
|
}
|
|
17852
|
+
|
|
17853
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
17854
|
+
// update that can re-render the input and reset the native cursor; we
|
|
17855
|
+
// capture the caret position before that update commits and restore it
|
|
17856
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
17857
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
17858
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
17859
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
17860
|
+
// on input types that don't support text selection (number, email in
|
|
17861
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
17862
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
17863
|
+
// the gated types currently support it, since the list is a public
|
|
17864
|
+
// property a consumer could mutate.
|
|
17865
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
17866
|
+
let selectionStart;
|
|
17867
|
+
try {
|
|
17868
|
+
selectionStart = this.inputElement.selectionStart;
|
|
17869
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
17870
|
+
return;
|
|
17871
|
+
}
|
|
17872
|
+
if (typeof selectionStart !== 'number') {
|
|
17873
|
+
return;
|
|
17874
|
+
}
|
|
17875
|
+
this.updateComplete.then(() => {
|
|
17876
|
+
try {
|
|
17877
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
17878
|
+
} catch (error) { // eslint-disable-line no-unused-vars
|
|
17879
|
+
// Some input types (number/email in certain UAs) throw on
|
|
17880
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
17881
|
+
}
|
|
17882
|
+
});
|
|
17883
|
+
}
|
|
17865
17884
|
}
|
|
17866
17885
|
|
|
17867
17886
|
/**
|
|
@@ -18488,7 +18507,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
18488
18507
|
}
|
|
18489
18508
|
};
|
|
18490
18509
|
|
|
18491
|
-
var formkitVersion$1 = '
|
|
18510
|
+
var formkitVersion$1 = '202606292042';
|
|
18492
18511
|
|
|
18493
18512
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18494
18513
|
// See LICENSE in the project root for license information.
|
|
@@ -18991,6 +19010,7 @@ class AuroInput extends BaseInput {
|
|
|
18991
19010
|
<${this.buttonTag}
|
|
18992
19011
|
@click="${this.handleClickShowPassword}"
|
|
18993
19012
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
19013
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
18994
19014
|
class="notificationBtn passwordBtn"
|
|
18995
19015
|
shape="circle"
|
|
18996
19016
|
size="sm"
|
|
@@ -19064,25 +19084,29 @@ class AuroInput extends BaseInput {
|
|
|
19064
19084
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
19065
19085
|
*/
|
|
19066
19086
|
renderHtmlHelpText() {
|
|
19087
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
19088
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
19089
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
19090
|
+
// re-announce because the live-region element it was watching had been
|
|
19091
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
19092
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
19093
|
+
// observe and announce.
|
|
19094
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
19067
19095
|
return u$7`
|
|
19068
|
-
|
|
19069
|
-
?
|
|
19070
|
-
|
|
19071
|
-
|
|
19072
|
-
|
|
19073
|
-
|
|
19074
|
-
|
|
19075
|
-
|
|
19076
|
-
|
|
19077
|
-
|
|
19078
|
-
|
|
19079
|
-
|
|
19080
|
-
|
|
19081
|
-
|
|
19082
|
-
</p>
|
|
19083
|
-
</${this.helpTextTag}>
|
|
19084
|
-
`
|
|
19085
|
-
}
|
|
19096
|
+
<${this.helpTextTag}
|
|
19097
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
19098
|
+
?error=${isError}>
|
|
19099
|
+
<p
|
|
19100
|
+
id="${this.uniqueId}"
|
|
19101
|
+
part="helpText"
|
|
19102
|
+
role="${o(isError ? 'alert' : undefined)}"
|
|
19103
|
+
aria-live="${o(isError ? 'assertive' : undefined)}">
|
|
19104
|
+
${isError
|
|
19105
|
+
? this.errorMessage
|
|
19106
|
+
: u$7`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
19107
|
+
}
|
|
19108
|
+
</p>
|
|
19109
|
+
</${this.helpTextTag}>
|
|
19086
19110
|
`;
|
|
19087
19111
|
}
|
|
19088
19112
|
|
|
@@ -19214,7 +19238,7 @@ class AuroInput extends BaseInput {
|
|
|
19214
19238
|
|
|
19215
19239
|
var colorCss$3 = i$6`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
|
|
19216
19240
|
|
|
19217
|
-
var styleCss$4 = i$6`#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
|
|
19241
|
+
var styleCss$4 = i$6`#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)}`;
|
|
19218
19242
|
|
|
19219
19243
|
var tokenCss = i$6`: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)}`;
|
|
19220
19244
|
|
|
@@ -19609,7 +19633,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
19609
19633
|
}
|
|
19610
19634
|
}
|
|
19611
19635
|
|
|
19612
|
-
var formkitVersion = '
|
|
19636
|
+
var formkitVersion = '202606292042';
|
|
19613
19637
|
|
|
19614
19638
|
var styleCss$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}`;
|
|
19615
19639
|
|