@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
@@ -11175,7 +11175,6 @@ let AuroInputUtilities$3 = class AuroInputUtilities {
11175
11175
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
11176
11176
 
11177
11177
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
11178
- console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
11179
11178
  return undefined;
11180
11179
  }
11181
11180
 
@@ -11986,6 +11985,10 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
11986
11985
  this.wrapperElement.addEventListener('click', this.handleClick);
11987
11986
  }
11988
11987
 
11988
+ // add attribute for query selectors when auro-input is registered under a custom name
11989
+ if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
11990
+ this.setAttribute('auro-input', '');
11991
+ }
11989
11992
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11990
11993
 
11991
11994
  // use validity message override if declared when initializing the component
@@ -12156,14 +12159,14 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12156
12159
 
12157
12160
  if (formattedValue !== this.inputElement.value) {
12158
12161
  this.skipNextProgrammaticInputEvent = true;
12159
- if (this.maskInstance && this.type !== 'date') {
12162
+ if (this.maskInstance && this.type === 'credit-card') {
12160
12163
  // Route through the mask so its _value and el.value stay in lock-step
12161
12164
  // (set value calls updateControl which writes el.value = displayValue).
12162
12165
  // Writing el.value directly leaves the mask thinking displayValue is
12163
- // stale; _saveSelection on the next focus/click then warns. Date is
12164
- // excluded because its formattedValue can be raw ISO when the calendar
12165
- // is invalid, and re-masking through mm/dd/yyyy would truncate it and
12166
- // flip validity from patternMismatch to tooShort.
12166
+ // stale; _saveSelection on the next focus/click then warns. Scoped to
12167
+ // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
12168
+ // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
12169
+ // and flip validity from patternMismatch to tooShort.
12167
12170
  this.maskInstance.value = formattedValue || '';
12168
12171
  } else if (formattedValue) {
12169
12172
  this.inputElement.value = formattedValue;
@@ -12274,33 +12277,31 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12274
12277
  * @returns {void}
12275
12278
  */
12276
12279
  configureAutoFormatting() {
12277
- // _configuringMask gates two things: external re-entry into this method
12278
- // while setup is mid-flight (from property changes that call back here),
12279
- // and the accept/complete listeners below both need to ignore the mask
12280
- // events fired by our own value-restore step.
12280
+ // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
12281
+ // by _configuringMask above) could otherwise trigger handleInput
12282
+ // processCreditCard configureAutoFormatting before the outer call's
12283
+ // set value has finished its alignCursor pass.
12281
12284
  if (this._configuringMask) return;
12282
12285
  this._configuringMask = true;
12283
12286
  try {
12284
- // Destroy any prior mask so IMask can attach fresh under the new format.
12285
12287
  if (this.maskInstance) {
12286
12288
  this.maskInstance.destroy();
12287
12289
  }
12288
12290
 
12291
+ // Pass new format to util
12289
12292
  this.util.updateFormat(this.format);
12290
12293
 
12291
12294
  const maskOptions = this.util.getMaskOptions(this.type, this.format);
12292
12295
 
12293
12296
  if (this.inputElement && maskOptions.mask) {
12294
- // Capture the current display so it can be re-applied after IMask
12295
- // attaches. The restore at the bottom goes through maskInstance.value
12296
- // (not inputElement.value directly) so the mask's internal state and
12297
- // the input's displayed text stay in lock-step.
12298
- let existingValue = this.inputElement.value;
12299
12297
 
12300
- // Format-change case (e.g. locale switch): existingValue is the OLD
12301
- // mask's display string and may not parse under the new mask. When
12302
- // we have a valid date model, rebuild the display from valueObject
12303
- // (the canonical source) using the new mask's format function.
12298
+ // Stash and clear any existing value before IMask init.
12299
+ // IMask's constructor processes the current input value which requires
12300
+ // selection state clearing first avoids that scenario entirely.
12301
+ // When the format changes (e.g. locale switch) and we have a valid ISO
12302
+ // model value, compute the display string for the NEW format instead of
12303
+ // re-using the old display string, which may be invalid in the new mask.
12304
+ let existingValue = this.inputElement.value;
12304
12305
  if (
12305
12306
  this.util.isFullDateFormat(this.type, this.format) &&
12306
12307
  this.value &&
@@ -12312,18 +12313,15 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12312
12313
  existingValue = maskOptions.format(this.valueObject);
12313
12314
  }
12314
12315
 
12315
- // Clear before IMask attaches so the constructor seeds an empty
12316
- // internal value. Otherwise IMask reads the stale unmasked string
12317
- // and emits a spurious 'accept' before the restore below runs.
12318
12316
  this.skipNextProgrammaticInputEvent = true;
12319
12317
  this.inputElement.value = '';
12320
12318
 
12321
12319
  this.maskInstance = IMask$3(this.inputElement, maskOptions);
12322
12320
 
12323
- // Mask fires 'accept' on every value change, including the restore
12324
- // step below. Skip events fired during configureAutoFormatting so
12325
- // we don't overwrite a value the parent just pushed.
12326
12321
  this.maskInstance.on('accept', () => {
12322
+ // Suppress propagation during configureAutoFormatting's own value-restoration
12323
+ // (line below) — the mask emits 'accept' on every value-set, including ours,
12324
+ // and we don't want to overwrite a value the parent just pushed.
12327
12325
  if (this._configuringMask) return;
12328
12326
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
12329
12327
  if (this.type === "date") {
@@ -12331,8 +12329,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12331
12329
  }
12332
12330
  });
12333
12331
 
12334
- // Mask fires 'complete' on the restore step below for any value that
12335
- // happens to be a complete match. Same setup-suppression as 'accept'.
12336
12332
  this.maskInstance.on('complete', () => {
12337
12333
  if (this._configuringMask) return;
12338
12334
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
@@ -12341,9 +12337,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
12341
12337
  }
12342
12338
  });
12343
12339
 
12344
- // Write existingValue through the mask (not the input directly) so
12345
- // the mask reformats it under the new rules and keeps its internal
12346
- // _value aligned with the input's displayed text.
12340
+ // Restore the stashed value through IMask so it's properly masked
12347
12341
  if (existingValue) {
12348
12342
  this.maskInstance.value = existingValue;
12349
12343
  }
@@ -13049,7 +13043,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
13049
13043
  }
13050
13044
  };
13051
13045
 
13052
- var formkitVersion$8 = '202606190840';
13046
+ var formkitVersion$8 = '202606192121';
13053
13047
 
13054
13048
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13055
13049
  // See LICENSE in the project root for license information.
@@ -24288,7 +24282,6 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
24288
24282
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
24289
24283
 
24290
24284
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
24291
- console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
24292
24285
  return undefined;
24293
24286
  }
24294
24287
 
@@ -27169,7 +27162,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
27169
27162
  }
27170
27163
  };
27171
27164
 
27172
- var formkitVersion$2$1 = '202606190840';
27165
+ var formkitVersion$2$1 = '202606192121';
27173
27166
 
27174
27167
  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}
27175
27168
  `,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}}
@@ -32680,7 +32673,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
32680
32673
  }
32681
32674
  };
32682
32675
 
32683
- var formkitVersion$1$3 = '202606190840';
32676
+ var formkitVersion$1$3 = '202606192121';
32684
32677
 
32685
32678
  let AuroElement$2$2 = class AuroElement extends i$3 {
32686
32679
  static get properties() {
@@ -44394,7 +44387,6 @@ let AuroInputUtilities$2 = class AuroInputUtilities {
44394
44387
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
44395
44388
 
44396
44389
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
44397
- console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
44398
44390
  return undefined;
44399
44391
  }
44400
44392
 
@@ -45205,6 +45197,10 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45205
45197
  this.wrapperElement.addEventListener('click', this.handleClick);
45206
45198
  }
45207
45199
 
45200
+ // add attribute for query selectors when auro-input is registered under a custom name
45201
+ if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
45202
+ this.setAttribute('auro-input', '');
45203
+ }
45208
45204
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
45209
45205
 
45210
45206
  // use validity message override if declared when initializing the component
@@ -45375,14 +45371,14 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45375
45371
 
45376
45372
  if (formattedValue !== this.inputElement.value) {
45377
45373
  this.skipNextProgrammaticInputEvent = true;
45378
- if (this.maskInstance && this.type !== 'date') {
45374
+ if (this.maskInstance && this.type === 'credit-card') {
45379
45375
  // Route through the mask so its _value and el.value stay in lock-step
45380
45376
  // (set value calls updateControl which writes el.value = displayValue).
45381
45377
  // Writing el.value directly leaves the mask thinking displayValue is
45382
- // stale; _saveSelection on the next focus/click then warns. Date is
45383
- // excluded because its formattedValue can be raw ISO when the calendar
45384
- // is invalid, and re-masking through mm/dd/yyyy would truncate it and
45385
- // flip validity from patternMismatch to tooShort.
45378
+ // stale; _saveSelection on the next focus/click then warns. Scoped to
45379
+ // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
45380
+ // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
45381
+ // and flip validity from patternMismatch to tooShort.
45386
45382
  this.maskInstance.value = formattedValue || '';
45387
45383
  } else if (formattedValue) {
45388
45384
  this.inputElement.value = formattedValue;
@@ -45493,33 +45489,31 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45493
45489
  * @returns {void}
45494
45490
  */
45495
45491
  configureAutoFormatting() {
45496
- // _configuringMask gates two things: external re-entry into this method
45497
- // while setup is mid-flight (from property changes that call back here),
45498
- // and the accept/complete listeners below both need to ignore the mask
45499
- // events fired by our own value-restore step.
45492
+ // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
45493
+ // by _configuringMask above) could otherwise trigger handleInput
45494
+ // processCreditCard configureAutoFormatting before the outer call's
45495
+ // set value has finished its alignCursor pass.
45500
45496
  if (this._configuringMask) return;
45501
45497
  this._configuringMask = true;
45502
45498
  try {
45503
- // Destroy any prior mask so IMask can attach fresh under the new format.
45504
45499
  if (this.maskInstance) {
45505
45500
  this.maskInstance.destroy();
45506
45501
  }
45507
45502
 
45503
+ // Pass new format to util
45508
45504
  this.util.updateFormat(this.format);
45509
45505
 
45510
45506
  const maskOptions = this.util.getMaskOptions(this.type, this.format);
45511
45507
 
45512
45508
  if (this.inputElement && maskOptions.mask) {
45513
- // Capture the current display so it can be re-applied after IMask
45514
- // attaches. The restore at the bottom goes through maskInstance.value
45515
- // (not inputElement.value directly) so the mask's internal state and
45516
- // the input's displayed text stay in lock-step.
45517
- let existingValue = this.inputElement.value;
45518
45509
 
45519
- // Format-change case (e.g. locale switch): existingValue is the OLD
45520
- // mask's display string and may not parse under the new mask. When
45521
- // we have a valid date model, rebuild the display from valueObject
45522
- // (the canonical source) using the new mask's format function.
45510
+ // Stash and clear any existing value before IMask init.
45511
+ // IMask's constructor processes the current input value which requires
45512
+ // selection state clearing first avoids that scenario entirely.
45513
+ // When the format changes (e.g. locale switch) and we have a valid ISO
45514
+ // model value, compute the display string for the NEW format instead of
45515
+ // re-using the old display string, which may be invalid in the new mask.
45516
+ let existingValue = this.inputElement.value;
45523
45517
  if (
45524
45518
  this.util.isFullDateFormat(this.type, this.format) &&
45525
45519
  this.value &&
@@ -45531,18 +45525,15 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45531
45525
  existingValue = maskOptions.format(this.valueObject);
45532
45526
  }
45533
45527
 
45534
- // Clear before IMask attaches so the constructor seeds an empty
45535
- // internal value. Otherwise IMask reads the stale unmasked string
45536
- // and emits a spurious 'accept' before the restore below runs.
45537
45528
  this.skipNextProgrammaticInputEvent = true;
45538
45529
  this.inputElement.value = '';
45539
45530
 
45540
45531
  this.maskInstance = IMask$2(this.inputElement, maskOptions);
45541
45532
 
45542
- // Mask fires 'accept' on every value change, including the restore
45543
- // step below. Skip events fired during configureAutoFormatting so
45544
- // we don't overwrite a value the parent just pushed.
45545
45533
  this.maskInstance.on('accept', () => {
45534
+ // Suppress propagation during configureAutoFormatting's own value-restoration
45535
+ // (line below) — the mask emits 'accept' on every value-set, including ours,
45536
+ // and we don't want to overwrite a value the parent just pushed.
45546
45537
  if (this._configuringMask) return;
45547
45538
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
45548
45539
  if (this.type === "date") {
@@ -45550,8 +45541,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45550
45541
  }
45551
45542
  });
45552
45543
 
45553
- // Mask fires 'complete' on the restore step below for any value that
45554
- // happens to be a complete match. Same setup-suppression as 'accept'.
45555
45544
  this.maskInstance.on('complete', () => {
45556
45545
  if (this._configuringMask) return;
45557
45546
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
@@ -45560,9 +45549,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
45560
45549
  }
45561
45550
  });
45562
45551
 
45563
- // Write existingValue through the mask (not the input directly) so
45564
- // the mask reformats it under the new rules and keeps its internal
45565
- // _value aligned with the input's displayed text.
45552
+ // Restore the stashed value through IMask so it's properly masked
45566
45553
  if (existingValue) {
45567
45554
  this.maskInstance.value = existingValue;
45568
45555
  }
@@ -46268,7 +46255,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
46268
46255
  }
46269
46256
  };
46270
46257
 
46271
- var formkitVersion$7 = '202606190840';
46258
+ var formkitVersion$7 = '202606192121';
46272
46259
 
46273
46260
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
46274
46261
  // See LICENSE in the project root for license information.
@@ -50965,7 +50952,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
50965
50952
  }
50966
50953
  };
50967
50954
 
50968
- var formkitVersion$1$2 = '202606190840';
50955
+ var formkitVersion$1$2 = '202606192121';
50969
50956
 
50970
50957
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
50971
50958
  // See LICENSE in the project root for license information.
@@ -55293,7 +55280,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
55293
55280
  }
55294
55281
  };
55295
55282
 
55296
- var formkitVersion$6 = '202606190840';
55283
+ var formkitVersion$6 = '202606192121';
55297
55284
 
55298
55285
  let AuroElement$1$2 = class AuroElement extends i$3 {
55299
55286
  static get properties() {
@@ -59225,7 +59212,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
59225
59212
  }
59226
59213
  };
59227
59214
 
59228
- var formkitVersion$5 = '202606190840';
59215
+ var formkitVersion$5 = '202606192121';
59229
59216
 
59230
59217
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
59231
59218
  // See LICENSE in the project root for license information.
@@ -60975,7 +60962,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
60975
60962
  }
60976
60963
  };
60977
60964
 
60978
- var formkitVersion$4 = '202606190840';
60965
+ var formkitVersion$4 = '202606192121';
60979
60966
 
60980
60967
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
60981
60968
  // See LICENSE in the project root for license information.
@@ -62151,8 +62138,6 @@ function navigateArrow$1(component, direction, options = {}) {
62151
62138
  }
62152
62139
  }
62153
62140
 
62154
- /* eslint-disable no-underscore-dangle */
62155
-
62156
62141
  /**
62157
62142
  * Returns the clear button element from the active input's shadow
62158
62143
  * DOM, if available.
@@ -62188,9 +62173,11 @@ function isClearBtnFocused(ctx, clearBtn = getClearBtn(ctx)) {
62188
62173
  * @param {Object} menu - The menu component.
62189
62174
  */
62190
62175
  function reconcileMenuIndex(menu) {
62176
+ // eslint-disable-next-line no-underscore-dangle
62191
62177
  if (menu._index < 0 && menu.optionActive && menu.items) {
62192
62178
  const idx = menu.items.indexOf(menu.optionActive);
62193
62179
  if (idx >= 0) {
62180
+ // eslint-disable-next-line no-underscore-dangle
62194
62181
  menu._index = idx;
62195
62182
  }
62196
62183
  }
@@ -66190,7 +66177,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
66190
66177
  }
66191
66178
  };
66192
66179
 
66193
- var formkitVersion$2 = '202606190840';
66180
+ var formkitVersion$2 = '202606192121';
66194
66181
 
66195
66182
  let AuroElement$2$1 = class AuroElement extends i$3 {
66196
66183
  static get properties() {
@@ -77904,7 +77891,6 @@ class AuroInputUtilities {
77904
77891
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
77905
77892
 
77906
77893
  if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
77907
- console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
77908
77894
  return undefined;
77909
77895
  }
77910
77896
 
@@ -78715,6 +78701,10 @@ class BaseInput extends AuroElement$1$1 {
78715
78701
  this.wrapperElement.addEventListener('click', this.handleClick);
78716
78702
  }
78717
78703
 
78704
+ // add attribute for query selectors when auro-input is registered under a custom name
78705
+ if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
78706
+ this.setAttribute('auro-input', '');
78707
+ }
78718
78708
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
78719
78709
 
78720
78710
  // use validity message override if declared when initializing the component
@@ -78885,14 +78875,14 @@ class BaseInput extends AuroElement$1$1 {
78885
78875
 
78886
78876
  if (formattedValue !== this.inputElement.value) {
78887
78877
  this.skipNextProgrammaticInputEvent = true;
78888
- if (this.maskInstance && this.type !== 'date') {
78878
+ if (this.maskInstance && this.type === 'credit-card') {
78889
78879
  // Route through the mask so its _value and el.value stay in lock-step
78890
78880
  // (set value calls updateControl which writes el.value = displayValue).
78891
78881
  // Writing el.value directly leaves the mask thinking displayValue is
78892
- // stale; _saveSelection on the next focus/click then warns. Date is
78893
- // excluded because its formattedValue can be raw ISO when the calendar
78894
- // is invalid, and re-masking through mm/dd/yyyy would truncate it and
78895
- // flip validity from patternMismatch to tooShort.
78882
+ // stale; _saveSelection on the next focus/click then warns. Scoped to
78883
+ // credit-card so date's own formattedValue (raw ISO when calendar-invalid)
78884
+ // isn't re-masked through the mm/dd/yyyy mask, which would truncate it
78885
+ // and flip validity from patternMismatch to tooShort.
78896
78886
  this.maskInstance.value = formattedValue || '';
78897
78887
  } else if (formattedValue) {
78898
78888
  this.inputElement.value = formattedValue;
@@ -79003,33 +78993,31 @@ class BaseInput extends AuroElement$1$1 {
79003
78993
  * @returns {void}
79004
78994
  */
79005
78995
  configureAutoFormatting() {
79006
- // _configuringMask gates two things: external re-entry into this method
79007
- // while setup is mid-flight (from property changes that call back here),
79008
- // and the accept/complete listeners below both need to ignore the mask
79009
- // events fired by our own value-restore step.
78996
+ // Re-entrancy guard. The patched-setter's synthetic input event (suppressed
78997
+ // by _configuringMask above) could otherwise trigger handleInput
78998
+ // processCreditCard configureAutoFormatting before the outer call's
78999
+ // set value has finished its alignCursor pass.
79010
79000
  if (this._configuringMask) return;
79011
79001
  this._configuringMask = true;
79012
79002
  try {
79013
- // Destroy any prior mask so IMask can attach fresh under the new format.
79014
79003
  if (this.maskInstance) {
79015
79004
  this.maskInstance.destroy();
79016
79005
  }
79017
79006
 
79007
+ // Pass new format to util
79018
79008
  this.util.updateFormat(this.format);
79019
79009
 
79020
79010
  const maskOptions = this.util.getMaskOptions(this.type, this.format);
79021
79011
 
79022
79012
  if (this.inputElement && maskOptions.mask) {
79023
- // Capture the current display so it can be re-applied after IMask
79024
- // attaches. The restore at the bottom goes through maskInstance.value
79025
- // (not inputElement.value directly) so the mask's internal state and
79026
- // the input's displayed text stay in lock-step.
79027
- let existingValue = this.inputElement.value;
79028
79013
 
79029
- // Format-change case (e.g. locale switch): existingValue is the OLD
79030
- // mask's display string and may not parse under the new mask. When
79031
- // we have a valid date model, rebuild the display from valueObject
79032
- // (the canonical source) using the new mask's format function.
79014
+ // Stash and clear any existing value before IMask init.
79015
+ // IMask's constructor processes the current input value which requires
79016
+ // selection state clearing first avoids that scenario entirely.
79017
+ // When the format changes (e.g. locale switch) and we have a valid ISO
79018
+ // model value, compute the display string for the NEW format instead of
79019
+ // re-using the old display string, which may be invalid in the new mask.
79020
+ let existingValue = this.inputElement.value;
79033
79021
  if (
79034
79022
  this.util.isFullDateFormat(this.type, this.format) &&
79035
79023
  this.value &&
@@ -79041,18 +79029,15 @@ class BaseInput extends AuroElement$1$1 {
79041
79029
  existingValue = maskOptions.format(this.valueObject);
79042
79030
  }
79043
79031
 
79044
- // Clear before IMask attaches so the constructor seeds an empty
79045
- // internal value. Otherwise IMask reads the stale unmasked string
79046
- // and emits a spurious 'accept' before the restore below runs.
79047
79032
  this.skipNextProgrammaticInputEvent = true;
79048
79033
  this.inputElement.value = '';
79049
79034
 
79050
79035
  this.maskInstance = IMask(this.inputElement, maskOptions);
79051
79036
 
79052
- // Mask fires 'accept' on every value change, including the restore
79053
- // step below. Skip events fired during configureAutoFormatting so
79054
- // we don't overwrite a value the parent just pushed.
79055
79037
  this.maskInstance.on('accept', () => {
79038
+ // Suppress propagation during configureAutoFormatting's own value-restoration
79039
+ // (line below) — the mask emits 'accept' on every value-set, including ours,
79040
+ // and we don't want to overwrite a value the parent just pushed.
79056
79041
  if (this._configuringMask) return;
79057
79042
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
79058
79043
  if (this.type === "date") {
@@ -79060,8 +79045,6 @@ class BaseInput extends AuroElement$1$1 {
79060
79045
  }
79061
79046
  });
79062
79047
 
79063
- // Mask fires 'complete' on the restore step below for any value that
79064
- // happens to be a complete match. Same setup-suppression as 'accept'.
79065
79048
  this.maskInstance.on('complete', () => {
79066
79049
  if (this._configuringMask) return;
79067
79050
  this.value = this.util.toModelValue(this.maskInstance.value, this.format);
@@ -79070,9 +79053,7 @@ class BaseInput extends AuroElement$1$1 {
79070
79053
  }
79071
79054
  });
79072
79055
 
79073
- // Write existingValue through the mask (not the input directly) so
79074
- // the mask reformats it under the new rules and keeps its internal
79075
- // _value aligned with the input's displayed text.
79056
+ // Restore the stashed value through IMask so it's properly masked
79076
79057
  if (existingValue) {
79077
79058
  this.maskInstance.value = existingValue;
79078
79059
  }
@@ -79778,7 +79759,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
79778
79759
  }
79779
79760
  };
79780
79761
 
79781
- var formkitVersion$1$1 = '202606190840';
79762
+ var formkitVersion$1$1 = '202606192121';
79782
79763
 
79783
79764
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
79784
79765
  // See LICENSE in the project root for license information.
@@ -80899,7 +80880,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
80899
80880
  }
80900
80881
  };
80901
80882
 
80902
- var formkitVersion$3 = '202606190840';
80883
+ var formkitVersion$3 = '202606192121';
80903
80884
 
80904
80885
  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}`;
80905
80886
 
@@ -81886,7 +81867,7 @@ class AuroCombobox extends AuroElement$3 {
81886
81867
  if (this.menu) {
81887
81868
  this.menu.matchWord = normalizeFilterValue(this.input.value);
81888
81869
  }
81889
- const label = getOptionLabel(this.menu.optionSelected);
81870
+ const label = getOptionLabel(this.menu.optionSelected) || this.menu.currentLabel;
81890
81871
  this.updateTriggerTextDisplay(label || this.value);
81891
81872
  }
81892
81873
 
@@ -81900,9 +81881,40 @@ class AuroCombobox extends AuroElement$3 {
81900
81881
  // in suggestion mode, do not override input value if no selection has been made and the input currently has focus
81901
81882
  const isInputFocusedWithNoSelection = !this.menu.value && (this.input.matches(':focus-within') || (this.inputInBib && this.inputInBib.matches(':focus-within')));
81902
81883
 
81903
- const suppressed = this.persistInput || (this.behavior === 'suggestion' && isInputFocusedWithNoSelection);
81904
- if (!suppressed) {
81905
- this.syncInputValuesAcrossTriggerAndBib(label || this.value);
81884
+ if (!this.persistInput && !(this.behavior === 'suggestion' && isInputFocusedWithNoSelection)) {
81885
+ const nextValue = label || this.value;
81886
+ // Only set the flag when there's an actual write to suppress —
81887
+ // syncValuesAndStates re-enters here during typing when both inputs
81888
+ // already match, and a no-op flag flip would make the bib branch's
81889
+ // bail eat legitimate user-input events.
81890
+ const triggerNeedsSync = this.input.value !== nextValue;
81891
+ const bibNeedsSync = Boolean(this.inputInBib && this.inputInBib !== this.input && this.inputInBib.value !== nextValue);
81892
+ if (triggerNeedsSync || bibNeedsSync) {
81893
+ this._syncingDisplayValue = true;
81894
+ if (triggerNeedsSync) {
81895
+ this.input.value = nextValue;
81896
+ }
81897
+ if (bibNeedsSync) {
81898
+ this.inputInBib.value = nextValue;
81899
+ }
81900
+ const pending = [];
81901
+ if (triggerNeedsSync) {
81902
+ pending.push(this.input.updateComplete);
81903
+ }
81904
+ if (bibNeedsSync) {
81905
+ pending.push(this.inputInBib.updateComplete);
81906
+ }
81907
+ Promise.all(pending).then(() => {
81908
+ // imask reasserts otherwise, and handleBlur reverts to its stale value.
81909
+ if (triggerNeedsSync && this.input.maskInstance && typeof this.input.maskInstance.updateValue === 'function') {
81910
+ this.input.maskInstance.updateValue();
81911
+ }
81912
+ if (bibNeedsSync && this.inputInBib && this.inputInBib.maskInstance && typeof this.inputInBib.maskInstance.updateValue === 'function') {
81913
+ this.inputInBib.maskInstance.updateValue();
81914
+ }
81915
+ this._syncingDisplayValue = false;
81916
+ });
81917
+ }
81906
81918
  }
81907
81919
 
81908
81920
  // update the displayValue in the trigger if displayValue slot content is present
@@ -81930,52 +81942,6 @@ class AuroCombobox extends AuroElement$3 {
81930
81942
  this.requestUpdate();
81931
81943
  }
81932
81944
 
81933
- /**
81934
- * Writes nextValue to the trigger input and the bib input when their current
81935
- * value differs, then re-asserts imask after Lit's update flushes.
81936
- * @param {string} nextValue - The value to write to both inputs.
81937
- * @returns {Promise<void> | null} Promise that resolves after the inputs flush,
81938
- * or null when no sync was needed (so callers can skip post-flush work).
81939
- * @private
81940
- */
81941
- syncInputValuesAcrossTriggerAndBib(nextValue) {
81942
- // Only set the flag when there's an actual write to suppress —
81943
- // syncValuesAndStates re-enters here during typing when both inputs
81944
- // already match, and a no-op flag flip would make the bib branch's
81945
- // bail eat legitimate user-input events.
81946
- const triggerNeedsSync = this.input.value !== nextValue;
81947
- const bibNeedsSync = Boolean(this.inputInBib && this.inputInBib !== this.input && this.inputInBib.value !== nextValue);
81948
- if (!triggerNeedsSync && !bibNeedsSync) {
81949
- return null;
81950
- }
81951
-
81952
- this._syncingDisplayValue = true;
81953
- if (triggerNeedsSync) {
81954
- this.input.value = nextValue;
81955
- }
81956
- if (bibNeedsSync) {
81957
- this.inputInBib.value = nextValue;
81958
- }
81959
-
81960
- const pending = [];
81961
- if (triggerNeedsSync) {
81962
- pending.push(this.input.updateComplete);
81963
- }
81964
- if (bibNeedsSync) {
81965
- pending.push(this.inputInBib.updateComplete);
81966
- }
81967
- return Promise.all(pending).then(() => {
81968
- // imask reasserts otherwise, and handleBlur reverts to its stale value.
81969
- if (triggerNeedsSync && this.input.maskInstance && typeof this.input.maskInstance.updateValue === 'function') {
81970
- this.input.maskInstance.updateValue();
81971
- }
81972
- if (bibNeedsSync && this.inputInBib && this.inputInBib.maskInstance && typeof this.inputInBib.maskInstance.updateValue === 'function') {
81973
- this.inputInBib.maskInstance.updateValue();
81974
- }
81975
- this._syncingDisplayValue = false;
81976
- });
81977
- }
81978
-
81979
81945
  /**
81980
81946
  * Processes hidden state of all menu options and determines if there are any available options not hidden.
81981
81947
  * @private
@@ -82003,9 +81969,9 @@ class AuroCombobox extends AuroElement$3 {
82003
81969
  this.syncValuesAndStates();
82004
81970
  }
82005
81971
 
82006
- // Re-activate when optionActive is not in the current scrollable viewport,
82007
- // or when _index has been reset (e.g. by clearSelection in an async update)
82008
- // so that makeSelection() can find the correct option.
81972
+ // Re-activate when optionActive is no longer visible, or when _index has
81973
+ // been reset (e.g. by clearSelection in an async update) so that
81974
+ // makeSelection() can find the correct option.
82009
81975
  if (!this.availableOptions.includes(this.menu.optionActive) || this.menu._index < 0) {
82010
81976
  this.activateFirstEnabledAvailableOption();
82011
81977
  }
@@ -82139,25 +82105,28 @@ class AuroCombobox extends AuroElement$3 {
82139
82105
 
82140
82106
  guardTouchPassthrough$1(this.menu);
82141
82107
 
82142
- // showModal() takes focus away from the trigger. Early focus once
82143
- // the dialog has painted; the shared doubleRaf below is the fallback
82144
- // for when the dialog needs an extra frame and also clears the
82145
- // validation guard.
82108
+ // The dialog's showModal() steals focus from the trigger.
82109
+ // A single rAF is enough for the dialog DOM to be painted and
82110
+ // focusable, then doubleRaf finalizes the transition.
82146
82111
  requestAnimationFrame(() => {
82147
82112
  this.setInputFocus();
82148
82113
  });
82149
- }
82150
- // else (desktop popover-open): Chrome resets the trigger caret to
82151
- // [0, 0] when its floating <label for="…"> overlay receives focus.
82152
- // The shared doubleRaf below parks the caret back at end-of-text
82153
- // after the dropdown layout settles.
82154
-
82155
- doubleRaf$1(() => {
82156
- this.setInputFocus();
82157
- if (this._inFullscreenTransition) {
82114
+
82115
+ doubleRaf$1(() => {
82116
+ this.setInputFocus();
82158
82117
  this._inFullscreenTransition = false;
82159
- }
82160
- });
82118
+ });
82119
+ } else {
82120
+ // Desktop popover-open: restore the trigger caret to end-of-text.
82121
+ // Clicking the trigger lands on auro-input's floating <label for="…">
82122
+ // overlay; Chrome resets the native input's selection to [0, 0] on
82123
+ // label-focus before any JS runs. setInputFocus()'s non-fullscreen
82124
+ // branch parks the caret at end. doubleRaf lets the dropdown layout
82125
+ // settle first, matching the fullscreen branch timing.
82126
+ doubleRaf$1(() => {
82127
+ this.setInputFocus();
82128
+ });
82129
+ }
82161
82130
  }
82162
82131
  });
82163
82132
 
@@ -82264,9 +82233,9 @@ class AuroCombobox extends AuroElement$3 {
82264
82233
  } else {
82265
82234
  // Safety net for the strategy-change setTimeout: a viewport-crossing
82266
82235
  // fullscreen→floating switch can close the dialog and leave focus on
82267
- // body. Every other call into this branch already has focus on the
82268
- // input via the combobox-level focusin → this.focus() redirect, so
82269
- // this is a no-op in the common case.
82236
+ // body. Every other Branch 2 callsite already has focus on the input
82237
+ // via the focusin → this.focus() redirect (L1448-1452), so this is a
82238
+ // no-op in the common case.
82270
82239
  if (!this.input.componentHasFocus) {
82271
82240
  this.input.focus();
82272
82241
  }
@@ -82385,7 +82354,7 @@ class AuroCombobox extends AuroElement$3 {
82385
82354
  if (this.menu.optionSelected) {
82386
82355
  const selected = this.menu.optionSelected;
82387
82356
 
82388
- if (this.optionSelected !== selected) {
82357
+ if (!this.optionSelected || this.optionSelected !== selected) {
82389
82358
  this.optionSelected = selected;
82390
82359
  }
82391
82360
 
@@ -82398,7 +82367,7 @@ class AuroCombobox extends AuroElement$3 {
82398
82367
  }
82399
82368
 
82400
82369
  // Update display
82401
- this.updateTriggerTextDisplay(getOptionLabel(this.optionSelected));
82370
+ this.updateTriggerTextDisplay(getOptionLabel(this.optionSelected) || this.menu.value);
82402
82371
 
82403
82372
  // Update match word for filtering
82404
82373
  const trimmedInput = normalizeFilterValue(this.input.value);
@@ -82780,7 +82749,15 @@ class AuroCombobox extends AuroElement$3 {
82780
82749
  this.menu.value = undefined;
82781
82750
  this.validation.reset(this);
82782
82751
  this.touched = false;
82752
+ // Force validity back to the cleared state. validation.reset() calls
82753
+ // validate() at the end, and (post-credit-card-fix) the trigger input's
82754
+ // residual validity may still be copied into the combobox by the
82755
+ // auroInputElements loop. Explicitly clear here so reset() actually
82756
+ // leaves the component in a "no validity" state.
82783
82757
  this.validity = undefined;
82758
+ this.errorMessage = '';
82759
+ this.input.validity = undefined;
82760
+ this.input.errorMessage = '';
82784
82761
  }
82785
82762
 
82786
82763
  /**
@@ -82833,23 +82810,52 @@ class AuroCombobox extends AuroElement$3 {
82833
82810
  this.input.value = this.value;
82834
82811
  }
82835
82812
 
82836
- // Sync menu.value only when an option actually matches, or when filter
82837
- // mode needs setMenuValue to dispatch auroMenu-selectValueFailure (the
82838
- // listener at line 1206 clears combobox.value, mirroring select's
82839
- // pattern). Otherwise sync the input display for freeform values.
82813
+ // Sync menu.value only when an option actually matches; otherwise clear it.
82840
82814
  if (this.menu.options && this.menu.options.length > 0) {
82841
- if (this.menu.options.some((opt) => opt.value === this.value) || this.behavior === 'filter') {
82815
+ if (this.menu.options.some((opt) => opt.value === this.value)) {
82816
+ this.setMenuValue(this.value);
82817
+ } else if (this.behavior === 'filter') {
82818
+ // In filter mode, freeform values aren't allowed. Push the unmatched
82819
+ // value through setMenuValue so menu dispatches auroMenu-selectValueFailure
82820
+ // and the listener at line 1206 clears combobox.value (mirrors select's
82821
+ // pattern). Bypassing setMenuValue here would skip the failure cascade.
82842
82822
  this.setMenuValue(this.value);
82843
82823
  } else {
82844
82824
  if (this.menu.value) {
82845
82825
  this.menu.value = undefined;
82846
82826
  }
82847
- // Suggestion-mode freeform value: sync the trigger + bib to show it,
82848
- // then refresh the filter once the inputs flush (handleInputValueChange
82849
- // bailed on _syncingDisplayValue).
82850
- const syncPromise = this.syncInputValuesAcrossTriggerAndBib(this.value || '');
82851
- if (syncPromise) {
82852
- syncPromise.then(() => {
82827
+ // Sync the display for programmatic freeform value changes (e.g. the
82828
+ // swap-values pattern). Guard with _syncingDisplayValue so that the
82829
+ // re-entrant input event from base-input.notifyValueChanged() is
82830
+ // ignored by handleInputValueChange. Skip the sync when input already
82831
+ // matches to avoid spurious events during the normal typing path.
82832
+ const nextValue = this.value || '';
82833
+ const triggerNeedsSync = this.input.value !== nextValue;
82834
+ const bibNeedsSync = Boolean(this.inputInBib && this.inputInBib !== this.input && this.inputInBib.value !== nextValue);
82835
+ if (triggerNeedsSync || bibNeedsSync) {
82836
+ this._syncingDisplayValue = true;
82837
+ if (triggerNeedsSync) {
82838
+ this.input.value = nextValue;
82839
+ }
82840
+ if (bibNeedsSync) {
82841
+ this.inputInBib.value = nextValue;
82842
+ }
82843
+ const pending = [];
82844
+ if (triggerNeedsSync) {
82845
+ pending.push(this.input.updateComplete);
82846
+ }
82847
+ if (bibNeedsSync) {
82848
+ pending.push(this.inputInBib.updateComplete);
82849
+ }
82850
+ Promise.all(pending).then(() => {
82851
+ if (triggerNeedsSync && this.input.maskInstance && typeof this.input.maskInstance.updateValue === 'function') {
82852
+ this.input.maskInstance.updateValue();
82853
+ }
82854
+ if (bibNeedsSync && this.inputInBib && this.inputInBib.maskInstance && typeof this.inputInBib.maskInstance.updateValue === 'function') {
82855
+ this.inputInBib.maskInstance.updateValue();
82856
+ }
82857
+ this._syncingDisplayValue = false;
82858
+ // handleInputValueChange bailed on the flag — refresh the filter.
82853
82859
  this._programmaticFilterRefresh = true;
82854
82860
  this.handleMenuOptions();
82855
82861
  setTimeout(() => {
@@ -83638,8 +83644,8 @@ class AuroMenu extends AuroElement$2 {
83638
83644
  // Malformed JSON (e.g. a literal string that happens to start with "[") falls back
83639
83645
  // to a single-item array rather than throwing during render.
83640
83646
  try {
83641
- const parsed = JSON.parse(this.value);
83642
- return Array.isArray(parsed) ? parsed : [this.value];
83647
+ // any valid JSON starting with `[` ALWAYS parses to an array
83648
+ return JSON.parse(this.value);
83643
83649
  } catch {
83644
83650
  return [this.value];
83645
83651
  }
@@ -89682,7 +89688,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
89682
89688
  }
89683
89689
  };
89684
89690
 
89685
- var formkitVersion$1 = '202606190840';
89691
+ var formkitVersion$1 = '202606192121';
89686
89692
 
89687
89693
  class AuroElement extends i$3 {
89688
89694
  static get properties() {
@@ -91695,7 +91701,7 @@ class AuroHelpText extends i$3 {
91695
91701
  }
91696
91702
  }
91697
91703
 
91698
- var formkitVersion = '202606190840';
91704
+ var formkitVersion = '202606192121';
91699
91705
 
91700
91706
  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}`;
91701
91707