@aurodesignsystem-dev/auro-formkit 0.0.0-pr1514.11 → 0.0.0-pr1514.2

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.
Files changed (53) hide show
  1. package/components/bibtemplate/dist/index.js +1 -1
  2. package/components/bibtemplate/dist/registered.js +1 -1
  3. package/components/checkbox/demo/customize.min.js +1 -1
  4. package/components/checkbox/demo/getting-started.min.js +1 -1
  5. package/components/checkbox/demo/index.min.js +1 -1
  6. package/components/checkbox/dist/index.js +1 -1
  7. package/components/checkbox/dist/registered.js +1 -1
  8. package/components/combobox/demo/customize.min.js +97 -121
  9. package/components/combobox/demo/getting-started.min.js +97 -121
  10. package/components/combobox/demo/index.min.js +97 -121
  11. package/components/combobox/dist/index.js +96 -120
  12. package/components/combobox/dist/registered.js +96 -120
  13. package/components/counter/demo/customize.min.js +3 -11
  14. package/components/counter/demo/index.min.js +3 -11
  15. package/components/counter/dist/index.js +3 -11
  16. package/components/counter/dist/registered.js +3 -11
  17. package/components/datepicker/demo/customize.min.js +137 -249
  18. package/components/datepicker/demo/index.min.js +137 -249
  19. package/components/datepicker/dist/auro-calendar.d.ts +7 -26
  20. package/components/datepicker/dist/index.js +137 -249
  21. package/components/datepicker/dist/registered.js +137 -249
  22. package/components/dropdown/demo/customize.min.js +1 -2
  23. package/components/dropdown/demo/getting-started.min.js +1 -2
  24. package/components/dropdown/demo/index.min.js +1 -2
  25. package/components/dropdown/dist/index.js +1 -2
  26. package/components/dropdown/dist/registered.js +1 -2
  27. package/components/form/demo/customize.min.js +396 -687
  28. package/components/form/demo/getting-started.min.js +396 -687
  29. package/components/form/demo/index.min.js +396 -687
  30. package/components/form/demo/registerDemoDeps.min.js +396 -687
  31. package/components/input/demo/api.md +5 -5
  32. package/components/input/demo/customize.md +8 -8
  33. package/components/input/demo/customize.min.js +93 -116
  34. package/components/input/demo/getting-started.min.js +93 -116
  35. package/components/input/demo/index.min.js +93 -116
  36. package/components/input/dist/base-input.d.ts +44 -33
  37. package/components/input/dist/index.js +94 -129
  38. package/components/input/dist/registered.js +93 -116
  39. package/components/radio/demo/customize.min.js +1 -1
  40. package/components/radio/demo/getting-started.min.js +1 -1
  41. package/components/radio/demo/index.min.js +1 -1
  42. package/components/radio/dist/index.js +1 -1
  43. package/components/radio/dist/registered.js +1 -1
  44. package/components/select/demo/customize.md +0 -86
  45. package/components/select/demo/customize.min.js +63 -187
  46. package/components/select/demo/getting-started.min.js +110 -189
  47. package/components/select/demo/index.min.js +63 -187
  48. package/components/select/demo/keyboard-behavior.md +4 -18
  49. package/components/select/dist/auro-select.d.ts +8 -20
  50. package/components/select/dist/index.js +63 -187
  51. package/components/select/dist/registered.js +63 -187
  52. package/custom-elements.json +276 -482
  53. 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 = '202606292042';
4809
+ var formkitVersion$2 = '202606291652';
4810
4810
 
4811
4811
  let AuroElement$2 = class AuroElement extends LitElement {
4812
4812
  static get properties() {
@@ -6078,7 +6078,6 @@ 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)}"
6082
6081
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
6083
6082
  aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
6084
6083
  @focusin="${this.handleFocusin}"
@@ -16525,13 +16524,6 @@ class AuroInputUtilities {
16525
16524
  * @returns {string | undefined}
16526
16525
  */
16527
16526
  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
- }
16535
16527
  const normalizedFormat = format.toLowerCase();
16536
16528
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
16537
16529
 
@@ -16682,18 +16674,79 @@ class BaseInput extends AuroElement$1 {
16682
16674
  constructor() {
16683
16675
  super();
16684
16676
 
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.
16677
+ this.appearance = "default";
16678
+ this.disabled = false;
16679
+ this.layout = 'classic';
16680
+ this.locale = 'en-US';
16681
+ this.max = undefined;
16682
+ this._maxObject = undefined;
16683
+ this.maxLength = undefined;
16684
+ this.min = undefined;
16685
+ this._minObject = undefined;
16686
+ this.minLength = undefined;
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() {
16695
16704
  this.activeLabel = false;
16696
- /** @private */
16705
+ this.appearance = "default";
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
+
16697
16750
  this.allowedInputTypes = [
16698
16751
  "text",
16699
16752
  "number",
@@ -16702,8 +16755,7 @@ class BaseInput extends AuroElement$1 {
16702
16755
  "credit-card",
16703
16756
  "tel"
16704
16757
  ];
16705
- this.appearance = "default";
16706
- /** @private */
16758
+ this.icon = false;
16707
16759
  this.dateFormatMap = {
16708
16760
  'mm/dd/yyyy': 'dateMMDDYYYY',
16709
16761
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -16720,57 +16772,27 @@ class BaseInput extends AuroElement$1 {
16720
16772
  'dd/mm': 'dateDDMM',
16721
16773
  'mm/dd': 'dateMMDD'
16722
16774
  };
16723
- this.disabled = false;
16724
- /** @private */
16725
16775
  this.domHandler = new DomHandler();
16726
16776
  this.dvInputOnly = false;
16727
16777
  this.hasValue = false;
16728
- this.hideLabelVisually = false;
16729
- this.icon = false;
16730
- /** @private */
16731
16778
  this.inputIconName = undefined;
16732
- /** @private */
16733
16779
  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;
16742
16780
  this.noValidate = false;
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 */
16781
+ this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
16751
16782
  this.setSelectionInputTypes = [
16752
16783
  "text",
16753
16784
  "password",
16754
16785
  "email"
16755
- ];
16756
- this.shape = 'classic';
16757
- /** @private */
16786
+ ]; // Credit Card is not included as this caused cursor placement issues in Safari.
16758
16787
  this.showPassword = false;
16759
- this.size = 'lg';
16760
16788
  this.touched = false;
16761
- /** @private */
16762
16789
  this.uniqueId = new UniqueId().create();
16763
- /** @private */
16764
16790
  this.util = new AuroInputUtilities({
16765
16791
  locale: this.locale,
16766
16792
  format: this.format
16767
16793
  });
16768
- /** @private */
16769
16794
  this.validation = new AuroFormValidation();
16770
- /** @private */
16771
16795
  this.validationCCLength = undefined;
16772
- this.value = undefined;
16773
- this._valueObject = undefined;
16774
16796
  }
16775
16797
 
16776
16798
  // function to define props used within the scope of this component
@@ -17318,15 +17340,6 @@ class BaseInput extends AuroElement$1 {
17318
17340
 
17319
17341
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
17320
17342
 
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
-
17330
17343
  // use validity message override if declared when initializing the component
17331
17344
  if (this.hasAttribute('setCustomValidity')) {
17332
17345
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -17760,38 +17773,6 @@ class BaseInput extends AuroElement$1 {
17760
17773
  this.touched = true;
17761
17774
  this.validation.validate(this);
17762
17775
  }
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
- }
17795
17776
  }
17796
17777
 
17797
17778
  /**
@@ -18418,7 +18399,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18418
18399
  }
18419
18400
  };
18420
18401
 
18421
- var formkitVersion$1 = '202606292042';
18402
+ var formkitVersion$1 = '202606291652';
18422
18403
 
18423
18404
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18424
18405
  // See LICENSE in the project root for license information.
@@ -18921,7 +18902,6 @@ class AuroInput extends BaseInput {
18921
18902
  <${this.buttonTag}
18922
18903
  @click="${this.handleClickShowPassword}"
18923
18904
  appearance="${this.onDark ? 'inverse' : this.appearance}"
18924
- aria-pressed="${this.showPassword ? 'true' : 'false'}"
18925
18905
  class="notificationBtn passwordBtn"
18926
18906
  shape="circle"
18927
18907
  size="sm"
@@ -18995,29 +18975,25 @@ class AuroInput extends BaseInput {
18995
18975
  * @returns {html} - Returns HTML for the help text and error message.
18996
18976
  */
18997
18977
  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';
19006
18978
  return html`
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>`
18979
+ ${!this.validity || this.validity === undefined || this.validity === 'valid'
18980
+ ? html`
18981
+ <${this.helpTextTag}
18982
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
18983
+ <p id="${this.uniqueId}" part="helpText">
18984
+ <slot name="helpText">${this.getHelpText()}</slot>
18985
+ </p>
18986
+ </${this.helpTextTag}>
18987
+ `
18988
+ : html`
18989
+ <${this.helpTextTag} error
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
+ `
19018
18996
  }
19019
- </p>
19020
- </${this.helpTextTag}>
19021
18997
  `;
19022
18998
  }
19023
18999
 
@@ -19149,7 +19125,7 @@ class AuroInput extends BaseInput {
19149
19125
 
19150
19126
  var colorCss$1 = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
19151
19127
 
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)}`;
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 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
19153
19129
 
19154
19130
  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)}`;
19155
19131
 
@@ -19544,7 +19520,7 @@ class AuroBibtemplate extends LitElement {
19544
19520
  }
19545
19521
  }
19546
19522
 
19547
- var formkitVersion = '202606292042';
19523
+ var formkitVersion = '202606291652';
19548
19524
 
19549
19525
  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}`;
19550
19526
 
@@ -4806,7 +4806,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4806
4806
  }
4807
4807
  };
4808
4808
 
4809
- var formkitVersion$2 = '202606292042';
4809
+ var formkitVersion$2 = '202606291652';
4810
4810
 
4811
4811
  let AuroElement$2 = class AuroElement extends LitElement {
4812
4812
  static get properties() {
@@ -6078,7 +6078,6 @@ 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)}"
6082
6081
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
6083
6082
  aria-disabled="${ifDefined(this.disabled ? 'true' : undefined)}"
6084
6083
  @focusin="${this.handleFocusin}"
@@ -16525,13 +16524,6 @@ class AuroInputUtilities {
16525
16524
  * @returns {string | undefined}
16526
16525
  */
16527
16526
  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
- }
16535
16527
  const normalizedFormat = format.toLowerCase();
16536
16528
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
16537
16529
 
@@ -16682,18 +16674,79 @@ class BaseInput extends AuroElement$1 {
16682
16674
  constructor() {
16683
16675
  super();
16684
16676
 
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.
16677
+ this.appearance = "default";
16678
+ this.disabled = false;
16679
+ this.layout = 'classic';
16680
+ this.locale = 'en-US';
16681
+ this.max = undefined;
16682
+ this._maxObject = undefined;
16683
+ this.maxLength = undefined;
16684
+ this.min = undefined;
16685
+ this._minObject = undefined;
16686
+ this.minLength = undefined;
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() {
16695
16704
  this.activeLabel = false;
16696
- /** @private */
16705
+ this.appearance = "default";
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
+
16697
16750
  this.allowedInputTypes = [
16698
16751
  "text",
16699
16752
  "number",
@@ -16702,8 +16755,7 @@ class BaseInput extends AuroElement$1 {
16702
16755
  "credit-card",
16703
16756
  "tel"
16704
16757
  ];
16705
- this.appearance = "default";
16706
- /** @private */
16758
+ this.icon = false;
16707
16759
  this.dateFormatMap = {
16708
16760
  'mm/dd/yyyy': 'dateMMDDYYYY',
16709
16761
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -16720,57 +16772,27 @@ class BaseInput extends AuroElement$1 {
16720
16772
  'dd/mm': 'dateDDMM',
16721
16773
  'mm/dd': 'dateMMDD'
16722
16774
  };
16723
- this.disabled = false;
16724
- /** @private */
16725
16775
  this.domHandler = new DomHandler();
16726
16776
  this.dvInputOnly = false;
16727
16777
  this.hasValue = false;
16728
- this.hideLabelVisually = false;
16729
- this.icon = false;
16730
- /** @private */
16731
16778
  this.inputIconName = undefined;
16732
- /** @private */
16733
16779
  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;
16742
16780
  this.noValidate = false;
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 */
16781
+ this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
16751
16782
  this.setSelectionInputTypes = [
16752
16783
  "text",
16753
16784
  "password",
16754
16785
  "email"
16755
- ];
16756
- this.shape = 'classic';
16757
- /** @private */
16786
+ ]; // Credit Card is not included as this caused cursor placement issues in Safari.
16758
16787
  this.showPassword = false;
16759
- this.size = 'lg';
16760
16788
  this.touched = false;
16761
- /** @private */
16762
16789
  this.uniqueId = new UniqueId().create();
16763
- /** @private */
16764
16790
  this.util = new AuroInputUtilities({
16765
16791
  locale: this.locale,
16766
16792
  format: this.format
16767
16793
  });
16768
- /** @private */
16769
16794
  this.validation = new AuroFormValidation();
16770
- /** @private */
16771
16795
  this.validationCCLength = undefined;
16772
- this.value = undefined;
16773
- this._valueObject = undefined;
16774
16796
  }
16775
16797
 
16776
16798
  // function to define props used within the scope of this component
@@ -17318,15 +17340,6 @@ class BaseInput extends AuroElement$1 {
17318
17340
 
17319
17341
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
17320
17342
 
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
-
17330
17343
  // use validity message override if declared when initializing the component
17331
17344
  if (this.hasAttribute('setCustomValidity')) {
17332
17345
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -17760,38 +17773,6 @@ class BaseInput extends AuroElement$1 {
17760
17773
  this.touched = true;
17761
17774
  this.validation.validate(this);
17762
17775
  }
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
- }
17795
17776
  }
17796
17777
 
17797
17778
  /**
@@ -18418,7 +18399,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18418
18399
  }
18419
18400
  };
18420
18401
 
18421
- var formkitVersion$1 = '202606292042';
18402
+ var formkitVersion$1 = '202606291652';
18422
18403
 
18423
18404
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18424
18405
  // See LICENSE in the project root for license information.
@@ -18921,7 +18902,6 @@ class AuroInput extends BaseInput {
18921
18902
  <${this.buttonTag}
18922
18903
  @click="${this.handleClickShowPassword}"
18923
18904
  appearance="${this.onDark ? 'inverse' : this.appearance}"
18924
- aria-pressed="${this.showPassword ? 'true' : 'false'}"
18925
18905
  class="notificationBtn passwordBtn"
18926
18906
  shape="circle"
18927
18907
  size="sm"
@@ -18995,29 +18975,25 @@ class AuroInput extends BaseInput {
18995
18975
  * @returns {html} - Returns HTML for the help text and error message.
18996
18976
  */
18997
18977
  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';
19006
18978
  return html`
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>`
18979
+ ${!this.validity || this.validity === undefined || this.validity === 'valid'
18980
+ ? html`
18981
+ <${this.helpTextTag}
18982
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
18983
+ <p id="${this.uniqueId}" part="helpText">
18984
+ <slot name="helpText">${this.getHelpText()}</slot>
18985
+ </p>
18986
+ </${this.helpTextTag}>
18987
+ `
18988
+ : html`
18989
+ <${this.helpTextTag} error
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
+ `
19018
18996
  }
19019
- </p>
19020
- </${this.helpTextTag}>
19021
18997
  `;
19022
18998
  }
19023
18999
 
@@ -19149,7 +19125,7 @@ class AuroInput extends BaseInput {
19149
19125
 
19150
19126
  var colorCss$1 = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
19151
19127
 
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)}`;
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 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
19153
19129
 
19154
19130
  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)}`;
19155
19131
 
@@ -19544,7 +19520,7 @@ class AuroBibtemplate extends LitElement {
19544
19520
  }
19545
19521
  }
19546
19522
 
19547
- var formkitVersion = '202606292042';
19523
+ var formkitVersion = '202606291652';
19548
19524
 
19549
19525
  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}`;
19550
19526