@aurodesignsystem-dev/auro-formkit 0.0.0-pr1512.0 → 0.0.0-pr1513.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +96 -119
  7. package/components/combobox/demo/getting-started.min.js +96 -119
  8. package/components/combobox/demo/index.min.js +96 -119
  9. package/components/combobox/dist/index.js +95 -118
  10. package/components/combobox/dist/registered.js +95 -118
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +2 -2
  14. package/components/counter/dist/registered.js +2 -2
  15. package/components/datepicker/demo/accessibility.md +2 -1
  16. package/components/datepicker/demo/api.md +63 -62
  17. package/components/datepicker/demo/customize.md +12 -1
  18. package/components/datepicker/demo/customize.min.js +716 -336
  19. package/components/datepicker/demo/index.min.js +716 -336
  20. package/components/datepicker/dist/{src/auro-calendar-cell.d.ts → auro-calendar-cell.d.ts} +14 -3
  21. package/components/datepicker/dist/{src/auro-calendar.d.ts → auro-calendar.d.ts} +91 -6
  22. package/components/datepicker/dist/{src/auro-datepicker.d.ts → auro-datepicker.d.ts} +78 -5
  23. package/components/datepicker/dist/blackoutUtils.d.ts +43 -0
  24. package/components/datepicker/dist/index.js +716 -336
  25. package/components/datepicker/dist/registered.js +716 -336
  26. package/components/dropdown/demo/customize.min.js +1 -1
  27. package/components/dropdown/demo/getting-started.min.js +1 -1
  28. package/components/dropdown/demo/index.min.js +1 -1
  29. package/components/dropdown/dist/index.js +1 -1
  30. package/components/dropdown/dist/registered.js +1 -1
  31. package/components/form/demo/customize.min.js +918 -584
  32. package/components/form/demo/getting-started.min.js +918 -584
  33. package/components/form/demo/index.min.js +918 -584
  34. package/components/form/demo/registerDemoDeps.min.js +918 -584
  35. package/components/input/demo/api.md +5 -5
  36. package/components/input/demo/customize.md +8 -8
  37. package/components/input/demo/customize.min.js +93 -116
  38. package/components/input/demo/getting-started.min.js +93 -116
  39. package/components/input/demo/index.min.js +93 -116
  40. package/components/input/dist/base-input.d.ts +44 -33
  41. package/components/input/dist/index.js +94 -129
  42. package/components/input/dist/registered.js +93 -116
  43. package/components/radio/demo/customize.min.js +1 -1
  44. package/components/radio/demo/getting-started.min.js +1 -1
  45. package/components/radio/demo/index.min.js +1 -1
  46. package/components/radio/dist/index.js +1 -1
  47. package/components/radio/dist/registered.js +1 -1
  48. package/components/select/demo/customize.min.js +2 -2
  49. package/components/select/demo/getting-started.min.js +2 -2
  50. package/components/select/demo/index.min.js +2 -2
  51. package/components/select/dist/index.js +2 -2
  52. package/components/select/dist/registered.js +2 -2
  53. package/custom-elements.json +1996 -1914
  54. package/package.json +6 -2
  55. package/components/checkbox/demo/customize.js +0 -22
  56. package/components/checkbox/demo/demo-support.js +0 -1
  57. package/components/checkbox/demo/getting-started.js +0 -22
  58. package/components/checkbox/demo/index.js +0 -8
  59. package/components/checkbox/demo/styles.scss +0 -1
  60. package/components/combobox/demo/customize.js +0 -24
  61. package/components/combobox/demo/demo-support.js +0 -1
  62. package/components/combobox/demo/getting-started.js +0 -21
  63. package/components/combobox/demo/index.js +0 -23
  64. package/components/combobox/demo/styles.scss +0 -1
  65. package/components/counter/demo/customize.js +0 -21
  66. package/components/counter/demo/demo-support.js +0 -1
  67. package/components/counter/demo/index.js +0 -21
  68. package/components/counter/demo/styles.scss +0 -1
  69. package/components/datepicker/demo/customize.js +0 -17
  70. package/components/datepicker/demo/demo-support.js +0 -1
  71. package/components/datepicker/demo/index.js +0 -23
  72. package/components/datepicker/demo/styles.scss +0 -1
  73. package/components/dropdown/demo/customize.js +0 -9
  74. package/components/dropdown/demo/demo-support.js +0 -1
  75. package/components/dropdown/demo/getting-started.js +0 -9
  76. package/components/dropdown/demo/index.js +0 -16
  77. package/components/dropdown/demo/styles.scss +0 -1
  78. package/components/form/demo/customize.js +0 -28
  79. package/components/form/demo/demo-support.js +0 -1
  80. package/components/form/demo/getting-started.js +0 -9
  81. package/components/form/demo/index.js +0 -5
  82. package/components/form/demo/registerDemoDeps.js +0 -23
  83. package/components/form/demo/styles.scss +0 -1
  84. package/components/input/demo/customize.js +0 -25
  85. package/components/input/demo/demo-support.js +0 -1
  86. package/components/input/demo/getting-started.js +0 -8
  87. package/components/input/demo/index.js +0 -8
  88. package/components/input/demo/styles.css +0 -974
  89. package/components/input/demo/styles.scss +0 -1
  90. package/components/menu/demo/demo-support.js +0 -1
  91. package/components/menu/demo/index.js +0 -25
  92. package/components/menu/demo/styles.scss +0 -1
  93. package/components/radio/demo/customize.js +0 -22
  94. package/components/radio/demo/demo-support.js +0 -1
  95. package/components/radio/demo/getting-started.js +0 -24
  96. package/components/radio/demo/index.js +0 -8
  97. package/components/radio/demo/styles.scss +0 -1
  98. package/components/select/demo/customize.js +0 -11
  99. package/components/select/demo/demo-support.js +0 -1
  100. package/components/select/demo/getting-started.js +0 -26
  101. package/components/select/demo/index.js +0 -11
  102. package/components/select/demo/styles.scss +0 -1
  103. /package/components/datepicker/dist/{src/auro-calendar-month.d.ts → auro-calendar-month.d.ts} +0 -0
  104. /package/components/datepicker/dist/{src/buttonVersion.d.ts → buttonVersion.d.ts} +0 -0
  105. /package/components/datepicker/dist/{src/datepickerKeyboardStrategy.d.ts → datepickerKeyboardStrategy.d.ts} +0 -0
  106. /package/components/datepicker/dist/{src/iconVersion.d.ts → iconVersion.d.ts} +0 -0
  107. /package/components/datepicker/dist/{src/index.d.ts → index.d.ts} +0 -0
  108. /package/components/datepicker/dist/{src/popoverVersion.d.ts → popoverVersion.d.ts} +0 -0
  109. /package/components/datepicker/dist/{src/styles → styles}/classic/color-css.d.ts +0 -0
  110. /package/components/datepicker/dist/{src/styles → styles}/classic/style-css.d.ts +0 -0
  111. /package/components/datepicker/dist/{src/styles → styles}/color-calendar-css.d.ts +0 -0
  112. /package/components/datepicker/dist/{src/styles → styles}/color-cell-css.d.ts +0 -0
  113. /package/components/datepicker/dist/{src/styles → styles}/color-css.d.ts +0 -0
  114. /package/components/datepicker/dist/{src/styles → styles}/color-month-css.d.ts +0 -0
  115. /package/components/datepicker/dist/{src/styles → styles}/shapeSize-css.d.ts +0 -0
  116. /package/components/datepicker/dist/{src/styles → styles}/snowflake/color-css.d.ts +0 -0
  117. /package/components/datepicker/dist/{src/styles → styles}/snowflake/style-css.d.ts +0 -0
  118. /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-cell-css.d.ts +0 -0
  119. /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-css.d.ts +0 -0
  120. /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-month-css.d.ts +0 -0
  121. /package/components/datepicker/dist/{src/styles → styles}/style-css.d.ts +0 -0
  122. /package/components/datepicker/dist/{src/styles → styles}/tokens-css.d.ts +0 -0
  123. /package/components/datepicker/dist/{src/utilities.d.ts → utilities.d.ts} +0 -0
  124. /package/components/datepicker/dist/{src/utilitiesCalendar.d.ts → utilitiesCalendar.d.ts} +0 -0
  125. /package/components/datepicker/dist/{src/utilitiesCalendarRender.d.ts → utilitiesCalendarRender.d.ts} +0 -0
  126. /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/day.d.ts +0 -0
  127. /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-calendar.d.ts +0 -0
  128. /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-cell.d.ts +0 -0
  129. /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker.d.ts +0 -0
@@ -4888,7 +4888,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4888
4888
  }
4889
4889
  };
4890
4890
 
4891
- var formkitVersion$2 = '202606252337';
4891
+ var formkitVersion$2 = '202606291440';
4892
4892
 
4893
4893
  let AuroElement$2 = class AuroElement extends i$3 {
4894
4894
  static get properties() {
@@ -16613,13 +16613,6 @@ class AuroInputUtilities {
16613
16613
  * @returns {string | undefined}
16614
16614
  */
16615
16615
  toFormattedValue(valueObject, format) {
16616
- // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
16617
- // `format` argument has to fail gracefully rather than throw on
16618
- // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
16619
- // as "no format → no display value".
16620
- if (!format) {
16621
- return undefined;
16622
- }
16623
16616
  const normalizedFormat = format.toLowerCase();
16624
16617
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
16625
16618
 
@@ -16770,18 +16763,79 @@ class BaseInput extends AuroElement$1 {
16770
16763
  constructor() {
16771
16764
  super();
16772
16765
 
16773
- // Single-source initialization. Alphabetized so duplicate or stale
16774
- // defaults are immediately obvious on a diff. Every field is assigned
16775
- // exactly once here (previously the constructor + the old
16776
- // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
16777
- // fields and double-allocated `util` and `validation`, discarding the
16778
- // first instance). `validation` is now allocated exactly once; `util`
16779
- // is seeded here with an en-US default and then rebuilt in
16780
- // `connectedCallback` once the consumer-resolved locale is available,
16781
- // so a parent (datepicker/combobox) calling `validate()` synchronously
16782
- // during its own update cycle sees a populated util instance.
16766
+ this.appearance = "default";
16767
+ this.disabled = false;
16768
+ this.layout = 'classic';
16769
+ this.locale = 'en-US';
16770
+ this.max = undefined;
16771
+ this._maxObject = undefined;
16772
+ this.maxLength = undefined;
16773
+ this.min = undefined;
16774
+ this._minObject = undefined;
16775
+ this.minLength = undefined;
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() {
16783
16793
  this.activeLabel = false;
16784
- /** @private */
16794
+ this.appearance = "default";
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
16839
  this.allowedInputTypes = [
16786
16840
  "text",
16787
16841
  "number",
@@ -16790,8 +16844,7 @@ class BaseInput extends AuroElement$1 {
16790
16844
  "credit-card",
16791
16845
  "tel"
16792
16846
  ];
16793
- this.appearance = "default";
16794
- /** @private */
16847
+ this.icon = false;
16795
16848
  this.dateFormatMap = {
16796
16849
  'mm/dd/yyyy': 'dateMMDDYYYY',
16797
16850
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -16808,57 +16861,27 @@ class BaseInput extends AuroElement$1 {
16808
16861
  'dd/mm': 'dateDDMM',
16809
16862
  'mm/dd': 'dateMMDD'
16810
16863
  };
16811
- this.disabled = false;
16812
- /** @private */
16813
16864
  this.domHandler = new DomHandler();
16814
16865
  this.dvInputOnly = false;
16815
16866
  this.hasValue = false;
16816
- this.hideLabelVisually = false;
16817
- this.icon = false;
16818
- /** @private */
16819
16867
  this.inputIconName = undefined;
16820
- /** @private */
16821
16868
  this.label = 'Input label is undefined';
16822
- this.layout = 'classic';
16823
- this.locale = 'en-US';
16824
- this.max = undefined;
16825
- this._maxObject = undefined;
16826
- this.maxLength = undefined;
16827
- this.min = undefined;
16828
- this._minObject = undefined;
16829
- this.minLength = undefined;
16830
16869
  this.noValidate = false;
16831
- this.onDark = false;
16832
- // Raw values returned from the input mask before model normalization.
16833
- this._rawMaskValue = undefined;
16834
- this.required = false;
16835
- this.setCustomValidityForType = undefined;
16836
- // Credit Card is intentionally excluded — its mask manages the cursor
16837
- // itself, and listing it here caused cursor placement issues in Safari.
16838
- /** @private */
16870
+ this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
16839
16871
  this.setSelectionInputTypes = [
16840
16872
  "text",
16841
16873
  "password",
16842
16874
  "email"
16843
- ];
16844
- this.shape = 'classic';
16845
- /** @private */
16875
+ ]; // Credit Card is not included as this caused cursor placement issues in Safari.
16846
16876
  this.showPassword = false;
16847
- this.size = 'lg';
16848
16877
  this.touched = false;
16849
- /** @private */
16850
16878
  this.uniqueId = new UniqueId().create();
16851
- /** @private */
16852
16879
  this.util = new AuroInputUtilities({
16853
16880
  locale: this.locale,
16854
16881
  format: this.format
16855
16882
  });
16856
- /** @private */
16857
16883
  this.validation = new AuroFormValidation();
16858
- /** @private */
16859
16884
  this.validationCCLength = undefined;
16860
- this.value = undefined;
16861
- this._valueObject = undefined;
16862
16885
  }
16863
16886
 
16864
16887
  // function to define props used within the scope of this component
@@ -17406,15 +17429,6 @@ class BaseInput extends AuroElement$1 {
17406
17429
 
17407
17430
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
17408
17431
 
17409
- // Normalize the format token to lowercase so case-mixed values supplied
17410
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
17411
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
17412
- // format silently misses the map and leaves `setCustomValidityForType`
17413
- // unset.
17414
- if (this.format) {
17415
- this.format = this.format.toLowerCase();
17416
- }
17417
-
17418
17432
  // use validity message override if declared when initializing the component
17419
17433
  if (this.hasAttribute('setCustomValidity')) {
17420
17434
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -17848,38 +17862,6 @@ class BaseInput extends AuroElement$1 {
17848
17862
  this.touched = true;
17849
17863
  this.validation.validate(this);
17850
17864
  }
17851
-
17852
- // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
17853
- // update that can re-render the input and reset the native cursor; we
17854
- // capture the caret position before that update commits and restore it
17855
- // via `setSelectionRange` once the update has flushed. Gated on
17856
- // `setSelectionInputTypes` so credit-card (and other masked types whose
17857
- // formatter manages the cursor itself) doesn't get a competing write.
17858
- // Capture the caret position INSIDE the gate — reading `selectionStart`
17859
- // on input types that don't support text selection (number, email in
17860
- // some browsers) throws InvalidStateError, which would crash all input
17861
- // handling. Wrap the read in try/catch belt-and-suspenders even though
17862
- // the gated types currently support it, since the list is a public
17863
- // property a consumer could mutate.
17864
- if (this.setSelectionInputTypes.includes(this.type)) {
17865
- let selectionStart;
17866
- try {
17867
- selectionStart = this.inputElement.selectionStart;
17868
- } catch (error) { // eslint-disable-line no-unused-vars
17869
- return;
17870
- }
17871
- if (typeof selectionStart !== 'number') {
17872
- return;
17873
- }
17874
- this.updateComplete.then(() => {
17875
- try {
17876
- this.inputElement.setSelectionRange(selectionStart, selectionStart);
17877
- } catch (error) { // eslint-disable-line no-unused-vars
17878
- // Some input types (number/email in certain UAs) throw on
17879
- // setSelectionRange; swallow and let the native cursor stand.
17880
- }
17881
- });
17882
- }
17883
17865
  }
17884
17866
 
17885
17867
  /**
@@ -18506,7 +18488,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18506
18488
  }
18507
18489
  };
18508
18490
 
18509
- var formkitVersion$1 = '202606252337';
18491
+ var formkitVersion$1 = '202606291440';
18510
18492
 
18511
18493
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18512
18494
  // See LICENSE in the project root for license information.
@@ -19009,7 +18991,6 @@ class AuroInput extends BaseInput {
19009
18991
  <${this.buttonTag}
19010
18992
  @click="${this.handleClickShowPassword}"
19011
18993
  appearance="${this.onDark ? 'inverse' : this.appearance}"
19012
- aria-pressed="${this.showPassword ? 'true' : 'false'}"
19013
18994
  class="notificationBtn passwordBtn"
19014
18995
  shape="circle"
19015
18996
  size="sm"
@@ -19083,29 +19064,25 @@ class AuroInput extends BaseInput {
19083
19064
  * @returns {html} - Returns HTML for the help text and error message.
19084
19065
  */
19085
19066
  renderHtmlHelpText() {
19086
- // Single `<p>` with stable identity across validity transitions —
19087
- // previously two distinct templates (valid vs invalid) caused Lit to
19088
- // replace the node entirely on a flip, and VoiceOver wouldn't
19089
- // re-announce because the live-region element it was watching had been
19090
- // removed and a new one inserted. Keeping one node means the `role`,
19091
- // `aria-live`, and text content all change in-place, which AT does
19092
- // observe and announce.
19093
- const isError = this.validity && this.validity !== 'valid';
19094
19067
  return u$7`
19095
- <${this.helpTextTag}
19096
- appearance="${this.onDark ? 'inverse' : this.appearance}"
19097
- ?error=${isError}>
19098
- <p
19099
- id="${this.uniqueId}"
19100
- part="helpText"
19101
- role="${o(isError ? 'alert' : undefined)}"
19102
- aria-live="${o(isError ? 'assertive' : undefined)}">
19103
- ${isError
19104
- ? this.errorMessage
19105
- : u$7`<slot name="helpText">${this.getHelpText()}</slot>`
19106
- }
19107
- </p>
19108
- </${this.helpTextTag}>
19068
+ ${!this.validity || this.validity === undefined || this.validity === 'valid'
19069
+ ? u$7`
19070
+ <${this.helpTextTag}
19071
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
19072
+ <p id="${this.uniqueId}" part="helpText">
19073
+ <slot name="helpText">${this.getHelpText()}</slot>
19074
+ </p>
19075
+ </${this.helpTextTag}>
19076
+ `
19077
+ : u$7`
19078
+ <${this.helpTextTag} error
19079
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
19080
+ <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
19081
+ ${this.errorMessage}
19082
+ </p>
19083
+ </${this.helpTextTag}>
19084
+ `
19085
+ }
19109
19086
  `;
19110
19087
  }
19111
19088
 
@@ -19632,7 +19609,7 @@ class AuroBibtemplate extends i$3 {
19632
19609
  }
19633
19610
  }
19634
19611
 
19635
- var formkitVersion = '202606252337';
19612
+ var formkitVersion = '202606291440';
19636
19613
 
19637
19614
  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}`;
19638
19615
 
@@ -4806,7 +4806,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4806
4806
  }
4807
4807
  };
4808
4808
 
4809
- var formkitVersion$2 = '202606252337';
4809
+ var formkitVersion$2 = '202606291440';
4810
4810
 
4811
4811
  let AuroElement$2 = class AuroElement extends LitElement {
4812
4812
  static get properties() {
@@ -16524,13 +16524,6 @@ class AuroInputUtilities {
16524
16524
  * @returns {string | undefined}
16525
16525
  */
16526
16526
  toFormattedValue(valueObject, format) {
16527
- // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
16528
- // `format` argument has to fail gracefully rather than throw on
16529
- // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
16530
- // as "no format → no display value".
16531
- if (!format) {
16532
- return undefined;
16533
- }
16534
16527
  const normalizedFormat = format.toLowerCase();
16535
16528
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
16536
16529
 
@@ -16681,18 +16674,79 @@ class BaseInput extends AuroElement$1 {
16681
16674
  constructor() {
16682
16675
  super();
16683
16676
 
16684
- // Single-source initialization. Alphabetized so duplicate or stale
16685
- // defaults are immediately obvious on a diff. Every field is assigned
16686
- // exactly once here (previously the constructor + the old
16687
- // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
16688
- // fields and double-allocated `util` and `validation`, discarding the
16689
- // first instance). `validation` is now allocated exactly once; `util`
16690
- // is seeded here with an en-US default and then rebuilt in
16691
- // `connectedCallback` once the consumer-resolved locale is available,
16692
- // so a parent (datepicker/combobox) calling `validate()` synchronously
16693
- // 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() {
16694
16704
  this.activeLabel = false;
16695
- /** @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
+
16696
16750
  this.allowedInputTypes = [
16697
16751
  "text",
16698
16752
  "number",
@@ -16701,8 +16755,7 @@ class BaseInput extends AuroElement$1 {
16701
16755
  "credit-card",
16702
16756
  "tel"
16703
16757
  ];
16704
- this.appearance = "default";
16705
- /** @private */
16758
+ this.icon = false;
16706
16759
  this.dateFormatMap = {
16707
16760
  'mm/dd/yyyy': 'dateMMDDYYYY',
16708
16761
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -16719,57 +16772,27 @@ class BaseInput extends AuroElement$1 {
16719
16772
  'dd/mm': 'dateDDMM',
16720
16773
  'mm/dd': 'dateMMDD'
16721
16774
  };
16722
- this.disabled = false;
16723
- /** @private */
16724
16775
  this.domHandler = new DomHandler();
16725
16776
  this.dvInputOnly = false;
16726
16777
  this.hasValue = false;
16727
- this.hideLabelVisually = false;
16728
- this.icon = false;
16729
- /** @private */
16730
16778
  this.inputIconName = undefined;
16731
- /** @private */
16732
16779
  this.label = 'Input label is undefined';
16733
- this.layout = 'classic';
16734
- this.locale = 'en-US';
16735
- this.max = undefined;
16736
- this._maxObject = undefined;
16737
- this.maxLength = undefined;
16738
- this.min = undefined;
16739
- this._minObject = undefined;
16740
- this.minLength = undefined;
16741
16780
  this.noValidate = false;
16742
- this.onDark = false;
16743
- // Raw values returned from the input mask before model normalization.
16744
- this._rawMaskValue = undefined;
16745
- this.required = false;
16746
- this.setCustomValidityForType = undefined;
16747
- // Credit Card is intentionally excluded — its mask manages the cursor
16748
- // itself, and listing it here caused cursor placement issues in Safari.
16749
- /** @private */
16781
+ this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
16750
16782
  this.setSelectionInputTypes = [
16751
16783
  "text",
16752
16784
  "password",
16753
16785
  "email"
16754
- ];
16755
- this.shape = 'classic';
16756
- /** @private */
16786
+ ]; // Credit Card is not included as this caused cursor placement issues in Safari.
16757
16787
  this.showPassword = false;
16758
- this.size = 'lg';
16759
16788
  this.touched = false;
16760
- /** @private */
16761
16789
  this.uniqueId = new UniqueId().create();
16762
- /** @private */
16763
16790
  this.util = new AuroInputUtilities({
16764
16791
  locale: this.locale,
16765
16792
  format: this.format
16766
16793
  });
16767
- /** @private */
16768
16794
  this.validation = new AuroFormValidation();
16769
- /** @private */
16770
16795
  this.validationCCLength = undefined;
16771
- this.value = undefined;
16772
- this._valueObject = undefined;
16773
16796
  }
16774
16797
 
16775
16798
  // function to define props used within the scope of this component
@@ -17317,15 +17340,6 @@ class BaseInput extends AuroElement$1 {
17317
17340
 
17318
17341
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
17319
17342
 
17320
- // Normalize the format token to lowercase so case-mixed values supplied
17321
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
17322
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
17323
- // format silently misses the map and leaves `setCustomValidityForType`
17324
- // unset.
17325
- if (this.format) {
17326
- this.format = this.format.toLowerCase();
17327
- }
17328
-
17329
17343
  // use validity message override if declared when initializing the component
17330
17344
  if (this.hasAttribute('setCustomValidity')) {
17331
17345
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -17759,38 +17773,6 @@ class BaseInput extends AuroElement$1 {
17759
17773
  this.touched = true;
17760
17774
  this.validation.validate(this);
17761
17775
  }
17762
-
17763
- // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
17764
- // update that can re-render the input and reset the native cursor; we
17765
- // capture the caret position before that update commits and restore it
17766
- // via `setSelectionRange` once the update has flushed. Gated on
17767
- // `setSelectionInputTypes` so credit-card (and other masked types whose
17768
- // formatter manages the cursor itself) doesn't get a competing write.
17769
- // Capture the caret position INSIDE the gate — reading `selectionStart`
17770
- // on input types that don't support text selection (number, email in
17771
- // some browsers) throws InvalidStateError, which would crash all input
17772
- // handling. Wrap the read in try/catch belt-and-suspenders even though
17773
- // the gated types currently support it, since the list is a public
17774
- // property a consumer could mutate.
17775
- if (this.setSelectionInputTypes.includes(this.type)) {
17776
- let selectionStart;
17777
- try {
17778
- selectionStart = this.inputElement.selectionStart;
17779
- } catch (error) { // eslint-disable-line no-unused-vars
17780
- return;
17781
- }
17782
- if (typeof selectionStart !== 'number') {
17783
- return;
17784
- }
17785
- this.updateComplete.then(() => {
17786
- try {
17787
- this.inputElement.setSelectionRange(selectionStart, selectionStart);
17788
- } catch (error) { // eslint-disable-line no-unused-vars
17789
- // Some input types (number/email in certain UAs) throw on
17790
- // setSelectionRange; swallow and let the native cursor stand.
17791
- }
17792
- });
17793
- }
17794
17776
  }
17795
17777
 
17796
17778
  /**
@@ -18417,7 +18399,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18417
18399
  }
18418
18400
  };
18419
18401
 
18420
- var formkitVersion$1 = '202606252337';
18402
+ var formkitVersion$1 = '202606291440';
18421
18403
 
18422
18404
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18423
18405
  // See LICENSE in the project root for license information.
@@ -18920,7 +18902,6 @@ class AuroInput extends BaseInput {
18920
18902
  <${this.buttonTag}
18921
18903
  @click="${this.handleClickShowPassword}"
18922
18904
  appearance="${this.onDark ? 'inverse' : this.appearance}"
18923
- aria-pressed="${this.showPassword ? 'true' : 'false'}"
18924
18905
  class="notificationBtn passwordBtn"
18925
18906
  shape="circle"
18926
18907
  size="sm"
@@ -18994,29 +18975,25 @@ class AuroInput extends BaseInput {
18994
18975
  * @returns {html} - Returns HTML for the help text and error message.
18995
18976
  */
18996
18977
  renderHtmlHelpText() {
18997
- // Single `<p>` with stable identity across validity transitions —
18998
- // previously two distinct templates (valid vs invalid) caused Lit to
18999
- // replace the node entirely on a flip, and VoiceOver wouldn't
19000
- // re-announce because the live-region element it was watching had been
19001
- // removed and a new one inserted. Keeping one node means the `role`,
19002
- // `aria-live`, and text content all change in-place, which AT does
19003
- // observe and announce.
19004
- const isError = this.validity && this.validity !== 'valid';
19005
18978
  return html`
19006
- <${this.helpTextTag}
19007
- appearance="${this.onDark ? 'inverse' : this.appearance}"
19008
- ?error=${isError}>
19009
- <p
19010
- id="${this.uniqueId}"
19011
- part="helpText"
19012
- role="${ifDefined(isError ? 'alert' : undefined)}"
19013
- aria-live="${ifDefined(isError ? 'assertive' : undefined)}">
19014
- ${isError
19015
- ? this.errorMessage
19016
- : 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
+ `
19017
18996
  }
19018
- </p>
19019
- </${this.helpTextTag}>
19020
18997
  `;
19021
18998
  }
19022
18999
 
@@ -19543,7 +19520,7 @@ class AuroBibtemplate extends LitElement {
19543
19520
  }
19544
19521
  }
19545
19522
 
19546
- var formkitVersion = '202606252337';
19523
+ var formkitVersion = '202606291440';
19547
19524
 
19548
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}`;
19549
19526