@aurodesignsystem/auro-formkit 4.0.0-rc-658.1.1 → 4.0.0-rc-676.1

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 +4 -1
  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
@@ -200,7 +200,7 @@ const a=Symbol.for(""),o$1=t=>{if(t?.r===a)return t?._$litStatic$},s$1=t=>({_$li
200
200
  // See LICENSE in the project root for license information.
201
201
 
202
202
 
203
- let AuroDependencyVersioning$3 = class AuroDependencyVersioning {
203
+ let AuroDependencyVersioning$4 = class AuroDependencyVersioning {
204
204
 
205
205
  /**
206
206
  * Generates a unique string to be used for child auro element naming.
@@ -243,7 +243,7 @@ let AuroDependencyVersioning$3 = class AuroDependencyVersioning {
243
243
 
244
244
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
245
245
 
246
- let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
246
+ let AuroLibraryRuntimeUtils$7 = class AuroLibraryRuntimeUtils {
247
247
 
248
248
  /* eslint-disable jsdoc/require-param */
249
249
 
@@ -362,9 +362,10 @@ let DateFormatter$1 = class DateFormatter {
362
362
  /**
363
363
  * Convert a date object to string format.
364
364
  * @param {Object} date - Date to convert to string.
365
- * @returns {Object} Returns the date as a string.
365
+ * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
366
+ * @returns {String} Returns the date as a string.
366
367
  */
367
- this.getDateAsString = (date) => date.toLocaleDateString(undefined, {
368
+ this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
368
369
  year: "numeric",
369
370
  month: "2-digit",
370
371
  day: "2-digit",
@@ -556,7 +557,7 @@ let AuroDateUtilities$1 = class AuroDateUtilities extends AuroDateUtilitiesBase$
556
557
  const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
557
558
 
558
559
  // Get the date string of the date object we created from the string date
559
- const actualDateStr = dateFormatter$1.getDateAsString(dateObj);
560
+ const actualDateStr = dateFormatter$1.getDateAsString(dateObj, "en-US");
560
561
 
561
562
  // Guard Clause: Generated date matches date string input
562
563
  if (expectedDateStr !== actualDateStr) {
@@ -721,7 +722,7 @@ const {
721
722
  let AuroFormValidation$1 = class AuroFormValidation {
722
723
 
723
724
  constructor() {
724
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
725
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$7();
725
726
  }
726
727
 
727
728
  /**
@@ -1106,7 +1107,7 @@ const t$1={ATTRIBUTE:1,CHILD:2},e$1=t=>(...e)=>({_$litDirective$:t,values:e});cl
1106
1107
 
1107
1108
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
1108
1109
 
1109
- let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
1110
+ let AuroLibraryRuntimeUtils$2$2 = class AuroLibraryRuntimeUtils {
1110
1111
 
1111
1112
  /* eslint-disable jsdoc/require-param */
1112
1113
 
@@ -2701,8 +2702,28 @@ class AuroFloatingUI {
2701
2702
  if (!AuroFloatingUI.isMousePressHandlerInitialized && window && window.addEventListener) {
2702
2703
  AuroFloatingUI.isMousePressHandlerInitialized = true;
2703
2704
 
2705
+ // Track timeout for isMousePressed reset to avoid race conditions
2706
+ if (!AuroFloatingUI._mousePressedTimeout) {
2707
+ AuroFloatingUI._mousePressedTimeout = null;
2708
+ }
2704
2709
  const mouseEventGlobalHandler = (event) => {
2705
- AuroFloatingUI.isMousePressed = event.type === 'mousedown';
2710
+ const isPressed = event.type === 'mousedown';
2711
+ if (isPressed) {
2712
+ // Clear any pending timeout to prevent race condition
2713
+ if (AuroFloatingUI._mousePressedTimeout !== null) {
2714
+ clearTimeout(AuroFloatingUI._mousePressedTimeout);
2715
+ AuroFloatingUI._mousePressedTimeout = null;
2716
+ }
2717
+ if (!AuroFloatingUI.isMousePressed) {
2718
+ AuroFloatingUI.isMousePressed = true;
2719
+ }
2720
+ } else if (AuroFloatingUI.isMousePressed && !isPressed) {
2721
+ // Schedule reset and track timeout ID
2722
+ AuroFloatingUI._mousePressedTimeout = setTimeout(() => {
2723
+ AuroFloatingUI.isMousePressed = false;
2724
+ AuroFloatingUI._mousePressedTimeout = null;
2725
+ }, 0);
2726
+ }
2706
2727
  };
2707
2728
 
2708
2729
  window.addEventListener('mousedown', mouseEventGlobalHandler);
@@ -2829,6 +2850,7 @@ class AuroFloatingUI {
2829
2850
 
2830
2851
  // Compute the position of the bib
2831
2852
  computePosition(this.element.trigger, this.element.bib, {
2853
+ strategy: this.element.floaterConfig?.strategy || 'fixed',
2832
2854
  placement: this.element.floaterConfig?.placement,
2833
2855
  middleware: middleware || []
2834
2856
  }).then(({ x, y }) => { // eslint-disable-line id-length
@@ -2963,8 +2985,9 @@ class AuroFloatingUI {
2963
2985
  if (this.element.contains(activeElement) || this.element.bib?.contains(activeElement)) {
2964
2986
  return;
2965
2987
  }
2966
- // if fullscreen bib is still open and the focus is missing, do not close
2967
- if (this.element.bib.hasAttribute('isfullscreen') && activeElement === document.body) {
2988
+
2989
+ // if fullscreen bib is in fullscreen mode, do not close
2990
+ if (this.element.bib.hasAttribute('isfullscreen')) {
2968
2991
  return;
2969
2992
  }
2970
2993
 
@@ -3265,8 +3288,6 @@ class AuroFloatingUI {
3265
3288
  this.element.hoverToggle = this.element.floaterConfig.hoverToggle;
3266
3289
  }
3267
3290
 
3268
- document.body.append(this.element.bib);
3269
-
3270
3291
  this.regenerateBibId();
3271
3292
  this.handleTriggerTabIndex();
3272
3293
 
@@ -3307,7 +3328,7 @@ class AuroFloatingUI {
3307
3328
  // See LICENSE in the project root for license information.
3308
3329
 
3309
3330
 
3310
- let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
3331
+ let AuroDependencyVersioning$3 = class AuroDependencyVersioning {
3311
3332
 
3312
3333
  /**
3313
3334
  * Generates a unique string to be used for child auro element naming.
@@ -3497,6 +3518,76 @@ var tokensCss$2$2 = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon
3497
3518
 
3498
3519
  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)}`;
3499
3520
 
3521
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
3522
+ // See LICENSE in the project root for license information.
3523
+
3524
+ // ---------------------------------------------------------------------
3525
+
3526
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
3527
+
3528
+ let AuroLibraryRuntimeUtils$1$2 = class AuroLibraryRuntimeUtils {
3529
+
3530
+ /* eslint-disable jsdoc/require-param */
3531
+
3532
+ /**
3533
+ * This will register a new custom element with the browser.
3534
+ * @param {String} name - The name of the custom element.
3535
+ * @param {Object} componentClass - The class to register as a custom element.
3536
+ * @returns {void}
3537
+ */
3538
+ registerComponent(name, componentClass) {
3539
+ if (!customElements.get(name)) {
3540
+ customElements.define(name, class extends componentClass {});
3541
+ }
3542
+ }
3543
+
3544
+ /**
3545
+ * Finds and returns the closest HTML Element based on a selector.
3546
+ * @returns {void}
3547
+ */
3548
+ closestElement(
3549
+ selector, // selector like in .closest()
3550
+ base = this, // extra functionality to skip a parent
3551
+ __Closest = (el, found = el && el.closest(selector)) =>
3552
+ !el || el === document || el === window
3553
+ ? null // standard .closest() returns null for non-found selectors also
3554
+ : found
3555
+ ? found // found a selector INside this element
3556
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
3557
+ ) {
3558
+ return __Closest(base);
3559
+ }
3560
+ /* eslint-enable jsdoc/require-param */
3561
+
3562
+ /**
3563
+ * 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.
3564
+ * @param {Object} elem - The element to check.
3565
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
3566
+ * @returns {void}
3567
+ */
3568
+ handleComponentTagRename(elem, tagName) {
3569
+ const tag = tagName.toLowerCase();
3570
+ const elemTag = elem.tagName.toLowerCase();
3571
+
3572
+ if (elemTag !== tag) {
3573
+ elem.setAttribute(tag, true);
3574
+ }
3575
+ }
3576
+
3577
+ /**
3578
+ * Validates if an element is a specific Auro component.
3579
+ * @param {Object} elem - The element to validate.
3580
+ * @param {String} tagName - The name of the Auro component to check against.
3581
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
3582
+ */
3583
+ elementMatch(elem, tagName) {
3584
+ const tag = tagName.toLowerCase();
3585
+ const elemTag = elem.tagName.toLowerCase();
3586
+
3587
+ return elemTag === tag || elem.hasAttribute(tag);
3588
+ }
3589
+ };
3590
+
3500
3591
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3501
3592
  // See LICENSE in the project root for license information.
3502
3593
 
@@ -3516,7 +3607,7 @@ let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
3516
3607
  */
3517
3608
  privateDefaults() {
3518
3609
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
3519
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
3610
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1$2();
3520
3611
  }
3521
3612
 
3522
3613
  // function to define props used within the scope of this component
@@ -3598,7 +3689,7 @@ let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
3598
3689
  *
3599
3690
  */
3600
3691
  static register(name = "auro-icon") {
3601
- AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroIcon);
3692
+ AuroLibraryRuntimeUtils$1$2.prototype.registerComponent(name, AuroIcon);
3602
3693
  }
3603
3694
 
3604
3695
  connectedCallback() {
@@ -3666,7 +3757,7 @@ let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
3666
3757
 
3667
3758
  var iconVersion$3 = '6.1.2';
3668
3759
 
3669
- 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}`;
3760
+ 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}`;
3670
3761
 
3671
3762
  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)}`;
3672
3763
 
@@ -3676,7 +3767,6 @@ var tokensCss$1$2 = i$5`:host{--ds-auro-dropdown-label-text-color: var(--ds-basi
3676
3767
  // See LICENSE in the project root for license information.
3677
3768
 
3678
3769
 
3679
-
3680
3770
  const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
3681
3771
  const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
3682
3772
  'xl',
@@ -3701,7 +3791,7 @@ class AuroDropdownBib extends i$2 {
3701
3791
  */
3702
3792
  this._mobileBreakpointValue = undefined;
3703
3793
 
3704
- AuroLibraryRuntimeUtils$1$1.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
3794
+ AuroLibraryRuntimeUtils$2$2.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
3705
3795
  }
3706
3796
 
3707
3797
  static get styles() {
@@ -3746,6 +3836,13 @@ class AuroDropdownBib extends i$2 {
3746
3836
  type: Boolean,
3747
3837
  reflect: true
3748
3838
  },
3839
+
3840
+ /**
3841
+ * A reference to the associated bib template element.
3842
+ */
3843
+ bibTemplate: {
3844
+ type: Object
3845
+ }
3749
3846
  };
3750
3847
  }
3751
3848
 
@@ -3778,9 +3875,50 @@ class AuroDropdownBib extends i$2 {
3778
3875
  }
3779
3876
  }
3780
3877
  });
3878
+
3879
+ if (this.bibTemplate) {
3880
+ // If the bib template is found, set the fullscreen attribute
3881
+ if (this.isFullscreen) {
3882
+ this.bibTemplate.setAttribute('isFullscreen', 'true');
3883
+ } else {
3884
+ this.bibTemplate.removeAttribute('isFullscreen');
3885
+ }
3886
+ }
3781
3887
  }
3782
3888
  }
3783
3889
 
3890
+ connectedCallback() {
3891
+ super.connectedCallback();
3892
+
3893
+ // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
3894
+ this.addEventListener('auro-bibtemplate-connected', (event) => {
3895
+ const bibTemplate = event.detail.element;
3896
+ this.bibTemplate = bibTemplate;
3897
+
3898
+ if (bibTemplate) {
3899
+ // If the bib template is found, set the fullscreen attribute
3900
+ if (this.isFullscreen) {
3901
+ bibTemplate.setAttribute('isFullscreen', 'true');
3902
+ } else {
3903
+ bibTemplate.removeAttribute('isFullscreen');
3904
+ }
3905
+ }
3906
+ });
3907
+ }
3908
+
3909
+ firstUpdated(changedProperties) {
3910
+ super.firstUpdated(changedProperties);
3911
+
3912
+ // Dispatch a custom event when the component is connected
3913
+ this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
3914
+ bubbles: true,
3915
+ composed: true,
3916
+ detail: {
3917
+ element: this
3918
+ }
3919
+ }));
3920
+ }
3921
+
3784
3922
  // function that renders the HTML and CSS into the scope of the component
3785
3923
  render() {
3786
3924
  return u$2`
@@ -3810,7 +3948,7 @@ var tokensCss$6 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
3810
3948
 
3811
3949
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
3812
3950
 
3813
- let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
3951
+ let AuroLibraryRuntimeUtils$6 = class AuroLibraryRuntimeUtils {
3814
3952
 
3815
3953
  /* eslint-disable jsdoc/require-param */
3816
3954
 
@@ -3891,7 +4029,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
3891
4029
  this.onDark = false;
3892
4030
  this.hasTextContent = false;
3893
4031
 
3894
- AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
4032
+ AuroLibraryRuntimeUtils$6.prototype.handleComponentTagRename(this, 'auro-helptext');
3895
4033
  }
3896
4034
 
3897
4035
  static get styles() {
@@ -3947,7 +4085,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
3947
4085
  *
3948
4086
  */
3949
4087
  static register(name = "auro-helptext") {
3950
- AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
4088
+ AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroHelpText);
3951
4089
  }
3952
4090
 
3953
4091
  updated() {
@@ -4090,7 +4228,7 @@ class AuroDropdown extends i$2 {
4090
4228
  /**
4091
4229
  * @private
4092
4230
  */
4093
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
4231
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2$2();
4094
4232
 
4095
4233
  /**
4096
4234
  * @private
@@ -4100,7 +4238,7 @@ class AuroDropdown extends i$2 {
4100
4238
  /**
4101
4239
  * Generate unique names for dependency components.
4102
4240
  */
4103
- const versioning = new AuroDependencyVersioning$2();
4241
+ const versioning = new AuroDependencyVersioning$3();
4104
4242
 
4105
4243
  /**
4106
4244
  * @private
@@ -4419,7 +4557,7 @@ class AuroDropdown extends i$2 {
4419
4557
  *
4420
4558
  */
4421
4559
  static register(name = "auro-dropdown") {
4422
- AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroDropdown);
4560
+ AuroLibraryRuntimeUtils$2$2.prototype.registerComponent(name, AuroDropdown);
4423
4561
  }
4424
4562
 
4425
4563
  /**
@@ -4736,8 +4874,7 @@ class AuroDropdown extends i$2 {
4736
4874
  * @param {Event} event - The event object representing the slot change.
4737
4875
  * @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
4738
4876
  */
4739
- handleDefaultSlot(event) {
4740
- [...event.target.assignedNodes()].forEach((node) => this.bibContent.append(node));
4877
+ handleDefaultSlot() {
4741
4878
 
4742
4879
  if (this.onSlotChange) {
4743
4880
  this.onSlotChange();
@@ -4809,9 +4946,7 @@ class AuroDropdown extends i$2 {
4809
4946
  <${this.helpTextTag} part="helpText" ?onDark=${this.onDark} ?error="${this.error}">
4810
4947
  <slot name="helpText"></slot>
4811
4948
  </${this.helpTextTag}>
4812
- <div class="slotContent">
4813
- <slot @slotchange="${this.handleDefaultSlot}"></slot>
4814
- </div>
4949
+
4815
4950
  <div id="bibSizer" part="size"></div>
4816
4951
  <${this.dropdownBibTag}
4817
4952
  id="bib"
@@ -4821,6 +4956,9 @@ class AuroDropdown extends i$2 {
4821
4956
  ?rounded="${this.common || this.rounded}"
4822
4957
  ?inset="${this.common || this.inset}"
4823
4958
  >
4959
+ <div class="slotContent">
4960
+ <slot @slotchange="${this.handleDefaultSlot}"></slot>
4961
+ </div>
4824
4962
  </${this.dropdownBibTag}>
4825
4963
  </div>
4826
4964
  `;
@@ -8867,9 +9005,10 @@ class DateFormatter {
8867
9005
  /**
8868
9006
  * Convert a date object to string format.
8869
9007
  * @param {Object} date - Date to convert to string.
8870
- * @returns {Object} Returns the date as a string.
9008
+ * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
9009
+ * @returns {String} Returns the date as a string.
8871
9010
  */
8872
- this.getDateAsString = (date) => date.toLocaleDateString(undefined, {
9011
+ this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
8873
9012
  year: "numeric",
8874
9013
  month: "2-digit",
8875
9014
  day: "2-digit",
@@ -9061,7 +9200,7 @@ class AuroDateUtilities extends AuroDateUtilitiesBase {
9061
9200
  const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
9062
9201
 
9063
9202
  // Get the date string of the date object we created from the string date
9064
- const actualDateStr = dateFormatter.getDateAsString(dateObj);
9203
+ const actualDateStr = dateFormatter.getDateAsString(dateObj, "en-US");
9065
9204
 
9066
9205
  // Guard Clause: Generated date matches date string input
9067
9206
  if (expectedDateStr !== actualDateStr) {
@@ -9226,7 +9365,7 @@ const {
9226
9365
 
9227
9366
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
9228
9367
 
9229
- let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
9368
+ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
9230
9369
 
9231
9370
  /* eslint-disable jsdoc/require-param */
9232
9371
 
@@ -9296,7 +9435,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
9296
9435
  class AuroFormValidation {
9297
9436
 
9298
9437
  constructor() {
9299
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
9438
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
9300
9439
  }
9301
9440
 
9302
9441
  /**
@@ -10868,6 +11007,76 @@ var tokensCss$3 = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-d
10868
11007
 
10869
11008
  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)}`;
10870
11009
 
11010
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11011
+ // See LICENSE in the project root for license information.
11012
+
11013
+ // ---------------------------------------------------------------------
11014
+
11015
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11016
+
11017
+ let AuroLibraryRuntimeUtils$3$1 = class AuroLibraryRuntimeUtils {
11018
+
11019
+ /* eslint-disable jsdoc/require-param */
11020
+
11021
+ /**
11022
+ * This will register a new custom element with the browser.
11023
+ * @param {String} name - The name of the custom element.
11024
+ * @param {Object} componentClass - The class to register as a custom element.
11025
+ * @returns {void}
11026
+ */
11027
+ registerComponent(name, componentClass) {
11028
+ if (!customElements.get(name)) {
11029
+ customElements.define(name, class extends componentClass {});
11030
+ }
11031
+ }
11032
+
11033
+ /**
11034
+ * Finds and returns the closest HTML Element based on a selector.
11035
+ * @returns {void}
11036
+ */
11037
+ closestElement(
11038
+ selector, // selector like in .closest()
11039
+ base = this, // extra functionality to skip a parent
11040
+ __Closest = (el, found = el && el.closest(selector)) =>
11041
+ !el || el === document || el === window
11042
+ ? null // standard .closest() returns null for non-found selectors also
11043
+ : found
11044
+ ? found // found a selector INside this element
11045
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
11046
+ ) {
11047
+ return __Closest(base);
11048
+ }
11049
+ /* eslint-enable jsdoc/require-param */
11050
+
11051
+ /**
11052
+ * 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.
11053
+ * @param {Object} elem - The element to check.
11054
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
11055
+ * @returns {void}
11056
+ */
11057
+ handleComponentTagRename(elem, tagName) {
11058
+ const tag = tagName.toLowerCase();
11059
+ const elemTag = elem.tagName.toLowerCase();
11060
+
11061
+ if (elemTag !== tag) {
11062
+ elem.setAttribute(tag, true);
11063
+ }
11064
+ }
11065
+
11066
+ /**
11067
+ * Validates if an element is a specific Auro component.
11068
+ * @param {Object} elem - The element to validate.
11069
+ * @param {String} tagName - The name of the Auro component to check against.
11070
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
11071
+ */
11072
+ elementMatch(elem, tagName) {
11073
+ const tag = tagName.toLowerCase();
11074
+ const elemTag = elem.tagName.toLowerCase();
11075
+
11076
+ return elemTag === tag || elem.hasAttribute(tag);
11077
+ }
11078
+ };
11079
+
10871
11080
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
10872
11081
  // See LICENSE in the project root for license information.
10873
11082
 
@@ -10887,7 +11096,7 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
10887
11096
  */
10888
11097
  privateDefaults() {
10889
11098
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
10890
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
11099
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$3$1();
10891
11100
  }
10892
11101
 
10893
11102
  // function to define props used within the scope of this component
@@ -10969,7 +11178,7 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
10969
11178
  *
10970
11179
  */
10971
11180
  static register(name = "auro-icon") {
10972
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
11181
+ AuroLibraryRuntimeUtils$3$1.prototype.registerComponent(name, AuroIcon);
10973
11182
  }
10974
11183
 
10975
11184
  connectedCallback() {
@@ -11037,49 +11246,229 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
11037
11246
 
11038
11247
  var iconVersion$2 = '8.0.1';
11039
11248
 
11040
- 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}`;
11249
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11250
+ // See LICENSE in the project root for license information.
11041
11251
 
11042
- 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}`;
11043
11252
 
11044
- 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}`;
11253
+ let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
11045
11254
 
11046
- 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}}`;
11255
+ /**
11256
+ * Generates a unique string to be used for child auro element naming.
11257
+ * @private
11258
+ * @param {string} baseName - Defines the first part of the unique element name.
11259
+ * @param {string} version - Version of the component that will be appended to the baseName.
11260
+ * @returns {string} - Unique string to be used for naming.
11261
+ */
11262
+ generateElementName(baseName, version) {
11263
+ let result = baseName;
11047
11264
 
11048
- 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}`;
11265
+ result += '-';
11266
+ result += version.replace(/[.]/g, '_');
11049
11267
 
11050
- var tokensCss$1$1 = i$5`:host{--ds-auro-loader-background-color:currentcolor;--ds-auro-loader-border-color:currentcolor;--ds-auro-loader-color:currentcolor}`;
11268
+ return result;
11269
+ }
11051
11270
 
11052
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
11053
- // See LICENSE in the project root for license information.
11271
+ /**
11272
+ * Generates a unique string to be used for child auro element naming.
11273
+ * @param {string} baseName - Defines the first part of the unique element name.
11274
+ * @param {string} version - Version of the component that will be appended to the baseName.
11275
+ * @returns {string} - Unique string to be used for naming.
11276
+ */
11277
+ generateTag(baseName, version, tagClass) {
11278
+ const elementName = this.generateElementName(baseName, version);
11279
+ const tag = i$1`${s$1(elementName)}`;
11054
11280
 
11281
+ if (!customElements.get(elementName)) {
11282
+ customElements.define(elementName, class extends tagClass {});
11283
+ }
11055
11284
 
11056
- class AuroLoader extends i$2 {
11057
- constructor() {
11058
- super();
11285
+ return tag;
11286
+ }
11287
+ };
11059
11288
 
11060
- /**
11061
- * @private
11062
- */
11063
- this.keys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
11289
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11290
+ // See LICENSE in the project root for license information.
11064
11291
 
11065
- /**
11066
- * @private
11067
- */
11068
- this.mdCount = 3;
11292
+ // ---------------------------------------------------------------------
11069
11293
 
11070
- /**
11071
- * @private
11072
- */
11073
- this.smCount = 2;
11294
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11074
11295
 
11075
- /**
11076
- * @private
11077
- */
11078
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
11296
+ let AuroLibraryRuntimeUtils$2$1 = class AuroLibraryRuntimeUtils {
11079
11297
 
11080
- this.orbit = false;
11081
- this.ringworm = false;
11082
- this.laser = false;
11298
+ /* eslint-disable jsdoc/require-param */
11299
+
11300
+ /**
11301
+ * This will register a new custom element with the browser.
11302
+ * @param {String} name - The name of the custom element.
11303
+ * @param {Object} componentClass - The class to register as a custom element.
11304
+ * @returns {void}
11305
+ */
11306
+ registerComponent(name, componentClass) {
11307
+ if (!customElements.get(name)) {
11308
+ customElements.define(name, class extends componentClass {});
11309
+ }
11310
+ }
11311
+
11312
+ /**
11313
+ * Finds and returns the closest HTML Element based on a selector.
11314
+ * @returns {void}
11315
+ */
11316
+ closestElement(
11317
+ selector, // selector like in .closest()
11318
+ base = this, // extra functionality to skip a parent
11319
+ __Closest = (el, found = el && el.closest(selector)) =>
11320
+ !el || el === document || el === window
11321
+ ? null // standard .closest() returns null for non-found selectors also
11322
+ : found
11323
+ ? found // found a selector INside this element
11324
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
11325
+ ) {
11326
+ return __Closest(base);
11327
+ }
11328
+ /* eslint-enable jsdoc/require-param */
11329
+
11330
+ /**
11331
+ * 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.
11332
+ * @param {Object} elem - The element to check.
11333
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
11334
+ * @returns {void}
11335
+ */
11336
+ handleComponentTagRename(elem, tagName) {
11337
+ const tag = tagName.toLowerCase();
11338
+ const elemTag = elem.tagName.toLowerCase();
11339
+
11340
+ if (elemTag !== tag) {
11341
+ elem.setAttribute(tag, true);
11342
+ }
11343
+ }
11344
+
11345
+ /**
11346
+ * Validates if an element is a specific Auro component.
11347
+ * @param {Object} elem - The element to validate.
11348
+ * @param {String} tagName - The name of the Auro component to check against.
11349
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
11350
+ */
11351
+ elementMatch(elem, tagName) {
11352
+ const tag = tagName.toLowerCase();
11353
+ const elemTag = elem.tagName.toLowerCase();
11354
+
11355
+ return elemTag === tag || elem.hasAttribute(tag);
11356
+ }
11357
+ };
11358
+
11359
+ 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}`;
11360
+
11361
+ 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}`;
11362
+
11363
+ 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}`;
11364
+
11365
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11366
+ // See LICENSE in the project root for license information.
11367
+
11368
+ // ---------------------------------------------------------------------
11369
+
11370
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11371
+
11372
+ let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
11373
+
11374
+ /* eslint-disable jsdoc/require-param */
11375
+
11376
+ /**
11377
+ * This will register a new custom element with the browser.
11378
+ * @param {String} name - The name of the custom element.
11379
+ * @param {Object} componentClass - The class to register as a custom element.
11380
+ * @returns {void}
11381
+ */
11382
+ registerComponent(name, componentClass) {
11383
+ if (!customElements.get(name)) {
11384
+ customElements.define(name, class extends componentClass {});
11385
+ }
11386
+ }
11387
+
11388
+ /**
11389
+ * Finds and returns the closest HTML Element based on a selector.
11390
+ * @returns {void}
11391
+ */
11392
+ closestElement(
11393
+ selector, // selector like in .closest()
11394
+ base = this, // extra functionality to skip a parent
11395
+ __Closest = (el, found = el && el.closest(selector)) =>
11396
+ !el || el === document || el === window
11397
+ ? null // standard .closest() returns null for non-found selectors also
11398
+ : found
11399
+ ? found // found a selector INside this element
11400
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
11401
+ ) {
11402
+ return __Closest(base);
11403
+ }
11404
+ /* eslint-enable jsdoc/require-param */
11405
+
11406
+ /**
11407
+ * 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.
11408
+ * @param {Object} elem - The element to check.
11409
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
11410
+ * @returns {void}
11411
+ */
11412
+ handleComponentTagRename(elem, tagName) {
11413
+ const tag = tagName.toLowerCase();
11414
+ const elemTag = elem.tagName.toLowerCase();
11415
+
11416
+ if (elemTag !== tag) {
11417
+ elem.setAttribute(tag, true);
11418
+ }
11419
+ }
11420
+
11421
+ /**
11422
+ * Validates if an element is a specific Auro component.
11423
+ * @param {Object} elem - The element to validate.
11424
+ * @param {String} tagName - The name of the Auro component to check against.
11425
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
11426
+ */
11427
+ elementMatch(elem, tagName) {
11428
+ const tag = tagName.toLowerCase();
11429
+ const elemTag = elem.tagName.toLowerCase();
11430
+
11431
+ return elemTag === tag || elem.hasAttribute(tag);
11432
+ }
11433
+ };
11434
+
11435
+ 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}}`;
11436
+
11437
+ 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}`;
11438
+
11439
+ var tokensCss$1$1 = i$5`:host{--ds-auro-loader-background-color:currentcolor;--ds-auro-loader-border-color:currentcolor;--ds-auro-loader-color:currentcolor}`;
11440
+
11441
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
11442
+ // See LICENSE in the project root for license information.
11443
+
11444
+
11445
+ class AuroLoader extends i$2 {
11446
+ constructor() {
11447
+ super();
11448
+
11449
+ /**
11450
+ * @private
11451
+ */
11452
+ this.keys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
11453
+
11454
+ /**
11455
+ * @private
11456
+ */
11457
+ this.mdCount = 3;
11458
+
11459
+ /**
11460
+ * @private
11461
+ */
11462
+ this.smCount = 2;
11463
+
11464
+ /**
11465
+ * @private
11466
+ */
11467
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
11468
+
11469
+ this.orbit = false;
11470
+ this.ringworm = false;
11471
+ this.laser = false;
11083
11472
  this.pulse = false;
11084
11473
  }
11085
11474
 
@@ -11138,7 +11527,7 @@ class AuroLoader extends i$2 {
11138
11527
  *
11139
11528
  */
11140
11529
  static register(name = "auro-loader") {
11141
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroLoader);
11530
+ AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroLoader);
11142
11531
  }
11143
11532
 
11144
11533
  firstUpdated() {
@@ -11267,7 +11656,7 @@ class AuroButton extends i$2 {
11267
11656
  /**
11268
11657
  * Generate unique names for dependency components.
11269
11658
  */
11270
- const versioning = new AuroDependencyVersioning$1();
11659
+ const versioning = new AuroDependencyVersioning$2();
11271
11660
 
11272
11661
  /**
11273
11662
  * @private
@@ -11369,7 +11758,7 @@ class AuroButton extends i$2 {
11369
11758
  *
11370
11759
  */
11371
11760
  static register(name = "auro-button") {
11372
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroButton);
11761
+ AuroLibraryRuntimeUtils$2$1.prototype.registerComponent(name, AuroButton);
11373
11762
  }
11374
11763
 
11375
11764
  /**
@@ -11491,7 +11880,7 @@ var tokensCss$5 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
11491
11880
 
11492
11881
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11493
11882
 
11494
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
11883
+ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
11495
11884
 
11496
11885
  /* eslint-disable jsdoc/require-param */
11497
11886
 
@@ -11572,7 +11961,7 @@ class AuroHelpText extends i$2 {
11572
11961
  this.onDark = false;
11573
11962
  this.hasTextContent = false;
11574
11963
 
11575
- AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-helptext');
11964
+ AuroLibraryRuntimeUtils$5.prototype.handleComponentTagRename(this, 'auro-helptext');
11576
11965
  }
11577
11966
 
11578
11967
  static get styles() {
@@ -11628,7 +12017,7 @@ class AuroHelpText extends i$2 {
11628
12017
  *
11629
12018
  */
11630
12019
  static register(name = "auro-helptext") {
11631
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
12020
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroHelpText);
11632
12021
  }
11633
12022
 
11634
12023
  updated() {
@@ -11726,7 +12115,7 @@ class AuroInput extends BaseInput {
11726
12115
  *
11727
12116
  */
11728
12117
  static register(name = "auro-input") {
11729
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroInput);
12118
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroInput);
11730
12119
  }
11731
12120
 
11732
12121
  /**
@@ -11913,7 +12302,7 @@ var tokenCss = i$5`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-
11913
12302
 
11914
12303
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11915
12304
 
11916
- class AuroLibraryRuntimeUtils {
12305
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
11917
12306
 
11918
12307
  /* eslint-disable jsdoc/require-param */
11919
12308
 
@@ -11974,7 +12363,7 @@ class AuroLibraryRuntimeUtils {
11974
12363
 
11975
12364
  return elemTag === tag || elem.hasAttribute(tag);
11976
12365
  }
11977
- }
12366
+ };
11978
12367
 
11979
12368
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11980
12369
  // See LICENSE in the project root for license information.
@@ -12170,6 +12559,76 @@ var tokensCss$2 = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-d
12170
12559
 
12171
12560
  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)}`;
12172
12561
 
12562
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12563
+ // See LICENSE in the project root for license information.
12564
+
12565
+ // ---------------------------------------------------------------------
12566
+
12567
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
12568
+
12569
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
12570
+
12571
+ /* eslint-disable jsdoc/require-param */
12572
+
12573
+ /**
12574
+ * This will register a new custom element with the browser.
12575
+ * @param {String} name - The name of the custom element.
12576
+ * @param {Object} componentClass - The class to register as a custom element.
12577
+ * @returns {void}
12578
+ */
12579
+ registerComponent(name, componentClass) {
12580
+ if (!customElements.get(name)) {
12581
+ customElements.define(name, class extends componentClass {});
12582
+ }
12583
+ }
12584
+
12585
+ /**
12586
+ * Finds and returns the closest HTML Element based on a selector.
12587
+ * @returns {void}
12588
+ */
12589
+ closestElement(
12590
+ selector, // selector like in .closest()
12591
+ base = this, // extra functionality to skip a parent
12592
+ __Closest = (el, found = el && el.closest(selector)) =>
12593
+ !el || el === document || el === window
12594
+ ? null // standard .closest() returns null for non-found selectors also
12595
+ : found
12596
+ ? found // found a selector INside this element
12597
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
12598
+ ) {
12599
+ return __Closest(base);
12600
+ }
12601
+ /* eslint-enable jsdoc/require-param */
12602
+
12603
+ /**
12604
+ * 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.
12605
+ * @param {Object} elem - The element to check.
12606
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
12607
+ * @returns {void}
12608
+ */
12609
+ handleComponentTagRename(elem, tagName) {
12610
+ const tag = tagName.toLowerCase();
12611
+ const elemTag = elem.tagName.toLowerCase();
12612
+
12613
+ if (elemTag !== tag) {
12614
+ elem.setAttribute(tag, true);
12615
+ }
12616
+ }
12617
+
12618
+ /**
12619
+ * Validates if an element is a specific Auro component.
12620
+ * @param {Object} elem - The element to validate.
12621
+ * @param {String} tagName - The name of the Auro component to check against.
12622
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
12623
+ */
12624
+ elementMatch(elem, tagName) {
12625
+ const tag = tagName.toLowerCase();
12626
+ const elemTag = elem.tagName.toLowerCase();
12627
+
12628
+ return elemTag === tag || elem.hasAttribute(tag);
12629
+ }
12630
+ };
12631
+
12173
12632
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12174
12633
  // See LICENSE in the project root for license information.
12175
12634
 
@@ -12189,7 +12648,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
12189
12648
  */
12190
12649
  privateDefaults() {
12191
12650
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
12192
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
12651
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
12193
12652
  }
12194
12653
 
12195
12654
  // function to define props used within the scope of this component
@@ -12271,7 +12730,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
12271
12730
  *
12272
12731
  */
12273
12732
  static register(name = "auro-icon") {
12274
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
12733
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
12275
12734
  }
12276
12735
 
12277
12736
  connectedCallback() {
@@ -12339,6 +12798,76 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
12339
12798
 
12340
12799
  var iconVersion$1 = '8.0.2';
12341
12800
 
12801
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12802
+ // See LICENSE in the project root for license information.
12803
+
12804
+ // ---------------------------------------------------------------------
12805
+
12806
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
12807
+
12808
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
12809
+
12810
+ /* eslint-disable jsdoc/require-param */
12811
+
12812
+ /**
12813
+ * This will register a new custom element with the browser.
12814
+ * @param {String} name - The name of the custom element.
12815
+ * @param {Object} componentClass - The class to register as a custom element.
12816
+ * @returns {void}
12817
+ */
12818
+ registerComponent(name, componentClass) {
12819
+ if (!customElements.get(name)) {
12820
+ customElements.define(name, class extends componentClass {});
12821
+ }
12822
+ }
12823
+
12824
+ /**
12825
+ * Finds and returns the closest HTML Element based on a selector.
12826
+ * @returns {void}
12827
+ */
12828
+ closestElement(
12829
+ selector, // selector like in .closest()
12830
+ base = this, // extra functionality to skip a parent
12831
+ __Closest = (el, found = el && el.closest(selector)) =>
12832
+ !el || el === document || el === window
12833
+ ? null // standard .closest() returns null for non-found selectors also
12834
+ : found
12835
+ ? found // found a selector INside this element
12836
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
12837
+ ) {
12838
+ return __Closest(base);
12839
+ }
12840
+ /* eslint-enable jsdoc/require-param */
12841
+
12842
+ /**
12843
+ * 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.
12844
+ * @param {Object} elem - The element to check.
12845
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
12846
+ * @returns {void}
12847
+ */
12848
+ handleComponentTagRename(elem, tagName) {
12849
+ const tag = tagName.toLowerCase();
12850
+ const elemTag = elem.tagName.toLowerCase();
12851
+
12852
+ if (elemTag !== tag) {
12853
+ elem.setAttribute(tag, true);
12854
+ }
12855
+ }
12856
+
12857
+ /**
12858
+ * Validates if an element is a specific Auro component.
12859
+ * @param {Object} elem - The element to validate.
12860
+ * @param {String} tagName - The name of the Auro component to check against.
12861
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
12862
+ */
12863
+ elementMatch(elem, tagName) {
12864
+ const tag = tagName.toLowerCase();
12865
+ const elemTag = elem.tagName.toLowerCase();
12866
+
12867
+ return elemTag === tag || elem.hasAttribute(tag);
12868
+ }
12869
+ };
12870
+
12342
12871
  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)}`;
12343
12872
 
12344
12873
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
@@ -12368,7 +12897,7 @@ class AuroHeader extends i$2 {
12368
12897
  /**
12369
12898
  * @private
12370
12899
  */
12371
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
12900
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
12372
12901
  }
12373
12902
 
12374
12903
  // function to define props used within the scope of this component
@@ -12398,7 +12927,7 @@ class AuroHeader extends i$2 {
12398
12927
  *
12399
12928
  */
12400
12929
  static register(name = "auro-header") {
12401
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroHeader);
12930
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHeader);
12402
12931
  }
12403
12932
 
12404
12933
  firstUpdated() {
@@ -12494,7 +13023,7 @@ class AuroBibtemplate extends i$2 {
12494
13023
 
12495
13024
  this.large = false;
12496
13025
 
12497
- AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
13026
+ AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
12498
13027
 
12499
13028
  const versioning = new AuroDependencyVersioning();
12500
13029
  this.iconTag = versioning.generateTag('auro-formkit-bibtemplate-icon', iconVersion$1, AuroIcon$1);
@@ -12533,7 +13062,7 @@ class AuroBibtemplate extends i$2 {
12533
13062
  *
12534
13063
  */
12535
13064
  static register(name = "auro-bibtemplate") {
12536
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroBibtemplate);
13065
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroBibtemplate);
12537
13066
  }
12538
13067
 
12539
13068
  /**
@@ -12573,6 +13102,18 @@ class AuroBibtemplate extends i$2 {
12573
13102
  this.setAttribute('exportparts', 'bibtemplate:dropdownBibTemplate');
12574
13103
  }
12575
13104
 
13105
+ firstUpdated(changedProperties) {
13106
+ super.firstUpdated(changedProperties);
13107
+
13108
+ this.dispatchEvent(new CustomEvent("auro-bibtemplate-connected", {
13109
+ bubbles: true,
13110
+ composed: true,
13111
+ detail: {
13112
+ element: this
13113
+ }
13114
+ }));
13115
+ }
13116
+
12576
13117
  // function that renders the HTML and CSS into the scope of the component
12577
13118
  render() {
12578
13119
  return u$2`
@@ -12659,7 +13200,7 @@ class AuroCombobox extends i$2 {
12659
13200
 
12660
13201
  this.validation = new AuroFormValidation$1();
12661
13202
 
12662
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
13203
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$7();
12663
13204
 
12664
13205
  this.isHiddenWhileLoading = false;
12665
13206
 
@@ -12669,7 +13210,7 @@ class AuroCombobox extends i$2 {
12669
13210
  this.noFlip = false;
12670
13211
  this.autoPlacement = false;
12671
13212
 
12672
- const versioning = new AuroDependencyVersioning$3();
13213
+ const versioning = new AuroDependencyVersioning$4();
12673
13214
 
12674
13215
  this.dropdownTag = versioning.generateTag('auro-formkit-combobox-dropdown', dropdownVersion, AuroDropdown);
12675
13216
  this.bibtemplateTag = versioning.generateTag('auro-formkit-combobox-bibtemplate', bibTemplateVersion, AuroBibtemplate);
@@ -12924,7 +13465,7 @@ class AuroCombobox extends i$2 {
12924
13465
  *
12925
13466
  */
12926
13467
  static register(name = 'auro-combobox') {
12927
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroCombobox);
13468
+ AuroLibraryRuntimeUtils$7.prototype.registerComponent(name, AuroCombobox);
12928
13469
  }
12929
13470
 
12930
13471
  /**
@@ -13081,15 +13622,8 @@ class AuroCombobox extends i$2 {
13081
13622
  this.showBib();
13082
13623
  });
13083
13624
 
13084
- // this.dropdown.addEventListener('auroDropdown-show', () => {
13085
- this.menuWrapper = this.dropdown.querySelector('.menuWrapper');
13086
- if (this.menu) {
13087
- this.menuWrapper.append(this.menu);
13088
- }
13089
-
13090
13625
  // setting up bibtemplate
13091
13626
  this.bibtemplate = this.dropdown.querySelector(this.bibtemplateTag._$litStatic$); // eslint-disable-line no-underscore-dangle
13092
- this.bibtemplate.append(this.menuWrapper);
13093
13627
 
13094
13628
  // Exposes the CSS parts from the bibtemplate for styling
13095
13629
  this.bibtemplate.exposeCssParts();
@@ -13114,10 +13648,9 @@ class AuroCombobox extends i$2 {
13114
13648
  this.menu = this.querySelector('auro-menu, [auro-menu]');
13115
13649
 
13116
13650
  // a racing condition on custom-combobox with custom-menu
13117
- if (!this.menu) {
13651
+ if (!this.menu || this.menuShadowRoot === null) {
13118
13652
  setTimeout(() => {
13119
13653
  this.configureMenu();
13120
- this.menuWrapper.append(this.menu);
13121
13654
  }, 0);
13122
13655
  return;
13123
13656
  }
@@ -13192,41 +13725,12 @@ class AuroCombobox extends i$2 {
13192
13725
  });
13193
13726
  }
13194
13727
 
13195
- /**
13196
- * @private
13197
- * Dispatches input's keyboard events from host
13198
- * This allows key events from the input to be handled by the parent.
13199
- * @param {Event} event - The keyboard event.
13200
- */
13201
- bubbleUpInputEvent(event) {
13202
- // Do not need to bubble events if the input is not in bib.
13203
- if (event.currentTarget.parentNode !== this.dropdown) {
13204
- // prevents browsers to move cursor in input element.
13205
- if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
13206
- event.preventDefault();
13207
- }
13208
- const dupEvent = new event.constructor(event.type, event);
13209
- this.dispatchEvent(dupEvent);
13210
- }
13211
- }
13212
-
13213
13728
  /**
13214
13729
  * Binds all behavior needed to the input after rendering.
13215
13730
  * @private
13216
13731
  * @returns {void}
13217
13732
  */
13218
13733
  configureInput() {
13219
- // When input is in bibtemplate, make the event to be fired at combobox element
13220
- this.bubbleUpInputEvent = this.bubbleUpInputEvent.bind(this);
13221
-
13222
- const events = [
13223
- 'input',
13224
- 'keydown',
13225
- 'keyup'
13226
- ];
13227
- events.forEach((eventType) => {
13228
- this.input.addEventListener(eventType, this.bubbleUpInputEvent);
13229
- });
13230
13734
 
13231
13735
  this.addEventListener('keyup', (evt) => {
13232
13736
  if (evt.key.length === 1 || evt.key === 'Backspace' || evt.key === 'Delete') {
@@ -13290,6 +13794,7 @@ class AuroCombobox extends i$2 {
13290
13794
  const inputAlertIcon = this.input.shadowRoot.querySelector(".alertNotification");
13291
13795
 
13292
13796
  if (this.dropdown.isPopoverVisible && this.dropdown.isBibFullscreen) {
13797
+
13293
13798
  if (this.input.parentNode === this.dropdown) {
13294
13799
  // keep the trigger size the same even after input gets removed
13295
13800
  const parentSize = window.getComputedStyle(this.dropdown.trigger);
@@ -13307,7 +13812,7 @@ class AuroCombobox extends i$2 {
13307
13812
  inputAlertIcon.style.display = 'none';
13308
13813
  }
13309
13814
 
13310
- this.bibtemplate.append(this.input);
13815
+ this.bibtemplate.prepend(this.input);
13311
13816
  this.input.focus();
13312
13817
  }
13313
13818
  } else if (this.input.parentNode !== this.dropdown) {
@@ -13321,7 +13826,7 @@ class AuroCombobox extends i$2 {
13321
13826
  inputAlertIcon.style.display = '';
13322
13827
  }
13323
13828
 
13324
- this.dropdown.append(this.input);
13829
+ this.dropdown.prepend(this.input);
13325
13830
  this.input.focus();
13326
13831
  }
13327
13832
  }
@@ -13626,9 +14131,8 @@ class AuroCombobox extends i$2 {
13626
14131
  @input="${this.handleInputValueChange}">
13627
14132
  </${this.inputTag}>
13628
14133
 
13629
- <div class="menuWrapper"></div>
13630
-
13631
14134
  <${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}">
14135
+ <slot></slot>
13632
14136
  </${this.bibtemplateTag}>
13633
14137
 
13634
14138
  <p slot="helpText">
@@ -13838,7 +14342,7 @@ class AuroMenu extends i$2 {
13838
14342
  *
13839
14343
  */
13840
14344
  static register(name = "auro-menu") {
13841
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroMenu);
14345
+ AuroLibraryRuntimeUtils$7.prototype.registerComponent(name, AuroMenu);
13842
14346
  }
13843
14347
 
13844
14348
  // Lifecycle Methods
@@ -13862,7 +14366,7 @@ class AuroMenu extends i$2 {
13862
14366
  }
13863
14367
 
13864
14368
  firstUpdated() {
13865
- AuroLibraryRuntimeUtils$4.prototype.handleComponentTagRename(this, 'auro-menu');
14369
+ AuroLibraryRuntimeUtils$7.prototype.handleComponentTagRename(this, 'auro-menu');
13866
14370
 
13867
14371
  this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
13868
14372
  this.initializeMenu();
@@ -14571,6 +15075,76 @@ var tokensCss = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-def
14571
15075
 
14572
15076
  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)}`;
14573
15077
 
15078
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
15079
+ // See LICENSE in the project root for license information.
15080
+
15081
+ // ---------------------------------------------------------------------
15082
+
15083
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
15084
+
15085
+ class AuroLibraryRuntimeUtils {
15086
+
15087
+ /* eslint-disable jsdoc/require-param */
15088
+
15089
+ /**
15090
+ * This will register a new custom element with the browser.
15091
+ * @param {String} name - The name of the custom element.
15092
+ * @param {Object} componentClass - The class to register as a custom element.
15093
+ * @returns {void}
15094
+ */
15095
+ registerComponent(name, componentClass) {
15096
+ if (!customElements.get(name)) {
15097
+ customElements.define(name, class extends componentClass {});
15098
+ }
15099
+ }
15100
+
15101
+ /**
15102
+ * Finds and returns the closest HTML Element based on a selector.
15103
+ * @returns {void}
15104
+ */
15105
+ closestElement(
15106
+ selector, // selector like in .closest()
15107
+ base = this, // extra functionality to skip a parent
15108
+ __Closest = (el, found = el && el.closest(selector)) =>
15109
+ !el || el === document || el === window
15110
+ ? null // standard .closest() returns null for non-found selectors also
15111
+ : found
15112
+ ? found // found a selector INside this element
15113
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
15114
+ ) {
15115
+ return __Closest(base);
15116
+ }
15117
+ /* eslint-enable jsdoc/require-param */
15118
+
15119
+ /**
15120
+ * 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.
15121
+ * @param {Object} elem - The element to check.
15122
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
15123
+ * @returns {void}
15124
+ */
15125
+ handleComponentTagRename(elem, tagName) {
15126
+ const tag = tagName.toLowerCase();
15127
+ const elemTag = elem.tagName.toLowerCase();
15128
+
15129
+ if (elemTag !== tag) {
15130
+ elem.setAttribute(tag, true);
15131
+ }
15132
+ }
15133
+
15134
+ /**
15135
+ * Validates if an element is a specific Auro component.
15136
+ * @param {Object} elem - The element to validate.
15137
+ * @param {String} tagName - The name of the Auro component to check against.
15138
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
15139
+ */
15140
+ elementMatch(elem, tagName) {
15141
+ const tag = tagName.toLowerCase();
15142
+ const elemTag = elem.tagName.toLowerCase();
15143
+
15144
+ return elemTag === tag || elem.hasAttribute(tag);
15145
+ }
15146
+ }
15147
+
14574
15148
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
14575
15149
  // See LICENSE in the project root for license information.
14576
15150
 
@@ -14590,7 +15164,7 @@ class AuroIcon extends BaseIcon {
14590
15164
  */
14591
15165
  privateDefaults() {
14592
15166
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
14593
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
15167
+ this.runtimeUtils = new AuroLibraryRuntimeUtils();
14594
15168
  }
14595
15169
 
14596
15170
  // function to define props used within the scope of this component
@@ -14672,7 +15246,7 @@ class AuroIcon extends BaseIcon {
14672
15246
  *
14673
15247
  */
14674
15248
  static register(name = "auro-icon") {
14675
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroIcon);
15249
+ AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
14676
15250
  }
14677
15251
 
14678
15252
  connectedCallback() {
@@ -14763,7 +15337,7 @@ class AuroMenuOption extends i$2 {
14763
15337
  /**
14764
15338
  * Generate unique names for dependency components.
14765
15339
  */
14766
- const versioning = new AuroDependencyVersioning$3();
15340
+ const versioning = new AuroDependencyVersioning$4();
14767
15341
  this.iconTag = versioning.generateTag('auro-formkit-menuoption-icon', iconVersion, AuroIcon);
14768
15342
 
14769
15343
  this.selected = false;
@@ -14778,7 +15352,7 @@ class AuroMenuOption extends i$2 {
14778
15352
  /**
14779
15353
  * @private
14780
15354
  */
14781
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
15355
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$7();
14782
15356
  }
14783
15357
 
14784
15358
  static get properties() {
@@ -14822,7 +15396,7 @@ class AuroMenuOption extends i$2 {
14822
15396
  *
14823
15397
  */
14824
15398
  static register(name = "auro-menuoption") {
14825
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroMenuOption);
15399
+ AuroLibraryRuntimeUtils$7.prototype.registerComponent(name, AuroMenuOption);
14826
15400
  }
14827
15401
 
14828
15402
  firstUpdated() {