@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
@@ -11497,6 +11497,13 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
11497
11497
  * @returns {string | undefined}
11498
11498
  */
11499
11499
  toFormattedValue(valueObject, format) {
11500
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
11501
+ // `format` argument has to fail gracefully rather than throw on
11502
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
11503
+ // as "no format → no display value".
11504
+ if (!format) {
11505
+ return undefined;
11506
+ }
11500
11507
  const normalizedFormat = format.toLowerCase();
11501
11508
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
11502
11509
 
@@ -11647,79 +11654,18 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11647
11654
  constructor() {
11648
11655
  super();
11649
11656
 
11650
- this.appearance = "default";
11651
- this.disabled = false;
11652
- this.layout = 'classic';
11653
- this.locale = 'en-US';
11654
- this.max = undefined;
11655
- this._maxObject = undefined;
11656
- this.maxLength = undefined;
11657
- this.min = undefined;
11658
- this._minObject = undefined;
11659
- this.minLength = undefined;
11660
- this.required = false;
11661
- this.onDark = false;
11662
- this.setCustomValidityForType = undefined;
11663
- this.size = 'lg';
11664
- this.shape = 'classic';
11665
- this.value = undefined;
11666
- this._valueObject = undefined;
11667
-
11668
- this._initializePrivateDefaults();
11669
- }
11670
-
11671
- /**
11672
- * Internal Defaults.
11673
- * @private
11674
- * @returns {void}
11675
- */
11676
- _initializePrivateDefaults() {
11657
+ // Single-source initialization. Alphabetized so duplicate or stale
11658
+ // defaults are immediately obvious on a diff. Every field is assigned
11659
+ // exactly once here (previously the constructor + the old
11660
+ // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
11661
+ // fields and double-allocated `util` and `validation`, discarding the
11662
+ // first instance). `validation` is now allocated exactly once; `util`
11663
+ // is seeded here with an en-US default and then rebuilt in
11664
+ // `connectedCallback` once the consumer-resolved locale is available,
11665
+ // so a parent (datepicker/combobox) calling `validate()` synchronously
11666
+ // during its own update cycle sees a populated util instance.
11677
11667
  this.activeLabel = false;
11678
- this.appearance = "default";
11679
- this.icon = false;
11680
- this.disabled = false;
11681
- this.dvInputOnly = false;
11682
- this.hideLabelVisually = false;
11683
- this.max = undefined;
11684
- this.maxLength = undefined;
11685
- this.min = undefined;
11686
- this.minLength = undefined;
11687
- this.noValidate = false;
11688
- this.onDark = false;
11689
- this.required = false;
11690
- this.setCustomValidityForType = undefined;
11691
-
11692
- // Used for storing raw values returned from input mask.
11693
- this._rawMaskValue = undefined;
11694
-
11695
- /**
11696
- * @private
11697
- */
11698
- this.layout = 'classic';
11699
-
11700
- /**
11701
- * @private
11702
- */
11703
- this.shape = 'classic';
11704
-
11705
- /**
11706
- * @private
11707
- */
11708
- this.size = 'lg';
11709
-
11710
- this.touched = false;
11711
- this.util = new AuroInputUtilities$3({
11712
- locale: "en-US",
11713
- format: this.format
11714
- });
11715
- this.validation = new AuroFormValidation$7();
11716
- this.inputIconName = undefined;
11717
- this.showPassword = false;
11718
- this.validationCCLength = undefined;
11719
- this.hasValue = false;
11720
- this.label = 'Input label is undefined';
11721
-
11722
-
11668
+ /** @private */
11723
11669
  this.allowedInputTypes = [
11724
11670
  "text",
11725
11671
  "number",
@@ -11728,7 +11674,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11728
11674
  "credit-card",
11729
11675
  "tel"
11730
11676
  ];
11731
- this.icon = false;
11677
+ this.appearance = "default";
11678
+ /** @private */
11732
11679
  this.dateFormatMap = {
11733
11680
  'mm/dd/yyyy': 'dateMMDDYYYY',
11734
11681
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -11745,27 +11692,57 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11745
11692
  'dd/mm': 'dateDDMM',
11746
11693
  'mm/dd': 'dateMMDD'
11747
11694
  };
11695
+ this.disabled = false;
11696
+ /** @private */
11748
11697
  this.domHandler = new DomHandler$3();
11749
11698
  this.dvInputOnly = false;
11750
11699
  this.hasValue = false;
11700
+ this.hideLabelVisually = false;
11701
+ this.icon = false;
11702
+ /** @private */
11751
11703
  this.inputIconName = undefined;
11704
+ /** @private */
11752
11705
  this.label = 'Input label is undefined';
11706
+ this.layout = 'classic';
11707
+ this.locale = 'en-US';
11708
+ this.max = undefined;
11709
+ this._maxObject = undefined;
11710
+ this.maxLength = undefined;
11711
+ this.min = undefined;
11712
+ this._minObject = undefined;
11713
+ this.minLength = undefined;
11753
11714
  this.noValidate = false;
11754
- this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
11715
+ this.onDark = false;
11716
+ // Raw values returned from the input mask before model normalization.
11717
+ this._rawMaskValue = undefined;
11718
+ this.required = false;
11719
+ this.setCustomValidityForType = undefined;
11720
+ // Credit Card is intentionally excluded — its mask manages the cursor
11721
+ // itself, and listing it here caused cursor placement issues in Safari.
11722
+ /** @private */
11755
11723
  this.setSelectionInputTypes = [
11756
11724
  "text",
11757
11725
  "password",
11758
11726
  "email"
11759
- ]; // Credit Card is not included as this caused cursor placement issues in Safari.
11727
+ ];
11728
+ this.shape = 'classic';
11729
+ /** @private */
11760
11730
  this.showPassword = false;
11731
+ this.size = 'lg';
11761
11732
  this.touched = false;
11733
+ /** @private */
11762
11734
  this.uniqueId = new UniqueId$2().create();
11735
+ /** @private */
11763
11736
  this.util = new AuroInputUtilities$3({
11764
11737
  locale: this.locale,
11765
11738
  format: this.format
11766
11739
  });
11740
+ /** @private */
11767
11741
  this.validation = new AuroFormValidation$7();
11742
+ /** @private */
11768
11743
  this.validationCCLength = undefined;
11744
+ this.value = undefined;
11745
+ this._valueObject = undefined;
11769
11746
  }
11770
11747
 
11771
11748
  // function to define props used within the scope of this component
@@ -12313,6 +12290,15 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12313
12290
 
12314
12291
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
12315
12292
 
12293
+ // Normalize the format token to lowercase so case-mixed values supplied
12294
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
12295
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
12296
+ // format silently misses the map and leaves `setCustomValidityForType`
12297
+ // unset.
12298
+ if (this.format) {
12299
+ this.format = this.format.toLowerCase();
12300
+ }
12301
+
12316
12302
  // use validity message override if declared when initializing the component
12317
12303
  if (this.hasAttribute('setCustomValidity')) {
12318
12304
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -12746,6 +12732,38 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12746
12732
  this.touched = true;
12747
12733
  this.validation.validate(this);
12748
12734
  }
12735
+
12736
+ // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
12737
+ // update that can re-render the input and reset the native cursor; we
12738
+ // capture the caret position before that update commits and restore it
12739
+ // via `setSelectionRange` once the update has flushed. Gated on
12740
+ // `setSelectionInputTypes` so credit-card (and other masked types whose
12741
+ // formatter manages the cursor itself) doesn't get a competing write.
12742
+ // Capture the caret position INSIDE the gate — reading `selectionStart`
12743
+ // on input types that don't support text selection (number, email in
12744
+ // some browsers) throws InvalidStateError, which would crash all input
12745
+ // handling. Wrap the read in try/catch belt-and-suspenders even though
12746
+ // the gated types currently support it, since the list is a public
12747
+ // property a consumer could mutate.
12748
+ if (this.setSelectionInputTypes.includes(this.type)) {
12749
+ let selectionStart;
12750
+ try {
12751
+ selectionStart = this.inputElement.selectionStart;
12752
+ } catch (error) { // eslint-disable-line no-unused-vars
12753
+ return;
12754
+ }
12755
+ if (typeof selectionStart !== 'number') {
12756
+ return;
12757
+ }
12758
+ this.updateComplete.then(() => {
12759
+ try {
12760
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
12761
+ } catch (error) { // eslint-disable-line no-unused-vars
12762
+ // Some input types (number/email in certain UAs) throw on
12763
+ // setSelectionRange; swallow and let the native cursor stand.
12764
+ }
12765
+ });
12766
+ }
12749
12767
  }
12750
12768
 
12751
12769
  /**
@@ -13372,7 +13390,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
13372
13390
  }
13373
13391
  };
13374
13392
 
13375
- var formkitVersion$8 = '202606291748';
13393
+ var formkitVersion$8 = '202606291813';
13376
13394
 
13377
13395
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13378
13396
  // See LICENSE in the project root for license information.
@@ -13875,6 +13893,7 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
13875
13893
  <${this.buttonTag}
13876
13894
  @click="${this.handleClickShowPassword}"
13877
13895
  appearance="${this.onDark ? 'inverse' : this.appearance}"
13896
+ aria-pressed="${this.showPassword ? 'true' : 'false'}"
13878
13897
  class="notificationBtn passwordBtn"
13879
13898
  shape="circle"
13880
13899
  size="sm"
@@ -13948,25 +13967,29 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
13948
13967
  * @returns {html} - Returns HTML for the help text and error message.
13949
13968
  */
13950
13969
  renderHtmlHelpText() {
13970
+ // Single `<p>` with stable identity across validity transitions —
13971
+ // previously two distinct templates (valid vs invalid) caused Lit to
13972
+ // replace the node entirely on a flip, and VoiceOver wouldn't
13973
+ // re-announce because the live-region element it was watching had been
13974
+ // removed and a new one inserted. Keeping one node means the `role`,
13975
+ // `aria-live`, and text content all change in-place, which AT does
13976
+ // observe and announce.
13977
+ const isError = this.validity && this.validity !== 'valid';
13951
13978
  return u$c`
13952
- ${!this.validity || this.validity === undefined || this.validity === 'valid'
13953
- ? u$c`
13954
- <${this.helpTextTag}
13955
- appearance="${this.onDark ? 'inverse' : this.appearance}">
13956
- <p id="${this.uniqueId}" part="helpText">
13957
- <slot name="helpText">${this.getHelpText()}</slot>
13958
- </p>
13959
- </${this.helpTextTag}>
13960
- `
13961
- : u$c`
13962
- <${this.helpTextTag} error
13963
- appearance="${this.onDark ? 'inverse' : this.appearance}">
13964
- <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
13965
- ${this.errorMessage}
13966
- </p>
13967
- </${this.helpTextTag}>
13968
- `
13969
- }
13979
+ <${this.helpTextTag}
13980
+ appearance="${this.onDark ? 'inverse' : this.appearance}"
13981
+ ?error=${isError}>
13982
+ <p
13983
+ id="${this.uniqueId}"
13984
+ part="helpText"
13985
+ role="${o$4(isError ? 'alert' : undefined)}"
13986
+ aria-live="${o$4(isError ? 'assertive' : undefined)}">
13987
+ ${isError
13988
+ ? this.errorMessage
13989
+ : u$c`<slot name="helpText">${this.getHelpText()}</slot>`
13990
+ }
13991
+ </p>
13992
+ </${this.helpTextTag}>
13970
13993
  `;
13971
13994
  }
13972
13995
 
@@ -24607,6 +24630,13 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
24607
24630
  * @returns {string | undefined}
24608
24631
  */
24609
24632
  toFormattedValue(valueObject, format) {
24633
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
24634
+ // `format` argument has to fail gracefully rather than throw on
24635
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
24636
+ // as "no format → no display value".
24637
+ if (!format) {
24638
+ return undefined;
24639
+ }
24610
24640
  const normalizedFormat = format.toLowerCase();
24611
24641
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
24612
24642
 
@@ -27614,7 +27644,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
27614
27644
  }
27615
27645
  };
27616
27646
 
27617
- var formkitVersion$2$1 = '202606291748';
27647
+ var formkitVersion$2$1 = '202606291813';
27618
27648
 
27619
27649
  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$2`${s$3(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$6`: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}
27620
27650
  `,u$4$2=i$6`.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}}
@@ -33272,7 +33302,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
33272
33302
  }
33273
33303
  };
33274
33304
 
33275
- var formkitVersion$1$3 = '202606291748';
33305
+ var formkitVersion$1$3 = '202606291813';
33276
33306
 
33277
33307
  let AuroElement$2$2 = class AuroElement extends i$3 {
33278
33308
  static get properties() {
@@ -44991,6 +45021,13 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
44991
45021
  * @returns {string | undefined}
44992
45022
  */
44993
45023
  toFormattedValue(valueObject, format) {
45024
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
45025
+ // `format` argument has to fail gracefully rather than throw on
45026
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
45027
+ // as "no format → no display value".
45028
+ if (!format) {
45029
+ return undefined;
45030
+ }
44994
45031
  const normalizedFormat = format.toLowerCase();
44995
45032
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
44996
45033
 
@@ -45141,79 +45178,18 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45141
45178
  constructor() {
45142
45179
  super();
45143
45180
 
45144
- this.appearance = "default";
45145
- this.disabled = false;
45146
- this.layout = 'classic';
45147
- this.locale = 'en-US';
45148
- this.max = undefined;
45149
- this._maxObject = undefined;
45150
- this.maxLength = undefined;
45151
- this.min = undefined;
45152
- this._minObject = undefined;
45153
- this.minLength = undefined;
45154
- this.required = false;
45155
- this.onDark = false;
45156
- this.setCustomValidityForType = undefined;
45157
- this.size = 'lg';
45158
- this.shape = 'classic';
45159
- this.value = undefined;
45160
- this._valueObject = undefined;
45161
-
45162
- this._initializePrivateDefaults();
45163
- }
45164
-
45165
- /**
45166
- * Internal Defaults.
45167
- * @private
45168
- * @returns {void}
45169
- */
45170
- _initializePrivateDefaults() {
45181
+ // Single-source initialization. Alphabetized so duplicate or stale
45182
+ // defaults are immediately obvious on a diff. Every field is assigned
45183
+ // exactly once here (previously the constructor + the old
45184
+ // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
45185
+ // fields and double-allocated `util` and `validation`, discarding the
45186
+ // first instance). `validation` is now allocated exactly once; `util`
45187
+ // is seeded here with an en-US default and then rebuilt in
45188
+ // `connectedCallback` once the consumer-resolved locale is available,
45189
+ // so a parent (datepicker/combobox) calling `validate()` synchronously
45190
+ // during its own update cycle sees a populated util instance.
45171
45191
  this.activeLabel = false;
45172
- this.appearance = "default";
45173
- this.icon = false;
45174
- this.disabled = false;
45175
- this.dvInputOnly = false;
45176
- this.hideLabelVisually = false;
45177
- this.max = undefined;
45178
- this.maxLength = undefined;
45179
- this.min = undefined;
45180
- this.minLength = undefined;
45181
- this.noValidate = false;
45182
- this.onDark = false;
45183
- this.required = false;
45184
- this.setCustomValidityForType = undefined;
45185
-
45186
- // Used for storing raw values returned from input mask.
45187
- this._rawMaskValue = undefined;
45188
-
45189
- /**
45190
- * @private
45191
- */
45192
- this.layout = 'classic';
45193
-
45194
- /**
45195
- * @private
45196
- */
45197
- this.shape = 'classic';
45198
-
45199
- /**
45200
- * @private
45201
- */
45202
- this.size = 'lg';
45203
-
45204
- this.touched = false;
45205
- this.util = new AuroInputUtilities$2({
45206
- locale: "en-US",
45207
- format: this.format
45208
- });
45209
- this.validation = new AuroFormValidation$6();
45210
- this.inputIconName = undefined;
45211
- this.showPassword = false;
45212
- this.validationCCLength = undefined;
45213
- this.hasValue = false;
45214
- this.label = 'Input label is undefined';
45215
-
45216
-
45192
+ /** @private */
45217
45193
  this.allowedInputTypes = [
45218
45194
  "text",
45219
45195
  "number",
@@ -45222,7 +45198,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45222
45198
  "credit-card",
45223
45199
  "tel"
45224
45200
  ];
45225
- this.icon = false;
45201
+ this.appearance = "default";
45202
+ /** @private */
45226
45203
  this.dateFormatMap = {
45227
45204
  'mm/dd/yyyy': 'dateMMDDYYYY',
45228
45205
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -45239,27 +45216,57 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45239
45216
  'dd/mm': 'dateDDMM',
45240
45217
  'mm/dd': 'dateMMDD'
45241
45218
  };
45219
+ this.disabled = false;
45220
+ /** @private */
45242
45221
  this.domHandler = new DomHandler$2();
45243
45222
  this.dvInputOnly = false;
45244
45223
  this.hasValue = false;
45224
+ this.hideLabelVisually = false;
45225
+ this.icon = false;
45226
+ /** @private */
45245
45227
  this.inputIconName = undefined;
45228
+ /** @private */
45246
45229
  this.label = 'Input label is undefined';
45230
+ this.layout = 'classic';
45231
+ this.locale = 'en-US';
45232
+ this.max = undefined;
45233
+ this._maxObject = undefined;
45234
+ this.maxLength = undefined;
45235
+ this.min = undefined;
45236
+ this._minObject = undefined;
45237
+ this.minLength = undefined;
45247
45238
  this.noValidate = false;
45248
- this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
45239
+ this.onDark = false;
45240
+ // Raw values returned from the input mask before model normalization.
45241
+ this._rawMaskValue = undefined;
45242
+ this.required = false;
45243
+ this.setCustomValidityForType = undefined;
45244
+ // Credit Card is intentionally excluded — its mask manages the cursor
45245
+ // itself, and listing it here caused cursor placement issues in Safari.
45246
+ /** @private */
45249
45247
  this.setSelectionInputTypes = [
45250
45248
  "text",
45251
45249
  "password",
45252
45250
  "email"
45253
- ]; // Credit Card is not included as this caused cursor placement issues in Safari.
45251
+ ];
45252
+ this.shape = 'classic';
45253
+ /** @private */
45254
45254
  this.showPassword = false;
45255
+ this.size = 'lg';
45255
45256
  this.touched = false;
45257
+ /** @private */
45256
45258
  this.uniqueId = new UniqueId$1().create();
45259
+ /** @private */
45257
45260
  this.util = new AuroInputUtilities$2({
45258
45261
  locale: this.locale,
45259
45262
  format: this.format
45260
45263
  });
45264
+ /** @private */
45261
45265
  this.validation = new AuroFormValidation$6();
45266
+ /** @private */
45262
45267
  this.validationCCLength = undefined;
45268
+ this.value = undefined;
45269
+ this._valueObject = undefined;
45263
45270
  }
45264
45271
 
45265
45272
  // function to define props used within the scope of this component
@@ -45807,6 +45814,15 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45807
45814
 
45808
45815
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
45809
45816
 
45817
+ // Normalize the format token to lowercase so case-mixed values supplied
45818
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
45819
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
45820
+ // format silently misses the map and leaves `setCustomValidityForType`
45821
+ // unset.
45822
+ if (this.format) {
45823
+ this.format = this.format.toLowerCase();
45824
+ }
45825
+
45810
45826
  // use validity message override if declared when initializing the component
45811
45827
  if (this.hasAttribute('setCustomValidity')) {
45812
45828
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -46240,6 +46256,38 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
46240
46256
  this.touched = true;
46241
46257
  this.validation.validate(this);
46242
46258
  }
46259
+
46260
+ // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
46261
+ // update that can re-render the input and reset the native cursor; we
46262
+ // capture the caret position before that update commits and restore it
46263
+ // via `setSelectionRange` once the update has flushed. Gated on
46264
+ // `setSelectionInputTypes` so credit-card (and other masked types whose
46265
+ // formatter manages the cursor itself) doesn't get a competing write.
46266
+ // Capture the caret position INSIDE the gate — reading `selectionStart`
46267
+ // on input types that don't support text selection (number, email in
46268
+ // some browsers) throws InvalidStateError, which would crash all input
46269
+ // handling. Wrap the read in try/catch belt-and-suspenders even though
46270
+ // the gated types currently support it, since the list is a public
46271
+ // property a consumer could mutate.
46272
+ if (this.setSelectionInputTypes.includes(this.type)) {
46273
+ let selectionStart;
46274
+ try {
46275
+ selectionStart = this.inputElement.selectionStart;
46276
+ } catch (error) { // eslint-disable-line no-unused-vars
46277
+ return;
46278
+ }
46279
+ if (typeof selectionStart !== 'number') {
46280
+ return;
46281
+ }
46282
+ this.updateComplete.then(() => {
46283
+ try {
46284
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
46285
+ } catch (error) { // eslint-disable-line no-unused-vars
46286
+ // Some input types (number/email in certain UAs) throw on
46287
+ // setSelectionRange; swallow and let the native cursor stand.
46288
+ }
46289
+ });
46290
+ }
46243
46291
  }
46244
46292
 
46245
46293
  /**
@@ -46866,7 +46914,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
46866
46914
  }
46867
46915
  };
46868
46916
 
46869
- var formkitVersion$7 = '202606291748';
46917
+ var formkitVersion$7 = '202606291813';
46870
46918
 
46871
46919
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46872
46920
  // See LICENSE in the project root for license information.
@@ -47369,6 +47417,7 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
47369
47417
  <${this.buttonTag}
47370
47418
  @click="${this.handleClickShowPassword}"
47371
47419
  appearance="${this.onDark ? 'inverse' : this.appearance}"
47420
+ aria-pressed="${this.showPassword ? 'true' : 'false'}"
47372
47421
  class="notificationBtn passwordBtn"
47373
47422
  shape="circle"
47374
47423
  size="sm"
@@ -47442,25 +47491,29 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
47442
47491
  * @returns {html} - Returns HTML for the help text and error message.
47443
47492
  */
47444
47493
  renderHtmlHelpText() {
47494
+ // Single `<p>` with stable identity across validity transitions —
47495
+ // previously two distinct templates (valid vs invalid) caused Lit to
47496
+ // replace the node entirely on a flip, and VoiceOver wouldn't
47497
+ // re-announce because the live-region element it was watching had been
47498
+ // removed and a new one inserted. Keeping one node means the `role`,
47499
+ // `aria-live`, and text content all change in-place, which AT does
47500
+ // observe and announce.
47501
+ const isError = this.validity && this.validity !== 'valid';
47445
47502
  return u$c`
47446
- ${!this.validity || this.validity === undefined || this.validity === 'valid'
47447
- ? u$c`
47448
- <${this.helpTextTag}
47449
- appearance="${this.onDark ? 'inverse' : this.appearance}">
47450
- <p id="${this.uniqueId}" part="helpText">
47451
- <slot name="helpText">${this.getHelpText()}</slot>
47452
- </p>
47453
- </${this.helpTextTag}>
47454
- `
47455
- : u$c`
47456
- <${this.helpTextTag} error
47457
- appearance="${this.onDark ? 'inverse' : this.appearance}">
47458
- <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
47459
- ${this.errorMessage}
47460
- </p>
47461
- </${this.helpTextTag}>
47462
- `
47463
- }
47503
+ <${this.helpTextTag}
47504
+ appearance="${this.onDark ? 'inverse' : this.appearance}"
47505
+ ?error=${isError}>
47506
+ <p
47507
+ id="${this.uniqueId}"
47508
+ part="helpText"
47509
+ role="${o$4(isError ? 'alert' : undefined)}"
47510
+ aria-live="${o$4(isError ? 'assertive' : undefined)}">
47511
+ ${isError
47512
+ ? this.errorMessage
47513
+ : u$c`<slot name="helpText">${this.getHelpText()}</slot>`
47514
+ }
47515
+ </p>
47516
+ </${this.helpTextTag}>
47464
47517
  `;
47465
47518
  }
47466
47519
 
@@ -47607,6 +47660,15 @@ function formatISODate(isoStr, format) {
47607
47660
  try {
47608
47661
  const date = dateFormatter$2.stringToDateInstance(isoStr);
47609
47662
 
47663
+ // `stringToDateInstance` returns an `Invalid Date` for malformed strings
47664
+ // and `null` for non-string input — it does NOT throw. Without this
47665
+ // guard, `getFullYear()`/`getMonth()`/`getDate()` on an Invalid Date
47666
+ // yield `NaN`, and `String(NaN).padStart(4, '0')` produces literals
47667
+ // like "0NaN/0NaN/0NaN" instead of `undefined`.
47668
+ if (!(date instanceof Date) || Number.isNaN(date.getTime())) {
47669
+ return undefined;
47670
+ }
47671
+
47610
47672
  const year = String(date.getFullYear()).padStart(4, '0');
47611
47673
  const month = String(date.getMonth() + 1).padStart(2, '0');
47612
47674
  const day = String(date.getDate()).padStart(2, '0');
@@ -47617,7 +47679,10 @@ function formatISODate(isoStr, format) {
47617
47679
  replace(/mm/iu, month).
47618
47680
  replace(/dd/iu, day);
47619
47681
  } catch (err) {
47620
- // If the input string is not a valid date, return undefined
47682
+ // Defensive: the Date-returning path is guarded above, but `parseDate`
47683
+ // (inside `stringToDateInstance`) could throw on pathological input
47684
+ // future-library-versions might introduce. Treat any thrown error as
47685
+ // "not a valid date" and return undefined.
47621
47686
  return undefined;
47622
47687
  }
47623
47688
  }
@@ -51721,7 +51786,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
51721
51786
  }
51722
51787
  };
51723
51788
 
51724
- var formkitVersion$1$2 = '202606291748';
51789
+ var formkitVersion$1$2 = '202606291813';
51725
51790
 
51726
51791
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
51727
51792
  // See LICENSE in the project root for license information.
@@ -56049,7 +56114,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
56049
56114
  }
56050
56115
  };
56051
56116
 
56052
- var formkitVersion$6 = '202606291748';
56117
+ var formkitVersion$6 = '202606291813';
56053
56118
 
56054
56119
  let AuroElement$1$2 = class AuroElement extends i$3 {
56055
56120
  static get properties() {
@@ -59997,7 +60062,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
59997
60062
  }
59998
60063
  };
59999
60064
 
60000
- var formkitVersion$5 = '202606291748';
60065
+ var formkitVersion$5 = '202606291813';
60001
60066
 
60002
60067
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
60003
60068
  // See LICENSE in the project root for license information.
@@ -61747,7 +61812,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
61747
61812
  }
61748
61813
  };
61749
61814
 
61750
- var formkitVersion$4 = '202606291748';
61815
+ var formkitVersion$4 = '202606291813';
61751
61816
 
61752
61817
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
61753
61818
  // See LICENSE in the project root for license information.
@@ -66962,7 +67027,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
66962
67027
  }
66963
67028
  };
66964
67029
 
66965
- var formkitVersion$2 = '202606291748';
67030
+ var formkitVersion$2 = '202606291813';
66966
67031
 
66967
67032
  let AuroElement$2$1 = class AuroElement extends i$3 {
66968
67033
  static get properties() {
@@ -78681,6 +78746,13 @@ class AuroInputUtilities {
78681
78746
  * @returns {string | undefined}
78682
78747
  */
78683
78748
  toFormattedValue(valueObject, format) {
78749
+ // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
78750
+ // `format` argument has to fail gracefully rather than throw on
78751
+ // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
78752
+ // as "no format → no display value".
78753
+ if (!format) {
78754
+ return undefined;
78755
+ }
78684
78756
  const normalizedFormat = format.toLowerCase();
78685
78757
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
78686
78758
 
@@ -78831,79 +78903,18 @@ class BaseInput extends AuroElement$1$1 {
78831
78903
  constructor() {
78832
78904
  super();
78833
78905
 
78834
- this.appearance = "default";
78835
- this.disabled = false;
78836
- this.layout = 'classic';
78837
- this.locale = 'en-US';
78838
- this.max = undefined;
78839
- this._maxObject = undefined;
78840
- this.maxLength = undefined;
78841
- this.min = undefined;
78842
- this._minObject = undefined;
78843
- this.minLength = undefined;
78844
- this.required = false;
78845
- this.onDark = false;
78846
- this.setCustomValidityForType = undefined;
78847
- this.size = 'lg';
78848
- this.shape = 'classic';
78849
- this.value = undefined;
78850
- this._valueObject = undefined;
78851
-
78852
- this._initializePrivateDefaults();
78853
- }
78854
-
78855
- /**
78856
- * Internal Defaults.
78857
- * @private
78858
- * @returns {void}
78859
- */
78860
- _initializePrivateDefaults() {
78906
+ // Single-source initialization. Alphabetized so duplicate or stale
78907
+ // defaults are immediately obvious on a diff. Every field is assigned
78908
+ // exactly once here (previously the constructor + the old
78909
+ // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
78910
+ // fields and double-allocated `util` and `validation`, discarding the
78911
+ // first instance). `validation` is now allocated exactly once; `util`
78912
+ // is seeded here with an en-US default and then rebuilt in
78913
+ // `connectedCallback` once the consumer-resolved locale is available,
78914
+ // so a parent (datepicker/combobox) calling `validate()` synchronously
78915
+ // during its own update cycle sees a populated util instance.
78861
78916
  this.activeLabel = false;
78862
- this.appearance = "default";
78863
- this.icon = false;
78864
- this.disabled = false;
78865
- this.dvInputOnly = false;
78866
- this.hideLabelVisually = false;
78867
- this.max = undefined;
78868
- this.maxLength = undefined;
78869
- this.min = undefined;
78870
- this.minLength = undefined;
78871
- this.noValidate = false;
78872
- this.onDark = false;
78873
- this.required = false;
78874
- this.setCustomValidityForType = undefined;
78875
-
78876
- // Used for storing raw values returned from input mask.
78877
- this._rawMaskValue = undefined;
78878
-
78879
- /**
78880
- * @private
78881
- */
78882
- this.layout = 'classic';
78883
-
78884
- /**
78885
- * @private
78886
- */
78887
- this.shape = 'classic';
78888
-
78889
- /**
78890
- * @private
78891
- */
78892
- this.size = 'lg';
78893
-
78894
- this.touched = false;
78895
- this.util = new AuroInputUtilities({
78896
- locale: "en-US",
78897
- format: this.format
78898
- });
78899
- this.validation = new AuroFormValidation$2();
78900
- this.inputIconName = undefined;
78901
- this.showPassword = false;
78902
- this.validationCCLength = undefined;
78903
- this.hasValue = false;
78904
- this.label = 'Input label is undefined';
78905
-
78906
-
78917
+ /** @private */
78907
78918
  this.allowedInputTypes = [
78908
78919
  "text",
78909
78920
  "number",
@@ -78912,7 +78923,8 @@ class BaseInput extends AuroElement$1$1 {
78912
78923
  "credit-card",
78913
78924
  "tel"
78914
78925
  ];
78915
- this.icon = false;
78926
+ this.appearance = "default";
78927
+ /** @private */
78916
78928
  this.dateFormatMap = {
78917
78929
  'mm/dd/yyyy': 'dateMMDDYYYY',
78918
78930
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -78929,27 +78941,57 @@ class BaseInput extends AuroElement$1$1 {
78929
78941
  'dd/mm': 'dateDDMM',
78930
78942
  'mm/dd': 'dateMMDD'
78931
78943
  };
78944
+ this.disabled = false;
78945
+ /** @private */
78932
78946
  this.domHandler = new DomHandler();
78933
78947
  this.dvInputOnly = false;
78934
78948
  this.hasValue = false;
78949
+ this.hideLabelVisually = false;
78950
+ this.icon = false;
78951
+ /** @private */
78935
78952
  this.inputIconName = undefined;
78953
+ /** @private */
78936
78954
  this.label = 'Input label is undefined';
78955
+ this.layout = 'classic';
78956
+ this.locale = 'en-US';
78957
+ this.max = undefined;
78958
+ this._maxObject = undefined;
78959
+ this.maxLength = undefined;
78960
+ this.min = undefined;
78961
+ this._minObject = undefined;
78962
+ this.minLength = undefined;
78937
78963
  this.noValidate = false;
78938
- this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
78964
+ this.onDark = false;
78965
+ // Raw values returned from the input mask before model normalization.
78966
+ this._rawMaskValue = undefined;
78967
+ this.required = false;
78968
+ this.setCustomValidityForType = undefined;
78969
+ // Credit Card is intentionally excluded — its mask manages the cursor
78970
+ // itself, and listing it here caused cursor placement issues in Safari.
78971
+ /** @private */
78939
78972
  this.setSelectionInputTypes = [
78940
78973
  "text",
78941
78974
  "password",
78942
78975
  "email"
78943
- ]; // Credit Card is not included as this caused cursor placement issues in Safari.
78976
+ ];
78977
+ this.shape = 'classic';
78978
+ /** @private */
78944
78979
  this.showPassword = false;
78980
+ this.size = 'lg';
78945
78981
  this.touched = false;
78982
+ /** @private */
78946
78983
  this.uniqueId = new UniqueId().create();
78984
+ /** @private */
78947
78985
  this.util = new AuroInputUtilities({
78948
78986
  locale: this.locale,
78949
78987
  format: this.format
78950
78988
  });
78989
+ /** @private */
78951
78990
  this.validation = new AuroFormValidation$2();
78991
+ /** @private */
78952
78992
  this.validationCCLength = undefined;
78993
+ this.value = undefined;
78994
+ this._valueObject = undefined;
78953
78995
  }
78954
78996
 
78955
78997
  // function to define props used within the scope of this component
@@ -79497,6 +79539,15 @@ class BaseInput extends AuroElement$1$1 {
79497
79539
 
79498
79540
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
79499
79541
 
79542
+ // Normalize the format token to lowercase so case-mixed values supplied
79543
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
79544
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
79545
+ // format silently misses the map and leaves `setCustomValidityForType`
79546
+ // unset.
79547
+ if (this.format) {
79548
+ this.format = this.format.toLowerCase();
79549
+ }
79550
+
79500
79551
  // use validity message override if declared when initializing the component
79501
79552
  if (this.hasAttribute('setCustomValidity')) {
79502
79553
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -79930,6 +79981,38 @@ class BaseInput extends AuroElement$1$1 {
79930
79981
  this.touched = true;
79931
79982
  this.validation.validate(this);
79932
79983
  }
79984
+
79985
+ // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
79986
+ // update that can re-render the input and reset the native cursor; we
79987
+ // capture the caret position before that update commits and restore it
79988
+ // via `setSelectionRange` once the update has flushed. Gated on
79989
+ // `setSelectionInputTypes` so credit-card (and other masked types whose
79990
+ // formatter manages the cursor itself) doesn't get a competing write.
79991
+ // Capture the caret position INSIDE the gate — reading `selectionStart`
79992
+ // on input types that don't support text selection (number, email in
79993
+ // some browsers) throws InvalidStateError, which would crash all input
79994
+ // handling. Wrap the read in try/catch belt-and-suspenders even though
79995
+ // the gated types currently support it, since the list is a public
79996
+ // property a consumer could mutate.
79997
+ if (this.setSelectionInputTypes.includes(this.type)) {
79998
+ let selectionStart;
79999
+ try {
80000
+ selectionStart = this.inputElement.selectionStart;
80001
+ } catch (error) { // eslint-disable-line no-unused-vars
80002
+ return;
80003
+ }
80004
+ if (typeof selectionStart !== 'number') {
80005
+ return;
80006
+ }
80007
+ this.updateComplete.then(() => {
80008
+ try {
80009
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
80010
+ } catch (error) { // eslint-disable-line no-unused-vars
80011
+ // Some input types (number/email in certain UAs) throw on
80012
+ // setSelectionRange; swallow and let the native cursor stand.
80013
+ }
80014
+ });
80015
+ }
79933
80016
  }
79934
80017
 
79935
80018
  /**
@@ -80556,7 +80639,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
80556
80639
  }
80557
80640
  };
80558
80641
 
80559
- var formkitVersion$1$1 = '202606291748';
80642
+ var formkitVersion$1$1 = '202606291813';
80560
80643
 
80561
80644
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
80562
80645
  // See LICENSE in the project root for license information.
@@ -81059,6 +81142,7 @@ class AuroInput extends BaseInput {
81059
81142
  <${this.buttonTag}
81060
81143
  @click="${this.handleClickShowPassword}"
81061
81144
  appearance="${this.onDark ? 'inverse' : this.appearance}"
81145
+ aria-pressed="${this.showPassword ? 'true' : 'false'}"
81062
81146
  class="notificationBtn passwordBtn"
81063
81147
  shape="circle"
81064
81148
  size="sm"
@@ -81132,25 +81216,29 @@ class AuroInput extends BaseInput {
81132
81216
  * @returns {html} - Returns HTML for the help text and error message.
81133
81217
  */
81134
81218
  renderHtmlHelpText() {
81219
+ // Single `<p>` with stable identity across validity transitions —
81220
+ // previously two distinct templates (valid vs invalid) caused Lit to
81221
+ // replace the node entirely on a flip, and VoiceOver wouldn't
81222
+ // re-announce because the live-region element it was watching had been
81223
+ // removed and a new one inserted. Keeping one node means the `role`,
81224
+ // `aria-live`, and text content all change in-place, which AT does
81225
+ // observe and announce.
81226
+ const isError = this.validity && this.validity !== 'valid';
81135
81227
  return u$c`
81136
- ${!this.validity || this.validity === undefined || this.validity === 'valid'
81137
- ? u$c`
81138
- <${this.helpTextTag}
81139
- appearance="${this.onDark ? 'inverse' : this.appearance}">
81140
- <p id="${this.uniqueId}" part="helpText">
81141
- <slot name="helpText">${this.getHelpText()}</slot>
81142
- </p>
81143
- </${this.helpTextTag}>
81144
- `
81145
- : u$c`
81146
- <${this.helpTextTag} error
81147
- appearance="${this.onDark ? 'inverse' : this.appearance}">
81148
- <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
81149
- ${this.errorMessage}
81150
- </p>
81151
- </${this.helpTextTag}>
81152
- `
81153
- }
81228
+ <${this.helpTextTag}
81229
+ appearance="${this.onDark ? 'inverse' : this.appearance}"
81230
+ ?error=${isError}>
81231
+ <p
81232
+ id="${this.uniqueId}"
81233
+ part="helpText"
81234
+ role="${o$4(isError ? 'alert' : undefined)}"
81235
+ aria-live="${o$4(isError ? 'assertive' : undefined)}">
81236
+ ${isError
81237
+ ? this.errorMessage
81238
+ : u$c`<slot name="helpText">${this.getHelpText()}</slot>`
81239
+ }
81240
+ </p>
81241
+ </${this.helpTextTag}>
81154
81242
  `;
81155
81243
  }
81156
81244
 
@@ -81677,7 +81765,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
81677
81765
  }
81678
81766
  };
81679
81767
 
81680
- var formkitVersion$3 = '202606291748';
81768
+ var formkitVersion$3 = '202606291813';
81681
81769
 
81682
81770
  var styleCss$1$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}`;
81683
81771
 
@@ -90479,7 +90567,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
90479
90567
  }
90480
90568
  };
90481
90569
 
90482
- var formkitVersion$1 = '202606291748';
90570
+ var formkitVersion$1 = '202606291813';
90483
90571
 
90484
90572
  class AuroElement extends i$3 {
90485
90573
  static get properties() {
@@ -92501,7 +92589,7 @@ class AuroHelpText extends i$3 {
92501
92589
  }
92502
92590
  }
92503
92591
 
92504
- var formkitVersion = '202606291748';
92592
+ var formkitVersion = '202606291813';
92505
92593
 
92506
92594
  var styleCss = 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}.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}`;
92507
92595