@aurodesignsystem/auro-formkit 4.0.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +2 -23
  2. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +1 -0
  3. package/components/bibtemplate/dist/index.js +158 -6
  4. package/components/bibtemplate/dist/registered.js +158 -6
  5. package/components/checkbox/README.md +1 -1
  6. package/components/checkbox/demo/api.md +2 -2
  7. package/components/checkbox/demo/api.min.js +24 -20
  8. package/components/checkbox/demo/index.md +2 -2
  9. package/components/checkbox/demo/index.min.js +24 -20
  10. package/components/checkbox/demo/readme.md +1 -1
  11. package/components/checkbox/dist/auro-checkbox.d.ts +2 -2
  12. package/components/checkbox/dist/index.js +24 -20
  13. package/components/checkbox/dist/registered.js +24 -20
  14. package/components/combobox/demo/api.min.js +707 -133
  15. package/components/combobox/demo/index.min.js +707 -133
  16. package/components/combobox/dist/auro-combobox.d.ts +0 -8
  17. package/components/combobox/dist/index.js +627 -123
  18. package/components/combobox/dist/registered.js +627 -123
  19. package/components/counter/demo/api.min.js +583 -43
  20. package/components/counter/demo/index.min.js +583 -43
  21. package/components/counter/dist/index.js +583 -43
  22. package/components/counter/dist/registered.js +583 -43
  23. package/components/datepicker/demo/api.min.js +866 -75
  24. package/components/datepicker/demo/index.min.js +866 -75
  25. package/components/datepicker/dist/index.js +866 -75
  26. package/components/datepicker/dist/registered.js +866 -75
  27. package/components/dropdown/demo/api.min.js +153 -16
  28. package/components/dropdown/demo/index.min.js +153 -16
  29. package/components/dropdown/dist/auro-dropdownBib.d.ts +8 -0
  30. package/components/dropdown/dist/index.js +153 -16
  31. package/components/dropdown/dist/registered.js +153 -16
  32. package/components/input/demo/api.min.js +263 -12
  33. package/components/input/demo/index.min.js +263 -12
  34. package/components/input/dist/index.js +263 -12
  35. package/components/input/dist/registered.js +263 -12
  36. package/components/menu/demo/api.min.js +76 -6
  37. package/components/menu/demo/index.min.js +76 -6
  38. package/components/menu/dist/index.js +76 -6
  39. package/components/menu/dist/registered.js +76 -6
  40. package/components/radio/demo/api.min.js +4 -3
  41. package/components/radio/demo/index.min.js +4 -3
  42. package/components/radio/dist/index.js +4 -3
  43. package/components/radio/dist/registered.js +4 -3
  44. package/components/select/demo/api.min.js +403 -49
  45. package/components/select/demo/index.min.js +403 -49
  46. package/components/select/dist/auro-select.d.ts +0 -1
  47. package/components/select/dist/index.js +325 -41
  48. package/components/select/dist/registered.js +325 -41
  49. package/package.json +3 -3
@@ -58,7 +58,7 @@ const a=Symbol.for(""),o$1=t=>{if(t?.r===a)return t?._$litStatic$},s$1=t=>({_$li
58
58
  // See LICENSE in the project root for license information.
59
59
 
60
60
 
61
- let AuroDependencyVersioning$3 = class AuroDependencyVersioning {
61
+ let AuroDependencyVersioning$4 = class AuroDependencyVersioning {
62
62
 
63
63
  /**
64
64
  * Generates a unique string to be used for child auro element naming.
@@ -101,7 +101,7 @@ let AuroDependencyVersioning$3 = class AuroDependencyVersioning {
101
101
 
102
102
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
103
103
 
104
- let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
104
+ let AuroLibraryRuntimeUtils$7 = class AuroLibraryRuntimeUtils {
105
105
 
106
106
  /* eslint-disable jsdoc/require-param */
107
107
 
@@ -220,9 +220,10 @@ let DateFormatter$1 = class DateFormatter {
220
220
  /**
221
221
  * Convert a date object to string format.
222
222
  * @param {Object} date - Date to convert to string.
223
- * @returns {Object} Returns the date as a string.
223
+ * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
224
+ * @returns {String} Returns the date as a string.
224
225
  */
225
- this.getDateAsString = (date) => date.toLocaleDateString(undefined, {
226
+ this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
226
227
  year: "numeric",
227
228
  month: "2-digit",
228
229
  day: "2-digit",
@@ -414,7 +415,7 @@ let AuroDateUtilities$1 = class AuroDateUtilities extends AuroDateUtilitiesBase$
414
415
  const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
415
416
 
416
417
  // Get the date string of the date object we created from the string date
417
- const actualDateStr = dateFormatter$1.getDateAsString(dateObj);
418
+ const actualDateStr = dateFormatter$1.getDateAsString(dateObj, "en-US");
418
419
 
419
420
  // Guard Clause: Generated date matches date string input
420
421
  if (expectedDateStr !== actualDateStr) {
@@ -579,7 +580,7 @@ const {
579
580
  let AuroFormValidation$1 = class AuroFormValidation {
580
581
 
581
582
  constructor() {
582
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
583
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$7();
583
584
  }
584
585
 
585
586
  /**
@@ -964,7 +965,7 @@ const t$1={ATTRIBUTE:1,CHILD:2},e$1=t=>(...e)=>({_$litDirective$:t,values:e});cl
964
965
 
965
966
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
966
967
 
967
- let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
968
+ let AuroLibraryRuntimeUtils$2$2 = class AuroLibraryRuntimeUtils {
968
969
 
969
970
  /* eslint-disable jsdoc/require-param */
970
971
 
@@ -2559,8 +2560,28 @@ class AuroFloatingUI {
2559
2560
  if (!AuroFloatingUI.isMousePressHandlerInitialized && window && window.addEventListener) {
2560
2561
  AuroFloatingUI.isMousePressHandlerInitialized = true;
2561
2562
 
2563
+ // Track timeout for isMousePressed reset to avoid race conditions
2564
+ if (!AuroFloatingUI._mousePressedTimeout) {
2565
+ AuroFloatingUI._mousePressedTimeout = null;
2566
+ }
2562
2567
  const mouseEventGlobalHandler = (event) => {
2563
- AuroFloatingUI.isMousePressed = event.type === 'mousedown';
2568
+ const isPressed = event.type === 'mousedown';
2569
+ if (isPressed) {
2570
+ // Clear any pending timeout to prevent race condition
2571
+ if (AuroFloatingUI._mousePressedTimeout !== null) {
2572
+ clearTimeout(AuroFloatingUI._mousePressedTimeout);
2573
+ AuroFloatingUI._mousePressedTimeout = null;
2574
+ }
2575
+ if (!AuroFloatingUI.isMousePressed) {
2576
+ AuroFloatingUI.isMousePressed = true;
2577
+ }
2578
+ } else if (AuroFloatingUI.isMousePressed && !isPressed) {
2579
+ // Schedule reset and track timeout ID
2580
+ AuroFloatingUI._mousePressedTimeout = setTimeout(() => {
2581
+ AuroFloatingUI.isMousePressed = false;
2582
+ AuroFloatingUI._mousePressedTimeout = null;
2583
+ }, 0);
2584
+ }
2564
2585
  };
2565
2586
 
2566
2587
  window.addEventListener('mousedown', mouseEventGlobalHandler);
@@ -2687,6 +2708,7 @@ class AuroFloatingUI {
2687
2708
 
2688
2709
  // Compute the position of the bib
2689
2710
  computePosition(this.element.trigger, this.element.bib, {
2711
+ strategy: this.element.floaterConfig?.strategy || 'fixed',
2690
2712
  placement: this.element.floaterConfig?.placement,
2691
2713
  middleware: middleware || []
2692
2714
  }).then(({ x, y }) => { // eslint-disable-line id-length
@@ -2821,8 +2843,9 @@ class AuroFloatingUI {
2821
2843
  if (this.element.contains(activeElement) || this.element.bib?.contains(activeElement)) {
2822
2844
  return;
2823
2845
  }
2824
- // if fullscreen bib is still open and the focus is missing, do not close
2825
- if (this.element.bib.hasAttribute('isfullscreen') && activeElement === document.body) {
2846
+
2847
+ // if fullscreen bib is in fullscreen mode, do not close
2848
+ if (this.element.bib.hasAttribute('isfullscreen')) {
2826
2849
  return;
2827
2850
  }
2828
2851
 
@@ -3123,8 +3146,6 @@ class AuroFloatingUI {
3123
3146
  this.element.hoverToggle = this.element.floaterConfig.hoverToggle;
3124
3147
  }
3125
3148
 
3126
- document.body.append(this.element.bib);
3127
-
3128
3149
  this.regenerateBibId();
3129
3150
  this.handleTriggerTabIndex();
3130
3151
 
@@ -3165,7 +3186,7 @@ class AuroFloatingUI {
3165
3186
  // See LICENSE in the project root for license information.
3166
3187
 
3167
3188
 
3168
- let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
3189
+ let AuroDependencyVersioning$3 = class AuroDependencyVersioning {
3169
3190
 
3170
3191
  /**
3171
3192
  * Generates a unique string to be used for child auro element naming.
@@ -3355,6 +3376,76 @@ var tokensCss$2$2 = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon
3355
3376
 
3356
3377
  var colorCss$3$2 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}`;
3357
3378
 
3379
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
3380
+ // See LICENSE in the project root for license information.
3381
+
3382
+ // ---------------------------------------------------------------------
3383
+
3384
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
3385
+
3386
+ let AuroLibraryRuntimeUtils$1$2 = class AuroLibraryRuntimeUtils {
3387
+
3388
+ /* eslint-disable jsdoc/require-param */
3389
+
3390
+ /**
3391
+ * This will register a new custom element with the browser.
3392
+ * @param {String} name - The name of the custom element.
3393
+ * @param {Object} componentClass - The class to register as a custom element.
3394
+ * @returns {void}
3395
+ */
3396
+ registerComponent(name, componentClass) {
3397
+ if (!customElements.get(name)) {
3398
+ customElements.define(name, class extends componentClass {});
3399
+ }
3400
+ }
3401
+
3402
+ /**
3403
+ * Finds and returns the closest HTML Element based on a selector.
3404
+ * @returns {void}
3405
+ */
3406
+ closestElement(
3407
+ selector, // selector like in .closest()
3408
+ base = this, // extra functionality to skip a parent
3409
+ __Closest = (el, found = el && el.closest(selector)) =>
3410
+ !el || el === document || el === window
3411
+ ? null // standard .closest() returns null for non-found selectors also
3412
+ : found
3413
+ ? found // found a selector INside this element
3414
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
3415
+ ) {
3416
+ return __Closest(base);
3417
+ }
3418
+ /* eslint-enable jsdoc/require-param */
3419
+
3420
+ /**
3421
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
3422
+ * @param {Object} elem - The element to check.
3423
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
3424
+ * @returns {void}
3425
+ */
3426
+ handleComponentTagRename(elem, tagName) {
3427
+ const tag = tagName.toLowerCase();
3428
+ const elemTag = elem.tagName.toLowerCase();
3429
+
3430
+ if (elemTag !== tag) {
3431
+ elem.setAttribute(tag, true);
3432
+ }
3433
+ }
3434
+
3435
+ /**
3436
+ * Validates if an element is a specific Auro component.
3437
+ * @param {Object} elem - The element to validate.
3438
+ * @param {String} tagName - The name of the Auro component to check against.
3439
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
3440
+ */
3441
+ elementMatch(elem, tagName) {
3442
+ const tag = tagName.toLowerCase();
3443
+ const elemTag = elem.tagName.toLowerCase();
3444
+
3445
+ return elemTag === tag || elem.hasAttribute(tag);
3446
+ }
3447
+ };
3448
+
3358
3449
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3359
3450
  // See LICENSE in the project root for license information.
3360
3451
 
@@ -3374,7 +3465,7 @@ let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
3374
3465
  */
3375
3466
  privateDefaults() {
3376
3467
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
3377
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
3468
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1$2();
3378
3469
  }
3379
3470
 
3380
3471
  // function to define props used within the scope of this component
@@ -3456,7 +3547,7 @@ let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
3456
3547
  *
3457
3548
  */
3458
3549
  static register(name = "auro-icon") {
3459
- AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroIcon);
3550
+ AuroLibraryRuntimeUtils$1$2.prototype.registerComponent(name, AuroIcon);
3460
3551
  }
3461
3552
 
3462
3553
  connectedCallback() {
@@ -3524,7 +3615,7 @@ let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
3524
3615
 
3525
3616
  var iconVersion$3 = '6.1.2';
3526
3617
 
3527
- var styleCss$2$3 = i$5`:host{position:absolute;z-index:var(--depth-tooltip, 400);display:none}.container{display:inline-block;overflow:auto;box-sizing:border-box;margin:var(--ds-size-50, 0.25rem) 0}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}`;
3618
+ var styleCss$2$3 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}.container{display:inline-block;overflow:auto;box-sizing:border-box;margin:var(--ds-size-50, 0.25rem) 0}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}`;
3528
3619
 
3529
3620
  var colorCss$2$2 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
3530
3621
 
@@ -3534,7 +3625,6 @@ var tokensCss$1$2 = i$5`:host{--ds-auro-dropdown-label-text-color: var(--ds-basi
3534
3625
  // See LICENSE in the project root for license information.
3535
3626
 
3536
3627
 
3537
-
3538
3628
  const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
3539
3629
  const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
3540
3630
  'xl',
@@ -3559,7 +3649,7 @@ class AuroDropdownBib extends i$2 {
3559
3649
  */
3560
3650
  this._mobileBreakpointValue = undefined;
3561
3651
 
3562
- AuroLibraryRuntimeUtils$1$1.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
3652
+ AuroLibraryRuntimeUtils$2$2.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
3563
3653
  }
3564
3654
 
3565
3655
  static get styles() {
@@ -3604,6 +3694,13 @@ class AuroDropdownBib extends i$2 {
3604
3694
  type: Boolean,
3605
3695
  reflect: true
3606
3696
  },
3697
+
3698
+ /**
3699
+ * A reference to the associated bib template element.
3700
+ */
3701
+ bibTemplate: {
3702
+ type: Object
3703
+ }
3607
3704
  };
3608
3705
  }
3609
3706
 
@@ -3636,9 +3733,50 @@ class AuroDropdownBib extends i$2 {
3636
3733
  }
3637
3734
  }
3638
3735
  });
3736
+
3737
+ if (this.bibTemplate) {
3738
+ // If the bib template is found, set the fullscreen attribute
3739
+ if (this.isFullscreen) {
3740
+ this.bibTemplate.setAttribute('isFullscreen', 'true');
3741
+ } else {
3742
+ this.bibTemplate.removeAttribute('isFullscreen');
3743
+ }
3744
+ }
3639
3745
  }
3640
3746
  }
3641
3747
 
3748
+ connectedCallback() {
3749
+ super.connectedCallback();
3750
+
3751
+ // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
3752
+ this.addEventListener('auro-bibtemplate-connected', (event) => {
3753
+ const bibTemplate = event.detail.element;
3754
+ this.bibTemplate = bibTemplate;
3755
+
3756
+ if (bibTemplate) {
3757
+ // If the bib template is found, set the fullscreen attribute
3758
+ if (this.isFullscreen) {
3759
+ bibTemplate.setAttribute('isFullscreen', 'true');
3760
+ } else {
3761
+ bibTemplate.removeAttribute('isFullscreen');
3762
+ }
3763
+ }
3764
+ });
3765
+ }
3766
+
3767
+ firstUpdated(changedProperties) {
3768
+ super.firstUpdated(changedProperties);
3769
+
3770
+ // Dispatch a custom event when the component is connected
3771
+ this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
3772
+ bubbles: true,
3773
+ composed: true,
3774
+ detail: {
3775
+ element: this
3776
+ }
3777
+ }));
3778
+ }
3779
+
3642
3780
  // function that renders the HTML and CSS into the scope of the component
3643
3781
  render() {
3644
3782
  return u$2`
@@ -3668,7 +3806,7 @@ var tokensCss$6 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
3668
3806
 
3669
3807
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
3670
3808
 
3671
- let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
3809
+ let AuroLibraryRuntimeUtils$6 = class AuroLibraryRuntimeUtils {
3672
3810
 
3673
3811
  /* eslint-disable jsdoc/require-param */
3674
3812
 
@@ -3749,7 +3887,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
3749
3887
  this.onDark = false;
3750
3888
  this.hasTextContent = false;
3751
3889
 
3752
- AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
3890
+ AuroLibraryRuntimeUtils$6.prototype.handleComponentTagRename(this, 'auro-helptext');
3753
3891
  }
3754
3892
 
3755
3893
  static get styles() {
@@ -3805,7 +3943,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
3805
3943
  *
3806
3944
  */
3807
3945
  static register(name = "auro-helptext") {
3808
- AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
3946
+ AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroHelpText);
3809
3947
  }
3810
3948
 
3811
3949
  updated() {
@@ -3948,7 +4086,7 @@ class AuroDropdown extends i$2 {
3948
4086
  /**
3949
4087
  * @private
3950
4088
  */
3951
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
4089
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2$2();
3952
4090
 
3953
4091
  /**
3954
4092
  * @private
@@ -3958,7 +4096,7 @@ class AuroDropdown extends i$2 {
3958
4096
  /**
3959
4097
  * Generate unique names for dependency components.
3960
4098
  */
3961
- const versioning = new AuroDependencyVersioning$2();
4099
+ const versioning = new AuroDependencyVersioning$3();
3962
4100
 
3963
4101
  /**
3964
4102
  * @private
@@ -4277,7 +4415,7 @@ class AuroDropdown extends i$2 {
4277
4415
  *
4278
4416
  */
4279
4417
  static register(name = "auro-dropdown") {
4280
- AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroDropdown);
4418
+ AuroLibraryRuntimeUtils$2$2.prototype.registerComponent(name, AuroDropdown);
4281
4419
  }
4282
4420
 
4283
4421
  /**
@@ -4594,8 +4732,7 @@ class AuroDropdown extends i$2 {
4594
4732
  * @param {Event} event - The event object representing the slot change.
4595
4733
  * @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
4596
4734
  */
4597
- handleDefaultSlot(event) {
4598
- [...event.target.assignedNodes()].forEach((node) => this.bibContent.append(node));
4735
+ handleDefaultSlot() {
4599
4736
 
4600
4737
  if (this.onSlotChange) {
4601
4738
  this.onSlotChange();
@@ -4667,9 +4804,7 @@ class AuroDropdown extends i$2 {
4667
4804
  <${this.helpTextTag} part="helpText" ?onDark=${this.onDark} ?error="${this.error}">
4668
4805
  <slot name="helpText"></slot>
4669
4806
  </${this.helpTextTag}>
4670
- <div class="slotContent">
4671
- <slot @slotchange="${this.handleDefaultSlot}"></slot>
4672
- </div>
4807
+
4673
4808
  <div id="bibSizer" part="size"></div>
4674
4809
  <${this.dropdownBibTag}
4675
4810
  id="bib"
@@ -4679,6 +4814,9 @@ class AuroDropdown extends i$2 {
4679
4814
  ?rounded="${this.common || this.rounded}"
4680
4815
  ?inset="${this.common || this.inset}"
4681
4816
  >
4817
+ <div class="slotContent">
4818
+ <slot @slotchange="${this.handleDefaultSlot}"></slot>
4819
+ </div>
4682
4820
  </${this.dropdownBibTag}>
4683
4821
  </div>
4684
4822
  `;
@@ -8725,9 +8863,10 @@ class DateFormatter {
8725
8863
  /**
8726
8864
  * Convert a date object to string format.
8727
8865
  * @param {Object} date - Date to convert to string.
8728
- * @returns {Object} Returns the date as a string.
8866
+ * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
8867
+ * @returns {String} Returns the date as a string.
8729
8868
  */
8730
- this.getDateAsString = (date) => date.toLocaleDateString(undefined, {
8869
+ this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
8731
8870
  year: "numeric",
8732
8871
  month: "2-digit",
8733
8872
  day: "2-digit",
@@ -8919,7 +9058,7 @@ class AuroDateUtilities extends AuroDateUtilitiesBase {
8919
9058
  const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
8920
9059
 
8921
9060
  // Get the date string of the date object we created from the string date
8922
- const actualDateStr = dateFormatter.getDateAsString(dateObj);
9061
+ const actualDateStr = dateFormatter.getDateAsString(dateObj, "en-US");
8923
9062
 
8924
9063
  // Guard Clause: Generated date matches date string input
8925
9064
  if (expectedDateStr !== actualDateStr) {
@@ -9084,7 +9223,7 @@ const {
9084
9223
 
9085
9224
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
9086
9225
 
9087
- let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
9226
+ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
9088
9227
 
9089
9228
  /* eslint-disable jsdoc/require-param */
9090
9229
 
@@ -9154,7 +9293,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
9154
9293
  class AuroFormValidation {
9155
9294
 
9156
9295
  constructor() {
9157
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
9296
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
9158
9297
  }
9159
9298
 
9160
9299
  /**
@@ -10726,6 +10865,76 @@ var tokensCss$3 = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-d
10726
10865
 
10727
10866
  var colorCss$3$1 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}`;
10728
10867
 
10868
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
10869
+ // See LICENSE in the project root for license information.
10870
+
10871
+ // ---------------------------------------------------------------------
10872
+
10873
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
10874
+
10875
+ let AuroLibraryRuntimeUtils$3$1 = class AuroLibraryRuntimeUtils {
10876
+
10877
+ /* eslint-disable jsdoc/require-param */
10878
+
10879
+ /**
10880
+ * This will register a new custom element with the browser.
10881
+ * @param {String} name - The name of the custom element.
10882
+ * @param {Object} componentClass - The class to register as a custom element.
10883
+ * @returns {void}
10884
+ */
10885
+ registerComponent(name, componentClass) {
10886
+ if (!customElements.get(name)) {
10887
+ customElements.define(name, class extends componentClass {});
10888
+ }
10889
+ }
10890
+
10891
+ /**
10892
+ * Finds and returns the closest HTML Element based on a selector.
10893
+ * @returns {void}
10894
+ */
10895
+ closestElement(
10896
+ selector, // selector like in .closest()
10897
+ base = this, // extra functionality to skip a parent
10898
+ __Closest = (el, found = el && el.closest(selector)) =>
10899
+ !el || el === document || el === window
10900
+ ? null // standard .closest() returns null for non-found selectors also
10901
+ : found
10902
+ ? found // found a selector INside this element
10903
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
10904
+ ) {
10905
+ return __Closest(base);
10906
+ }
10907
+ /* eslint-enable jsdoc/require-param */
10908
+
10909
+ /**
10910
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
10911
+ * @param {Object} elem - The element to check.
10912
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
10913
+ * @returns {void}
10914
+ */
10915
+ handleComponentTagRename(elem, tagName) {
10916
+ const tag = tagName.toLowerCase();
10917
+ const elemTag = elem.tagName.toLowerCase();
10918
+
10919
+ if (elemTag !== tag) {
10920
+ elem.setAttribute(tag, true);
10921
+ }
10922
+ }
10923
+
10924
+ /**
10925
+ * Validates if an element is a specific Auro component.
10926
+ * @param {Object} elem - The element to validate.
10927
+ * @param {String} tagName - The name of the Auro component to check against.
10928
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
10929
+ */
10930
+ elementMatch(elem, tagName) {
10931
+ const tag = tagName.toLowerCase();
10932
+ const elemTag = elem.tagName.toLowerCase();
10933
+
10934
+ return elemTag === tag || elem.hasAttribute(tag);
10935
+ }
10936
+ };
10937
+
10729
10938
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
10730
10939
  // See LICENSE in the project root for license information.
10731
10940
 
@@ -10745,7 +10954,7 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
10745
10954
  */
10746
10955
  privateDefaults() {
10747
10956
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
10748
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
10957
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$3$1();
10749
10958
  }
10750
10959
 
10751
10960
  // function to define props used within the scope of this component
@@ -10827,7 +11036,7 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
10827
11036
  *
10828
11037
  */
10829
11038
  static register(name = "auro-icon") {
10830
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
11039
+ AuroLibraryRuntimeUtils$3$1.prototype.registerComponent(name, AuroIcon);
10831
11040
  }
10832
11041
 
10833
11042
  connectedCallback() {
@@ -10895,49 +11104,229 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
10895
11104
 
10896
11105
  var iconVersion$2 = '8.0.1';
10897
11106
 
10898
- var styleCss$2$2 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}.util_insetNone{padding:0}.util_insetXxxs{padding:.125rem}.util_insetXxxs--stretch{padding:.25rem .125rem}.util_insetXxxs--squish{padding:0 .125rem}.util_insetXxs{padding:.25rem}.util_insetXxs--stretch{padding:.375rem .25rem}.util_insetXxs--squish{padding:.125rem .25rem}.util_insetXs{padding:.5rem}.util_insetXs--stretch{padding:.75rem .5rem}.util_insetXs--squish{padding:.25rem .5rem}.util_insetSm{padding:.75rem}.util_insetSm--stretch{padding:1.125rem .75rem}.util_insetSm--squish{padding:.375rem .75rem}.util_insetMd{padding:1rem}.util_insetMd--stretch{padding:1.5rem 1rem}.util_insetMd--squish{padding:.5rem 1rem}.util_insetLg{padding:1.5rem}.util_insetLg--stretch{padding:2.25rem 1.5rem}.util_insetLg--squish{padding:.75rem 1.5rem}.util_insetXl{padding:2rem}.util_insetXl--stretch{padding:3rem 2rem}.util_insetXl--squish{padding:1rem 2rem}.util_insetXxl{padding:3rem}.util_insetXxl--stretch{padding:4.5rem 3rem}.util_insetXxl--squish{padding:1.5rem 3rem}.util_insetXxxl{padding:4rem}.util_insetXxxl--stretch{padding:6rem 4rem}.util_insetXxxl--squish{padding:2rem 4rem}:host([fluid]) .auro-button,:host([fluid=true]) .auro-button{min-width:auto;width:100%}:host([variant=flat]){display:inline-block;height:var(--ds-size-300, 1.5rem);width:var(--ds-size-300, 1.5rem)}:host([variant=flat]) .auro-button{height:100%;width:100%}::slotted(svg){vertical-align:middle}slot{pointer-events:none}.auro-button{position:relative;padding:0 var(--ds-size-300, 1.5rem);cursor:pointer;border-width:1px;border-style:solid;border-radius:var(--ds-border-radius, 0.375rem);font-family:var(--ds-basic-text-body-default-font-family, AS Circular);font-size:var(--ds-basic-text-body-default-font-size, 16px);font-weight:var(--ds-basic-text-body-default-font-weight, Book);overflow:hidden;text-overflow:ellipsis;user-select:none;white-space:nowrap;min-height:var(--ds-size-600, 3rem);max-height:var(--ds-size-600, 3rem);display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ds-size-100, 0.5rem);margin:0;-webkit-touch-callout:none;-webkit-user-select:none}.auro-button:active{transform:scale(0.95)}.auro-button:focus-visible{outline:none}.auro-button:focus-visible:not([variant=flat]){outline-style:solid;outline-width:var(--ds-size-50, 0.25rem);outline-offset:calc(var(--ds-size-50, 0.25rem)*-1)}.auro-button:focus-visible:not([variant=flat]):not([variant=secondary]):not([variant=tertiary]){outline-width:calc(var(--ds-size-50, 0.25rem) - 1px)}.auro-button.loading{cursor:not-allowed}.auro-button.loading *:not([auro-loader]){visibility:hidden}@media screen and (min-width: 576px){.auro-button{min-width:8.75rem;width:auto}}.auro-button:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=secondary]:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=tertiary]:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=flat]{height:unset;width:unset;min-height:unset;max-height:unset;min-width:unset;max-width:unset;border:0;border-radius:unset;gap:unset;padding:unset}.auro-button[onDark]:disabled{cursor:not-allowed;transform:unset}.auro-button[onDark][variant=secondary]:disabled{cursor:not-allowed;transform:unset}@media(hover: hover){.auro-button[onDark][variant=tertiary]:active,.auro-button[onDark][variant=tertiary]:hover{box-shadow:none}}.auro-button[onDark][variant=tertiary]:active{box-shadow:none}.auro-button[onDark][variant=tertiary]:disabled{cursor:not-allowed;transform:unset}.auro-button--slim{padding:var(--ds-size-100, 0.5rem) var(--ds-size-200, 1rem);font-size:var(--ds-basic-text-body-sm-font-size, 14px);min-width:unset;min-height:calc(var(--ds-size-500, 2.5rem) - var(--ds-size-50, 0.25rem));max-height:calc(var(--ds-size-500, 2.5rem) - var(--ds-size-50, 0.25rem))}.auro-button--iconOnly{padding:0 var(--ds-size-100, 0.5rem);border-radius:100px;min-width:unset;height:var(--ds-size-600, 3rem);width:var(--ds-size-500, 2.5rem)}.auro-button--iconOnly ::slotted(auro-icon),.auro-button--iconOnly ::slotted([auro-icon]){--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}.auro-button--iconOnly:not(.auro-button--rounded):focus-visible:not([variant=secondary]):not([variant=tertiary]):not([variant=flat]){outline-width:1px;outline-offset:-2px}.auro-button--iconOnlySlim{padding:0 var(--ds-size-50, 0.25rem);height:calc(var(--ds-size-400, 2rem) + var(--ds-size-50, 0.25rem));width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-50, 0.25rem))}.auro-button--iconOnlySlim ::slotted(auro-icon),.auro-button--iconOnlySlim ::slotted([auro-icon]){--ds-auro-icon-size:calc(var(--ds-size-200, 1rem) + var(--ds-size-50, 0.25rem))}.auro-button--rounded{border-radius:100px;box-shadow:var(--ds-elevation-300, 0px 0px 15px rgba(0, 0, 0, 0.2));height:var(--ds-size-500, 2.5rem);min-width:unset;transition:all 300ms ease-out,outline 0ms,outline-offset 0ms}.auro-button--rounded ::slotted(auro-icon),.auro-button--rounded ::slotted([auro-icon]){--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}.auro-button--rounded:focus-visible:not([variant=flat]):after{border-radius:100px}:host([rounded]) .textSlot{transition:opacity 300ms ease-in;opacity:1}:host([rounded][iconOnly]) .textSlot{opacity:0}:host([rounded][iconOnly]) .textWrapper{display:none}:host([rounded][iconOnly]) .auro-button{min-width:unset;padding:unset;width:var(--ds-size-600, 3rem)}[auro-loader]{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}`;
11107
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11108
+ // See LICENSE in the project root for license information.
10899
11109
 
10900
- var colorCss$2$1 = i$5`[auro-loader]{color:var(--ds-auro-button-loader-color)}.auro-button{-webkit-tap-highlight-color:var(--ds-auro-button-tap-color);color:var(--ds-auro-button-text-color);background-color:var(--ds-auro-button-container-color);background-image:linear-gradient(var(--ds-auro-button-container-image), var(--ds-auro-button-container-image));border-color:var(--ds-auro-button-border-color)}.auro-button:not([variant=secondary]):not([variant=tertiary]):focus-visible{outline-color:var(--ds-auro-button-border-inset-color)}.auro-button:not([ondark]):active:not(:disabled),.auro-button:not([ondark]):hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-hover, #00274a);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-hover, #00274a);--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-hover, #00274a)}.auro-button:not([ondark]):disabled{--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-disabled, #acc9e2);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-disabled, #acc9e2);--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-disabled, #acc9e2)}.auro-button:not([ondark])[variant=secondary]{--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background, #ffffff);--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background, #ffffff);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border, #01426a);--ds-auro-button-text-color:var(--ds-advanced-color-button-secondary-text, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-secondary-text, #01426a)}.auro-button:not([ondark])[variant=secondary]:active:not(:disabled),.auro-button:not([ondark])[variant=secondary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background-hover, #f2f2f2);--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background-hover, #f2f2f2);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-hover, #00274a);--ds-auro-button-text-color:var(--ds-advanced-color-button-secondary-text-hover, #00274a)}.auro-button:not([ondark])[variant=secondary]:focus-visible{--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=secondary]:disabled{--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background-disabled, #f7f7f7);--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background-disabled, #f7f7f7);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-disabled, #cfe0ef);--ds-auro-button-text-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=tertiary]{--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background, rgba(0, 0, 0, 0.05));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background, rgba(0, 0, 0, 0.05));--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-advanced-color-button-tertiary-text, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-tertiary-text, #01426a)}.auro-button:not([ondark])[variant=tertiary]:active:not(:disabled),.auro-button:not([ondark])[variant=tertiary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background-hover, rgba(0, 0, 0, 0.1));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background-hover, rgba(0, 0, 0, 0.1));--ds-auro-button-border-color:transparent}.auro-button:not([ondark])[variant=tertiary]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused, #01426a);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=tertiary]:disabled{--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=flat]{color:var(--ds-advanced-color-button-flat-text, #676767);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:active:not(:disabled),.auro-button:not([ondark])[variant=flat]:hover:not(:disabled){color:var(--ds-advanced-color-button-flat-text-hover, #525252);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:disabled{color:var(--ds-advanced-color-button-flat-text-disabled, #d0d0d0);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark]{--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse, #ffffff);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-text-color:var(--ds-advanced-color-button-primary-text-inverse, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-primary-text-inverse, #01426a)}.auro-button[ondark]:active:not(:disabled),.auro-button[ondark]:hover:not(:disabled){--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse-hover, #ebf3f9);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse-hover, #ebf3f9);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse-hover, #ebf3f9)}.auro-button[ondark]:focus-visible{--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button[ondark]:disabled{--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=secondary]{--ds-auro-button-container-color:transparent;--ds-auro-button-container-image:transparent;--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-inverse, #ffffff);--ds-auro-button-text-color:var(--ds-advanced-color-button-secondary-text-inverse, #ffffff);--ds-auro-button-loader-color:var(--ds-advanced-color-button-secondary-text-inverse, #ffffff)}.auro-button[ondark][variant=secondary]:active:not(:disabled),.auro-button[ondark][variant=secondary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background-inverse-hover, rgba(255, 255, 255, 0.1));--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background-inverse-hover, rgba(255, 255, 255, 0.1))}.auro-button[ondark][variant=secondary]:focus-visible{--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=secondary]:disabled{--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-inverse-disabled, #dddddd)}.auro-button[ondark][variant=tertiary]{--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background-inverse, rgba(255, 255, 255, 0.05));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background-inverse, rgba(255, 255, 255, 0.05));--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-advanced-color-button-tertiary-text-inverse, #ffffff);--ds-auro-button-loader-color:var(--ds-advanced-color-button-tertiary-text-inverse, #ffffff)}.auro-button[ondark][variant=tertiary]:active:not(:disabled),.auro-button[ondark][variant=tertiary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background-inverse-hover, rgba(255, 255, 255, 0.1));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background-inverse-hover, rgba(255, 255, 255, 0.1))}.auro-button[ondark][variant=tertiary]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=tertiary]:disabled{--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=flat]{color:var(--ds-advanced-color-button-flat-text-inverse, #ffffff);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:active:not(:disabled),.auro-button[ondark][variant=flat]:hover:not(:disabled){color:var(--ds-advanced-color-button-flat-text-inverse-hover, #adadad);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:disabled{color:var(--ds-advanced-color-button-flat-text-inverse-disabled, #7e8894);background-color:transparent;background-image:none;border-color:transparent}`;
10901
11110
 
10902
- var tokensCss$2$1 = i$5`:host{--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border, #01426a);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background, #01426a);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-primary-text, #ffffff);--ds-auro-button-text-color:var(--ds-advanced-color-button-primary-text, #ffffff);--ds-auro-button-tap-color:transparent}`;
11111
+ let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
10903
11112
 
10904
- var styleCss$1$2 = i$5`: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}: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:0.375rem;--margin-xs:0.2rem;--margin-sm:0.5rem;--margin-md:0.75rem;--margin-lg:1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin)*6);height:1.5rem}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(2.55rem + var(--margin-xs)*6);height:1.55rem}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm)*6);height:2.5rem}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md)*6);height:3.5rem}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg)*6);height:5.5rem}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-400ms}:host([pulse])>span:nth-child(2){animation-delay:-200ms}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,100%{opacity:.1;transform:scale(0.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(0deg)}100%{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{100%{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{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%}100%{left:110%}}:host>.no-animation{display:none}@media(prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center;font-size:1rem}:host>span{opacity:1}:host>.loader{display:none}:host>.no-animation{display:block}}`;
11113
+ /**
11114
+ * Generates a unique string to be used for child auro element naming.
11115
+ * @private
11116
+ * @param {string} baseName - Defines the first part of the unique element name.
11117
+ * @param {string} version - Version of the component that will be appended to the baseName.
11118
+ * @returns {string} - Unique string to be used for naming.
11119
+ */
11120
+ generateElementName(baseName, version) {
11121
+ let result = baseName;
10905
11122
 
10906
- var colorCss$1$2 = i$5`: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]){--ds-auro-loader-color:var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]){--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}`;
11123
+ result += '-';
11124
+ result += version.replace(/[.]/g, '_');
10907
11125
 
10908
- var tokensCss$1$1 = i$5`:host{--ds-auro-loader-background-color:currentcolor;--ds-auro-loader-border-color:currentcolor;--ds-auro-loader-color:currentcolor}`;
11126
+ return result;
11127
+ }
10909
11128
 
10910
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
10911
- // See LICENSE in the project root for license information.
11129
+ /**
11130
+ * Generates a unique string to be used for child auro element naming.
11131
+ * @param {string} baseName - Defines the first part of the unique element name.
11132
+ * @param {string} version - Version of the component that will be appended to the baseName.
11133
+ * @returns {string} - Unique string to be used for naming.
11134
+ */
11135
+ generateTag(baseName, version, tagClass) {
11136
+ const elementName = this.generateElementName(baseName, version);
11137
+ const tag = i$1`${s$1(elementName)}`;
10912
11138
 
11139
+ if (!customElements.get(elementName)) {
11140
+ customElements.define(elementName, class extends tagClass {});
11141
+ }
10913
11142
 
10914
- class AuroLoader extends i$2 {
10915
- constructor() {
10916
- super();
11143
+ return tag;
11144
+ }
11145
+ };
10917
11146
 
10918
- /**
10919
- * @private
10920
- */
10921
- this.keys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
11147
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11148
+ // See LICENSE in the project root for license information.
10922
11149
 
10923
- /**
10924
- * @private
10925
- */
10926
- this.mdCount = 3;
11150
+ // ---------------------------------------------------------------------
10927
11151
 
10928
- /**
10929
- * @private
10930
- */
10931
- this.smCount = 2;
11152
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
10932
11153
 
10933
- /**
10934
- * @private
10935
- */
10936
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
11154
+ let AuroLibraryRuntimeUtils$2$1 = class AuroLibraryRuntimeUtils {
10937
11155
 
10938
- this.orbit = false;
10939
- this.ringworm = false;
10940
- this.laser = false;
11156
+ /* eslint-disable jsdoc/require-param */
11157
+
11158
+ /**
11159
+ * This will register a new custom element with the browser.
11160
+ * @param {String} name - The name of the custom element.
11161
+ * @param {Object} componentClass - The class to register as a custom element.
11162
+ * @returns {void}
11163
+ */
11164
+ registerComponent(name, componentClass) {
11165
+ if (!customElements.get(name)) {
11166
+ customElements.define(name, class extends componentClass {});
11167
+ }
11168
+ }
11169
+
11170
+ /**
11171
+ * Finds and returns the closest HTML Element based on a selector.
11172
+ * @returns {void}
11173
+ */
11174
+ closestElement(
11175
+ selector, // selector like in .closest()
11176
+ base = this, // extra functionality to skip a parent
11177
+ __Closest = (el, found = el && el.closest(selector)) =>
11178
+ !el || el === document || el === window
11179
+ ? null // standard .closest() returns null for non-found selectors also
11180
+ : found
11181
+ ? found // found a selector INside this element
11182
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
11183
+ ) {
11184
+ return __Closest(base);
11185
+ }
11186
+ /* eslint-enable jsdoc/require-param */
11187
+
11188
+ /**
11189
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
11190
+ * @param {Object} elem - The element to check.
11191
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
11192
+ * @returns {void}
11193
+ */
11194
+ handleComponentTagRename(elem, tagName) {
11195
+ const tag = tagName.toLowerCase();
11196
+ const elemTag = elem.tagName.toLowerCase();
11197
+
11198
+ if (elemTag !== tag) {
11199
+ elem.setAttribute(tag, true);
11200
+ }
11201
+ }
11202
+
11203
+ /**
11204
+ * Validates if an element is a specific Auro component.
11205
+ * @param {Object} elem - The element to validate.
11206
+ * @param {String} tagName - The name of the Auro component to check against.
11207
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
11208
+ */
11209
+ elementMatch(elem, tagName) {
11210
+ const tag = tagName.toLowerCase();
11211
+ const elemTag = elem.tagName.toLowerCase();
11212
+
11213
+ return elemTag === tag || elem.hasAttribute(tag);
11214
+ }
11215
+ };
11216
+
11217
+ var styleCss$2$2 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}.util_insetNone{padding:0}.util_insetXxxs{padding:.125rem}.util_insetXxxs--stretch{padding:.25rem .125rem}.util_insetXxxs--squish{padding:0 .125rem}.util_insetXxs{padding:.25rem}.util_insetXxs--stretch{padding:.375rem .25rem}.util_insetXxs--squish{padding:.125rem .25rem}.util_insetXs{padding:.5rem}.util_insetXs--stretch{padding:.75rem .5rem}.util_insetXs--squish{padding:.25rem .5rem}.util_insetSm{padding:.75rem}.util_insetSm--stretch{padding:1.125rem .75rem}.util_insetSm--squish{padding:.375rem .75rem}.util_insetMd{padding:1rem}.util_insetMd--stretch{padding:1.5rem 1rem}.util_insetMd--squish{padding:.5rem 1rem}.util_insetLg{padding:1.5rem}.util_insetLg--stretch{padding:2.25rem 1.5rem}.util_insetLg--squish{padding:.75rem 1.5rem}.util_insetXl{padding:2rem}.util_insetXl--stretch{padding:3rem 2rem}.util_insetXl--squish{padding:1rem 2rem}.util_insetXxl{padding:3rem}.util_insetXxl--stretch{padding:4.5rem 3rem}.util_insetXxl--squish{padding:1.5rem 3rem}.util_insetXxxl{padding:4rem}.util_insetXxxl--stretch{padding:6rem 4rem}.util_insetXxxl--squish{padding:2rem 4rem}:host([fluid]) .auro-button,:host([fluid=true]) .auro-button{min-width:auto;width:100%}:host([variant=flat]){display:inline-block;height:var(--ds-size-300, 1.5rem);width:var(--ds-size-300, 1.5rem)}:host([variant=flat]) .auro-button{height:100%;width:100%}::slotted(svg){vertical-align:middle}slot{pointer-events:none}.auro-button{position:relative;padding:0 var(--ds-size-300, 1.5rem);cursor:pointer;border-width:1px;border-style:solid;border-radius:var(--ds-border-radius, 0.375rem);font-family:var(--ds-basic-text-body-default-font-family, AS Circular);font-size:var(--ds-basic-text-body-default-font-size, 16px);font-weight:var(--ds-basic-text-body-default-font-weight, Book);overflow:hidden;text-overflow:ellipsis;user-select:none;white-space:nowrap;min-height:var(--ds-size-600, 3rem);max-height:var(--ds-size-600, 3rem);display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ds-size-100, 0.5rem);margin:0;-webkit-touch-callout:none;-webkit-user-select:none}.auro-button:active{transform:scale(0.95)}.auro-button:focus-visible{outline:none}.auro-button:focus-visible:not([variant=flat]){outline-style:solid;outline-width:var(--ds-size-50, 0.25rem);outline-offset:calc(var(--ds-size-50, 0.25rem)*-1)}.auro-button:focus-visible:not([variant=flat]):not([variant=secondary]):not([variant=tertiary]){outline-width:calc(var(--ds-size-50, 0.25rem) - 1px)}.auro-button.loading{cursor:not-allowed}.auro-button.loading *:not([auro-loader]){visibility:hidden}@media screen and (min-width: 576px){.auro-button{min-width:8.75rem;width:auto}}.auro-button:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=secondary]:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=tertiary]:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=flat]{height:unset;width:unset;min-height:unset;max-height:unset;min-width:unset;max-width:unset;border:0;border-radius:unset;gap:unset;padding:unset}.auro-button[onDark]:disabled{cursor:not-allowed;transform:unset}.auro-button[onDark][variant=secondary]:disabled{cursor:not-allowed;transform:unset}@media(hover: hover){.auro-button[onDark][variant=tertiary]:active,.auro-button[onDark][variant=tertiary]:hover{box-shadow:none}}.auro-button[onDark][variant=tertiary]:active{box-shadow:none}.auro-button[onDark][variant=tertiary]:disabled{cursor:not-allowed;transform:unset}.auro-button--slim{padding:var(--ds-size-100, 0.5rem) var(--ds-size-200, 1rem);font-size:var(--ds-basic-text-body-sm-font-size, 14px);min-width:unset;min-height:calc(var(--ds-size-500, 2.5rem) - var(--ds-size-50, 0.25rem));max-height:calc(var(--ds-size-500, 2.5rem) - var(--ds-size-50, 0.25rem))}.auro-button--iconOnly{padding:0 var(--ds-size-100, 0.5rem);border-radius:100px;min-width:unset;height:var(--ds-size-600, 3rem);width:var(--ds-size-500, 2.5rem)}.auro-button--iconOnly ::slotted(auro-icon),.auro-button--iconOnly ::slotted([auro-icon]){--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}.auro-button--iconOnly:not(.auro-button--rounded):focus-visible:not([variant=secondary]):not([variant=tertiary]):not([variant=flat]){outline-width:1px;outline-offset:-2px}.auro-button--iconOnlySlim{padding:0 var(--ds-size-50, 0.25rem);height:calc(var(--ds-size-400, 2rem) + var(--ds-size-50, 0.25rem));width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-50, 0.25rem))}.auro-button--iconOnlySlim ::slotted(auro-icon),.auro-button--iconOnlySlim ::slotted([auro-icon]){--ds-auro-icon-size:calc(var(--ds-size-200, 1rem) + var(--ds-size-50, 0.25rem))}.auro-button--rounded{border-radius:100px;box-shadow:var(--ds-elevation-300, 0px 0px 15px rgba(0, 0, 0, 0.2));height:var(--ds-size-500, 2.5rem);min-width:unset;transition:all 300ms ease-out,outline 0ms,outline-offset 0ms}.auro-button--rounded ::slotted(auro-icon),.auro-button--rounded ::slotted([auro-icon]){--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}.auro-button--rounded:focus-visible:not([variant=flat]):after{border-radius:100px}:host([rounded]) .textSlot{transition:opacity 300ms ease-in;opacity:1}:host([rounded][iconOnly]) .textSlot{opacity:0}:host([rounded][iconOnly]) .textWrapper{display:none}:host([rounded][iconOnly]) .auro-button{min-width:unset;padding:unset;width:var(--ds-size-600, 3rem)}[auro-loader]{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}`;
11218
+
11219
+ var colorCss$2$1 = i$5`[auro-loader]{color:var(--ds-auro-button-loader-color)}.auro-button{-webkit-tap-highlight-color:var(--ds-auro-button-tap-color);color:var(--ds-auro-button-text-color);background-color:var(--ds-auro-button-container-color);background-image:linear-gradient(var(--ds-auro-button-container-image), var(--ds-auro-button-container-image));border-color:var(--ds-auro-button-border-color)}.auro-button:not([variant=secondary]):not([variant=tertiary]):focus-visible{outline-color:var(--ds-auro-button-border-inset-color)}.auro-button:not([ondark]):active:not(:disabled),.auro-button:not([ondark]):hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-hover, #00274a);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-hover, #00274a);--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-hover, #00274a)}.auro-button:not([ondark]):disabled{--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-disabled, #acc9e2);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-disabled, #acc9e2);--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-disabled, #acc9e2)}.auro-button:not([ondark])[variant=secondary]{--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background, #ffffff);--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background, #ffffff);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border, #01426a);--ds-auro-button-text-color:var(--ds-advanced-color-button-secondary-text, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-secondary-text, #01426a)}.auro-button:not([ondark])[variant=secondary]:active:not(:disabled),.auro-button:not([ondark])[variant=secondary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background-hover, #f2f2f2);--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background-hover, #f2f2f2);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-hover, #00274a);--ds-auro-button-text-color:var(--ds-advanced-color-button-secondary-text-hover, #00274a)}.auro-button:not([ondark])[variant=secondary]:focus-visible{--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=secondary]:disabled{--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background-disabled, #f7f7f7);--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background-disabled, #f7f7f7);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-disabled, #cfe0ef);--ds-auro-button-text-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=tertiary]{--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background, rgba(0, 0, 0, 0.05));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background, rgba(0, 0, 0, 0.05));--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-advanced-color-button-tertiary-text, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-tertiary-text, #01426a)}.auro-button:not([ondark])[variant=tertiary]:active:not(:disabled),.auro-button:not([ondark])[variant=tertiary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background-hover, rgba(0, 0, 0, 0.1));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background-hover, rgba(0, 0, 0, 0.1));--ds-auro-button-border-color:transparent}.auro-button:not([ondark])[variant=tertiary]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused, #01426a);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=tertiary]:disabled{--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=flat]{color:var(--ds-advanced-color-button-flat-text, #676767);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:active:not(:disabled),.auro-button:not([ondark])[variant=flat]:hover:not(:disabled){color:var(--ds-advanced-color-button-flat-text-hover, #525252);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:disabled{color:var(--ds-advanced-color-button-flat-text-disabled, #d0d0d0);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark]{--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse, #ffffff);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-text-color:var(--ds-advanced-color-button-primary-text-inverse, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-primary-text-inverse, #01426a)}.auro-button[ondark]:active:not(:disabled),.auro-button[ondark]:hover:not(:disabled){--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse-hover, #ebf3f9);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse-hover, #ebf3f9);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse-hover, #ebf3f9)}.auro-button[ondark]:focus-visible{--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button[ondark]:disabled{--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=secondary]{--ds-auro-button-container-color:transparent;--ds-auro-button-container-image:transparent;--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-inverse, #ffffff);--ds-auro-button-text-color:var(--ds-advanced-color-button-secondary-text-inverse, #ffffff);--ds-auro-button-loader-color:var(--ds-advanced-color-button-secondary-text-inverse, #ffffff)}.auro-button[ondark][variant=secondary]:active:not(:disabled),.auro-button[ondark][variant=secondary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background-inverse-hover, rgba(255, 255, 255, 0.1));--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background-inverse-hover, rgba(255, 255, 255, 0.1))}.auro-button[ondark][variant=secondary]:focus-visible{--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=secondary]:disabled{--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-inverse-disabled, #dddddd)}.auro-button[ondark][variant=tertiary]{--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background-inverse, rgba(255, 255, 255, 0.05));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background-inverse, rgba(255, 255, 255, 0.05));--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-advanced-color-button-tertiary-text-inverse, #ffffff);--ds-auro-button-loader-color:var(--ds-advanced-color-button-tertiary-text-inverse, #ffffff)}.auro-button[ondark][variant=tertiary]:active:not(:disabled),.auro-button[ondark][variant=tertiary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background-inverse-hover, rgba(255, 255, 255, 0.1));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background-inverse-hover, rgba(255, 255, 255, 0.1))}.auro-button[ondark][variant=tertiary]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=tertiary]:disabled{--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=flat]{color:var(--ds-advanced-color-button-flat-text-inverse, #ffffff);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:active:not(:disabled),.auro-button[ondark][variant=flat]:hover:not(:disabled){color:var(--ds-advanced-color-button-flat-text-inverse-hover, #adadad);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:disabled{color:var(--ds-advanced-color-button-flat-text-inverse-disabled, #7e8894);background-color:transparent;background-image:none;border-color:transparent}`;
11220
+
11221
+ var tokensCss$2$1 = i$5`:host{--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border, #01426a);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background, #01426a);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-primary-text, #ffffff);--ds-auro-button-text-color:var(--ds-advanced-color-button-primary-text, #ffffff);--ds-auro-button-tap-color:transparent}`;
11222
+
11223
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11224
+ // See LICENSE in the project root for license information.
11225
+
11226
+ // ---------------------------------------------------------------------
11227
+
11228
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11229
+
11230
+ let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
11231
+
11232
+ /* eslint-disable jsdoc/require-param */
11233
+
11234
+ /**
11235
+ * This will register a new custom element with the browser.
11236
+ * @param {String} name - The name of the custom element.
11237
+ * @param {Object} componentClass - The class to register as a custom element.
11238
+ * @returns {void}
11239
+ */
11240
+ registerComponent(name, componentClass) {
11241
+ if (!customElements.get(name)) {
11242
+ customElements.define(name, class extends componentClass {});
11243
+ }
11244
+ }
11245
+
11246
+ /**
11247
+ * Finds and returns the closest HTML Element based on a selector.
11248
+ * @returns {void}
11249
+ */
11250
+ closestElement(
11251
+ selector, // selector like in .closest()
11252
+ base = this, // extra functionality to skip a parent
11253
+ __Closest = (el, found = el && el.closest(selector)) =>
11254
+ !el || el === document || el === window
11255
+ ? null // standard .closest() returns null for non-found selectors also
11256
+ : found
11257
+ ? found // found a selector INside this element
11258
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
11259
+ ) {
11260
+ return __Closest(base);
11261
+ }
11262
+ /* eslint-enable jsdoc/require-param */
11263
+
11264
+ /**
11265
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
11266
+ * @param {Object} elem - The element to check.
11267
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
11268
+ * @returns {void}
11269
+ */
11270
+ handleComponentTagRename(elem, tagName) {
11271
+ const tag = tagName.toLowerCase();
11272
+ const elemTag = elem.tagName.toLowerCase();
11273
+
11274
+ if (elemTag !== tag) {
11275
+ elem.setAttribute(tag, true);
11276
+ }
11277
+ }
11278
+
11279
+ /**
11280
+ * Validates if an element is a specific Auro component.
11281
+ * @param {Object} elem - The element to validate.
11282
+ * @param {String} tagName - The name of the Auro component to check against.
11283
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
11284
+ */
11285
+ elementMatch(elem, tagName) {
11286
+ const tag = tagName.toLowerCase();
11287
+ const elemTag = elem.tagName.toLowerCase();
11288
+
11289
+ return elemTag === tag || elem.hasAttribute(tag);
11290
+ }
11291
+ };
11292
+
11293
+ var styleCss$1$2 = i$5`: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}: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:0.375rem;--margin-xs:0.2rem;--margin-sm:0.5rem;--margin-md:0.75rem;--margin-lg:1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin)*6);height:1.5rem}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(2.55rem + var(--margin-xs)*6);height:1.55rem}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm)*6);height:2.5rem}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md)*6);height:3.5rem}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg)*6);height:5.5rem}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-400ms}:host([pulse])>span:nth-child(2){animation-delay:-200ms}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,100%{opacity:.1;transform:scale(0.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(0deg)}100%{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{100%{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{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%}100%{left:110%}}:host>.no-animation{display:none}@media(prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center;font-size:1rem}:host>span{opacity:1}:host>.loader{display:none}:host>.no-animation{display:block}}`;
11294
+
11295
+ var colorCss$1$2 = i$5`: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]){--ds-auro-loader-color:var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]){--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}`;
11296
+
11297
+ var tokensCss$1$1 = i$5`:host{--ds-auro-loader-background-color:currentcolor;--ds-auro-loader-border-color:currentcolor;--ds-auro-loader-color:currentcolor}`;
11298
+
11299
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
11300
+ // See LICENSE in the project root for license information.
11301
+
11302
+
11303
+ class AuroLoader extends i$2 {
11304
+ constructor() {
11305
+ super();
11306
+
11307
+ /**
11308
+ * @private
11309
+ */
11310
+ this.keys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
11311
+
11312
+ /**
11313
+ * @private
11314
+ */
11315
+ this.mdCount = 3;
11316
+
11317
+ /**
11318
+ * @private
11319
+ */
11320
+ this.smCount = 2;
11321
+
11322
+ /**
11323
+ * @private
11324
+ */
11325
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
11326
+
11327
+ this.orbit = false;
11328
+ this.ringworm = false;
11329
+ this.laser = false;
10941
11330
  this.pulse = false;
10942
11331
  }
10943
11332
 
@@ -10996,7 +11385,7 @@ class AuroLoader extends i$2 {
10996
11385
  *
10997
11386
  */
10998
11387
  static register(name = "auro-loader") {
10999
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroLoader);
11388
+ AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroLoader);
11000
11389
  }
11001
11390
 
11002
11391
  firstUpdated() {
@@ -11125,7 +11514,7 @@ class AuroButton extends i$2 {
11125
11514
  /**
11126
11515
  * Generate unique names for dependency components.
11127
11516
  */
11128
- const versioning = new AuroDependencyVersioning$1();
11517
+ const versioning = new AuroDependencyVersioning$2();
11129
11518
 
11130
11519
  /**
11131
11520
  * @private
@@ -11227,7 +11616,7 @@ class AuroButton extends i$2 {
11227
11616
  *
11228
11617
  */
11229
11618
  static register(name = "auro-button") {
11230
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroButton);
11619
+ AuroLibraryRuntimeUtils$2$1.prototype.registerComponent(name, AuroButton);
11231
11620
  }
11232
11621
 
11233
11622
  /**
@@ -11349,7 +11738,7 @@ var tokensCss$5 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
11349
11738
 
11350
11739
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11351
11740
 
11352
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
11741
+ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
11353
11742
 
11354
11743
  /* eslint-disable jsdoc/require-param */
11355
11744
 
@@ -11430,7 +11819,7 @@ class AuroHelpText extends i$2 {
11430
11819
  this.onDark = false;
11431
11820
  this.hasTextContent = false;
11432
11821
 
11433
- AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-helptext');
11822
+ AuroLibraryRuntimeUtils$5.prototype.handleComponentTagRename(this, 'auro-helptext');
11434
11823
  }
11435
11824
 
11436
11825
  static get styles() {
@@ -11486,7 +11875,7 @@ class AuroHelpText extends i$2 {
11486
11875
  *
11487
11876
  */
11488
11877
  static register(name = "auro-helptext") {
11489
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
11878
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroHelpText);
11490
11879
  }
11491
11880
 
11492
11881
  updated() {
@@ -11584,7 +11973,7 @@ class AuroInput extends BaseInput {
11584
11973
  *
11585
11974
  */
11586
11975
  static register(name = "auro-input") {
11587
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroInput);
11976
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroInput);
11588
11977
  }
11589
11978
 
11590
11979
  /**
@@ -11771,7 +12160,7 @@ var tokenCss = i$5`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-
11771
12160
 
11772
12161
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11773
12162
 
11774
- class AuroLibraryRuntimeUtils {
12163
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
11775
12164
 
11776
12165
  /* eslint-disable jsdoc/require-param */
11777
12166
 
@@ -11832,7 +12221,7 @@ class AuroLibraryRuntimeUtils {
11832
12221
 
11833
12222
  return elemTag === tag || elem.hasAttribute(tag);
11834
12223
  }
11835
- }
12224
+ };
11836
12225
 
11837
12226
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11838
12227
  // See LICENSE in the project root for license information.
@@ -12028,6 +12417,76 @@ var tokensCss$2 = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-d
12028
12417
 
12029
12418
  var colorCss$3 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}`;
12030
12419
 
12420
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12421
+ // See LICENSE in the project root for license information.
12422
+
12423
+ // ---------------------------------------------------------------------
12424
+
12425
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
12426
+
12427
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
12428
+
12429
+ /* eslint-disable jsdoc/require-param */
12430
+
12431
+ /**
12432
+ * This will register a new custom element with the browser.
12433
+ * @param {String} name - The name of the custom element.
12434
+ * @param {Object} componentClass - The class to register as a custom element.
12435
+ * @returns {void}
12436
+ */
12437
+ registerComponent(name, componentClass) {
12438
+ if (!customElements.get(name)) {
12439
+ customElements.define(name, class extends componentClass {});
12440
+ }
12441
+ }
12442
+
12443
+ /**
12444
+ * Finds and returns the closest HTML Element based on a selector.
12445
+ * @returns {void}
12446
+ */
12447
+ closestElement(
12448
+ selector, // selector like in .closest()
12449
+ base = this, // extra functionality to skip a parent
12450
+ __Closest = (el, found = el && el.closest(selector)) =>
12451
+ !el || el === document || el === window
12452
+ ? null // standard .closest() returns null for non-found selectors also
12453
+ : found
12454
+ ? found // found a selector INside this element
12455
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
12456
+ ) {
12457
+ return __Closest(base);
12458
+ }
12459
+ /* eslint-enable jsdoc/require-param */
12460
+
12461
+ /**
12462
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
12463
+ * @param {Object} elem - The element to check.
12464
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
12465
+ * @returns {void}
12466
+ */
12467
+ handleComponentTagRename(elem, tagName) {
12468
+ const tag = tagName.toLowerCase();
12469
+ const elemTag = elem.tagName.toLowerCase();
12470
+
12471
+ if (elemTag !== tag) {
12472
+ elem.setAttribute(tag, true);
12473
+ }
12474
+ }
12475
+
12476
+ /**
12477
+ * Validates if an element is a specific Auro component.
12478
+ * @param {Object} elem - The element to validate.
12479
+ * @param {String} tagName - The name of the Auro component to check against.
12480
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
12481
+ */
12482
+ elementMatch(elem, tagName) {
12483
+ const tag = tagName.toLowerCase();
12484
+ const elemTag = elem.tagName.toLowerCase();
12485
+
12486
+ return elemTag === tag || elem.hasAttribute(tag);
12487
+ }
12488
+ };
12489
+
12031
12490
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12032
12491
  // See LICENSE in the project root for license information.
12033
12492
 
@@ -12047,7 +12506,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
12047
12506
  */
12048
12507
  privateDefaults() {
12049
12508
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
12050
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
12509
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
12051
12510
  }
12052
12511
 
12053
12512
  // function to define props used within the scope of this component
@@ -12129,7 +12588,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
12129
12588
  *
12130
12589
  */
12131
12590
  static register(name = "auro-icon") {
12132
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
12591
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
12133
12592
  }
12134
12593
 
12135
12594
  connectedCallback() {
@@ -12197,6 +12656,76 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
12197
12656
 
12198
12657
  var iconVersion$1 = '8.0.2';
12199
12658
 
12659
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12660
+ // See LICENSE in the project root for license information.
12661
+
12662
+ // ---------------------------------------------------------------------
12663
+
12664
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
12665
+
12666
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
12667
+
12668
+ /* eslint-disable jsdoc/require-param */
12669
+
12670
+ /**
12671
+ * This will register a new custom element with the browser.
12672
+ * @param {String} name - The name of the custom element.
12673
+ * @param {Object} componentClass - The class to register as a custom element.
12674
+ * @returns {void}
12675
+ */
12676
+ registerComponent(name, componentClass) {
12677
+ if (!customElements.get(name)) {
12678
+ customElements.define(name, class extends componentClass {});
12679
+ }
12680
+ }
12681
+
12682
+ /**
12683
+ * Finds and returns the closest HTML Element based on a selector.
12684
+ * @returns {void}
12685
+ */
12686
+ closestElement(
12687
+ selector, // selector like in .closest()
12688
+ base = this, // extra functionality to skip a parent
12689
+ __Closest = (el, found = el && el.closest(selector)) =>
12690
+ !el || el === document || el === window
12691
+ ? null // standard .closest() returns null for non-found selectors also
12692
+ : found
12693
+ ? found // found a selector INside this element
12694
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
12695
+ ) {
12696
+ return __Closest(base);
12697
+ }
12698
+ /* eslint-enable jsdoc/require-param */
12699
+
12700
+ /**
12701
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
12702
+ * @param {Object} elem - The element to check.
12703
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
12704
+ * @returns {void}
12705
+ */
12706
+ handleComponentTagRename(elem, tagName) {
12707
+ const tag = tagName.toLowerCase();
12708
+ const elemTag = elem.tagName.toLowerCase();
12709
+
12710
+ if (elemTag !== tag) {
12711
+ elem.setAttribute(tag, true);
12712
+ }
12713
+ }
12714
+
12715
+ /**
12716
+ * Validates if an element is a specific Auro component.
12717
+ * @param {Object} elem - The element to validate.
12718
+ * @param {String} tagName - The name of the Auro component to check against.
12719
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
12720
+ */
12721
+ elementMatch(elem, tagName) {
12722
+ const tag = tagName.toLowerCase();
12723
+ const elemTag = elem.tagName.toLowerCase();
12724
+
12725
+ return elemTag === tag || elem.hasAttribute(tag);
12726
+ }
12727
+ };
12728
+
12200
12729
  var styleCss$4 = i$5`.heading{margin:1.75rem 0;letter-spacing:var(--ds-text-heading-default-spacing, -0.2px);font-weight:var(--ds-text-heading-default-weight, 500)}.heading--display{margin-top:0;font-size:var(--ds-text-heading-display-size-breakpoint-sm, 2.75rem);font-weight:var(--ds-text-heading-display-weight, 100);line-height:var(--ds-text-heading-display-height-breakpoint-sm, 3.375rem)}@media screen and (min-width: 768px){.heading--display{font-size:var(--ds-text-heading-display-size-breakpoint-md, 3rem);line-height:var(--ds-text-heading-display-height-breakpoint-md, 3.75rem)}}@media screen and (min-width: 1024px){.heading--display{font-size:var(--ds-text-heading-display-size-breakpoint-lg, 3.5rem);line-height:var(--ds-text-heading-display-height-breakpoint-lg, 4.25rem)}}.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-sm, 2rem);font-weight:var(--ds-text-heading-800-weight, 500);line-height:var(--ds-text-heading-800-height-breakpoint-sm, 2.375rem)}@media screen and (min-width: 768px){.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-md, 2.25rem);line-height:var(--ds-text-heading-800-height-breakpoint-md, 2.625rem)}}@media screen and (min-width: 1024px){.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-lg, 2.5rem);line-height:var(--ds-text-heading-800-height-breakpoint-lg, 3rem)}}.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-sm, 1.75rem);font-weight:var(--ds-text-heading-700-weight, 500);line-height:var(--ds-text-heading-700-height-breakpoint-sm, 2.125rem)}@media screen and (min-width: 768px){.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-md, 2rem);line-height:var(--ds-text-heading-700-height-breakpoint-md, 2.375rem)}}@media screen and (min-width: 1024px){.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-lg, 2.25rem);line-height:var(--ds-text-heading-700-height-breakpoint-lg, 2.75rem)}}.heading--600{margin:1rem 0;font-size:var(--ds-text-heading-600-size-breakpoint-sm, 1.625rem);font-weight:var(--ds-text-heading-600-weight, 300);line-height:var(--ds-text-heading-600-height-breakpoint-sm, 1.875rem)}@media screen and (min-width: 768px){.heading--600{font-size:var(--ds-text-heading-600-size-breakpoint-md, 1.75rem);line-height:var(--ds-text-heading-600-height-breakpoint-md, 2.125rem)}}@media screen and (min-width: 1024px){.heading--600{font-size:var(--ds-text-heading-600-size-breakpoint-lg, 1.75rem);line-height:var(--ds-text-heading-600-height-breakpoint-lg, 2.25rem)}}.heading--500{margin:1rem 0;font-size:var(--ds-text-heading-500-size-breakpoint-sm, 1.375rem);font-weight:var(--ds-text-heading-500-weight, 300);line-height:var(--ds-text-heading-500-height-breakpoint-sm, 1.625rem)}@media screen and (min-width: 768px){.heading--500{font-size:var(--ds-text-heading-500-size-breakpoint-md, 1.5rem);line-height:var(--ds-text-heading-500-height-breakpoint-md, 1.875rem)}}@media screen and (min-width: 1024px){.heading--500{font-size:var(--ds-text-heading-500-size-breakpoint-lg, 1.5rem);line-height:var(--ds-text-heading-500-height-breakpoint-lg, 2rem)}}.heading--400{margin:.75rem 0;font-size:var(--ds-text-heading-400-size, 1.25rem);font-weight:var(--ds-text-heading-400-weight, 300);line-height:var(--ds-text-heading-400-height, 1.625rem)}.heading--300{margin:.75rem 0;font-size:var(--ds-text-heading-300-size, 1.125rem);font-weight:var(--ds-text-heading-300-weight, 300);line-height:var(--ds-text-heading-300-height, 1.625rem)}:host([no-margin-block]) .heading{margin-block:0}.util_stackMarginnone--bottom{margin-bottom:0}.util_stackMargin25--bottom{margin-bottom:var(--ds-size-25, 0.125rem)}.util_stackMargin50--bottom{margin-bottom:var(--ds-size-50, 0.25rem)}.util_stackMargin100--bottom{margin-bottom:var(--ds-size-100, 0.5rem)}.util_stackMargin150--bottom{margin-bottom:var(--ds-size-150, 0.75rem)}.util_stackMargin200--bottom{margin-bottom:var(--ds-size-200, 1rem)}.util_stackMargin300--bottom{margin-bottom:var(--ds-size-300, 1.5rem)}.util_stackMargin400--bottom{margin-bottom:var(--ds-size-400, 2rem)}.util_stackMargin600--bottom{margin-bottom:var(--ds-size-600, 3rem)}.util_stackMargin800--bottom{margin-bottom:var(--ds-size-800, 4rem)}.util_stackMarginnone--top{margin-top:0}.util_stackMargin25--top{margin-top:var(--ds-size-25, 0.125rem)}.util_stackMargin50--top{margin-top:var(--ds-size-50, 0.25rem)}.util_stackMargin100--top{margin-top:var(--ds-size-100, 0.5rem)}.util_stackMargin150--top{margin-top:var(--ds-size-150, 0.75rem)}.util_stackMargin200--top{margin-top:var(--ds-size-200, 1rem)}.util_stackMargin300--top{margin-top:var(--ds-size-300, 1.5rem)}.util_stackMargin400--top{margin-top:var(--ds-size-400, 2rem)}.util_stackMargin600--top{margin-top:var(--ds-size-600, 3rem)}.util_stackMargin800--top{margin-top:var(--ds-size-800, 4rem)}`;
12201
12730
 
12202
12731
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
@@ -12226,7 +12755,7 @@ class AuroHeader extends i$2 {
12226
12755
  /**
12227
12756
  * @private
12228
12757
  */
12229
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
12758
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
12230
12759
  }
12231
12760
 
12232
12761
  // function to define props used within the scope of this component
@@ -12256,7 +12785,7 @@ class AuroHeader extends i$2 {
12256
12785
  *
12257
12786
  */
12258
12787
  static register(name = "auro-header") {
12259
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroHeader);
12788
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHeader);
12260
12789
  }
12261
12790
 
12262
12791
  firstUpdated() {
@@ -12352,7 +12881,7 @@ class AuroBibtemplate extends i$2 {
12352
12881
 
12353
12882
  this.large = false;
12354
12883
 
12355
- AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
12884
+ AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
12356
12885
 
12357
12886
  const versioning = new AuroDependencyVersioning();
12358
12887
  this.iconTag = versioning.generateTag('auro-formkit-bibtemplate-icon', iconVersion$1, AuroIcon$1);
@@ -12391,7 +12920,7 @@ class AuroBibtemplate extends i$2 {
12391
12920
  *
12392
12921
  */
12393
12922
  static register(name = "auro-bibtemplate") {
12394
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroBibtemplate);
12923
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroBibtemplate);
12395
12924
  }
12396
12925
 
12397
12926
  /**
@@ -12431,6 +12960,18 @@ class AuroBibtemplate extends i$2 {
12431
12960
  this.setAttribute('exportparts', 'bibtemplate:dropdownBibTemplate');
12432
12961
  }
12433
12962
 
12963
+ firstUpdated(changedProperties) {
12964
+ super.firstUpdated(changedProperties);
12965
+
12966
+ this.dispatchEvent(new CustomEvent("auro-bibtemplate-connected", {
12967
+ bubbles: true,
12968
+ composed: true,
12969
+ detail: {
12970
+ element: this
12971
+ }
12972
+ }));
12973
+ }
12974
+
12434
12975
  // function that renders the HTML and CSS into the scope of the component
12435
12976
  render() {
12436
12977
  return u$2`
@@ -12517,7 +13058,7 @@ class AuroCombobox extends i$2 {
12517
13058
 
12518
13059
  this.validation = new AuroFormValidation$1();
12519
13060
 
12520
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
13061
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$7();
12521
13062
 
12522
13063
  this.isHiddenWhileLoading = false;
12523
13064
 
@@ -12527,7 +13068,7 @@ class AuroCombobox extends i$2 {
12527
13068
  this.noFlip = false;
12528
13069
  this.autoPlacement = false;
12529
13070
 
12530
- const versioning = new AuroDependencyVersioning$3();
13071
+ const versioning = new AuroDependencyVersioning$4();
12531
13072
 
12532
13073
  this.dropdownTag = versioning.generateTag('auro-formkit-combobox-dropdown', dropdownVersion, AuroDropdown);
12533
13074
  this.bibtemplateTag = versioning.generateTag('auro-formkit-combobox-bibtemplate', bibTemplateVersion, AuroBibtemplate);
@@ -12782,7 +13323,7 @@ class AuroCombobox extends i$2 {
12782
13323
  *
12783
13324
  */
12784
13325
  static register(name = 'auro-combobox') {
12785
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCombobox);
13326
+ AuroLibraryRuntimeUtils$7.prototype.registerComponent(name, AuroCombobox);
12786
13327
  }
12787
13328
 
12788
13329
  /**
@@ -12939,15 +13480,8 @@ class AuroCombobox extends i$2 {
12939
13480
  this.showBib();
12940
13481
  });
12941
13482
 
12942
- // this.dropdown.addEventListener('auroDropdown-show', () => {
12943
- this.menuWrapper = this.dropdown.querySelector('.menuWrapper');
12944
- if (this.menu) {
12945
- this.menuWrapper.append(this.menu);
12946
- }
12947
-
12948
13483
  // setting up bibtemplate
12949
13484
  this.bibtemplate = this.dropdown.querySelector(this.bibtemplateTag._$litStatic$); // eslint-disable-line no-underscore-dangle
12950
- this.bibtemplate.append(this.menuWrapper);
12951
13485
 
12952
13486
  // Exposes the CSS parts from the bibtemplate for styling
12953
13487
  this.bibtemplate.exposeCssParts();
@@ -12972,10 +13506,9 @@ class AuroCombobox extends i$2 {
12972
13506
  this.menu = this.querySelector('auro-menu, [auro-menu]');
12973
13507
 
12974
13508
  // a racing condition on custom-combobox with custom-menu
12975
- if (!this.menu) {
13509
+ if (!this.menu || this.menuShadowRoot === null) {
12976
13510
  setTimeout(() => {
12977
13511
  this.configureMenu();
12978
- this.menuWrapper.append(this.menu);
12979
13512
  }, 0);
12980
13513
  return;
12981
13514
  }
@@ -13050,41 +13583,12 @@ class AuroCombobox extends i$2 {
13050
13583
  });
13051
13584
  }
13052
13585
 
13053
- /**
13054
- * @private
13055
- * Dispatches input's keyboard events from host
13056
- * This allows key events from the input to be handled by the parent.
13057
- * @param {Event} event - The keyboard event.
13058
- */
13059
- bubbleUpInputEvent(event) {
13060
- // Do not need to bubble events if the input is not in bib.
13061
- if (event.currentTarget.parentNode !== this.dropdown) {
13062
- // prevents browsers to move cursor in input element.
13063
- if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
13064
- event.preventDefault();
13065
- }
13066
- const dupEvent = new event.constructor(event.type, event);
13067
- this.dispatchEvent(dupEvent);
13068
- }
13069
- }
13070
-
13071
13586
  /**
13072
13587
  * Binds all behavior needed to the input after rendering.
13073
13588
  * @private
13074
13589
  * @returns {void}
13075
13590
  */
13076
13591
  configureInput() {
13077
- // When input is in bibtemplate, make the event to be fired at combobox element
13078
- this.bubbleUpInputEvent = this.bubbleUpInputEvent.bind(this);
13079
-
13080
- const events = [
13081
- 'input',
13082
- 'keydown',
13083
- 'keyup'
13084
- ];
13085
- events.forEach((eventType) => {
13086
- this.input.addEventListener(eventType, this.bubbleUpInputEvent);
13087
- });
13088
13592
 
13089
13593
  this.addEventListener('keyup', (evt) => {
13090
13594
  if (evt.key.length === 1 || evt.key === 'Backspace' || evt.key === 'Delete') {
@@ -13148,6 +13652,7 @@ class AuroCombobox extends i$2 {
13148
13652
  const inputAlertIcon = this.input.shadowRoot.querySelector(".alertNotification");
13149
13653
 
13150
13654
  if (this.dropdown.isPopoverVisible && this.dropdown.isBibFullscreen) {
13655
+
13151
13656
  if (this.input.parentNode === this.dropdown) {
13152
13657
  // keep the trigger size the same even after input gets removed
13153
13658
  const parentSize = window.getComputedStyle(this.dropdown.trigger);
@@ -13165,7 +13670,7 @@ class AuroCombobox extends i$2 {
13165
13670
  inputAlertIcon.style.display = 'none';
13166
13671
  }
13167
13672
 
13168
- this.bibtemplate.append(this.input);
13673
+ this.bibtemplate.prepend(this.input);
13169
13674
  this.input.focus();
13170
13675
  }
13171
13676
  } else if (this.input.parentNode !== this.dropdown) {
@@ -13179,7 +13684,7 @@ class AuroCombobox extends i$2 {
13179
13684
  inputAlertIcon.style.display = '';
13180
13685
  }
13181
13686
 
13182
- this.dropdown.append(this.input);
13687
+ this.dropdown.prepend(this.input);
13183
13688
  this.input.focus();
13184
13689
  }
13185
13690
  }
@@ -13484,9 +13989,8 @@ class AuroCombobox extends i$2 {
13484
13989
  @input="${this.handleInputValueChange}">
13485
13990
  </${this.inputTag}>
13486
13991
 
13487
- <div class="menuWrapper"></div>
13488
-
13489
13992
  <${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}">
13993
+ <slot></slot>
13490
13994
  </${this.bibtemplateTag}>
13491
13995
 
13492
13996
  <p slot="helpText">
@@ -13696,7 +14200,7 @@ class AuroMenu extends i$2 {
13696
14200
  *
13697
14201
  */
13698
14202
  static register(name = "auro-menu") {
13699
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroMenu);
14203
+ AuroLibraryRuntimeUtils$7.prototype.registerComponent(name, AuroMenu);
13700
14204
  }
13701
14205
 
13702
14206
  // Lifecycle Methods
@@ -13720,7 +14224,7 @@ class AuroMenu extends i$2 {
13720
14224
  }
13721
14225
 
13722
14226
  firstUpdated() {
13723
- AuroLibraryRuntimeUtils$4.prototype.handleComponentTagRename(this, 'auro-menu');
14227
+ AuroLibraryRuntimeUtils$7.prototype.handleComponentTagRename(this, 'auro-menu');
13724
14228
 
13725
14229
  this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
13726
14230
  this.initializeMenu();
@@ -14429,6 +14933,76 @@ var tokensCss = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-def
14429
14933
 
14430
14934
  var colorCss = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}`;
14431
14935
 
14936
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
14937
+ // See LICENSE in the project root for license information.
14938
+
14939
+ // ---------------------------------------------------------------------
14940
+
14941
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
14942
+
14943
+ class AuroLibraryRuntimeUtils {
14944
+
14945
+ /* eslint-disable jsdoc/require-param */
14946
+
14947
+ /**
14948
+ * This will register a new custom element with the browser.
14949
+ * @param {String} name - The name of the custom element.
14950
+ * @param {Object} componentClass - The class to register as a custom element.
14951
+ * @returns {void}
14952
+ */
14953
+ registerComponent(name, componentClass) {
14954
+ if (!customElements.get(name)) {
14955
+ customElements.define(name, class extends componentClass {});
14956
+ }
14957
+ }
14958
+
14959
+ /**
14960
+ * Finds and returns the closest HTML Element based on a selector.
14961
+ * @returns {void}
14962
+ */
14963
+ closestElement(
14964
+ selector, // selector like in .closest()
14965
+ base = this, // extra functionality to skip a parent
14966
+ __Closest = (el, found = el && el.closest(selector)) =>
14967
+ !el || el === document || el === window
14968
+ ? null // standard .closest() returns null for non-found selectors also
14969
+ : found
14970
+ ? found // found a selector INside this element
14971
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
14972
+ ) {
14973
+ return __Closest(base);
14974
+ }
14975
+ /* eslint-enable jsdoc/require-param */
14976
+
14977
+ /**
14978
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
14979
+ * @param {Object} elem - The element to check.
14980
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
14981
+ * @returns {void}
14982
+ */
14983
+ handleComponentTagRename(elem, tagName) {
14984
+ const tag = tagName.toLowerCase();
14985
+ const elemTag = elem.tagName.toLowerCase();
14986
+
14987
+ if (elemTag !== tag) {
14988
+ elem.setAttribute(tag, true);
14989
+ }
14990
+ }
14991
+
14992
+ /**
14993
+ * Validates if an element is a specific Auro component.
14994
+ * @param {Object} elem - The element to validate.
14995
+ * @param {String} tagName - The name of the Auro component to check against.
14996
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
14997
+ */
14998
+ elementMatch(elem, tagName) {
14999
+ const tag = tagName.toLowerCase();
15000
+ const elemTag = elem.tagName.toLowerCase();
15001
+
15002
+ return elemTag === tag || elem.hasAttribute(tag);
15003
+ }
15004
+ }
15005
+
14432
15006
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
14433
15007
  // See LICENSE in the project root for license information.
14434
15008
 
@@ -14448,7 +15022,7 @@ class AuroIcon extends BaseIcon {
14448
15022
  */
14449
15023
  privateDefaults() {
14450
15024
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
14451
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
15025
+ this.runtimeUtils = new AuroLibraryRuntimeUtils();
14452
15026
  }
14453
15027
 
14454
15028
  // function to define props used within the scope of this component
@@ -14530,7 +15104,7 @@ class AuroIcon extends BaseIcon {
14530
15104
  *
14531
15105
  */
14532
15106
  static register(name = "auro-icon") {
14533
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroIcon);
15107
+ AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
14534
15108
  }
14535
15109
 
14536
15110
  connectedCallback() {
@@ -14621,7 +15195,7 @@ class AuroMenuOption extends i$2 {
14621
15195
  /**
14622
15196
  * Generate unique names for dependency components.
14623
15197
  */
14624
- const versioning = new AuroDependencyVersioning$3();
15198
+ const versioning = new AuroDependencyVersioning$4();
14625
15199
  this.iconTag = versioning.generateTag('auro-formkit-menuoption-icon', iconVersion, AuroIcon);
14626
15200
 
14627
15201
  this.selected = false;
@@ -14636,7 +15210,7 @@ class AuroMenuOption extends i$2 {
14636
15210
  /**
14637
15211
  * @private
14638
15212
  */
14639
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
15213
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$7();
14640
15214
  }
14641
15215
 
14642
15216
  static get properties() {
@@ -14680,7 +15254,7 @@ class AuroMenuOption extends i$2 {
14680
15254
  *
14681
15255
  */
14682
15256
  static register(name = "auro-menuoption") {
14683
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroMenuOption);
15257
+ AuroLibraryRuntimeUtils$7.prototype.registerComponent(name, AuroMenuOption);
14684
15258
  }
14685
15259
 
14686
15260
  firstUpdated() {