@aurodesignsystem-dev/auro-formkit 0.0.0-pr1530.1 → 0.0.0-pr1530.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 (50) 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 +42 -29
  7. package/components/combobox/demo/getting-started.min.js +42 -29
  8. package/components/combobox/demo/index.min.js +42 -29
  9. package/components/combobox/dist/index.js +42 -29
  10. package/components/combobox/dist/registered.js +42 -29
  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 +4 -4
  16. package/components/datepicker/demo/customize.min.js +42 -29
  17. package/components/datepicker/demo/index.min.js +42 -29
  18. package/components/datepicker/demo/keyboard-behavior.md +3 -3
  19. package/components/datepicker/demo/voiceover.md +3 -3
  20. package/components/datepicker/demo/why-datepicker.md +2 -2
  21. package/components/datepicker/dist/index.js +42 -29
  22. package/components/datepicker/dist/registered.js +42 -29
  23. package/components/dropdown/demo/customize.min.js +1 -1
  24. package/components/dropdown/demo/getting-started.min.js +1 -1
  25. package/components/dropdown/demo/index.min.js +1 -1
  26. package/components/dropdown/dist/index.js +1 -1
  27. package/components/dropdown/dist/registered.js +1 -1
  28. package/components/form/demo/customize.min.js +190 -105
  29. package/components/form/demo/getting-started.min.js +190 -105
  30. package/components/form/demo/index.min.js +190 -105
  31. package/components/form/demo/registerDemoDeps.min.js +190 -105
  32. package/components/input/demo/customize.min.js +40 -27
  33. package/components/input/demo/getting-started.min.js +40 -27
  34. package/components/input/demo/index.min.js +40 -27
  35. package/components/input/dist/base-input.d.ts +20 -4
  36. package/components/input/dist/index.js +40 -27
  37. package/components/input/dist/registered.js +40 -27
  38. package/components/radio/demo/customize.min.js +1 -1
  39. package/components/radio/demo/getting-started.min.js +1 -1
  40. package/components/radio/demo/index.min.js +1 -1
  41. package/components/radio/dist/index.js +1 -1
  42. package/components/radio/dist/registered.js +1 -1
  43. package/components/select/demo/customize.min.js +62 -16
  44. package/components/select/demo/getting-started.min.js +62 -16
  45. package/components/select/demo/index.min.js +62 -16
  46. package/components/select/dist/auro-select.d.ts +6 -0
  47. package/components/select/dist/index.js +62 -16
  48. package/components/select/dist/registered.js +62 -16
  49. package/custom-elements.json +98 -44
  50. package/package.json +1 -1
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607022134';
1278
+ var formkitVersion = '202607022225';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607022134';
1278
+ var formkitVersion = '202607022225';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607022134';
1278
+ var formkitVersion = '202607022225';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
1228
1228
  }
1229
1229
  }
1230
1230
 
1231
- var formkitVersion = '202607022134';
1231
+ var formkitVersion = '202607022225';
1232
1232
 
1233
1233
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1234
1234
  // See LICENSE in the project root for license information.
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
1228
1228
  }
1229
1229
  }
1230
1230
 
1231
- var formkitVersion = '202607022134';
1231
+ var formkitVersion = '202607022225';
1232
1232
 
1233
1233
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1234
1234
  // See LICENSE in the project root for license information.
@@ -4879,7 +4879,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4879
4879
  }
4880
4880
  };
4881
4881
 
4882
- var formkitVersion$2 = '202607022134';
4882
+ var formkitVersion$2 = '202607022225';
4883
4883
 
4884
4884
  let AuroElement$2 = class AuroElement extends i$3 {
4885
4885
  static get properties() {
@@ -16894,14 +16894,16 @@ class BaseInput extends AuroElement$1 {
16894
16894
  this.label = 'Input label is undefined';
16895
16895
  this.layout = 'classic';
16896
16896
  this.locale = 'en-US';
16897
+ this._format = undefined;
16898
+
16899
+ /** @private */
16900
+ this._userSetFormat = false;
16897
16901
  this.max = undefined;
16898
16902
  this.maxLength = undefined;
16899
16903
  this.min = undefined;
16900
16904
  this.minLength = undefined;
16901
16905
  this.noValidate = false;
16902
16906
  this.onDark = false;
16903
- // Raw values returned from the input mask before model normalization.
16904
- this._rawMaskValue = undefined;
16905
16907
  this.required = false;
16906
16908
  this.setCustomValidityForType = undefined;
16907
16909
  // Credit Card is intentionally excluded — its mask manages the cursor
@@ -17059,7 +17061,8 @@ class BaseInput extends AuroElement$1 {
17059
17061
  */
17060
17062
  format: {
17061
17063
  type: String,
17062
- reflect: true
17064
+ reflect: true,
17065
+ noAccessor: true
17063
17066
  },
17064
17067
 
17065
17068
  /**
@@ -17397,6 +17400,34 @@ class BaseInput extends AuroElement$1 {
17397
17400
  return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
17398
17401
  }
17399
17402
 
17403
+ get format() {
17404
+ return this._format;
17405
+ }
17406
+
17407
+ /**
17408
+ * Overrides LitElement's generated accessor so we can track whether the
17409
+ * consumer explicitly set `format`. Locale-derived updates use
17410
+ * `_setFormatFromLocale` instead, which skips this flag.
17411
+ */
17412
+ set format(value) {
17413
+ const oldValue = this._format;
17414
+ this._format = value ? value.toLowerCase() : value;
17415
+ this._userSetFormat = Boolean(value);
17416
+ this.requestUpdate('format', oldValue);
17417
+ }
17418
+
17419
+ /**
17420
+ * Sets format without marking it as user-set. Used by locale auto-derive
17421
+ * so that a subsequent locale change can still update the format.
17422
+ * @private
17423
+ * @param {string} value
17424
+ */
17425
+ _setFormatFromLocale(value) {
17426
+ const oldValue = this._format;
17427
+ this._format = value ? value.toLowerCase() : value;
17428
+ this.requestUpdate('format', oldValue);
17429
+ }
17430
+
17400
17431
  connectedCallback() {
17401
17432
  super.connectedCallback();
17402
17433
 
@@ -17444,15 +17475,6 @@ class BaseInput extends AuroElement$1 {
17444
17475
 
17445
17476
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
17446
17477
 
17447
- // Normalize the format token to lowercase so case-mixed values supplied
17448
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
17449
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
17450
- // format silently misses the map and leaves `setCustomValidityForType`
17451
- // unset.
17452
- if (this.format) {
17453
- this.format = this.format.toLowerCase();
17454
- }
17455
-
17456
17478
  // use validity message override if declared when initializing the component
17457
17479
  if (this.hasAttribute('setCustomValidity')) {
17458
17480
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -17559,12 +17581,10 @@ class BaseInput extends AuroElement$1 {
17559
17581
  updated(changedProperties) {
17560
17582
  super.updated(changedProperties);
17561
17583
 
17562
- // When locale changes without an explicit format override, derive format from the new locale.
17563
- // Only runs if the current format is still the previous locale's default (not user-overridden).
17584
+ // When locale changes, auto-derive format unless the consumer explicitly set one.
17564
17585
  if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
17565
- const previousLocaleFormat = getDateFormatFromLocale(changedProperties.get('locale'));
17566
- if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
17567
- this.format = getDateFormatFromLocale(this.locale);
17586
+ if (!this._userSetFormat) {
17587
+ this._setFormatFromLocale(getDateFormatFromLocale(this.locale));
17568
17588
  }
17569
17589
  }
17570
17590
 
@@ -17735,9 +17755,6 @@ class BaseInput extends AuroElement$1 {
17735
17755
  this.maskInstance.on('accept', () => {
17736
17756
  if (this._configuringMask) return;
17737
17757
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
17738
- if (this.type === "date") {
17739
- this._rawMaskValue = this.maskInstance.value;
17740
- }
17741
17758
  });
17742
17759
 
17743
17760
  // Mask fires 'complete' on the restore step below for any value that
@@ -17745,9 +17762,6 @@ class BaseInput extends AuroElement$1 {
17745
17762
  this.maskInstance.on('complete', () => {
17746
17763
  if (this._configuringMask) return;
17747
17764
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
17748
- if (this.type === "date") {
17749
- this._rawMaskValue = this.maskInstance.value;
17750
- }
17751
17765
  });
17752
17766
 
17753
17767
  // Write existingValue through the mask (not the input directly) so
@@ -17984,8 +17998,7 @@ class BaseInput extends AuroElement$1 {
17984
17998
 
17985
17999
  // Set default date format if type=date and no format is defined
17986
18000
  if (this.type === "date" && !this.format) {
17987
- // Use locale to determine default date format
17988
- this.format = this.util.getDateMaskFromLocale().toLowerCase();
18001
+ this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
17989
18002
  this.util.updateFormat(this.format);
17990
18003
  }
17991
18004
  }
@@ -18014,7 +18027,7 @@ class BaseInput extends AuroElement$1 {
18014
18027
  const creditCard = this.matchInputValueToCreditCard();
18015
18028
  const previousFormat = this.format;
18016
18029
 
18017
- this.format = creditCard.maskFormat;
18030
+ this._setFormatFromLocale(creditCard.maskFormat);
18018
18031
 
18019
18032
  this.maxLength = creditCard.formatLength;
18020
18033
  this.minLength = creditCard.formatMinLength;
@@ -18488,7 +18501,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18488
18501
  }
18489
18502
  };
18490
18503
 
18491
- var formkitVersion$1 = '202607022134';
18504
+ var formkitVersion$1 = '202607022225';
18492
18505
 
18493
18506
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18494
18507
  // See LICENSE in the project root for license information.
@@ -19614,7 +19627,7 @@ class AuroBibtemplate extends i$3 {
19614
19627
  }
19615
19628
  }
19616
19629
 
19617
- var formkitVersion = '202607022134';
19630
+ var formkitVersion = '202607022225';
19618
19631
 
19619
19632
  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}`;
19620
19633
 
@@ -4879,7 +4879,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4879
4879
  }
4880
4880
  };
4881
4881
 
4882
- var formkitVersion$2 = '202607022134';
4882
+ var formkitVersion$2 = '202607022225';
4883
4883
 
4884
4884
  let AuroElement$2 = class AuroElement extends i$3 {
4885
4885
  static get properties() {
@@ -16894,14 +16894,16 @@ class BaseInput extends AuroElement$1 {
16894
16894
  this.label = 'Input label is undefined';
16895
16895
  this.layout = 'classic';
16896
16896
  this.locale = 'en-US';
16897
+ this._format = undefined;
16898
+
16899
+ /** @private */
16900
+ this._userSetFormat = false;
16897
16901
  this.max = undefined;
16898
16902
  this.maxLength = undefined;
16899
16903
  this.min = undefined;
16900
16904
  this.minLength = undefined;
16901
16905
  this.noValidate = false;
16902
16906
  this.onDark = false;
16903
- // Raw values returned from the input mask before model normalization.
16904
- this._rawMaskValue = undefined;
16905
16907
  this.required = false;
16906
16908
  this.setCustomValidityForType = undefined;
16907
16909
  // Credit Card is intentionally excluded — its mask manages the cursor
@@ -17059,7 +17061,8 @@ class BaseInput extends AuroElement$1 {
17059
17061
  */
17060
17062
  format: {
17061
17063
  type: String,
17062
- reflect: true
17064
+ reflect: true,
17065
+ noAccessor: true
17063
17066
  },
17064
17067
 
17065
17068
  /**
@@ -17397,6 +17400,34 @@ class BaseInput extends AuroElement$1 {
17397
17400
  return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
17398
17401
  }
17399
17402
 
17403
+ get format() {
17404
+ return this._format;
17405
+ }
17406
+
17407
+ /**
17408
+ * Overrides LitElement's generated accessor so we can track whether the
17409
+ * consumer explicitly set `format`. Locale-derived updates use
17410
+ * `_setFormatFromLocale` instead, which skips this flag.
17411
+ */
17412
+ set format(value) {
17413
+ const oldValue = this._format;
17414
+ this._format = value ? value.toLowerCase() : value;
17415
+ this._userSetFormat = Boolean(value);
17416
+ this.requestUpdate('format', oldValue);
17417
+ }
17418
+
17419
+ /**
17420
+ * Sets format without marking it as user-set. Used by locale auto-derive
17421
+ * so that a subsequent locale change can still update the format.
17422
+ * @private
17423
+ * @param {string} value
17424
+ */
17425
+ _setFormatFromLocale(value) {
17426
+ const oldValue = this._format;
17427
+ this._format = value ? value.toLowerCase() : value;
17428
+ this.requestUpdate('format', oldValue);
17429
+ }
17430
+
17400
17431
  connectedCallback() {
17401
17432
  super.connectedCallback();
17402
17433
 
@@ -17444,15 +17475,6 @@ class BaseInput extends AuroElement$1 {
17444
17475
 
17445
17476
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
17446
17477
 
17447
- // Normalize the format token to lowercase so case-mixed values supplied
17448
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
17449
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
17450
- // format silently misses the map and leaves `setCustomValidityForType`
17451
- // unset.
17452
- if (this.format) {
17453
- this.format = this.format.toLowerCase();
17454
- }
17455
-
17456
17478
  // use validity message override if declared when initializing the component
17457
17479
  if (this.hasAttribute('setCustomValidity')) {
17458
17480
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -17559,12 +17581,10 @@ class BaseInput extends AuroElement$1 {
17559
17581
  updated(changedProperties) {
17560
17582
  super.updated(changedProperties);
17561
17583
 
17562
- // When locale changes without an explicit format override, derive format from the new locale.
17563
- // Only runs if the current format is still the previous locale's default (not user-overridden).
17584
+ // When locale changes, auto-derive format unless the consumer explicitly set one.
17564
17585
  if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
17565
- const previousLocaleFormat = getDateFormatFromLocale(changedProperties.get('locale'));
17566
- if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
17567
- this.format = getDateFormatFromLocale(this.locale);
17586
+ if (!this._userSetFormat) {
17587
+ this._setFormatFromLocale(getDateFormatFromLocale(this.locale));
17568
17588
  }
17569
17589
  }
17570
17590
 
@@ -17735,9 +17755,6 @@ class BaseInput extends AuroElement$1 {
17735
17755
  this.maskInstance.on('accept', () => {
17736
17756
  if (this._configuringMask) return;
17737
17757
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
17738
- if (this.type === "date") {
17739
- this._rawMaskValue = this.maskInstance.value;
17740
- }
17741
17758
  });
17742
17759
 
17743
17760
  // Mask fires 'complete' on the restore step below for any value that
@@ -17745,9 +17762,6 @@ class BaseInput extends AuroElement$1 {
17745
17762
  this.maskInstance.on('complete', () => {
17746
17763
  if (this._configuringMask) return;
17747
17764
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
17748
- if (this.type === "date") {
17749
- this._rawMaskValue = this.maskInstance.value;
17750
- }
17751
17765
  });
17752
17766
 
17753
17767
  // Write existingValue through the mask (not the input directly) so
@@ -17984,8 +17998,7 @@ class BaseInput extends AuroElement$1 {
17984
17998
 
17985
17999
  // Set default date format if type=date and no format is defined
17986
18000
  if (this.type === "date" && !this.format) {
17987
- // Use locale to determine default date format
17988
- this.format = this.util.getDateMaskFromLocale().toLowerCase();
18001
+ this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
17989
18002
  this.util.updateFormat(this.format);
17990
18003
  }
17991
18004
  }
@@ -18014,7 +18027,7 @@ class BaseInput extends AuroElement$1 {
18014
18027
  const creditCard = this.matchInputValueToCreditCard();
18015
18028
  const previousFormat = this.format;
18016
18029
 
18017
- this.format = creditCard.maskFormat;
18030
+ this._setFormatFromLocale(creditCard.maskFormat);
18018
18031
 
18019
18032
  this.maxLength = creditCard.formatLength;
18020
18033
  this.minLength = creditCard.formatMinLength;
@@ -18488,7 +18501,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18488
18501
  }
18489
18502
  };
18490
18503
 
18491
- var formkitVersion$1 = '202607022134';
18504
+ var formkitVersion$1 = '202607022225';
18492
18505
 
18493
18506
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18494
18507
  // See LICENSE in the project root for license information.
@@ -19614,7 +19627,7 @@ class AuroBibtemplate extends i$3 {
19614
19627
  }
19615
19628
  }
19616
19629
 
19617
- var formkitVersion = '202607022134';
19630
+ var formkitVersion = '202607022225';
19618
19631
 
19619
19632
  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}`;
19620
19633
 
@@ -4894,7 +4894,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4894
4894
  }
4895
4895
  };
4896
4896
 
4897
- var formkitVersion$2 = '202607022134';
4897
+ var formkitVersion$2 = '202607022225';
4898
4898
 
4899
4899
  let AuroElement$2 = class AuroElement extends i$3 {
4900
4900
  static get properties() {
@@ -16909,14 +16909,16 @@ class BaseInput extends AuroElement$1 {
16909
16909
  this.label = 'Input label is undefined';
16910
16910
  this.layout = 'classic';
16911
16911
  this.locale = 'en-US';
16912
+ this._format = undefined;
16913
+
16914
+ /** @private */
16915
+ this._userSetFormat = false;
16912
16916
  this.max = undefined;
16913
16917
  this.maxLength = undefined;
16914
16918
  this.min = undefined;
16915
16919
  this.minLength = undefined;
16916
16920
  this.noValidate = false;
16917
16921
  this.onDark = false;
16918
- // Raw values returned from the input mask before model normalization.
16919
- this._rawMaskValue = undefined;
16920
16922
  this.required = false;
16921
16923
  this.setCustomValidityForType = undefined;
16922
16924
  // Credit Card is intentionally excluded — its mask manages the cursor
@@ -17074,7 +17076,8 @@ class BaseInput extends AuroElement$1 {
17074
17076
  */
17075
17077
  format: {
17076
17078
  type: String,
17077
- reflect: true
17079
+ reflect: true,
17080
+ noAccessor: true
17078
17081
  },
17079
17082
 
17080
17083
  /**
@@ -17412,6 +17415,34 @@ class BaseInput extends AuroElement$1 {
17412
17415
  return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
17413
17416
  }
17414
17417
 
17418
+ get format() {
17419
+ return this._format;
17420
+ }
17421
+
17422
+ /**
17423
+ * Overrides LitElement's generated accessor so we can track whether the
17424
+ * consumer explicitly set `format`. Locale-derived updates use
17425
+ * `_setFormatFromLocale` instead, which skips this flag.
17426
+ */
17427
+ set format(value) {
17428
+ const oldValue = this._format;
17429
+ this._format = value ? value.toLowerCase() : value;
17430
+ this._userSetFormat = Boolean(value);
17431
+ this.requestUpdate('format', oldValue);
17432
+ }
17433
+
17434
+ /**
17435
+ * Sets format without marking it as user-set. Used by locale auto-derive
17436
+ * so that a subsequent locale change can still update the format.
17437
+ * @private
17438
+ * @param {string} value
17439
+ */
17440
+ _setFormatFromLocale(value) {
17441
+ const oldValue = this._format;
17442
+ this._format = value ? value.toLowerCase() : value;
17443
+ this.requestUpdate('format', oldValue);
17444
+ }
17445
+
17415
17446
  connectedCallback() {
17416
17447
  super.connectedCallback();
17417
17448
 
@@ -17459,15 +17490,6 @@ class BaseInput extends AuroElement$1 {
17459
17490
 
17460
17491
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
17461
17492
 
17462
- // Normalize the format token to lowercase so case-mixed values supplied
17463
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
17464
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
17465
- // format silently misses the map and leaves `setCustomValidityForType`
17466
- // unset.
17467
- if (this.format) {
17468
- this.format = this.format.toLowerCase();
17469
- }
17470
-
17471
17493
  // use validity message override if declared when initializing the component
17472
17494
  if (this.hasAttribute('setCustomValidity')) {
17473
17495
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -17574,12 +17596,10 @@ class BaseInput extends AuroElement$1 {
17574
17596
  updated(changedProperties) {
17575
17597
  super.updated(changedProperties);
17576
17598
 
17577
- // When locale changes without an explicit format override, derive format from the new locale.
17578
- // Only runs if the current format is still the previous locale's default (not user-overridden).
17599
+ // When locale changes, auto-derive format unless the consumer explicitly set one.
17579
17600
  if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
17580
- const previousLocaleFormat = getDateFormatFromLocale(changedProperties.get('locale'));
17581
- if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
17582
- this.format = getDateFormatFromLocale(this.locale);
17601
+ if (!this._userSetFormat) {
17602
+ this._setFormatFromLocale(getDateFormatFromLocale(this.locale));
17583
17603
  }
17584
17604
  }
17585
17605
 
@@ -17750,9 +17770,6 @@ class BaseInput extends AuroElement$1 {
17750
17770
  this.maskInstance.on('accept', () => {
17751
17771
  if (this._configuringMask) return;
17752
17772
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
17753
- if (this.type === "date") {
17754
- this._rawMaskValue = this.maskInstance.value;
17755
- }
17756
17773
  });
17757
17774
 
17758
17775
  // Mask fires 'complete' on the restore step below for any value that
@@ -17760,9 +17777,6 @@ class BaseInput extends AuroElement$1 {
17760
17777
  this.maskInstance.on('complete', () => {
17761
17778
  if (this._configuringMask) return;
17762
17779
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
17763
- if (this.type === "date") {
17764
- this._rawMaskValue = this.maskInstance.value;
17765
- }
17766
17780
  });
17767
17781
 
17768
17782
  // Write existingValue through the mask (not the input directly) so
@@ -17999,8 +18013,7 @@ class BaseInput extends AuroElement$1 {
17999
18013
 
18000
18014
  // Set default date format if type=date and no format is defined
18001
18015
  if (this.type === "date" && !this.format) {
18002
- // Use locale to determine default date format
18003
- this.format = this.util.getDateMaskFromLocale().toLowerCase();
18016
+ this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
18004
18017
  this.util.updateFormat(this.format);
18005
18018
  }
18006
18019
  }
@@ -18029,7 +18042,7 @@ class BaseInput extends AuroElement$1 {
18029
18042
  const creditCard = this.matchInputValueToCreditCard();
18030
18043
  const previousFormat = this.format;
18031
18044
 
18032
- this.format = creditCard.maskFormat;
18045
+ this._setFormatFromLocale(creditCard.maskFormat);
18033
18046
 
18034
18047
  this.maxLength = creditCard.formatLength;
18035
18048
  this.minLength = creditCard.formatMinLength;
@@ -18503,7 +18516,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18503
18516
  }
18504
18517
  };
18505
18518
 
18506
- var formkitVersion$1 = '202607022134';
18519
+ var formkitVersion$1 = '202607022225';
18507
18520
 
18508
18521
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18509
18522
  // See LICENSE in the project root for license information.
@@ -19629,7 +19642,7 @@ class AuroBibtemplate extends i$3 {
19629
19642
  }
19630
19643
  }
19631
19644
 
19632
- var formkitVersion = '202607022134';
19645
+ var formkitVersion = '202607022225';
19633
19646
 
19634
19647
  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}`;
19635
19648