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

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 +562 -480
  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
@@ -1260,7 +1260,7 @@ class AuroHelpText extends i$2 {
1260
1260
  }
1261
1261
  }
1262
1262
 
1263
- var formkitVersion = '202606252337';
1263
+ var formkitVersion = '202606291455';
1264
1264
 
1265
1265
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1266
1266
  // See LICENSE in the project root for license information.
@@ -1260,7 +1260,7 @@ class AuroHelpText extends i$2 {
1260
1260
  }
1261
1261
  }
1262
1262
 
1263
- var formkitVersion = '202606252337';
1263
+ var formkitVersion = '202606291455';
1264
1264
 
1265
1265
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1266
1266
  // See LICENSE in the project root for license information.
@@ -1260,7 +1260,7 @@ class AuroHelpText extends i$2 {
1260
1260
  }
1261
1261
  }
1262
1262
 
1263
- var formkitVersion = '202606252337';
1263
+ var formkitVersion = '202606291455';
1264
1264
 
1265
1265
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1266
1266
  // See LICENSE in the project root for license information.
@@ -1213,7 +1213,7 @@ class AuroHelpText extends LitElement {
1213
1213
  }
1214
1214
  }
1215
1215
 
1216
- var formkitVersion = '202606252337';
1216
+ var formkitVersion = '202606291455';
1217
1217
 
1218
1218
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1219
1219
  // See LICENSE in the project root for license information.
@@ -1213,7 +1213,7 @@ class AuroHelpText extends LitElement {
1213
1213
  }
1214
1214
  }
1215
1215
 
1216
- var formkitVersion = '202606252337';
1216
+ var formkitVersion = '202606291455';
1217
1217
 
1218
1218
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1219
1219
  // See LICENSE in the project root for license information.
@@ -4873,7 +4873,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4873
4873
  }
4874
4874
  };
4875
4875
 
4876
- var formkitVersion$2 = '202606252337';
4876
+ var formkitVersion$2 = '202606291455';
4877
4877
 
4878
4878
  let AuroElement$2 = class AuroElement extends i$3 {
4879
4879
  static get properties() {
@@ -16598,13 +16598,6 @@ class AuroInputUtilities {
16598
16598
  * @returns {string | undefined}
16599
16599
  */
16600
16600
  toFormattedValue(valueObject, format) {
16601
- // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
16602
- // `format` argument has to fail gracefully rather than throw on
16603
- // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
16604
- // as "no format → no display value".
16605
- if (!format) {
16606
- return undefined;
16607
- }
16608
16601
  const normalizedFormat = format.toLowerCase();
16609
16602
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
16610
16603
 
@@ -16755,18 +16748,79 @@ class BaseInput extends AuroElement$1 {
16755
16748
  constructor() {
16756
16749
  super();
16757
16750
 
16758
- // Single-source initialization. Alphabetized so duplicate or stale
16759
- // defaults are immediately obvious on a diff. Every field is assigned
16760
- // exactly once here (previously the constructor + the old
16761
- // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
16762
- // fields and double-allocated `util` and `validation`, discarding the
16763
- // first instance). `validation` is now allocated exactly once; `util`
16764
- // is seeded here with an en-US default and then rebuilt in
16765
- // `connectedCallback` once the consumer-resolved locale is available,
16766
- // so a parent (datepicker/combobox) calling `validate()` synchronously
16767
- // during its own update cycle sees a populated util instance.
16751
+ this.appearance = "default";
16752
+ this.disabled = false;
16753
+ this.layout = 'classic';
16754
+ this.locale = 'en-US';
16755
+ this.max = undefined;
16756
+ this._maxObject = undefined;
16757
+ this.maxLength = undefined;
16758
+ this.min = undefined;
16759
+ this._minObject = undefined;
16760
+ this.minLength = undefined;
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() {
16768
16778
  this.activeLabel = false;
16769
- /** @private */
16779
+ this.appearance = "default";
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
16824
  this.allowedInputTypes = [
16771
16825
  "text",
16772
16826
  "number",
@@ -16775,8 +16829,7 @@ class BaseInput extends AuroElement$1 {
16775
16829
  "credit-card",
16776
16830
  "tel"
16777
16831
  ];
16778
- this.appearance = "default";
16779
- /** @private */
16832
+ this.icon = false;
16780
16833
  this.dateFormatMap = {
16781
16834
  'mm/dd/yyyy': 'dateMMDDYYYY',
16782
16835
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -16793,57 +16846,27 @@ class BaseInput extends AuroElement$1 {
16793
16846
  'dd/mm': 'dateDDMM',
16794
16847
  'mm/dd': 'dateMMDD'
16795
16848
  };
16796
- this.disabled = false;
16797
- /** @private */
16798
16849
  this.domHandler = new DomHandler();
16799
16850
  this.dvInputOnly = false;
16800
16851
  this.hasValue = false;
16801
- this.hideLabelVisually = false;
16802
- this.icon = false;
16803
- /** @private */
16804
16852
  this.inputIconName = undefined;
16805
- /** @private */
16806
16853
  this.label = 'Input label is undefined';
16807
- this.layout = 'classic';
16808
- this.locale = 'en-US';
16809
- this.max = undefined;
16810
- this._maxObject = undefined;
16811
- this.maxLength = undefined;
16812
- this.min = undefined;
16813
- this._minObject = undefined;
16814
- this.minLength = undefined;
16815
16854
  this.noValidate = false;
16816
- this.onDark = false;
16817
- // Raw values returned from the input mask before model normalization.
16818
- this._rawMaskValue = undefined;
16819
- this.required = false;
16820
- this.setCustomValidityForType = undefined;
16821
- // Credit Card is intentionally excluded — its mask manages the cursor
16822
- // itself, and listing it here caused cursor placement issues in Safari.
16823
- /** @private */
16855
+ this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
16824
16856
  this.setSelectionInputTypes = [
16825
16857
  "text",
16826
16858
  "password",
16827
16859
  "email"
16828
- ];
16829
- this.shape = 'classic';
16830
- /** @private */
16860
+ ]; // Credit Card is not included as this caused cursor placement issues in Safari.
16831
16861
  this.showPassword = false;
16832
- this.size = 'lg';
16833
16862
  this.touched = false;
16834
- /** @private */
16835
16863
  this.uniqueId = new UniqueId().create();
16836
- /** @private */
16837
16864
  this.util = new AuroInputUtilities({
16838
16865
  locale: this.locale,
16839
16866
  format: this.format
16840
16867
  });
16841
- /** @private */
16842
16868
  this.validation = new AuroFormValidation();
16843
- /** @private */
16844
16869
  this.validationCCLength = undefined;
16845
- this.value = undefined;
16846
- this._valueObject = undefined;
16847
16870
  }
16848
16871
 
16849
16872
  // function to define props used within the scope of this component
@@ -17391,15 +17414,6 @@ class BaseInput extends AuroElement$1 {
17391
17414
 
17392
17415
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
17393
17416
 
17394
- // Normalize the format token to lowercase so case-mixed values supplied
17395
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
17396
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
17397
- // format silently misses the map and leaves `setCustomValidityForType`
17398
- // unset.
17399
- if (this.format) {
17400
- this.format = this.format.toLowerCase();
17401
- }
17402
-
17403
17417
  // use validity message override if declared when initializing the component
17404
17418
  if (this.hasAttribute('setCustomValidity')) {
17405
17419
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -17833,38 +17847,6 @@ class BaseInput extends AuroElement$1 {
17833
17847
  this.touched = true;
17834
17848
  this.validation.validate(this);
17835
17849
  }
17836
-
17837
- // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
17838
- // update that can re-render the input and reset the native cursor; we
17839
- // capture the caret position before that update commits and restore it
17840
- // via `setSelectionRange` once the update has flushed. Gated on
17841
- // `setSelectionInputTypes` so credit-card (and other masked types whose
17842
- // formatter manages the cursor itself) doesn't get a competing write.
17843
- // Capture the caret position INSIDE the gate — reading `selectionStart`
17844
- // on input types that don't support text selection (number, email in
17845
- // some browsers) throws InvalidStateError, which would crash all input
17846
- // handling. Wrap the read in try/catch belt-and-suspenders even though
17847
- // the gated types currently support it, since the list is a public
17848
- // property a consumer could mutate.
17849
- if (this.setSelectionInputTypes.includes(this.type)) {
17850
- let selectionStart;
17851
- try {
17852
- selectionStart = this.inputElement.selectionStart;
17853
- } catch (error) { // eslint-disable-line no-unused-vars
17854
- return;
17855
- }
17856
- if (typeof selectionStart !== 'number') {
17857
- return;
17858
- }
17859
- this.updateComplete.then(() => {
17860
- try {
17861
- this.inputElement.setSelectionRange(selectionStart, selectionStart);
17862
- } catch (error) { // eslint-disable-line no-unused-vars
17863
- // Some input types (number/email in certain UAs) throw on
17864
- // setSelectionRange; swallow and let the native cursor stand.
17865
- }
17866
- });
17867
- }
17868
17850
  }
17869
17851
 
17870
17852
  /**
@@ -18491,7 +18473,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18491
18473
  }
18492
18474
  };
18493
18475
 
18494
- var formkitVersion$1 = '202606252337';
18476
+ var formkitVersion$1 = '202606291455';
18495
18477
 
18496
18478
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18497
18479
  // See LICENSE in the project root for license information.
@@ -18994,7 +18976,6 @@ class AuroInput extends BaseInput {
18994
18976
  <${this.buttonTag}
18995
18977
  @click="${this.handleClickShowPassword}"
18996
18978
  appearance="${this.onDark ? 'inverse' : this.appearance}"
18997
- aria-pressed="${this.showPassword ? 'true' : 'false'}"
18998
18979
  class="notificationBtn passwordBtn"
18999
18980
  shape="circle"
19000
18981
  size="sm"
@@ -19068,29 +19049,25 @@ class AuroInput extends BaseInput {
19068
19049
  * @returns {html} - Returns HTML for the help text and error message.
19069
19050
  */
19070
19051
  renderHtmlHelpText() {
19071
- // Single `<p>` with stable identity across validity transitions —
19072
- // previously two distinct templates (valid vs invalid) caused Lit to
19073
- // replace the node entirely on a flip, and VoiceOver wouldn't
19074
- // re-announce because the live-region element it was watching had been
19075
- // removed and a new one inserted. Keeping one node means the `role`,
19076
- // `aria-live`, and text content all change in-place, which AT does
19077
- // observe and announce.
19078
- const isError = this.validity && this.validity !== 'valid';
19079
19052
  return u$7`
19080
- <${this.helpTextTag}
19081
- appearance="${this.onDark ? 'inverse' : this.appearance}"
19082
- ?error=${isError}>
19083
- <p
19084
- id="${this.uniqueId}"
19085
- part="helpText"
19086
- role="${o(isError ? 'alert' : undefined)}"
19087
- aria-live="${o(isError ? 'assertive' : undefined)}">
19088
- ${isError
19089
- ? this.errorMessage
19090
- : u$7`<slot name="helpText">${this.getHelpText()}</slot>`
19091
- }
19092
- </p>
19093
- </${this.helpTextTag}>
19053
+ ${!this.validity || this.validity === undefined || this.validity === 'valid'
19054
+ ? u$7`
19055
+ <${this.helpTextTag}
19056
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
19057
+ <p id="${this.uniqueId}" part="helpText">
19058
+ <slot name="helpText">${this.getHelpText()}</slot>
19059
+ </p>
19060
+ </${this.helpTextTag}>
19061
+ `
19062
+ : u$7`
19063
+ <${this.helpTextTag} error
19064
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
19065
+ <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
19066
+ ${this.errorMessage}
19067
+ </p>
19068
+ </${this.helpTextTag}>
19069
+ `
19070
+ }
19094
19071
  `;
19095
19072
  }
19096
19073
 
@@ -19617,7 +19594,7 @@ class AuroBibtemplate extends i$3 {
19617
19594
  }
19618
19595
  }
19619
19596
 
19620
- var formkitVersion = '202606252337';
19597
+ var formkitVersion = '202606291455';
19621
19598
 
19622
19599
  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}`;
19623
19600
 
@@ -4873,7 +4873,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4873
4873
  }
4874
4874
  };
4875
4875
 
4876
- var formkitVersion$2 = '202606252337';
4876
+ var formkitVersion$2 = '202606291455';
4877
4877
 
4878
4878
  let AuroElement$2 = class AuroElement extends i$3 {
4879
4879
  static get properties() {
@@ -16598,13 +16598,6 @@ class AuroInputUtilities {
16598
16598
  * @returns {string | undefined}
16599
16599
  */
16600
16600
  toFormattedValue(valueObject, format) {
16601
- // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
16602
- // `format` argument has to fail gracefully rather than throw on
16603
- // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
16604
- // as "no format → no display value".
16605
- if (!format) {
16606
- return undefined;
16607
- }
16608
16601
  const normalizedFormat = format.toLowerCase();
16609
16602
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
16610
16603
 
@@ -16755,18 +16748,79 @@ class BaseInput extends AuroElement$1 {
16755
16748
  constructor() {
16756
16749
  super();
16757
16750
 
16758
- // Single-source initialization. Alphabetized so duplicate or stale
16759
- // defaults are immediately obvious on a diff. Every field is assigned
16760
- // exactly once here (previously the constructor + the old
16761
- // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
16762
- // fields and double-allocated `util` and `validation`, discarding the
16763
- // first instance). `validation` is now allocated exactly once; `util`
16764
- // is seeded here with an en-US default and then rebuilt in
16765
- // `connectedCallback` once the consumer-resolved locale is available,
16766
- // so a parent (datepicker/combobox) calling `validate()` synchronously
16767
- // during its own update cycle sees a populated util instance.
16751
+ this.appearance = "default";
16752
+ this.disabled = false;
16753
+ this.layout = 'classic';
16754
+ this.locale = 'en-US';
16755
+ this.max = undefined;
16756
+ this._maxObject = undefined;
16757
+ this.maxLength = undefined;
16758
+ this.min = undefined;
16759
+ this._minObject = undefined;
16760
+ this.minLength = undefined;
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() {
16768
16778
  this.activeLabel = false;
16769
- /** @private */
16779
+ this.appearance = "default";
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
16824
  this.allowedInputTypes = [
16771
16825
  "text",
16772
16826
  "number",
@@ -16775,8 +16829,7 @@ class BaseInput extends AuroElement$1 {
16775
16829
  "credit-card",
16776
16830
  "tel"
16777
16831
  ];
16778
- this.appearance = "default";
16779
- /** @private */
16832
+ this.icon = false;
16780
16833
  this.dateFormatMap = {
16781
16834
  'mm/dd/yyyy': 'dateMMDDYYYY',
16782
16835
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -16793,57 +16846,27 @@ class BaseInput extends AuroElement$1 {
16793
16846
  'dd/mm': 'dateDDMM',
16794
16847
  'mm/dd': 'dateMMDD'
16795
16848
  };
16796
- this.disabled = false;
16797
- /** @private */
16798
16849
  this.domHandler = new DomHandler();
16799
16850
  this.dvInputOnly = false;
16800
16851
  this.hasValue = false;
16801
- this.hideLabelVisually = false;
16802
- this.icon = false;
16803
- /** @private */
16804
16852
  this.inputIconName = undefined;
16805
- /** @private */
16806
16853
  this.label = 'Input label is undefined';
16807
- this.layout = 'classic';
16808
- this.locale = 'en-US';
16809
- this.max = undefined;
16810
- this._maxObject = undefined;
16811
- this.maxLength = undefined;
16812
- this.min = undefined;
16813
- this._minObject = undefined;
16814
- this.minLength = undefined;
16815
16854
  this.noValidate = false;
16816
- this.onDark = false;
16817
- // Raw values returned from the input mask before model normalization.
16818
- this._rawMaskValue = undefined;
16819
- this.required = false;
16820
- this.setCustomValidityForType = undefined;
16821
- // Credit Card is intentionally excluded — its mask manages the cursor
16822
- // itself, and listing it here caused cursor placement issues in Safari.
16823
- /** @private */
16855
+ this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
16824
16856
  this.setSelectionInputTypes = [
16825
16857
  "text",
16826
16858
  "password",
16827
16859
  "email"
16828
- ];
16829
- this.shape = 'classic';
16830
- /** @private */
16860
+ ]; // Credit Card is not included as this caused cursor placement issues in Safari.
16831
16861
  this.showPassword = false;
16832
- this.size = 'lg';
16833
16862
  this.touched = false;
16834
- /** @private */
16835
16863
  this.uniqueId = new UniqueId().create();
16836
- /** @private */
16837
16864
  this.util = new AuroInputUtilities({
16838
16865
  locale: this.locale,
16839
16866
  format: this.format
16840
16867
  });
16841
- /** @private */
16842
16868
  this.validation = new AuroFormValidation();
16843
- /** @private */
16844
16869
  this.validationCCLength = undefined;
16845
- this.value = undefined;
16846
- this._valueObject = undefined;
16847
16870
  }
16848
16871
 
16849
16872
  // function to define props used within the scope of this component
@@ -17391,15 +17414,6 @@ class BaseInput extends AuroElement$1 {
17391
17414
 
17392
17415
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
17393
17416
 
17394
- // Normalize the format token to lowercase so case-mixed values supplied
17395
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
17396
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
17397
- // format silently misses the map and leaves `setCustomValidityForType`
17398
- // unset.
17399
- if (this.format) {
17400
- this.format = this.format.toLowerCase();
17401
- }
17402
-
17403
17417
  // use validity message override if declared when initializing the component
17404
17418
  if (this.hasAttribute('setCustomValidity')) {
17405
17419
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -17833,38 +17847,6 @@ class BaseInput extends AuroElement$1 {
17833
17847
  this.touched = true;
17834
17848
  this.validation.validate(this);
17835
17849
  }
17836
-
17837
- // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
17838
- // update that can re-render the input and reset the native cursor; we
17839
- // capture the caret position before that update commits and restore it
17840
- // via `setSelectionRange` once the update has flushed. Gated on
17841
- // `setSelectionInputTypes` so credit-card (and other masked types whose
17842
- // formatter manages the cursor itself) doesn't get a competing write.
17843
- // Capture the caret position INSIDE the gate — reading `selectionStart`
17844
- // on input types that don't support text selection (number, email in
17845
- // some browsers) throws InvalidStateError, which would crash all input
17846
- // handling. Wrap the read in try/catch belt-and-suspenders even though
17847
- // the gated types currently support it, since the list is a public
17848
- // property a consumer could mutate.
17849
- if (this.setSelectionInputTypes.includes(this.type)) {
17850
- let selectionStart;
17851
- try {
17852
- selectionStart = this.inputElement.selectionStart;
17853
- } catch (error) { // eslint-disable-line no-unused-vars
17854
- return;
17855
- }
17856
- if (typeof selectionStart !== 'number') {
17857
- return;
17858
- }
17859
- this.updateComplete.then(() => {
17860
- try {
17861
- this.inputElement.setSelectionRange(selectionStart, selectionStart);
17862
- } catch (error) { // eslint-disable-line no-unused-vars
17863
- // Some input types (number/email in certain UAs) throw on
17864
- // setSelectionRange; swallow and let the native cursor stand.
17865
- }
17866
- });
17867
- }
17868
17850
  }
17869
17851
 
17870
17852
  /**
@@ -18491,7 +18473,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18491
18473
  }
18492
18474
  };
18493
18475
 
18494
- var formkitVersion$1 = '202606252337';
18476
+ var formkitVersion$1 = '202606291455';
18495
18477
 
18496
18478
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18497
18479
  // See LICENSE in the project root for license information.
@@ -18994,7 +18976,6 @@ class AuroInput extends BaseInput {
18994
18976
  <${this.buttonTag}
18995
18977
  @click="${this.handleClickShowPassword}"
18996
18978
  appearance="${this.onDark ? 'inverse' : this.appearance}"
18997
- aria-pressed="${this.showPassword ? 'true' : 'false'}"
18998
18979
  class="notificationBtn passwordBtn"
18999
18980
  shape="circle"
19000
18981
  size="sm"
@@ -19068,29 +19049,25 @@ class AuroInput extends BaseInput {
19068
19049
  * @returns {html} - Returns HTML for the help text and error message.
19069
19050
  */
19070
19051
  renderHtmlHelpText() {
19071
- // Single `<p>` with stable identity across validity transitions —
19072
- // previously two distinct templates (valid vs invalid) caused Lit to
19073
- // replace the node entirely on a flip, and VoiceOver wouldn't
19074
- // re-announce because the live-region element it was watching had been
19075
- // removed and a new one inserted. Keeping one node means the `role`,
19076
- // `aria-live`, and text content all change in-place, which AT does
19077
- // observe and announce.
19078
- const isError = this.validity && this.validity !== 'valid';
19079
19052
  return u$7`
19080
- <${this.helpTextTag}
19081
- appearance="${this.onDark ? 'inverse' : this.appearance}"
19082
- ?error=${isError}>
19083
- <p
19084
- id="${this.uniqueId}"
19085
- part="helpText"
19086
- role="${o(isError ? 'alert' : undefined)}"
19087
- aria-live="${o(isError ? 'assertive' : undefined)}">
19088
- ${isError
19089
- ? this.errorMessage
19090
- : u$7`<slot name="helpText">${this.getHelpText()}</slot>`
19091
- }
19092
- </p>
19093
- </${this.helpTextTag}>
19053
+ ${!this.validity || this.validity === undefined || this.validity === 'valid'
19054
+ ? u$7`
19055
+ <${this.helpTextTag}
19056
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
19057
+ <p id="${this.uniqueId}" part="helpText">
19058
+ <slot name="helpText">${this.getHelpText()}</slot>
19059
+ </p>
19060
+ </${this.helpTextTag}>
19061
+ `
19062
+ : u$7`
19063
+ <${this.helpTextTag} error
19064
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
19065
+ <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
19066
+ ${this.errorMessage}
19067
+ </p>
19068
+ </${this.helpTextTag}>
19069
+ `
19070
+ }
19094
19071
  `;
19095
19072
  }
19096
19073
 
@@ -19617,7 +19594,7 @@ class AuroBibtemplate extends i$3 {
19617
19594
  }
19618
19595
  }
19619
19596
 
19620
- var formkitVersion = '202606252337';
19597
+ var formkitVersion = '202606291455';
19621
19598
 
19622
19599
  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}`;
19623
19600