@aurodesignsystem-dev/auro-formkit 0.0.0-pr1515.0 → 0.0.0-pr1515.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 (49) 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 +119 -96
  7. package/components/combobox/demo/getting-started.min.js +119 -96
  8. package/components/combobox/demo/index.min.js +119 -96
  9. package/components/combobox/dist/index.js +118 -95
  10. package/components/combobox/dist/registered.js +118 -95
  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/customize.min.js +139 -97
  16. package/components/datepicker/demo/index.min.js +139 -97
  17. package/components/datepicker/dist/index.js +139 -97
  18. package/components/datepicker/dist/registered.js +139 -97
  19. package/components/dropdown/demo/customize.min.js +1 -1
  20. package/components/dropdown/demo/getting-started.min.js +1 -1
  21. package/components/dropdown/demo/index.min.js +1 -1
  22. package/components/dropdown/dist/index.js +1 -1
  23. package/components/dropdown/dist/registered.js +1 -1
  24. package/components/form/demo/customize.min.js +381 -293
  25. package/components/form/demo/getting-started.min.js +381 -293
  26. package/components/form/demo/index.min.js +381 -293
  27. package/components/form/demo/registerDemoDeps.min.js +381 -293
  28. package/components/input/demo/api.md +5 -5
  29. package/components/input/demo/customize.md +8 -8
  30. package/components/input/demo/customize.min.js +116 -93
  31. package/components/input/demo/getting-started.min.js +116 -93
  32. package/components/input/demo/index.min.js +116 -93
  33. package/components/input/dist/base-input.d.ts +33 -44
  34. package/components/input/dist/index.js +129 -94
  35. package/components/input/dist/registered.js +116 -93
  36. package/components/radio/demo/customize.min.js +1 -1
  37. package/components/radio/demo/getting-started.min.js +1 -1
  38. package/components/radio/demo/index.min.js +1 -1
  39. package/components/radio/dist/index.js +1 -1
  40. package/components/radio/dist/registered.js +1 -1
  41. package/components/select/demo/customize.md +1 -1
  42. package/components/select/demo/index.min.js +2 -2
  43. package/components/select/dist/index.js +2 -2
  44. package/components/select/dist/registered.js +2 -2
  45. package/custom-elements.json +1944 -1734
  46. package/package.json +1 -1
  47. package/components/select/demo/customize.min.js +0 -10170
  48. package/components/select/demo/demo-support.min.js +0 -55807
  49. package/components/select/demo/getting-started.min.js +0 -10214
@@ -10456,6 +10456,13 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
10456
10456
  * @returns {string | undefined}
10457
10457
  */
10458
10458
  toFormattedValue(valueObject, format) {
10459
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
10460
+ // `format` argument has to fail gracefully rather than throw on
10461
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
10462
+ // as "no format → no display value".
10463
+ if (!format) {
10464
+ return undefined;
10465
+ }
10459
10466
  const normalizedFormat = format.toLowerCase();
10460
10467
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10461
10468
 
@@ -10606,79 +10613,18 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
10606
10613
  constructor() {
10607
10614
  super();
10608
10615
 
10609
- this.appearance = "default";
10610
- this.disabled = false;
10611
- this.layout = 'classic';
10612
- this.locale = 'en-US';
10613
- this.max = undefined;
10614
- this._maxObject = undefined;
10615
- this.maxLength = undefined;
10616
- this.min = undefined;
10617
- this._minObject = undefined;
10618
- this.minLength = undefined;
10619
- this.required = false;
10620
- this.onDark = false;
10621
- this.setCustomValidityForType = undefined;
10622
- this.size = 'lg';
10623
- this.shape = 'classic';
10624
- this.value = undefined;
10625
- this._valueObject = undefined;
10626
-
10627
- this._initializePrivateDefaults();
10628
- }
10629
-
10630
- /**
10631
- * Internal Defaults.
10632
- * @private
10633
- * @returns {void}
10634
- */
10635
- _initializePrivateDefaults() {
10616
+ // Single-source initialization. Alphabetized so duplicate or stale
10617
+ // defaults are immediately obvious on a diff. Every field is assigned
10618
+ // exactly once here (previously the constructor + the old
10619
+ // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
10620
+ // fields and double-allocated `util` and `validation`, discarding the
10621
+ // first instance). `validation` is now allocated exactly once; `util`
10622
+ // is seeded here with an en-US default and then rebuilt in
10623
+ // `connectedCallback` once the consumer-resolved locale is available,
10624
+ // so a parent (datepicker/combobox) calling `validate()` synchronously
10625
+ // during its own update cycle sees a populated util instance.
10636
10626
  this.activeLabel = false;
10637
- this.appearance = "default";
10638
- this.icon = false;
10639
- this.disabled = false;
10640
- this.dvInputOnly = false;
10641
- this.hideLabelVisually = false;
10642
- this.max = undefined;
10643
- this.maxLength = undefined;
10644
- this.min = undefined;
10645
- this.minLength = undefined;
10646
- this.noValidate = false;
10647
- this.onDark = false;
10648
- this.required = false;
10649
- this.setCustomValidityForType = undefined;
10650
-
10651
- // Used for storing raw values returned from input mask.
10652
- this._rawMaskValue = undefined;
10653
-
10654
- /**
10655
- * @private
10656
- */
10657
- this.layout = 'classic';
10658
-
10659
- /**
10660
- * @private
10661
- */
10662
- this.shape = 'classic';
10663
-
10664
- /**
10665
- * @private
10666
- */
10667
- this.size = 'lg';
10668
-
10669
- this.touched = false;
10670
- this.util = new AuroInputUtilities$3({
10671
- locale: "en-US",
10672
- format: this.format
10673
- });
10674
- this.validation = new AuroFormValidation$7();
10675
- this.inputIconName = undefined;
10676
- this.showPassword = false;
10677
- this.validationCCLength = undefined;
10678
- this.hasValue = false;
10679
- this.label = 'Input label is undefined';
10680
-
10681
-
10627
+ /** @private */
10682
10628
  this.allowedInputTypes = [
10683
10629
  "text",
10684
10630
  "number",
@@ -10687,7 +10633,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
10687
10633
  "credit-card",
10688
10634
  "tel"
10689
10635
  ];
10690
- this.icon = false;
10636
+ this.appearance = "default";
10637
+ /** @private */
10691
10638
  this.dateFormatMap = {
10692
10639
  'mm/dd/yyyy': 'dateMMDDYYYY',
10693
10640
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -10704,27 +10651,57 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
10704
10651
  'dd/mm': 'dateDDMM',
10705
10652
  'mm/dd': 'dateMMDD'
10706
10653
  };
10654
+ this.disabled = false;
10655
+ /** @private */
10707
10656
  this.domHandler = new DomHandler$3();
10708
10657
  this.dvInputOnly = false;
10709
10658
  this.hasValue = false;
10659
+ this.hideLabelVisually = false;
10660
+ this.icon = false;
10661
+ /** @private */
10710
10662
  this.inputIconName = undefined;
10663
+ /** @private */
10711
10664
  this.label = 'Input label is undefined';
10665
+ this.layout = 'classic';
10666
+ this.locale = 'en-US';
10667
+ this.max = undefined;
10668
+ this._maxObject = undefined;
10669
+ this.maxLength = undefined;
10670
+ this.min = undefined;
10671
+ this._minObject = undefined;
10672
+ this.minLength = undefined;
10712
10673
  this.noValidate = false;
10713
- this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
10674
+ this.onDark = false;
10675
+ // Raw values returned from the input mask before model normalization.
10676
+ this._rawMaskValue = undefined;
10677
+ this.required = false;
10678
+ this.setCustomValidityForType = undefined;
10679
+ // Credit Card is intentionally excluded — its mask manages the cursor
10680
+ // itself, and listing it here caused cursor placement issues in Safari.
10681
+ /** @private */
10714
10682
  this.setSelectionInputTypes = [
10715
10683
  "text",
10716
10684
  "password",
10717
10685
  "email"
10718
- ]; // Credit Card is not included as this caused cursor placement issues in Safari.
10686
+ ];
10687
+ this.shape = 'classic';
10688
+ /** @private */
10719
10689
  this.showPassword = false;
10690
+ this.size = 'lg';
10720
10691
  this.touched = false;
10692
+ /** @private */
10721
10693
  this.uniqueId = new UniqueId$2().create();
10694
+ /** @private */
10722
10695
  this.util = new AuroInputUtilities$3({
10723
10696
  locale: this.locale,
10724
10697
  format: this.format
10725
10698
  });
10699
+ /** @private */
10726
10700
  this.validation = new AuroFormValidation$7();
10701
+ /** @private */
10727
10702
  this.validationCCLength = undefined;
10703
+ this.value = undefined;
10704
+ this._valueObject = undefined;
10728
10705
  }
10729
10706
 
10730
10707
  // function to define props used within the scope of this component
@@ -11272,6 +11249,15 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11272
11249
 
11273
11250
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11274
11251
 
11252
+ // Normalize the format token to lowercase so case-mixed values supplied
11253
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
11254
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
11255
+ // format silently misses the map and leaves `setCustomValidityForType`
11256
+ // unset.
11257
+ if (this.format) {
11258
+ this.format = this.format.toLowerCase();
11259
+ }
11260
+
11275
11261
  // use validity message override if declared when initializing the component
11276
11262
  if (this.hasAttribute('setCustomValidity')) {
11277
11263
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -11705,6 +11691,38 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11705
11691
  this.touched = true;
11706
11692
  this.validation.validate(this);
11707
11693
  }
11694
+
11695
+ // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
11696
+ // update that can re-render the input and reset the native cursor; we
11697
+ // capture the caret position before that update commits and restore it
11698
+ // via `setSelectionRange` once the update has flushed. Gated on
11699
+ // `setSelectionInputTypes` so credit-card (and other masked types whose
11700
+ // formatter manages the cursor itself) doesn't get a competing write.
11701
+ // Capture the caret position INSIDE the gate — reading `selectionStart`
11702
+ // on input types that don't support text selection (number, email in
11703
+ // some browsers) throws InvalidStateError, which would crash all input
11704
+ // handling. Wrap the read in try/catch belt-and-suspenders even though
11705
+ // the gated types currently support it, since the list is a public
11706
+ // property a consumer could mutate.
11707
+ if (this.setSelectionInputTypes.includes(this.type)) {
11708
+ let selectionStart;
11709
+ try {
11710
+ selectionStart = this.inputElement.selectionStart;
11711
+ } catch (error) { // eslint-disable-line no-unused-vars
11712
+ return;
11713
+ }
11714
+ if (typeof selectionStart !== 'number') {
11715
+ return;
11716
+ }
11717
+ this.updateComplete.then(() => {
11718
+ try {
11719
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
11720
+ } catch (error) { // eslint-disable-line no-unused-vars
11721
+ // Some input types (number/email in certain UAs) throw on
11722
+ // setSelectionRange; swallow and let the native cursor stand.
11723
+ }
11724
+ });
11725
+ }
11708
11726
  }
11709
11727
 
11710
11728
  /**
@@ -12331,7 +12349,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12331
12349
  }
12332
12350
  };
12333
12351
 
12334
- var formkitVersion$8 = '202606291748';
12352
+ var formkitVersion$8 = '202606291813';
12335
12353
 
12336
12354
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12337
12355
  // See LICENSE in the project root for license information.
@@ -12834,6 +12852,7 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12834
12852
  <${this.buttonTag}
12835
12853
  @click="${this.handleClickShowPassword}"
12836
12854
  appearance="${this.onDark ? 'inverse' : this.appearance}"
12855
+ aria-pressed="${this.showPassword ? 'true' : 'false'}"
12837
12856
  class="notificationBtn passwordBtn"
12838
12857
  shape="circle"
12839
12858
  size="sm"
@@ -12907,25 +12926,29 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
12907
12926
  * @returns {html} - Returns HTML for the help text and error message.
12908
12927
  */
12909
12928
  renderHtmlHelpText() {
12929
+ // Single `<p>` with stable identity across validity transitions —
12930
+ // previously two distinct templates (valid vs invalid) caused Lit to
12931
+ // replace the node entirely on a flip, and VoiceOver wouldn't
12932
+ // re-announce because the live-region element it was watching had been
12933
+ // removed and a new one inserted. Keeping one node means the `role`,
12934
+ // `aria-live`, and text content all change in-place, which AT does
12935
+ // observe and announce.
12936
+ const isError = this.validity && this.validity !== 'valid';
12910
12937
  return u$d`
12911
- ${!this.validity || this.validity === undefined || this.validity === 'valid'
12912
- ? u$d`
12913
- <${this.helpTextTag}
12914
- appearance="${this.onDark ? 'inverse' : this.appearance}">
12915
- <p id="${this.uniqueId}" part="helpText">
12916
- <slot name="helpText">${this.getHelpText()}</slot>
12917
- </p>
12918
- </${this.helpTextTag}>
12919
- `
12920
- : u$d`
12921
- <${this.helpTextTag} error
12922
- appearance="${this.onDark ? 'inverse' : this.appearance}">
12923
- <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
12924
- ${this.errorMessage}
12925
- </p>
12926
- </${this.helpTextTag}>
12927
- `
12928
- }
12938
+ <${this.helpTextTag}
12939
+ appearance="${this.onDark ? 'inverse' : this.appearance}"
12940
+ ?error=${isError}>
12941
+ <p
12942
+ id="${this.uniqueId}"
12943
+ part="helpText"
12944
+ role="${o$4(isError ? 'alert' : undefined)}"
12945
+ aria-live="${o$4(isError ? 'assertive' : undefined)}">
12946
+ ${isError
12947
+ ? this.errorMessage
12948
+ : u$d`<slot name="helpText">${this.getHelpText()}</slot>`
12949
+ }
12950
+ </p>
12951
+ </${this.helpTextTag}>
12929
12952
  `;
12930
12953
  }
12931
12954
 
@@ -23566,6 +23589,13 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
23566
23589
  * @returns {string | undefined}
23567
23590
  */
23568
23591
  toFormattedValue(valueObject, format) {
23592
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
23593
+ // `format` argument has to fail gracefully rather than throw on
23594
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
23595
+ // as "no format → no display value".
23596
+ if (!format) {
23597
+ return undefined;
23598
+ }
23569
23599
  const normalizedFormat = format.toLowerCase();
23570
23600
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
23571
23601
 
@@ -26573,7 +26603,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26573
26603
  }
26574
26604
  };
26575
26605
 
26576
- var formkitVersion$2$1 = '202606291748';
26606
+ var formkitVersion$2$1 = '202606291813';
26577
26607
 
26578
26608
  let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$4`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
26579
26609
  `,u$4$2=i$4`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -32231,7 +32261,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
32231
32261
  }
32232
32262
  };
32233
32263
 
32234
- var formkitVersion$1$3 = '202606291748';
32264
+ var formkitVersion$1$3 = '202606291813';
32235
32265
 
32236
32266
  let AuroElement$2$2 = class AuroElement extends i$2 {
32237
32267
  static get properties() {
@@ -43950,6 +43980,13 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
43950
43980
  * @returns {string | undefined}
43951
43981
  */
43952
43982
  toFormattedValue(valueObject, format) {
43983
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
43984
+ // `format` argument has to fail gracefully rather than throw on
43985
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
43986
+ // as "no format → no display value".
43987
+ if (!format) {
43988
+ return undefined;
43989
+ }
43953
43990
  const normalizedFormat = format.toLowerCase();
43954
43991
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
43955
43992
 
@@ -44100,79 +44137,18 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44100
44137
  constructor() {
44101
44138
  super();
44102
44139
 
44103
- this.appearance = "default";
44104
- this.disabled = false;
44105
- this.layout = 'classic';
44106
- this.locale = 'en-US';
44107
- this.max = undefined;
44108
- this._maxObject = undefined;
44109
- this.maxLength = undefined;
44110
- this.min = undefined;
44111
- this._minObject = undefined;
44112
- this.minLength = undefined;
44113
- this.required = false;
44114
- this.onDark = false;
44115
- this.setCustomValidityForType = undefined;
44116
- this.size = 'lg';
44117
- this.shape = 'classic';
44118
- this.value = undefined;
44119
- this._valueObject = undefined;
44120
-
44121
- this._initializePrivateDefaults();
44122
- }
44123
-
44124
- /**
44125
- * Internal Defaults.
44126
- * @private
44127
- * @returns {void}
44128
- */
44129
- _initializePrivateDefaults() {
44140
+ // Single-source initialization. Alphabetized so duplicate or stale
44141
+ // defaults are immediately obvious on a diff. Every field is assigned
44142
+ // exactly once here (previously the constructor + the old
44143
+ // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
44144
+ // fields and double-allocated `util` and `validation`, discarding the
44145
+ // first instance). `validation` is now allocated exactly once; `util`
44146
+ // is seeded here with an en-US default and then rebuilt in
44147
+ // `connectedCallback` once the consumer-resolved locale is available,
44148
+ // so a parent (datepicker/combobox) calling `validate()` synchronously
44149
+ // during its own update cycle sees a populated util instance.
44130
44150
  this.activeLabel = false;
44131
- this.appearance = "default";
44132
- this.icon = false;
44133
- this.disabled = false;
44134
- this.dvInputOnly = false;
44135
- this.hideLabelVisually = false;
44136
- this.max = undefined;
44137
- this.maxLength = undefined;
44138
- this.min = undefined;
44139
- this.minLength = undefined;
44140
- this.noValidate = false;
44141
- this.onDark = false;
44142
- this.required = false;
44143
- this.setCustomValidityForType = undefined;
44144
-
44145
- // Used for storing raw values returned from input mask.
44146
- this._rawMaskValue = undefined;
44147
-
44148
- /**
44149
- * @private
44150
- */
44151
- this.layout = 'classic';
44152
-
44153
- /**
44154
- * @private
44155
- */
44156
- this.shape = 'classic';
44157
-
44158
- /**
44159
- * @private
44160
- */
44161
- this.size = 'lg';
44162
-
44163
- this.touched = false;
44164
- this.util = new AuroInputUtilities$2({
44165
- locale: "en-US",
44166
- format: this.format
44167
- });
44168
- this.validation = new AuroFormValidation$6();
44169
- this.inputIconName = undefined;
44170
- this.showPassword = false;
44171
- this.validationCCLength = undefined;
44172
- this.hasValue = false;
44173
- this.label = 'Input label is undefined';
44174
-
44175
-
44151
+ /** @private */
44176
44152
  this.allowedInputTypes = [
44177
44153
  "text",
44178
44154
  "number",
@@ -44181,7 +44157,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44181
44157
  "credit-card",
44182
44158
  "tel"
44183
44159
  ];
44184
- this.icon = false;
44160
+ this.appearance = "default";
44161
+ /** @private */
44185
44162
  this.dateFormatMap = {
44186
44163
  'mm/dd/yyyy': 'dateMMDDYYYY',
44187
44164
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -44198,27 +44175,57 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44198
44175
  'dd/mm': 'dateDDMM',
44199
44176
  'mm/dd': 'dateMMDD'
44200
44177
  };
44178
+ this.disabled = false;
44179
+ /** @private */
44201
44180
  this.domHandler = new DomHandler$2();
44202
44181
  this.dvInputOnly = false;
44203
44182
  this.hasValue = false;
44183
+ this.hideLabelVisually = false;
44184
+ this.icon = false;
44185
+ /** @private */
44204
44186
  this.inputIconName = undefined;
44187
+ /** @private */
44205
44188
  this.label = 'Input label is undefined';
44189
+ this.layout = 'classic';
44190
+ this.locale = 'en-US';
44191
+ this.max = undefined;
44192
+ this._maxObject = undefined;
44193
+ this.maxLength = undefined;
44194
+ this.min = undefined;
44195
+ this._minObject = undefined;
44196
+ this.minLength = undefined;
44206
44197
  this.noValidate = false;
44207
- this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
44198
+ this.onDark = false;
44199
+ // Raw values returned from the input mask before model normalization.
44200
+ this._rawMaskValue = undefined;
44201
+ this.required = false;
44202
+ this.setCustomValidityForType = undefined;
44203
+ // Credit Card is intentionally excluded — its mask manages the cursor
44204
+ // itself, and listing it here caused cursor placement issues in Safari.
44205
+ /** @private */
44208
44206
  this.setSelectionInputTypes = [
44209
44207
  "text",
44210
44208
  "password",
44211
44209
  "email"
44212
- ]; // Credit Card is not included as this caused cursor placement issues in Safari.
44210
+ ];
44211
+ this.shape = 'classic';
44212
+ /** @private */
44213
44213
  this.showPassword = false;
44214
+ this.size = 'lg';
44214
44215
  this.touched = false;
44216
+ /** @private */
44215
44217
  this.uniqueId = new UniqueId$1().create();
44218
+ /** @private */
44216
44219
  this.util = new AuroInputUtilities$2({
44217
44220
  locale: this.locale,
44218
44221
  format: this.format
44219
44222
  });
44223
+ /** @private */
44220
44224
  this.validation = new AuroFormValidation$6();
44225
+ /** @private */
44221
44226
  this.validationCCLength = undefined;
44227
+ this.value = undefined;
44228
+ this._valueObject = undefined;
44222
44229
  }
44223
44230
 
44224
44231
  // function to define props used within the scope of this component
@@ -44766,6 +44773,15 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44766
44773
 
44767
44774
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
44768
44775
 
44776
+ // Normalize the format token to lowercase so case-mixed values supplied
44777
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
44778
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
44779
+ // format silently misses the map and leaves `setCustomValidityForType`
44780
+ // unset.
44781
+ if (this.format) {
44782
+ this.format = this.format.toLowerCase();
44783
+ }
44784
+
44769
44785
  // use validity message override if declared when initializing the component
44770
44786
  if (this.hasAttribute('setCustomValidity')) {
44771
44787
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -45199,6 +45215,38 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45199
45215
  this.touched = true;
45200
45216
  this.validation.validate(this);
45201
45217
  }
45218
+
45219
+ // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
45220
+ // update that can re-render the input and reset the native cursor; we
45221
+ // capture the caret position before that update commits and restore it
45222
+ // via `setSelectionRange` once the update has flushed. Gated on
45223
+ // `setSelectionInputTypes` so credit-card (and other masked types whose
45224
+ // formatter manages the cursor itself) doesn't get a competing write.
45225
+ // Capture the caret position INSIDE the gate — reading `selectionStart`
45226
+ // on input types that don't support text selection (number, email in
45227
+ // some browsers) throws InvalidStateError, which would crash all input
45228
+ // handling. Wrap the read in try/catch belt-and-suspenders even though
45229
+ // the gated types currently support it, since the list is a public
45230
+ // property a consumer could mutate.
45231
+ if (this.setSelectionInputTypes.includes(this.type)) {
45232
+ let selectionStart;
45233
+ try {
45234
+ selectionStart = this.inputElement.selectionStart;
45235
+ } catch (error) { // eslint-disable-line no-unused-vars
45236
+ return;
45237
+ }
45238
+ if (typeof selectionStart !== 'number') {
45239
+ return;
45240
+ }
45241
+ this.updateComplete.then(() => {
45242
+ try {
45243
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
45244
+ } catch (error) { // eslint-disable-line no-unused-vars
45245
+ // Some input types (number/email in certain UAs) throw on
45246
+ // setSelectionRange; swallow and let the native cursor stand.
45247
+ }
45248
+ });
45249
+ }
45202
45250
  }
45203
45251
 
45204
45252
  /**
@@ -45825,7 +45873,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
45825
45873
  }
45826
45874
  };
45827
45875
 
45828
- var formkitVersion$7 = '202606291748';
45876
+ var formkitVersion$7 = '202606291813';
45829
45877
 
45830
45878
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
45831
45879
  // See LICENSE in the project root for license information.
@@ -46328,6 +46376,7 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46328
46376
  <${this.buttonTag}
46329
46377
  @click="${this.handleClickShowPassword}"
46330
46378
  appearance="${this.onDark ? 'inverse' : this.appearance}"
46379
+ aria-pressed="${this.showPassword ? 'true' : 'false'}"
46331
46380
  class="notificationBtn passwordBtn"
46332
46381
  shape="circle"
46333
46382
  size="sm"
@@ -46401,25 +46450,29 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
46401
46450
  * @returns {html} - Returns HTML for the help text and error message.
46402
46451
  */
46403
46452
  renderHtmlHelpText() {
46453
+ // Single `<p>` with stable identity across validity transitions —
46454
+ // previously two distinct templates (valid vs invalid) caused Lit to
46455
+ // replace the node entirely on a flip, and VoiceOver wouldn't
46456
+ // re-announce because the live-region element it was watching had been
46457
+ // removed and a new one inserted. Keeping one node means the `role`,
46458
+ // `aria-live`, and text content all change in-place, which AT does
46459
+ // observe and announce.
46460
+ const isError = this.validity && this.validity !== 'valid';
46404
46461
  return u$d`
46405
- ${!this.validity || this.validity === undefined || this.validity === 'valid'
46406
- ? u$d`
46407
- <${this.helpTextTag}
46408
- appearance="${this.onDark ? 'inverse' : this.appearance}">
46409
- <p id="${this.uniqueId}" part="helpText">
46410
- <slot name="helpText">${this.getHelpText()}</slot>
46411
- </p>
46412
- </${this.helpTextTag}>
46413
- `
46414
- : u$d`
46415
- <${this.helpTextTag} error
46416
- appearance="${this.onDark ? 'inverse' : this.appearance}">
46417
- <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
46418
- ${this.errorMessage}
46419
- </p>
46420
- </${this.helpTextTag}>
46421
- `
46422
- }
46462
+ <${this.helpTextTag}
46463
+ appearance="${this.onDark ? 'inverse' : this.appearance}"
46464
+ ?error=${isError}>
46465
+ <p
46466
+ id="${this.uniqueId}"
46467
+ part="helpText"
46468
+ role="${o$4(isError ? 'alert' : undefined)}"
46469
+ aria-live="${o$4(isError ? 'assertive' : undefined)}">
46470
+ ${isError
46471
+ ? this.errorMessage
46472
+ : u$d`<slot name="helpText">${this.getHelpText()}</slot>`
46473
+ }
46474
+ </p>
46475
+ </${this.helpTextTag}>
46423
46476
  `;
46424
46477
  }
46425
46478
 
@@ -46566,6 +46619,15 @@ function formatISODate(isoStr, format) {
46566
46619
  try {
46567
46620
  const date = dateFormatter$2.stringToDateInstance(isoStr);
46568
46621
 
46622
+ // `stringToDateInstance` returns an `Invalid Date` for malformed strings
46623
+ // and `null` for non-string input — it does NOT throw. Without this
46624
+ // guard, `getFullYear()`/`getMonth()`/`getDate()` on an Invalid Date
46625
+ // yield `NaN`, and `String(NaN).padStart(4, '0')` produces literals
46626
+ // like "0NaN/0NaN/0NaN" instead of `undefined`.
46627
+ if (!(date instanceof Date) || Number.isNaN(date.getTime())) {
46628
+ return undefined;
46629
+ }
46630
+
46569
46631
  const year = String(date.getFullYear()).padStart(4, '0');
46570
46632
  const month = String(date.getMonth() + 1).padStart(2, '0');
46571
46633
  const day = String(date.getDate()).padStart(2, '0');
@@ -46576,7 +46638,10 @@ function formatISODate(isoStr, format) {
46576
46638
  replace(/mm/iu, month).
46577
46639
  replace(/dd/iu, day);
46578
46640
  } catch (err) {
46579
- // If the input string is not a valid date, return undefined
46641
+ // Defensive: the Date-returning path is guarded above, but `parseDate`
46642
+ // (inside `stringToDateInstance`) could throw on pathological input
46643
+ // future-library-versions might introduce. Treat any thrown error as
46644
+ // "not a valid date" and return undefined.
46580
46645
  return undefined;
46581
46646
  }
46582
46647
  }
@@ -50680,7 +50745,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
50680
50745
  }
50681
50746
  };
50682
50747
 
50683
- var formkitVersion$1$2 = '202606291748';
50748
+ var formkitVersion$1$2 = '202606291813';
50684
50749
 
50685
50750
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
50686
50751
  // See LICENSE in the project root for license information.
@@ -55008,7 +55073,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
55008
55073
  }
55009
55074
  };
55010
55075
 
55011
- var formkitVersion$6 = '202606291748';
55076
+ var formkitVersion$6 = '202606291813';
55012
55077
 
55013
55078
  let AuroElement$1$2 = class AuroElement extends i$2 {
55014
55079
  static get properties() {
@@ -58956,7 +59021,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
58956
59021
  }
58957
59022
  };
58958
59023
 
58959
- var formkitVersion$5 = '202606291748';
59024
+ var formkitVersion$5 = '202606291813';
58960
59025
 
58961
59026
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
58962
59027
  // See LICENSE in the project root for license information.
@@ -60706,7 +60771,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
60706
60771
  }
60707
60772
  };
60708
60773
 
60709
- var formkitVersion$4 = '202606291748';
60774
+ var formkitVersion$4 = '202606291813';
60710
60775
 
60711
60776
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
60712
60777
  // See LICENSE in the project root for license information.
@@ -65921,7 +65986,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
65921
65986
  }
65922
65987
  };
65923
65988
 
65924
- var formkitVersion$2 = '202606291748';
65989
+ var formkitVersion$2 = '202606291813';
65925
65990
 
65926
65991
  let AuroElement$2$1 = class AuroElement extends i$2 {
65927
65992
  static get properties() {
@@ -77640,6 +77705,13 @@ class AuroInputUtilities {
77640
77705
  * @returns {string | undefined}
77641
77706
  */
77642
77707
  toFormattedValue(valueObject, format) {
77708
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
77709
+ // `format` argument has to fail gracefully rather than throw on
77710
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
77711
+ // as "no format → no display value".
77712
+ if (!format) {
77713
+ return undefined;
77714
+ }
77643
77715
  const normalizedFormat = format.toLowerCase();
77644
77716
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
77645
77717
 
@@ -77790,79 +77862,18 @@ class BaseInput extends AuroElement$1$1 {
77790
77862
  constructor() {
77791
77863
  super();
77792
77864
 
77793
- this.appearance = "default";
77794
- this.disabled = false;
77795
- this.layout = 'classic';
77796
- this.locale = 'en-US';
77797
- this.max = undefined;
77798
- this._maxObject = undefined;
77799
- this.maxLength = undefined;
77800
- this.min = undefined;
77801
- this._minObject = undefined;
77802
- this.minLength = undefined;
77803
- this.required = false;
77804
- this.onDark = false;
77805
- this.setCustomValidityForType = undefined;
77806
- this.size = 'lg';
77807
- this.shape = 'classic';
77808
- this.value = undefined;
77809
- this._valueObject = undefined;
77810
-
77811
- this._initializePrivateDefaults();
77812
- }
77813
-
77814
- /**
77815
- * Internal Defaults.
77816
- * @private
77817
- * @returns {void}
77818
- */
77819
- _initializePrivateDefaults() {
77865
+ // Single-source initialization. Alphabetized so duplicate or stale
77866
+ // defaults are immediately obvious on a diff. Every field is assigned
77867
+ // exactly once here (previously the constructor + the old
77868
+ // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
77869
+ // fields and double-allocated `util` and `validation`, discarding the
77870
+ // first instance). `validation` is now allocated exactly once; `util`
77871
+ // is seeded here with an en-US default and then rebuilt in
77872
+ // `connectedCallback` once the consumer-resolved locale is available,
77873
+ // so a parent (datepicker/combobox) calling `validate()` synchronously
77874
+ // during its own update cycle sees a populated util instance.
77820
77875
  this.activeLabel = false;
77821
- this.appearance = "default";
77822
- this.icon = false;
77823
- this.disabled = false;
77824
- this.dvInputOnly = false;
77825
- this.hideLabelVisually = false;
77826
- this.max = undefined;
77827
- this.maxLength = undefined;
77828
- this.min = undefined;
77829
- this.minLength = undefined;
77830
- this.noValidate = false;
77831
- this.onDark = false;
77832
- this.required = false;
77833
- this.setCustomValidityForType = undefined;
77834
-
77835
- // Used for storing raw values returned from input mask.
77836
- this._rawMaskValue = undefined;
77837
-
77838
- /**
77839
- * @private
77840
- */
77841
- this.layout = 'classic';
77842
-
77843
- /**
77844
- * @private
77845
- */
77846
- this.shape = 'classic';
77847
-
77848
- /**
77849
- * @private
77850
- */
77851
- this.size = 'lg';
77852
-
77853
- this.touched = false;
77854
- this.util = new AuroInputUtilities({
77855
- locale: "en-US",
77856
- format: this.format
77857
- });
77858
- this.validation = new AuroFormValidation$2();
77859
- this.inputIconName = undefined;
77860
- this.showPassword = false;
77861
- this.validationCCLength = undefined;
77862
- this.hasValue = false;
77863
- this.label = 'Input label is undefined';
77864
-
77865
-
77876
+ /** @private */
77866
77877
  this.allowedInputTypes = [
77867
77878
  "text",
77868
77879
  "number",
@@ -77871,7 +77882,8 @@ class BaseInput extends AuroElement$1$1 {
77871
77882
  "credit-card",
77872
77883
  "tel"
77873
77884
  ];
77874
- this.icon = false;
77885
+ this.appearance = "default";
77886
+ /** @private */
77875
77887
  this.dateFormatMap = {
77876
77888
  'mm/dd/yyyy': 'dateMMDDYYYY',
77877
77889
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -77888,27 +77900,57 @@ class BaseInput extends AuroElement$1$1 {
77888
77900
  'dd/mm': 'dateDDMM',
77889
77901
  'mm/dd': 'dateMMDD'
77890
77902
  };
77903
+ this.disabled = false;
77904
+ /** @private */
77891
77905
  this.domHandler = new DomHandler();
77892
77906
  this.dvInputOnly = false;
77893
77907
  this.hasValue = false;
77908
+ this.hideLabelVisually = false;
77909
+ this.icon = false;
77910
+ /** @private */
77894
77911
  this.inputIconName = undefined;
77912
+ /** @private */
77895
77913
  this.label = 'Input label is undefined';
77914
+ this.layout = 'classic';
77915
+ this.locale = 'en-US';
77916
+ this.max = undefined;
77917
+ this._maxObject = undefined;
77918
+ this.maxLength = undefined;
77919
+ this.min = undefined;
77920
+ this._minObject = undefined;
77921
+ this.minLength = undefined;
77896
77922
  this.noValidate = false;
77897
- this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
77923
+ this.onDark = false;
77924
+ // Raw values returned from the input mask before model normalization.
77925
+ this._rawMaskValue = undefined;
77926
+ this.required = false;
77927
+ this.setCustomValidityForType = undefined;
77928
+ // Credit Card is intentionally excluded — its mask manages the cursor
77929
+ // itself, and listing it here caused cursor placement issues in Safari.
77930
+ /** @private */
77898
77931
  this.setSelectionInputTypes = [
77899
77932
  "text",
77900
77933
  "password",
77901
77934
  "email"
77902
- ]; // Credit Card is not included as this caused cursor placement issues in Safari.
77935
+ ];
77936
+ this.shape = 'classic';
77937
+ /** @private */
77903
77938
  this.showPassword = false;
77939
+ this.size = 'lg';
77904
77940
  this.touched = false;
77941
+ /** @private */
77905
77942
  this.uniqueId = new UniqueId().create();
77943
+ /** @private */
77906
77944
  this.util = new AuroInputUtilities({
77907
77945
  locale: this.locale,
77908
77946
  format: this.format
77909
77947
  });
77948
+ /** @private */
77910
77949
  this.validation = new AuroFormValidation$2();
77950
+ /** @private */
77911
77951
  this.validationCCLength = undefined;
77952
+ this.value = undefined;
77953
+ this._valueObject = undefined;
77912
77954
  }
77913
77955
 
77914
77956
  // function to define props used within the scope of this component
@@ -78456,6 +78498,15 @@ class BaseInput extends AuroElement$1$1 {
78456
78498
 
78457
78499
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
78458
78500
 
78501
+ // Normalize the format token to lowercase so case-mixed values supplied
78502
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
78503
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
78504
+ // format silently misses the map and leaves `setCustomValidityForType`
78505
+ // unset.
78506
+ if (this.format) {
78507
+ this.format = this.format.toLowerCase();
78508
+ }
78509
+
78459
78510
  // use validity message override if declared when initializing the component
78460
78511
  if (this.hasAttribute('setCustomValidity')) {
78461
78512
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -78889,6 +78940,38 @@ class BaseInput extends AuroElement$1$1 {
78889
78940
  this.touched = true;
78890
78941
  this.validation.validate(this);
78891
78942
  }
78943
+
78944
+ // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
78945
+ // update that can re-render the input and reset the native cursor; we
78946
+ // capture the caret position before that update commits and restore it
78947
+ // via `setSelectionRange` once the update has flushed. Gated on
78948
+ // `setSelectionInputTypes` so credit-card (and other masked types whose
78949
+ // formatter manages the cursor itself) doesn't get a competing write.
78950
+ // Capture the caret position INSIDE the gate — reading `selectionStart`
78951
+ // on input types that don't support text selection (number, email in
78952
+ // some browsers) throws InvalidStateError, which would crash all input
78953
+ // handling. Wrap the read in try/catch belt-and-suspenders even though
78954
+ // the gated types currently support it, since the list is a public
78955
+ // property a consumer could mutate.
78956
+ if (this.setSelectionInputTypes.includes(this.type)) {
78957
+ let selectionStart;
78958
+ try {
78959
+ selectionStart = this.inputElement.selectionStart;
78960
+ } catch (error) { // eslint-disable-line no-unused-vars
78961
+ return;
78962
+ }
78963
+ if (typeof selectionStart !== 'number') {
78964
+ return;
78965
+ }
78966
+ this.updateComplete.then(() => {
78967
+ try {
78968
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
78969
+ } catch (error) { // eslint-disable-line no-unused-vars
78970
+ // Some input types (number/email in certain UAs) throw on
78971
+ // setSelectionRange; swallow and let the native cursor stand.
78972
+ }
78973
+ });
78974
+ }
78892
78975
  }
78893
78976
 
78894
78977
  /**
@@ -79515,7 +79598,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
79515
79598
  }
79516
79599
  };
79517
79600
 
79518
- var formkitVersion$1$1 = '202606291748';
79601
+ var formkitVersion$1$1 = '202606291813';
79519
79602
 
79520
79603
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
79521
79604
  // See LICENSE in the project root for license information.
@@ -80018,6 +80101,7 @@ class AuroInput extends BaseInput {
80018
80101
  <${this.buttonTag}
80019
80102
  @click="${this.handleClickShowPassword}"
80020
80103
  appearance="${this.onDark ? 'inverse' : this.appearance}"
80104
+ aria-pressed="${this.showPassword ? 'true' : 'false'}"
80021
80105
  class="notificationBtn passwordBtn"
80022
80106
  shape="circle"
80023
80107
  size="sm"
@@ -80091,25 +80175,29 @@ class AuroInput extends BaseInput {
80091
80175
  * @returns {html} - Returns HTML for the help text and error message.
80092
80176
  */
80093
80177
  renderHtmlHelpText() {
80178
+ // Single `<p>` with stable identity across validity transitions —
80179
+ // previously two distinct templates (valid vs invalid) caused Lit to
80180
+ // replace the node entirely on a flip, and VoiceOver wouldn't
80181
+ // re-announce because the live-region element it was watching had been
80182
+ // removed and a new one inserted. Keeping one node means the `role`,
80183
+ // `aria-live`, and text content all change in-place, which AT does
80184
+ // observe and announce.
80185
+ const isError = this.validity && this.validity !== 'valid';
80094
80186
  return u$d`
80095
- ${!this.validity || this.validity === undefined || this.validity === 'valid'
80096
- ? u$d`
80097
- <${this.helpTextTag}
80098
- appearance="${this.onDark ? 'inverse' : this.appearance}">
80099
- <p id="${this.uniqueId}" part="helpText">
80100
- <slot name="helpText">${this.getHelpText()}</slot>
80101
- </p>
80102
- </${this.helpTextTag}>
80103
- `
80104
- : u$d`
80105
- <${this.helpTextTag} error
80106
- appearance="${this.onDark ? 'inverse' : this.appearance}">
80107
- <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
80108
- ${this.errorMessage}
80109
- </p>
80110
- </${this.helpTextTag}>
80111
- `
80112
- }
80187
+ <${this.helpTextTag}
80188
+ appearance="${this.onDark ? 'inverse' : this.appearance}"
80189
+ ?error=${isError}>
80190
+ <p
80191
+ id="${this.uniqueId}"
80192
+ part="helpText"
80193
+ role="${o$4(isError ? 'alert' : undefined)}"
80194
+ aria-live="${o$4(isError ? 'assertive' : undefined)}">
80195
+ ${isError
80196
+ ? this.errorMessage
80197
+ : u$d`<slot name="helpText">${this.getHelpText()}</slot>`
80198
+ }
80199
+ </p>
80200
+ </${this.helpTextTag}>
80113
80201
  `;
80114
80202
  }
80115
80203
 
@@ -80636,7 +80724,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
80636
80724
  }
80637
80725
  };
80638
80726
 
80639
- var formkitVersion$3 = '202606291748';
80727
+ var formkitVersion$3 = '202606291813';
80640
80728
 
80641
80729
  var styleCss$1$3 = i$4`.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}`;
80642
80730
 
@@ -89438,7 +89526,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
89438
89526
  }
89439
89527
  };
89440
89528
 
89441
- var formkitVersion$1 = '202606291748';
89529
+ var formkitVersion$1 = '202606291813';
89442
89530
 
89443
89531
  class AuroElement extends i$2 {
89444
89532
  static get properties() {
@@ -91460,7 +91548,7 @@ class AuroHelpText extends i$2 {
91460
91548
  }
91461
91549
  }
91462
91550
 
91463
- var formkitVersion = '202606291748';
91551
+ var formkitVersion = '202606291813';
91464
91552
 
91465
91553
  var styleCss = i$4`.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}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
91466
91554