@aurodesignsystem-dev/auro-formkit 0.0.0-pr1506.0 → 0.0.0-pr1507.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) 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 +141 -122
  7. package/components/combobox/demo/getting-started.min.js +141 -122
  8. package/components/combobox/demo/index.min.js +141 -122
  9. package/components/combobox/dist/auro-combobox.d.ts +0 -9
  10. package/components/combobox/dist/index.js +139 -120
  11. package/components/combobox/dist/registered.js +139 -120
  12. package/components/counter/demo/customize.min.js +2 -2
  13. package/components/counter/demo/index.min.js +2 -2
  14. package/components/counter/dist/index.js +2 -2
  15. package/components/counter/dist/registered.js +2 -2
  16. package/components/datepicker/demo/customize.min.js +28 -35
  17. package/components/datepicker/demo/index.min.js +28 -35
  18. package/components/datepicker/dist/index.js +28 -35
  19. package/components/datepicker/dist/registered.js +28 -35
  20. package/components/dropdown/demo/customize.min.js +1 -1
  21. package/components/dropdown/demo/getting-started.min.js +1 -1
  22. package/components/dropdown/demo/index.min.js +1 -1
  23. package/components/dropdown/dist/index.js +1 -1
  24. package/components/dropdown/dist/registered.js +1 -1
  25. package/components/form/demo/customize.min.js +201 -195
  26. package/components/form/demo/getting-started.min.js +201 -195
  27. package/components/form/demo/index.min.js +201 -195
  28. package/components/form/demo/registerDemoDeps.min.js +201 -195
  29. package/components/input/demo/customize.min.js +26 -32
  30. package/components/input/demo/getting-started.min.js +26 -32
  31. package/components/input/demo/index.min.js +26 -32
  32. package/components/input/dist/index.js +26 -32
  33. package/components/input/dist/registered.js +26 -32
  34. package/components/menu/demo/index.min.js +2 -2
  35. package/components/menu/dist/index.js +2 -2
  36. package/components/menu/dist/registered.js +2 -2
  37. package/components/radio/demo/customize.min.js +1 -1
  38. package/components/radio/demo/getting-started.min.js +1 -1
  39. package/components/radio/demo/index.min.js +1 -1
  40. package/components/radio/dist/index.js +1 -1
  41. package/components/radio/dist/registered.js +1 -1
  42. package/components/select/demo/customize.min.js +4 -4
  43. package/components/select/demo/getting-started.min.js +4 -4
  44. package/components/select/demo/index.min.js +4 -4
  45. package/components/select/dist/index.js +2 -2
  46. package/components/select/dist/registered.js +2 -2
  47. package/custom-elements.json +0 -20
  48. package/package.json +1 -1
@@ -10460,7 +10460,6 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
10460
10460
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10461
10461
 
10462
10462
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
10463
- console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
10464
10463
  return undefined;
10465
10464
  }
10466
10465
 
@@ -11271,6 +11270,10 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11271
11270
  this.wrapperElement.addEventListener('click', this.handleClick);
11272
11271
  }
11273
11272
 
11273
+ // add attribute for query selectors when auro-input is registered under a custom name
11274
+ if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
11275
+ this.setAttribute('auro-input', '');
11276
+ }
11274
11277
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11275
11278
 
11276
11279
  // use validity message override if declared when initializing the component
@@ -11441,14 +11444,14 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11441
11444
 
11442
11445
  if (formattedValue !== this.inputElement.value) {
11443
11446
  this.skipNextProgrammaticInputEvent = true;
11444
- if (this.maskInstance && this.type !== 'date') {
11447
+ if (this.maskInstance && this.type === 'credit-card') {
11445
11448
  // Route through the mask so its _value and el.value stay in lock-step
11446
11449
  // (set value calls updateControl which writes el.value = displayValue).
11447
11450
  // Writing el.value directly leaves the mask thinking displayValue is
11448
- // stale; _saveSelection on the next focus/click then warns. Date is
11449
- // excluded because its formattedValue can be raw ISO when the calendar
11450
- // is invalid, and re-masking through mm/dd/yyyy would truncate it and
11451
- // flip validity from patternMismatch to tooShort.
11451
+ // stale; _saveSelection on the next focus/click then warns. Scoped to
11452
+ // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
11453
+ // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
11454
+ // and flip validity from patternMismatch to tooShort.
11452
11455
  this.maskInstance.value = formattedValue || '';
11453
11456
  } else if (formattedValue) {
11454
11457
  this.inputElement.value = formattedValue;
@@ -11559,33 +11562,31 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11559
11562
  * @returns {void}
11560
11563
  */
11561
11564
  configureAutoFormatting() {
11562
- // _configuringMask gates two things: external re-entry into this method
11563
- // while setup is mid-flight (from property changes that call back here),
11564
- // and the accept/complete listeners below both need to ignore the mask
11565
- // events fired by our own value-restore step.
11565
+ // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
11566
+ // by _configuringMask above) could otherwise trigger handleInput
11567
+ // processCreditCard configureAutoFormatting before the outer call's
11568
+ // set value has finished its alignCursor pass.
11566
11569
  if (this._configuringMask) return;
11567
11570
  this._configuringMask = true;
11568
11571
  try {
11569
- // Destroy any prior mask so IMask can attach fresh under the new format.
11570
11572
  if (this.maskInstance) {
11571
11573
  this.maskInstance.destroy();
11572
11574
  }
11573
11575
 
11576
+ // Pass new format to util
11574
11577
  this.util.updateFormat(this.format);
11575
11578
 
11576
11579
  const maskOptions = this.util.getMaskOptions(this.type, this.format);
11577
11580
 
11578
11581
  if (this.inputElement && maskOptions.mask) {
11579
- // Capture the current display so it can be re-applied after IMask
11580
- // attaches. The restore at the bottom goes through maskInstance.value
11581
- // (not inputElement.value directly) so the mask's internal state and
11582
- // the input's displayed text stay in lock-step.
11583
- let existingValue = this.inputElement.value;
11584
11582
 
11585
- // Format-change case (e.g. locale switch): existingValue is the OLD
11586
- // mask's display string and may not parse under the new mask. When
11587
- // we have a valid date model, rebuild the display from valueObject
11588
- // (the canonical source) using the new mask's format function.
11583
+ // Stash and clear any existing value before IMask init.
11584
+ // IMask's constructor processes the current input value which requires
11585
+ // selection state clearing first avoids that scenario entirely.
11586
+ // When the format changes (e.g. locale switch) and we have a valid ISO
11587
+ // model value, compute the display string for the NEW format instead of
11588
+ // re-using the old display string, which may be invalid in the new mask.
11589
+ let existingValue = this.inputElement.value;
11589
11590
  if (
11590
11591
  this.util.isFullDateFormat(this.type, this.format) &&
11591
11592
  this.value &&
@@ -11597,18 +11598,15 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11597
11598
  existingValue = maskOptions.format(this.valueObject);
11598
11599
  }
11599
11600
 
11600
- // Clear before IMask attaches so the constructor seeds an empty
11601
- // internal value. Otherwise IMask reads the stale unmasked string
11602
- // and emits a spurious 'accept' before the restore below runs.
11603
11601
  this.skipNextProgrammaticInputEvent = true;
11604
11602
  this.inputElement.value = '';
11605
11603
 
11606
11604
  this.maskInstance = IMask$3(this.inputElement, maskOptions);
11607
11605
 
11608
- // Mask fires 'accept' on every value change, including the restore
11609
- // step below. Skip events fired during configureAutoFormatting so
11610
- // we don't overwrite a value the parent just pushed.
11611
11606
  this.maskInstance.on('accept', () => {
11607
+ // Suppress propagation during configureAutoFormatting's own value-restoration
11608
+ // (line below) — the mask emits 'accept' on every value-set, including ours,
11609
+ // and we don't want to overwrite a value the parent just pushed.
11612
11610
  if (this._configuringMask) return;
11613
11611
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
11614
11612
  if (this.type === "date") {
@@ -11616,8 +11614,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11616
11614
  }
11617
11615
  });
11618
11616
 
11619
- // Mask fires 'complete' on the restore step below for any value that
11620
- // happens to be a complete match. Same setup-suppression as 'accept'.
11621
11617
  this.maskInstance.on('complete', () => {
11622
11618
  if (this._configuringMask) return;
11623
11619
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
@@ -11626,9 +11622,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11626
11622
  }
11627
11623
  });
11628
11624
 
11629
- // Write existingValue through the mask (not the input directly) so
11630
- // the mask reformats it under the new rules and keeps its internal
11631
- // _value aligned with the input's displayed text.
11625
+ // Restore the stashed value through IMask so it's properly masked
11632
11626
  if (existingValue) {
11633
11627
  this.maskInstance.value = existingValue;
11634
11628
  }
@@ -12334,7 +12328,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
12334
12328
  }
12335
12329
  };
12336
12330
 
12337
- var formkitVersion$8 = '202606190840';
12331
+ var formkitVersion$8 = '202606192121';
12338
12332
 
12339
12333
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12340
12334
  // See LICENSE in the project root for license information.
@@ -23573,7 +23567,6 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
23573
23567
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
23574
23568
 
23575
23569
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
23576
- console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
23577
23570
  return undefined;
23578
23571
  }
23579
23572
 
@@ -26454,7 +26447,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
26454
26447
  }
26455
26448
  };
26456
26449
 
26457
- var formkitVersion$2$1 = '202606190840';
26450
+ var formkitVersion$2$1 = '202606192121';
26458
26451
 
26459
26452
  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}
26460
26453
  `,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}}
@@ -31965,7 +31958,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
31965
31958
  }
31966
31959
  };
31967
31960
 
31968
- var formkitVersion$1$3 = '202606190840';
31961
+ var formkitVersion$1$3 = '202606192121';
31969
31962
 
31970
31963
  let AuroElement$2$2 = class AuroElement extends i$2 {
31971
31964
  static get properties() {
@@ -43679,7 +43672,6 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
43679
43672
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
43680
43673
 
43681
43674
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
43682
- console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
43683
43675
  return undefined;
43684
43676
  }
43685
43677
 
@@ -44490,6 +44482,10 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44490
44482
  this.wrapperElement.addEventListener('click', this.handleClick);
44491
44483
  }
44492
44484
 
44485
+ // add attribute for query selectors when auro-input is registered under a custom name
44486
+ if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
44487
+ this.setAttribute('auro-input', '');
44488
+ }
44493
44489
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
44494
44490
 
44495
44491
  // use validity message override if declared when initializing the component
@@ -44660,14 +44656,14 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44660
44656
 
44661
44657
  if (formattedValue !== this.inputElement.value) {
44662
44658
  this.skipNextProgrammaticInputEvent = true;
44663
- if (this.maskInstance && this.type !== 'date') {
44659
+ if (this.maskInstance && this.type === 'credit-card') {
44664
44660
  // Route through the mask so its _value and el.value stay in lock-step
44665
44661
  // (set value calls updateControl which writes el.value = displayValue).
44666
44662
  // Writing el.value directly leaves the mask thinking displayValue is
44667
- // stale; _saveSelection on the next focus/click then warns. Date is
44668
- // excluded because its formattedValue can be raw ISO when the calendar
44669
- // is invalid, and re-masking through mm/dd/yyyy would truncate it and
44670
- // flip validity from patternMismatch to tooShort.
44663
+ // stale; _saveSelection on the next focus/click then warns. Scoped to
44664
+ // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
44665
+ // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
44666
+ // and flip validity from patternMismatch to tooShort.
44671
44667
  this.maskInstance.value = formattedValue || '';
44672
44668
  } else if (formattedValue) {
44673
44669
  this.inputElement.value = formattedValue;
@@ -44778,33 +44774,31 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44778
44774
  * @returns {void}
44779
44775
  */
44780
44776
  configureAutoFormatting() {
44781
- // _configuringMask gates two things: external re-entry into this method
44782
- // while setup is mid-flight (from property changes that call back here),
44783
- // and the accept/complete listeners below both need to ignore the mask
44784
- // events fired by our own value-restore step.
44777
+ // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
44778
+ // by _configuringMask above) could otherwise trigger handleInput
44779
+ // processCreditCard configureAutoFormatting before the outer call's
44780
+ // set value has finished its alignCursor pass.
44785
44781
  if (this._configuringMask) return;
44786
44782
  this._configuringMask = true;
44787
44783
  try {
44788
- // Destroy any prior mask so IMask can attach fresh under the new format.
44789
44784
  if (this.maskInstance) {
44790
44785
  this.maskInstance.destroy();
44791
44786
  }
44792
44787
 
44788
+ // Pass new format to util
44793
44789
  this.util.updateFormat(this.format);
44794
44790
 
44795
44791
  const maskOptions = this.util.getMaskOptions(this.type, this.format);
44796
44792
 
44797
44793
  if (this.inputElement && maskOptions.mask) {
44798
- // Capture the current display so it can be re-applied after IMask
44799
- // attaches. The restore at the bottom goes through maskInstance.value
44800
- // (not inputElement.value directly) so the mask's internal state and
44801
- // the input's displayed text stay in lock-step.
44802
- let existingValue = this.inputElement.value;
44803
44794
 
44804
- // Format-change case (e.g. locale switch): existingValue is the OLD
44805
- // mask's display string and may not parse under the new mask. When
44806
- // we have a valid date model, rebuild the display from valueObject
44807
- // (the canonical source) using the new mask's format function.
44795
+ // Stash and clear any existing value before IMask init.
44796
+ // IMask's constructor processes the current input value which requires
44797
+ // selection state clearing first avoids that scenario entirely.
44798
+ // When the format changes (e.g. locale switch) and we have a valid ISO
44799
+ // model value, compute the display string for the NEW format instead of
44800
+ // re-using the old display string, which may be invalid in the new mask.
44801
+ let existingValue = this.inputElement.value;
44808
44802
  if (
44809
44803
  this.util.isFullDateFormat(this.type, this.format) &&
44810
44804
  this.value &&
@@ -44816,18 +44810,15 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44816
44810
  existingValue = maskOptions.format(this.valueObject);
44817
44811
  }
44818
44812
 
44819
- // Clear before IMask attaches so the constructor seeds an empty
44820
- // internal value. Otherwise IMask reads the stale unmasked string
44821
- // and emits a spurious 'accept' before the restore below runs.
44822
44813
  this.skipNextProgrammaticInputEvent = true;
44823
44814
  this.inputElement.value = '';
44824
44815
 
44825
44816
  this.maskInstance = IMask$2(this.inputElement, maskOptions);
44826
44817
 
44827
- // Mask fires 'accept' on every value change, including the restore
44828
- // step below. Skip events fired during configureAutoFormatting so
44829
- // we don't overwrite a value the parent just pushed.
44830
44818
  this.maskInstance.on('accept', () => {
44819
+ // Suppress propagation during configureAutoFormatting's own value-restoration
44820
+ // (line below) — the mask emits 'accept' on every value-set, including ours,
44821
+ // and we don't want to overwrite a value the parent just pushed.
44831
44822
  if (this._configuringMask) return;
44832
44823
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
44833
44824
  if (this.type === "date") {
@@ -44835,8 +44826,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44835
44826
  }
44836
44827
  });
44837
44828
 
44838
- // Mask fires 'complete' on the restore step below for any value that
44839
- // happens to be a complete match. Same setup-suppression as 'accept'.
44840
44829
  this.maskInstance.on('complete', () => {
44841
44830
  if (this._configuringMask) return;
44842
44831
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
@@ -44845,9 +44834,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
44845
44834
  }
44846
44835
  });
44847
44836
 
44848
- // Write existingValue through the mask (not the input directly) so
44849
- // the mask reformats it under the new rules and keeps its internal
44850
- // _value aligned with the input's displayed text.
44837
+ // Restore the stashed value through IMask so it's properly masked
44851
44838
  if (existingValue) {
44852
44839
  this.maskInstance.value = existingValue;
44853
44840
  }
@@ -45553,7 +45540,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
45553
45540
  }
45554
45541
  };
45555
45542
 
45556
- var formkitVersion$7 = '202606190840';
45543
+ var formkitVersion$7 = '202606192121';
45557
45544
 
45558
45545
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
45559
45546
  // See LICENSE in the project root for license information.
@@ -50250,7 +50237,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
50250
50237
  }
50251
50238
  };
50252
50239
 
50253
- var formkitVersion$1$2 = '202606190840';
50240
+ var formkitVersion$1$2 = '202606192121';
50254
50241
 
50255
50242
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
50256
50243
  // See LICENSE in the project root for license information.
@@ -54578,7 +54565,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
54578
54565
  }
54579
54566
  };
54580
54567
 
54581
- var formkitVersion$6 = '202606190840';
54568
+ var formkitVersion$6 = '202606192121';
54582
54569
 
54583
54570
  let AuroElement$1$2 = class AuroElement extends i$2 {
54584
54571
  static get properties() {
@@ -58510,7 +58497,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
58510
58497
  }
58511
58498
  };
58512
58499
 
58513
- var formkitVersion$5 = '202606190840';
58500
+ var formkitVersion$5 = '202606192121';
58514
58501
 
58515
58502
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
58516
58503
  // See LICENSE in the project root for license information.
@@ -60260,7 +60247,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
60260
60247
  }
60261
60248
  };
60262
60249
 
60263
- var formkitVersion$4 = '202606190840';
60250
+ var formkitVersion$4 = '202606192121';
60264
60251
 
60265
60252
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
60266
60253
  // See LICENSE in the project root for license information.
@@ -61436,8 +61423,6 @@ function navigateArrow$1(component, direction, options = {}) {
61436
61423
  }
61437
61424
  }
61438
61425
 
61439
- /* eslint-disable no-underscore-dangle */
61440
-
61441
61426
  /**
61442
61427
  * Returns the clear button element from the active input's shadow
61443
61428
  * DOM, if available.
@@ -61473,9 +61458,11 @@ function isClearBtnFocused(ctx, clearBtn = getClearBtn(ctx)) {
61473
61458
  * @param {Object} menu - The menu component.
61474
61459
  */
61475
61460
  function reconcileMenuIndex(menu) {
61461
+ // eslint-disable-next-line no-underscore-dangle
61476
61462
  if (menu._index < 0 && menu.optionActive && menu.items) {
61477
61463
  const idx = menu.items.indexOf(menu.optionActive);
61478
61464
  if (idx >= 0) {
61465
+ // eslint-disable-next-line no-underscore-dangle
61479
61466
  menu._index = idx;
61480
61467
  }
61481
61468
  }
@@ -65475,7 +65462,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
65475
65462
  }
65476
65463
  };
65477
65464
 
65478
- var formkitVersion$2 = '202606190840';
65465
+ var formkitVersion$2 = '202606192121';
65479
65466
 
65480
65467
  let AuroElement$2$1 = class AuroElement extends i$2 {
65481
65468
  static get properties() {
@@ -77189,7 +77176,6 @@ class AuroInputUtilities {
77189
77176
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
77190
77177
 
77191
77178
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
77192
- console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
77193
77179
  return undefined;
77194
77180
  }
77195
77181
 
@@ -78000,6 +77986,10 @@ class BaseInput extends AuroElement$1$1 {
78000
77986
  this.wrapperElement.addEventListener('click', this.handleClick);
78001
77987
  }
78002
77988
 
77989
+ // add attribute for query selectors when auro-input is registered under a custom name
77990
+ if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
77991
+ this.setAttribute('auro-input', '');
77992
+ }
78003
77993
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
78004
77994
 
78005
77995
  // use validity message override if declared when initializing the component
@@ -78170,14 +78160,14 @@ class BaseInput extends AuroElement$1$1 {
78170
78160
 
78171
78161
  if (formattedValue !== this.inputElement.value) {
78172
78162
  this.skipNextProgrammaticInputEvent = true;
78173
- if (this.maskInstance && this.type !== 'date') {
78163
+ if (this.maskInstance && this.type === 'credit-card') {
78174
78164
  // Route through the mask so its _value and el.value stay in lock-step
78175
78165
  // (set value calls updateControl which writes el.value = displayValue).
78176
78166
  // Writing el.value directly leaves the mask thinking displayValue is
78177
- // stale; _saveSelection on the next focus/click then warns. Date is
78178
- // excluded because its formattedValue can be raw ISO when the calendar
78179
- // is invalid, and re-masking through mm/dd/yyyy would truncate it and
78180
- // flip validity from patternMismatch to tooShort.
78167
+ // stale; _saveSelection on the next focus/click then warns. Scoped to
78168
+ // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
78169
+ // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
78170
+ // and flip validity from patternMismatch to tooShort.
78181
78171
  this.maskInstance.value = formattedValue || '';
78182
78172
  } else if (formattedValue) {
78183
78173
  this.inputElement.value = formattedValue;
@@ -78288,33 +78278,31 @@ class BaseInput extends AuroElement$1$1 {
78288
78278
  * @returns {void}
78289
78279
  */
78290
78280
  configureAutoFormatting() {
78291
- // _configuringMask gates two things: external re-entry into this method
78292
- // while setup is mid-flight (from property changes that call back here),
78293
- // and the accept/complete listeners below both need to ignore the mask
78294
- // events fired by our own value-restore step.
78281
+ // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
78282
+ // by _configuringMask above) could otherwise trigger handleInput
78283
+ // processCreditCard configureAutoFormatting before the outer call's
78284
+ // set value has finished its alignCursor pass.
78295
78285
  if (this._configuringMask) return;
78296
78286
  this._configuringMask = true;
78297
78287
  try {
78298
- // Destroy any prior mask so IMask can attach fresh under the new format.
78299
78288
  if (this.maskInstance) {
78300
78289
  this.maskInstance.destroy();
78301
78290
  }
78302
78291
 
78292
+ // Pass new format to util
78303
78293
  this.util.updateFormat(this.format);
78304
78294
 
78305
78295
  const maskOptions = this.util.getMaskOptions(this.type, this.format);
78306
78296
 
78307
78297
  if (this.inputElement && maskOptions.mask) {
78308
- // Capture the current display so it can be re-applied after IMask
78309
- // attaches. The restore at the bottom goes through maskInstance.value
78310
- // (not inputElement.value directly) so the mask's internal state and
78311
- // the input's displayed text stay in lock-step.
78312
- let existingValue = this.inputElement.value;
78313
78298
 
78314
- // Format-change case (e.g. locale switch): existingValue is the OLD
78315
- // mask's display string and may not parse under the new mask. When
78316
- // we have a valid date model, rebuild the display from valueObject
78317
- // (the canonical source) using the new mask's format function.
78299
+ // Stash and clear any existing value before IMask init.
78300
+ // IMask's constructor processes the current input value which requires
78301
+ // selection state clearing first avoids that scenario entirely.
78302
+ // When the format changes (e.g. locale switch) and we have a valid ISO
78303
+ // model value, compute the display string for the NEW format instead of
78304
+ // re-using the old display string, which may be invalid in the new mask.
78305
+ let existingValue = this.inputElement.value;
78318
78306
  if (
78319
78307
  this.util.isFullDateFormat(this.type, this.format) &&
78320
78308
  this.value &&
@@ -78326,18 +78314,15 @@ class BaseInput extends AuroElement$1$1 {
78326
78314
  existingValue = maskOptions.format(this.valueObject);
78327
78315
  }
78328
78316
 
78329
- // Clear before IMask attaches so the constructor seeds an empty
78330
- // internal value. Otherwise IMask reads the stale unmasked string
78331
- // and emits a spurious 'accept' before the restore below runs.
78332
78317
  this.skipNextProgrammaticInputEvent = true;
78333
78318
  this.inputElement.value = '';
78334
78319
 
78335
78320
  this.maskInstance = IMask(this.inputElement, maskOptions);
78336
78321
 
78337
- // Mask fires 'accept' on every value change, including the restore
78338
- // step below. Skip events fired during configureAutoFormatting so
78339
- // we don't overwrite a value the parent just pushed.
78340
78322
  this.maskInstance.on('accept', () => {
78323
+ // Suppress propagation during configureAutoFormatting's own value-restoration
78324
+ // (line below) — the mask emits 'accept' on every value-set, including ours,
78325
+ // and we don't want to overwrite a value the parent just pushed.
78341
78326
  if (this._configuringMask) return;
78342
78327
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
78343
78328
  if (this.type === "date") {
@@ -78345,8 +78330,6 @@ class BaseInput extends AuroElement$1$1 {
78345
78330
  }
78346
78331
  });
78347
78332
 
78348
- // Mask fires 'complete' on the restore step below for any value that
78349
- // happens to be a complete match. Same setup-suppression as 'accept'.
78350
78333
  this.maskInstance.on('complete', () => {
78351
78334
  if (this._configuringMask) return;
78352
78335
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
@@ -78355,9 +78338,7 @@ class BaseInput extends AuroElement$1$1 {
78355
78338
  }
78356
78339
  });
78357
78340
 
78358
- // Write existingValue through the mask (not the input directly) so
78359
- // the mask reformats it under the new rules and keeps its internal
78360
- // _value aligned with the input's displayed text.
78341
+ // Restore the stashed value through IMask so it's properly masked
78361
78342
  if (existingValue) {
78362
78343
  this.maskInstance.value = existingValue;
78363
78344
  }
@@ -79063,7 +79044,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
79063
79044
  }
79064
79045
  };
79065
79046
 
79066
- var formkitVersion$1$1 = '202606190840';
79047
+ var formkitVersion$1$1 = '202606192121';
79067
79048
 
79068
79049
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
79069
79050
  // See LICENSE in the project root for license information.
@@ -80184,7 +80165,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
80184
80165
  }
80185
80166
  };
80186
80167
 
80187
- var formkitVersion$3 = '202606190840';
80168
+ var formkitVersion$3 = '202606192121';
80188
80169
 
80189
80170
  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}`;
80190
80171
 
@@ -81171,7 +81152,7 @@ class AuroCombobox extends AuroElement$3 {
81171
81152
  if (this.menu) {
81172
81153
  this.menu.matchWord = normalizeFilterValue(this.input.value);
81173
81154
  }
81174
- const label = getOptionLabel(this.menu.optionSelected);
81155
+ const label = getOptionLabel(this.menu.optionSelected) || this.menu.currentLabel;
81175
81156
  this.updateTriggerTextDisplay(label || this.value);
81176
81157
  }
81177
81158
 
@@ -81185,9 +81166,40 @@ class AuroCombobox extends AuroElement$3 {
81185
81166
  // in suggestion mode, do not override input value if no selection has been made and the input currently has focus
81186
81167
  const isInputFocusedWithNoSelection = !this.menu.value && (this.input.matches(':focus-within') || (this.inputInBib && this.inputInBib.matches(':focus-within')));
81187
81168
 
81188
- const suppressed = this.persistInput || (this.behavior === 'suggestion' && isInputFocusedWithNoSelection);
81189
- if (!suppressed) {
81190
- this.syncInputValuesAcrossTriggerAndBib(label || this.value);
81169
+ if (!this.persistInput && !(this.behavior === 'suggestion' && isInputFocusedWithNoSelection)) {
81170
+ const nextValue = label || this.value;
81171
+ // Only set the flag when there's an actual write to suppress —
81172
+ // syncValuesAndStates re-enters here during typing when both inputs
81173
+ // already match, and a no-op flag flip would make the bib branch's
81174
+ // bail eat legitimate user-input events.
81175
+ const triggerNeedsSync = this.input.value !== nextValue;
81176
+ const bibNeedsSync = Boolean(this.inputInBib && this.inputInBib !== this.input && this.inputInBib.value !== nextValue);
81177
+ if (triggerNeedsSync || bibNeedsSync) {
81178
+ this._syncingDisplayValue = true;
81179
+ if (triggerNeedsSync) {
81180
+ this.input.value = nextValue;
81181
+ }
81182
+ if (bibNeedsSync) {
81183
+ this.inputInBib.value = nextValue;
81184
+ }
81185
+ const pending = [];
81186
+ if (triggerNeedsSync) {
81187
+ pending.push(this.input.updateComplete);
81188
+ }
81189
+ if (bibNeedsSync) {
81190
+ pending.push(this.inputInBib.updateComplete);
81191
+ }
81192
+ Promise.all(pending).then(() => {
81193
+ // imask reasserts otherwise, and handleBlur reverts to its stale value.
81194
+ if (triggerNeedsSync && this.input.maskInstance && typeof this.input.maskInstance.updateValue === 'function') {
81195
+ this.input.maskInstance.updateValue();
81196
+ }
81197
+ if (bibNeedsSync && this.inputInBib && this.inputInBib.maskInstance && typeof this.inputInBib.maskInstance.updateValue === 'function') {
81198
+ this.inputInBib.maskInstance.updateValue();
81199
+ }
81200
+ this._syncingDisplayValue = false;
81201
+ });
81202
+ }
81191
81203
  }
81192
81204
 
81193
81205
  // update the displayValue in the trigger if displayValue slot content is present
@@ -81215,52 +81227,6 @@ class AuroCombobox extends AuroElement$3 {
81215
81227
  this.requestUpdate();
81216
81228
  }
81217
81229
 
81218
- /**
81219
- * Writes nextValue to the trigger input and the bib input when their current
81220
- * value differs, then re-asserts imask after Lit's update flushes.
81221
- * @param {string} nextValue - The value to write to both inputs.
81222
- * @returns {Promise<void> | null} Promise that resolves after the inputs flush,
81223
- * or null when no sync was needed (so callers can skip post-flush work).
81224
- * @private
81225
- */
81226
- syncInputValuesAcrossTriggerAndBib(nextValue) {
81227
- // Only set the flag when there's an actual write to suppress —
81228
- // syncValuesAndStates re-enters here during typing when both inputs
81229
- // already match, and a no-op flag flip would make the bib branch's
81230
- // bail eat legitimate user-input events.
81231
- const triggerNeedsSync = this.input.value !== nextValue;
81232
- const bibNeedsSync = Boolean(this.inputInBib && this.inputInBib !== this.input && this.inputInBib.value !== nextValue);
81233
- if (!triggerNeedsSync && !bibNeedsSync) {
81234
- return null;
81235
- }
81236
-
81237
- this._syncingDisplayValue = true;
81238
- if (triggerNeedsSync) {
81239
- this.input.value = nextValue;
81240
- }
81241
- if (bibNeedsSync) {
81242
- this.inputInBib.value = nextValue;
81243
- }
81244
-
81245
- const pending = [];
81246
- if (triggerNeedsSync) {
81247
- pending.push(this.input.updateComplete);
81248
- }
81249
- if (bibNeedsSync) {
81250
- pending.push(this.inputInBib.updateComplete);
81251
- }
81252
- return Promise.all(pending).then(() => {
81253
- // imask reasserts otherwise, and handleBlur reverts to its stale value.
81254
- if (triggerNeedsSync && this.input.maskInstance && typeof this.input.maskInstance.updateValue === 'function') {
81255
- this.input.maskInstance.updateValue();
81256
- }
81257
- if (bibNeedsSync && this.inputInBib && this.inputInBib.maskInstance && typeof this.inputInBib.maskInstance.updateValue === 'function') {
81258
- this.inputInBib.maskInstance.updateValue();
81259
- }
81260
- this._syncingDisplayValue = false;
81261
- });
81262
- }
81263
-
81264
81230
  /**
81265
81231
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
81266
81232
  * @private
@@ -81288,9 +81254,9 @@ class AuroCombobox extends AuroElement$3 {
81288
81254
  this.syncValuesAndStates();
81289
81255
  }
81290
81256
 
81291
- // Re-activate when optionActive is not in the current scrollable viewport,
81292
- // or when _index has been reset (e.g. by clearSelection in an async update)
81293
- // so that makeSelection() can find the correct option.
81257
+ // Re-activate when optionActive is no longer visible, or when _index has
81258
+ // been reset (e.g. by clearSelection in an async update) so that
81259
+ // makeSelection() can find the correct option.
81294
81260
  if (!this.availableOptions.includes(this.menu.optionActive) || this.menu._index < 0) {
81295
81261
  this.activateFirstEnabledAvailableOption();
81296
81262
  }
@@ -81424,25 +81390,28 @@ class AuroCombobox extends AuroElement$3 {
81424
81390
 
81425
81391
  guardTouchPassthrough$1(this.menu);
81426
81392
 
81427
- // showModal() takes focus away from the trigger. Early focus once
81428
- // the dialog has painted; the shared doubleRaf below is the fallback
81429
- // for when the dialog needs an extra frame and also clears the
81430
- // validation guard.
81393
+ // The dialog's showModal() steals focus from the trigger.
81394
+ // A single rAF is enough for the dialog DOM to be painted and
81395
+ // focusable, then doubleRaf finalizes the transition.
81431
81396
  requestAnimationFrame(() => {
81432
81397
  this.setInputFocus();
81433
81398
  });
81434
- }
81435
- // else (desktop popover-open): Chrome resets the trigger caret to
81436
- // [0, 0] when its floating <label for="…"> overlay receives focus.
81437
- // The shared doubleRaf below parks the caret back at end-of-text
81438
- // after the dropdown layout settles.
81439
-
81440
- doubleRaf$1(() => {
81441
- this.setInputFocus();
81442
- if (this._inFullscreenTransition) {
81399
+
81400
+ doubleRaf$1(() => {
81401
+ this.setInputFocus();
81443
81402
  this._inFullscreenTransition = false;
81444
- }
81445
- });
81403
+ });
81404
+ } else {
81405
+ // Desktop popover-open: restore the trigger caret to end-of-text.
81406
+ // Clicking the trigger lands on auro-input's floating <label for="…">
81407
+ // overlay; Chrome resets the native input's selection to [0, 0] on
81408
+ // label-focus before any JS runs. setInputFocus()'s non-fullscreen
81409
+ // branch parks the caret at end. doubleRaf lets the dropdown layout
81410
+ // settle first, matching the fullscreen branch timing.
81411
+ doubleRaf$1(() => {
81412
+ this.setInputFocus();
81413
+ });
81414
+ }
81446
81415
  }
81447
81416
  });
81448
81417
 
@@ -81549,9 +81518,9 @@ class AuroCombobox extends AuroElement$3 {
81549
81518
  } else {
81550
81519
  // Safety net for the strategy-change setTimeout: a viewport-crossing
81551
81520
  // fullscreen→floating switch can close the dialog and leave focus on
81552
- // body. Every other call into this branch already has focus on the
81553
- // input via the combobox-level focusin → this.focus() redirect, so
81554
- // this is a no-op in the common case.
81521
+ // body. Every other Branch 2 callsite already has focus on the input
81522
+ // via the focusin → this.focus() redirect (L1448-1452), so this is a
81523
+ // no-op in the common case.
81555
81524
  if (!this.input.componentHasFocus) {
81556
81525
  this.input.focus();
81557
81526
  }
@@ -81670,7 +81639,7 @@ class AuroCombobox extends AuroElement$3 {
81670
81639
  if (this.menu.optionSelected) {
81671
81640
  const selected = this.menu.optionSelected;
81672
81641
 
81673
- if (this.optionSelected !== selected) {
81642
+ if (!this.optionSelected || this.optionSelected !== selected) {
81674
81643
  this.optionSelected = selected;
81675
81644
  }
81676
81645
 
@@ -81683,7 +81652,7 @@ class AuroCombobox extends AuroElement$3 {
81683
81652
  }
81684
81653
 
81685
81654
  // Update display
81686
- this.updateTriggerTextDisplay(getOptionLabel(this.optionSelected));
81655
+ this.updateTriggerTextDisplay(getOptionLabel(this.optionSelected) || this.menu.value);
81687
81656
 
81688
81657
  // Update match word for filtering
81689
81658
  const trimmedInput = normalizeFilterValue(this.input.value);
@@ -82065,7 +82034,15 @@ class AuroCombobox extends AuroElement$3 {
82065
82034
  this.menu.value = undefined;
82066
82035
  this.validation.reset(this);
82067
82036
  this.touched = false;
82037
+ // Force validity back to the cleared state. validation.reset() calls
82038
+ // validate() at the end, and (post-credit-card-fix) the trigger input's
82039
+ // residual validity may still be copied into the combobox by the
82040
+ // auroInputElements loop. Explicitly clear here so reset() actually
82041
+ // leaves the component in a "no validity" state.
82068
82042
  this.validity = undefined;
82043
+ this.errorMessage = '';
82044
+ this.input.validity = undefined;
82045
+ this.input.errorMessage = '';
82069
82046
  }
82070
82047
 
82071
82048
  /**
@@ -82118,23 +82095,52 @@ class AuroCombobox extends AuroElement$3 {
82118
82095
  this.input.value = this.value;
82119
82096
  }
82120
82097
 
82121
- // Sync menu.value only when an option actually matches, or when filter
82122
- // mode needs setMenuValue to dispatch auroMenu-selectValueFailure (the
82123
- // listener at line 1206 clears combobox.value, mirroring select's
82124
- // pattern). Otherwise sync the input display for freeform values.
82098
+ // Sync menu.value only when an option actually matches; otherwise clear it.
82125
82099
  if (this.menu.options && this.menu.options.length > 0) {
82126
- if (this.menu.options.some((opt) => opt.value === this.value) || this.behavior === 'filter') {
82100
+ if (this.menu.options.some((opt) => opt.value === this.value)) {
82101
+ this.setMenuValue(this.value);
82102
+ } else if (this.behavior === 'filter') {
82103
+ // In filter mode, freeform values aren't allowed. Push the unmatched
82104
+ // value through setMenuValue so menu dispatches auroMenu-selectValueFailure
82105
+ // and the listener at line 1206 clears combobox.value (mirrors select's
82106
+ // pattern). Bypassing setMenuValue here would skip the failure cascade.
82127
82107
  this.setMenuValue(this.value);
82128
82108
  } else {
82129
82109
  if (this.menu.value) {
82130
82110
  this.menu.value = undefined;
82131
82111
  }
82132
- // Suggestion-mode freeform value: sync the trigger + bib to show it,
82133
- // then refresh the filter once the inputs flush (handleInputValueChange
82134
- // bailed on _syncingDisplayValue).
82135
- const syncPromise = this.syncInputValuesAcrossTriggerAndBib(this.value || '');
82136
- if (syncPromise) {
82137
- syncPromise.then(() => {
82112
+ // Sync the display for programmatic freeform value changes (e.g. the
82113
+ // swap-values pattern). Guard with _syncingDisplayValue so that the
82114
+ // re-entrant input event from base-input.notifyValueChanged() is
82115
+ // ignored by handleInputValueChange. Skip the sync when input already
82116
+ // matches to avoid spurious events during the normal typing path.
82117
+ const nextValue = this.value || '';
82118
+ const triggerNeedsSync = this.input.value !== nextValue;
82119
+ const bibNeedsSync = Boolean(this.inputInBib && this.inputInBib !== this.input && this.inputInBib.value !== nextValue);
82120
+ if (triggerNeedsSync || bibNeedsSync) {
82121
+ this._syncingDisplayValue = true;
82122
+ if (triggerNeedsSync) {
82123
+ this.input.value = nextValue;
82124
+ }
82125
+ if (bibNeedsSync) {
82126
+ this.inputInBib.value = nextValue;
82127
+ }
82128
+ const pending = [];
82129
+ if (triggerNeedsSync) {
82130
+ pending.push(this.input.updateComplete);
82131
+ }
82132
+ if (bibNeedsSync) {
82133
+ pending.push(this.inputInBib.updateComplete);
82134
+ }
82135
+ Promise.all(pending).then(() => {
82136
+ if (triggerNeedsSync && this.input.maskInstance && typeof this.input.maskInstance.updateValue === 'function') {
82137
+ this.input.maskInstance.updateValue();
82138
+ }
82139
+ if (bibNeedsSync && this.inputInBib && this.inputInBib.maskInstance && typeof this.inputInBib.maskInstance.updateValue === 'function') {
82140
+ this.inputInBib.maskInstance.updateValue();
82141
+ }
82142
+ this._syncingDisplayValue = false;
82143
+ // handleInputValueChange bailed on the flag — refresh the filter.
82138
82144
  this._programmaticFilterRefresh = true;
82139
82145
  this.handleMenuOptions();
82140
82146
  setTimeout(() => {
@@ -82923,8 +82929,8 @@ class AuroMenu extends AuroElement$2 {
82923
82929
  // Malformed JSON (e.g. a literal string that happens to start with "[") falls back
82924
82930
  // to a single-item array rather than throwing during render.
82925
82931
  try {
82926
- const parsed = JSON.parse(this.value);
82927
- return Array.isArray(parsed) ? parsed : [this.value];
82932
+ // any valid JSON starting with `[` ALWAYS parses to an array
82933
+ return JSON.parse(this.value);
82928
82934
  } catch {
82929
82935
  return [this.value];
82930
82936
  }
@@ -88967,7 +88973,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
88967
88973
  }
88968
88974
  };
88969
88975
 
88970
- var formkitVersion$1 = '202606190840';
88976
+ var formkitVersion$1 = '202606192121';
88971
88977
 
88972
88978
  class AuroElement extends i$2 {
88973
88979
  static get properties() {
@@ -90980,7 +90986,7 @@ class AuroHelpText extends i$2 {
90980
90986
  }
90981
90987
  }
90982
90988
 
90983
- var formkitVersion = '202606190840';
90989
+ var formkitVersion = '202606192121';
90984
90990
 
90985
90991
  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}`;
90986
90992