@aurodesignsystem-dev/auro-formkit 0.0.0-pr624.5 → 0.0.0-pr624.7

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 (59) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +1 -0
  2. package/components/bibtemplate/dist/index.js +88 -6
  3. package/components/bibtemplate/dist/registered.js +88 -6
  4. package/components/checkbox/demo/api.min.js +4 -3
  5. package/components/checkbox/demo/index.min.js +4 -3
  6. package/components/checkbox/dist/index.js +4 -3
  7. package/components/checkbox/dist/registered.js +4 -3
  8. package/components/combobox/demo/api.min.js +514 -172
  9. package/components/combobox/demo/index.min.js +514 -172
  10. package/components/combobox/dist/auro-combobox.d.ts +0 -8
  11. package/components/combobox/dist/index.js +425 -153
  12. package/components/combobox/dist/registered.js +425 -153
  13. package/components/counter/demo/api.min.js +404 -106
  14. package/components/counter/demo/index.min.js +404 -106
  15. package/components/counter/dist/index.js +404 -106
  16. package/components/counter/dist/registered.js +404 -106
  17. package/components/datepicker/demo/api.md +13 -5
  18. package/components/datepicker/demo/api.min.js +876 -383
  19. package/components/datepicker/demo/index.md +13 -0
  20. package/components/datepicker/demo/index.min.js +876 -383
  21. package/components/datepicker/dist/auro-datepicker.d.ts +21 -2
  22. package/components/datepicker/dist/index.js +679 -186
  23. package/components/datepicker/dist/registered.js +679 -186
  24. package/components/datepicker/dist/styles/emphasized/style-css.d.ts +2 -0
  25. package/components/datepicker/dist/styles/shapeSize-css.d.ts +2 -0
  26. package/components/dropdown/demo/api.md +1 -1
  27. package/components/dropdown/demo/api.min.js +226 -81
  28. package/components/dropdown/demo/index.min.js +226 -81
  29. package/components/dropdown/dist/auro-dropdown.d.ts +10 -0
  30. package/components/dropdown/dist/auro-dropdownBib.d.ts +8 -0
  31. package/components/dropdown/dist/index.js +226 -81
  32. package/components/dropdown/dist/registered.js +226 -81
  33. package/components/input/demo/api.md +46 -48
  34. package/components/input/demo/api.min.js +96 -15
  35. package/components/input/demo/index.min.js +96 -15
  36. package/components/input/dist/auro-input.d.ts +17 -15
  37. package/components/input/dist/index.js +96 -15
  38. package/components/input/dist/registered.js +96 -15
  39. package/components/menu/demo/api.min.js +76 -6
  40. package/components/menu/demo/index.min.js +76 -6
  41. package/components/menu/dist/index.js +76 -6
  42. package/components/menu/dist/registered.js +76 -6
  43. package/components/radio/demo/api.min.js +4 -3
  44. package/components/radio/demo/index.min.js +4 -3
  45. package/components/radio/dist/index.js +4 -3
  46. package/components/radio/dist/registered.js +4 -3
  47. package/components/select/demo/api.md +12 -4
  48. package/components/select/demo/api.min.js +1178 -200
  49. package/components/select/demo/index.html +1 -0
  50. package/components/select/demo/index.md +298 -777
  51. package/components/select/demo/index.min.js +1178 -200
  52. package/components/select/dist/auro-select.d.ts +96 -4
  53. package/components/select/dist/helptextVersion.d.ts +2 -0
  54. package/components/select/dist/index.js +1106 -198
  55. package/components/select/dist/registered.js +1106 -198
  56. package/components/select/dist/styles/shapeSize-css.d.ts +2 -0
  57. package/components/select/dist/styles/tokens-css.d.ts +2 -0
  58. package/package.json +3 -3
  59. /package/components/{dropdown/dist/styles/style-css.d.ts → datepicker/dist/styles/default/color-css.d.ts} +0 -0
@@ -1,9 +1,105 @@
1
- import { css, LitElement, html as html$1 } from 'lit';
1
+ import { LitElement, css, html as html$1 } from 'lit';
2
2
  import { classMap } from 'lit/directives/class-map.js';
3
3
  import { unsafeStatic, literal, html } from 'lit/static-html.js';
4
4
  import { ifDefined } from 'lit/directives/if-defined.js';
5
5
  import { ifDefined as ifDefined$1 } from 'lit-html/directives/if-defined.js';
6
6
 
7
+ let AuroElement$3 = class AuroElement extends LitElement {
8
+ static get properties() {
9
+ return {
10
+
11
+ /**
12
+ * Defines the language of an element.
13
+ * @default {'default'}
14
+ */
15
+ layout: {
16
+ type: String,
17
+ attribute: "layout",
18
+ reflect: true
19
+ },
20
+
21
+ shape: {
22
+ type: String,
23
+ attribute: "shape",
24
+ reflect: true
25
+ },
26
+
27
+ size: {
28
+ type: String,
29
+ attribute: "size",
30
+ reflect: true
31
+ },
32
+
33
+ onDark: {
34
+ type: Boolean,
35
+ attribute: "ondark",
36
+ reflect: true
37
+ }
38
+ };
39
+ }
40
+
41
+ resetShapeClasses() {
42
+ if (this.shape && this.size) {
43
+ const wrapper = this.shadowRoot.querySelector('.wrapper');
44
+
45
+ if (wrapper) {
46
+ wrapper.classList.forEach((className) => {
47
+ if (className.startsWith('shape-')) {
48
+ wrapper.classList.remove(className);
49
+ }
50
+ });
51
+
52
+ wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
53
+ }
54
+ }
55
+ }
56
+
57
+ resetLayoutClasses() {
58
+ if (this.layout) {
59
+ const wrapper = this.shadowRoot.querySelector('.wrapper');
60
+
61
+ if (wrapper) {
62
+ wrapper.classList.forEach((className) => {
63
+ if (className.startsWith('layout-')) {
64
+ wrapper.classList.remove(className);
65
+ }
66
+ });
67
+
68
+ wrapper.classList.add(`layout-${this.layout.toLowerCase()}`);
69
+ }
70
+ }
71
+ }
72
+
73
+ updateComponentArchitecture() {
74
+ this.resetLayoutClasses();
75
+ this.resetShapeClasses();
76
+ }
77
+
78
+ updated(changedProperties) {
79
+ if (changedProperties.has('layout') || changedProperties.has('shape') || changedProperties.has('size')) {
80
+ this.updateComponentArchitecture();
81
+ }
82
+ }
83
+
84
+ // Try to render the defined `this.layout` layout. If that fails, fall back to the default layout.
85
+ // This will catch if an invalid layout value is passed in and render the default layout if so.
86
+ render() {
87
+ try {
88
+ return this.renderLayout();
89
+ } catch (error) {
90
+ // failed to get the defined layout
91
+ console.error('Failed to get the defined layout - using the default layout', error); // eslint-disable-line no-console
92
+
93
+ // fallback to the default layout
94
+ return this.getLayout('default');
95
+ }
96
+ }
97
+ };
98
+
99
+ var shapeSizeCss$1 = css`.wrapper{overflow:hidden}.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:58px;max-height:58px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-classic-xl.parentBorder,.shape-classic-lg.parentBorder,.shape-classic-md.parentBorder,.shape-classic-sm.parentBorder,.shape-classic-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl.parentBorder,.shape-snowflake-lg.parentBorder,.shape-snowflake-md.parentBorder,.shape-snowflake-sm.parentBorder,.shape-snowflake-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;min-height:52px;max-height:52px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-left-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-left-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-pill-right-xl{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-right-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-right-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-pill-md{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset}.shape-pill-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-md.parentBorder{border:0;min-height:44px;max-height:44px}.shape-pill-left-md{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset}.shape-pill-left-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-left-md.parentBorder{border:0;min-height:44px;max-height:44px}.shape-pill-right-md{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset}.shape-pill-right-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-right-md.parentBorder{border:0;min-height:44px;max-height:44px}`;
100
+
101
+ var tokensCss$4 = css`:host(:not([ondark])){--ds-auro-select-border-color: var(--ds-basic-color-border-bold, #585e67);--ds-auro-select-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-select-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-select-placeholder-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-select-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-select-error-icon-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: transparent}:host([ondark]){--ds-auro-select-border-color: var(--ds-basic-color-border-inverse, #ffffff);--ds-auro-select-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-select-label-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-placeholder-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-error-icon-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: transparent}`;
102
+
7
103
  class DateFormatter {
8
104
 
9
105
  constructor() {
@@ -60,9 +156,10 @@ class DateFormatter {
60
156
  /**
61
157
  * Convert a date object to string format.
62
158
  * @param {Object} date - Date to convert to string.
63
- * @returns {Object} Returns the date as a string.
159
+ * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
160
+ * @returns {String} Returns the date as a string.
64
161
  */
65
- this.getDateAsString = (date) => date.toLocaleDateString(undefined, {
162
+ this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
66
163
  year: "numeric",
67
164
  month: "2-digit",
68
165
  day: "2-digit",
@@ -254,7 +351,7 @@ class AuroDateUtilities extends AuroDateUtilitiesBase {
254
351
  const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
255
352
 
256
353
  // Get the date string of the date object we created from the string date
257
- const actualDateStr = dateFormatter.getDateAsString(dateObj);
354
+ const actualDateStr = dateFormatter.getDateAsString(dateObj, "en-US");
258
355
 
259
356
  // Guard Clause: Generated date matches date string input
260
357
  if (expectedDateStr !== actualDateStr) {
@@ -419,7 +516,7 @@ const {
419
516
 
420
517
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
421
518
 
422
- let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
519
+ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
423
520
 
424
521
  /* eslint-disable jsdoc/require-param */
425
522
 
@@ -489,7 +586,7 @@ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
489
586
  class AuroFormValidation {
490
587
 
491
588
  constructor() {
492
- this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
589
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
493
590
  }
494
591
 
495
592
  /**
@@ -895,7 +992,7 @@ let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
895
992
 
896
993
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
897
994
 
898
- let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
995
+ let AuroLibraryRuntimeUtils$2$1 = class AuroLibraryRuntimeUtils {
899
996
 
900
997
  /* eslint-disable jsdoc/require-param */
901
998
 
@@ -1478,10 +1575,11 @@ const flip$1 = function (options) {
1478
1575
  const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
1479
1576
  const nextPlacement = placements[nextIndex];
1480
1577
  if (nextPlacement) {
1481
- var _overflowsData$;
1482
1578
  const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
1483
- const hasInitialMainAxisOverflow = ((_overflowsData$ = overflowsData[0]) == null ? void 0 : _overflowsData$.overflows[0]) > 0;
1484
- if (!ignoreCrossAxisOverflow || hasInitialMainAxisOverflow) {
1579
+ if (!ignoreCrossAxisOverflow ||
1580
+ // We leave the current main axis only if every placement on that axis
1581
+ // overflows the main axis.
1582
+ overflowsData.every(d => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {
1485
1583
  // Try next placement and re-run the lifecycle.
1486
1584
  return {
1487
1585
  data: {
@@ -2502,8 +2600,28 @@ class AuroFloatingUI {
2502
2600
  if (!AuroFloatingUI.isMousePressHandlerInitialized && window && window.addEventListener) {
2503
2601
  AuroFloatingUI.isMousePressHandlerInitialized = true;
2504
2602
 
2603
+ // Track timeout for isMousePressed reset to avoid race conditions
2604
+ if (!AuroFloatingUI._mousePressedTimeout) {
2605
+ AuroFloatingUI._mousePressedTimeout = null;
2606
+ }
2505
2607
  const mouseEventGlobalHandler = (event) => {
2506
- AuroFloatingUI.isMousePressed = event.type === 'mousedown';
2608
+ const isPressed = event.type === 'mousedown';
2609
+ if (isPressed) {
2610
+ // Clear any pending timeout to prevent race condition
2611
+ if (AuroFloatingUI._mousePressedTimeout !== null) {
2612
+ clearTimeout(AuroFloatingUI._mousePressedTimeout);
2613
+ AuroFloatingUI._mousePressedTimeout = null;
2614
+ }
2615
+ if (!AuroFloatingUI.isMousePressed) {
2616
+ AuroFloatingUI.isMousePressed = true;
2617
+ }
2618
+ } else if (AuroFloatingUI.isMousePressed && !isPressed) {
2619
+ // Schedule reset and track timeout ID
2620
+ AuroFloatingUI._mousePressedTimeout = setTimeout(() => {
2621
+ AuroFloatingUI.isMousePressed = false;
2622
+ AuroFloatingUI._mousePressedTimeout = null;
2623
+ }, 0);
2624
+ }
2507
2625
  };
2508
2626
 
2509
2627
  window.addEventListener('mousedown', mouseEventGlobalHandler);
@@ -2630,6 +2748,7 @@ class AuroFloatingUI {
2630
2748
 
2631
2749
  // Compute the position of the bib
2632
2750
  computePosition(this.element.trigger, this.element.bib, {
2751
+ strategy: this.element.floaterConfig?.strategy || 'fixed',
2633
2752
  placement: this.element.floaterConfig?.placement,
2634
2753
  middleware: middleware || []
2635
2754
  }).then(({ x, y }) => { // eslint-disable-line id-length
@@ -2764,8 +2883,9 @@ class AuroFloatingUI {
2764
2883
  if (this.element.contains(activeElement) || this.element.bib?.contains(activeElement)) {
2765
2884
  return;
2766
2885
  }
2767
- // if fullscreen bib is still open and the focus is missing, do not close
2768
- if (this.element.bib.hasAttribute('isfullscreen') && activeElement === document.body) {
2886
+
2887
+ // if fullscreen bib is in fullscreen mode, do not close
2888
+ if (this.element.bib.hasAttribute('isfullscreen')) {
2769
2889
  return;
2770
2890
  }
2771
2891
 
@@ -3066,8 +3186,6 @@ class AuroFloatingUI {
3066
3186
  this.element.hoverToggle = this.element.floaterConfig.hoverToggle;
3067
3187
  }
3068
3188
 
3069
- document.body.append(this.element.bib);
3070
-
3071
3189
  this.regenerateBibId();
3072
3190
  this.handleTriggerTabIndex();
3073
3191
 
@@ -3298,6 +3416,76 @@ var tokensCss$2 = css`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-d
3298
3416
 
3299
3417
  var colorCss$3 = css`: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)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
3300
3418
 
3419
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
3420
+ // See LICENSE in the project root for license information.
3421
+
3422
+ // ---------------------------------------------------------------------
3423
+
3424
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
3425
+
3426
+ let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
3427
+
3428
+ /* eslint-disable jsdoc/require-param */
3429
+
3430
+ /**
3431
+ * This will register a new custom element with the browser.
3432
+ * @param {String} name - The name of the custom element.
3433
+ * @param {Object} componentClass - The class to register as a custom element.
3434
+ * @returns {void}
3435
+ */
3436
+ registerComponent(name, componentClass) {
3437
+ if (!customElements.get(name)) {
3438
+ customElements.define(name, class extends componentClass {});
3439
+ }
3440
+ }
3441
+
3442
+ /**
3443
+ * Finds and returns the closest HTML Element based on a selector.
3444
+ * @returns {void}
3445
+ */
3446
+ closestElement(
3447
+ selector, // selector like in .closest()
3448
+ base = this, // extra functionality to skip a parent
3449
+ __Closest = (el, found = el && el.closest(selector)) =>
3450
+ !el || el === document || el === window
3451
+ ? null // standard .closest() returns null for non-found selectors also
3452
+ : found
3453
+ ? found // found a selector INside this element
3454
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
3455
+ ) {
3456
+ return __Closest(base);
3457
+ }
3458
+ /* eslint-enable jsdoc/require-param */
3459
+
3460
+ /**
3461
+ * 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.
3462
+ * @param {Object} elem - The element to check.
3463
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
3464
+ * @returns {void}
3465
+ */
3466
+ handleComponentTagRename(elem, tagName) {
3467
+ const tag = tagName.toLowerCase();
3468
+ const elemTag = elem.tagName.toLowerCase();
3469
+
3470
+ if (elemTag !== tag) {
3471
+ elem.setAttribute(tag, true);
3472
+ }
3473
+ }
3474
+
3475
+ /**
3476
+ * Validates if an element is a specific Auro component.
3477
+ * @param {Object} elem - The element to validate.
3478
+ * @param {String} tagName - The name of the Auro component to check against.
3479
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
3480
+ */
3481
+ elementMatch(elem, tagName) {
3482
+ const tag = tagName.toLowerCase();
3483
+ const elemTag = elem.tagName.toLowerCase();
3484
+
3485
+ return elemTag === tag || elem.hasAttribute(tag);
3486
+ }
3487
+ };
3488
+
3301
3489
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3302
3490
  // See LICENSE in the project root for license information.
3303
3491
 
@@ -3317,7 +3505,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
3317
3505
  */
3318
3506
  privateDefaults() {
3319
3507
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
3320
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
3508
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
3321
3509
  }
3322
3510
 
3323
3511
  // function to define props used within the scope of this component
@@ -3399,7 +3587,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
3399
3587
  *
3400
3588
  */
3401
3589
  static register(name = "auro-icon") {
3402
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
3590
+ AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroIcon);
3403
3591
  }
3404
3592
 
3405
3593
  connectedCallback() {
@@ -3467,17 +3655,16 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
3467
3655
 
3468
3656
  var iconVersion$1 = '6.1.2';
3469
3657
 
3470
- var styleCss$1$1 = css`: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}`;
3658
+ var styleCss$1$2 = css`: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}`;
3471
3659
 
3472
- var colorCss$2 = css`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
3660
+ var colorCss$2$1 = css`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
3473
3661
 
3474
- var tokensCss$1 = css`:host(:not([ondark])){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-dropdown-trigger-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-border-color: transparent;--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db);--ds-auro-dropdown-trigger-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-border-color: transparent;--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}`;
3662
+ var tokensCss$1$1 = css`:host(:not([ondark])){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-dropdown-trigger-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-border-color: transparent;--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db);--ds-auro-dropdown-trigger-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-border-color: transparent;--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}`;
3475
3663
 
3476
3664
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3477
3665
  // See LICENSE in the project root for license information.
3478
3666
 
3479
3667
 
3480
-
3481
3668
  const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
3482
3669
  const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
3483
3670
  'xl',
@@ -3502,14 +3689,14 @@ class AuroDropdownBib extends LitElement {
3502
3689
  */
3503
3690
  this._mobileBreakpointValue = undefined;
3504
3691
 
3505
- AuroLibraryRuntimeUtils$1.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
3692
+ AuroLibraryRuntimeUtils$2$1.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
3506
3693
  }
3507
3694
 
3508
3695
  static get styles() {
3509
3696
  return [
3510
- styleCss$1$1,
3511
- colorCss$2,
3512
- tokensCss$1
3697
+ styleCss$1$2,
3698
+ colorCss$2$1,
3699
+ tokensCss$1$1
3513
3700
  ];
3514
3701
  }
3515
3702
 
@@ -3547,6 +3734,13 @@ class AuroDropdownBib extends LitElement {
3547
3734
  type: Boolean,
3548
3735
  reflect: true
3549
3736
  },
3737
+
3738
+ /**
3739
+ * A reference to the associated bib template element.
3740
+ */
3741
+ bibTemplate: {
3742
+ type: Object
3743
+ }
3550
3744
  };
3551
3745
  }
3552
3746
 
@@ -3579,9 +3773,50 @@ class AuroDropdownBib extends LitElement {
3579
3773
  }
3580
3774
  }
3581
3775
  });
3776
+
3777
+ if (this.bibTemplate) {
3778
+ // If the bib template is found, set the fullscreen attribute
3779
+ if (this.isFullscreen) {
3780
+ this.bibTemplate.setAttribute('isFullscreen', 'true');
3781
+ } else {
3782
+ this.bibTemplate.removeAttribute('isFullscreen');
3783
+ }
3784
+ }
3582
3785
  }
3583
3786
  }
3584
3787
 
3788
+ connectedCallback() {
3789
+ super.connectedCallback();
3790
+
3791
+ // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
3792
+ this.addEventListener('auro-bibtemplate-connected', (event) => {
3793
+ const bibTemplate = event.detail.element;
3794
+ this.bibTemplate = bibTemplate;
3795
+
3796
+ if (bibTemplate) {
3797
+ // If the bib template is found, set the fullscreen attribute
3798
+ if (this.isFullscreen) {
3799
+ bibTemplate.setAttribute('isFullscreen', 'true');
3800
+ } else {
3801
+ bibTemplate.removeAttribute('isFullscreen');
3802
+ }
3803
+ }
3804
+ });
3805
+ }
3806
+
3807
+ firstUpdated(changedProperties) {
3808
+ super.firstUpdated(changedProperties);
3809
+
3810
+ // Dispatch a custom event when the component is connected
3811
+ this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
3812
+ bubbles: true,
3813
+ composed: true,
3814
+ detail: {
3815
+ element: this
3816
+ }
3817
+ }));
3818
+ }
3819
+
3585
3820
  // function that renders the HTML and CSS into the scope of the component
3586
3821
  render() {
3587
3822
  return html`
@@ -3594,7 +3829,7 @@ class AuroDropdownBib extends LitElement {
3594
3829
 
3595
3830
  var dropdownVersion$1 = '3.0.0';
3596
3831
 
3597
- var shapeSizeCss = css`.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:58px;max-height:58px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-pill-xl{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-left-xl{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-left-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-right-xl{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-right-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-md{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset}.shape-pill-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-left-md{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset}.shape-pill-left-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-right-md{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset}.shape-pill-right-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}`;
3832
+ var shapeSizeCss = css`.wrapper{overflow:hidden}.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:58px;max-height:58px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-classic-xl.parentBorder,.shape-classic-lg.parentBorder,.shape-classic-md.parentBorder,.shape-classic-sm.parentBorder,.shape-classic-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl.parentBorder,.shape-snowflake-lg.parentBorder,.shape-snowflake-md.parentBorder,.shape-snowflake-sm.parentBorder,.shape-snowflake-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;min-height:52px;max-height:52px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-left-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-left-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-pill-right-xl{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-right-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-right-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-pill-md{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset}.shape-pill-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-md.parentBorder{border:0;min-height:44px;max-height:44px}.shape-pill-left-md{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset}.shape-pill-left-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-left-md.parentBorder{border:0;min-height:44px;max-height:44px}.shape-pill-right-md{min-height:72px;max-height:72px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset}.shape-pill-right-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-right-md.parentBorder{border:0;min-height:44px;max-height:44px}`;
3598
3833
 
3599
3834
  var colorCss$1$1 = css`:host .wrapper{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-background-color);color:var(--ds-auro-dropdown-trigger-text-color)}:host(:not([ondark])) .wrapper:focus,:host(:not([ondark])) .wrapper:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-brand, #00274a)}:host([ondark]) .wrapper:focus,:host([ondark]) .wrapper:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-inverse, #ffffff)}:host([error]:not([ondark])){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([error][ondark]){--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}.helpText{color:var(--ds-auro-dropdown-helptext-text-color)}`;
3600
3835
 
@@ -3602,9 +3837,9 @@ var classicColorCss = css`:host([layout*=classic]) .label{color:var(--ds-auro-dr
3602
3837
 
3603
3838
  var classicLayoutCss = css`:host([layout*=classic]){position:relative;max-width:100%}:host([layout*=classic]) #bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}:host([layout*=classic]) .label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}:host([layout*=classic]) .label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}:host([layout*=classic]) .trigger{display:flex;flex-direction:row}@media(hover: hover){:host([layout*=classic]) .trigger:hover{cursor:pointer}}:host([layout*=classic]) .triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) #showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}:host([layout*=classic]) #showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}:host([layout*=classic]) #showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([layout*=classic][fluid]){display:block}:host([layout*=classic][matchwidth]) #bibSizer{width:100%}:host([layout*=classic][disabled]){pointer-events:none}:host([layout*=classic][inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([layout*=classic][common]) .trigger,:host([layout*=classic][inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([layout*=classic][inset][bordered][labeled]) .trigger{padding:var(--ds-size-100, 0.5rem) var(--ds-size-150, 0.75rem)}:host([layout*=classic][common]) .trigger,:host([layout*=classic][rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
3604
3839
 
3605
- var styleEmphasizedCss = css`:host{display:block}.wrapper{display:flex;flex-direction:column}.trigger{flex:1;display:flex;align-items:center;justify-content:center;outline:none}.triggerContentWrapper{flex:1;display:flex;align-items:center;justify-content:center;width:100%}.triggerContent{overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center;text-overflow:ellipsis;white-space:nowrap;width:100%}:host([layout*=emphasized][shape*=pill]:not([layout*=right])) .leftIndent{margin-left:24px;width:calc(100% - 24px)}:host([layout*=emphasized][shape*=pill]:not([layout*=left])) .rightIndent{margin-right:24px;width:calc(100% - 24px)}:host([layout*=emphasized][shape*=pill]:not([layout*=left]):not([layout*=right])) .rightIndent{margin-right:24px;width:calc(100% - 48px)}`;
3840
+ var styleEmphasizedCss = css`:host{display:block}.layout-emphasized .chevron,.layout-emphasized-left .chevron,.layout-emphasized-right .chevron{margin-right:var(--ds-size-300, 1.5rem)}.wrapper{display:flex;flex-direction:row}.trigger{flex:1;display:flex;align-items:center;justify-content:center;outline:none}.triggerContentWrapper{flex:1;display:flex;align-items:center;justify-content:center;width:100%}.triggerContent{overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center;text-overflow:ellipsis;white-space:nowrap;width:100%}:host([layout*=emphasized][shape*=pill]:not([layout*=right])) .leftIndent{margin-left:var(--ds-size-300, 1.5rem);width:calc(100% - var(--ds-size-300, 1.5rem))}:host([layout*=emphasized][shape*=pill]:not([layout*=left])) .rightIndent{margin-right:var(--ds-size-300, 1.5rem);width:calc(100% - var(--ds-size-300, 1.5rem))}:host([layout*=emphasized][shape*=pill]:not([layout*=left]):not([layout*=right])) .rightIndent{margin-right:var(--ds-size-300, 1.5rem);width:calc(100% - var(--ds-size-600, 3rem))}`;
3606
3841
 
3607
- var styleSnowflakeCss = css`:host{display:block}.wrapper{display:flex;flex-direction:column}.trigger{flex:1;display:flex;align-items:center;justify-content:center;outline:none}.triggerContentWrapper{flex:1;display:flex;align-items:center;justify-content:center;width:100%}.triggerContent{overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center;text-overflow:ellipsis;white-space:nowrap;width:100%}:host([layout*=snowflake]) .leftIndent{margin-left:24px;width:calc(100% - 48px)}:host([layout*=snowflake]) .rightIndent{margin-right:24px;width:calc(100% - 48px)}`;
3842
+ var styleSnowflakeCss = css`:host{display:block}.wrapper{display:flex;flex-direction:wrapper}.trigger{flex:1;display:flex;align-items:center;justify-content:center;outline:none}.triggerContentWrapper{flex:1;display:flex;align-items:center;justify-content:center;width:100%}.triggerContent{overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center;text-overflow:ellipsis;white-space:nowrap;width:100%}:host([layout*=snowflake]) .leftIndent{margin-left:var(--ds-size-300, 1.5rem);width:calc(100% - var(--ds-size-600, 3rem))}:host([layout*=snowflake]) .rightIndent{margin-right:var(--ds-size-300, 1.5rem);width:calc(100% - var(--ds-size-600, 3rem))}.layout-snowflake .chevron,.layout-snowflake-left .chevron,.layout-snowflake-right .chevron{margin-right:var(--ds-size-300, 1.5rem)}`;
3608
3843
 
3609
3844
  var colorCss$4 = css`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
3610
3845
 
@@ -3619,7 +3854,7 @@ var tokensCss$3 = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
3619
3854
 
3620
3855
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
3621
3856
 
3622
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
3857
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
3623
3858
 
3624
3859
  /* eslint-disable jsdoc/require-param */
3625
3860
 
@@ -3691,7 +3926,7 @@ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
3691
3926
  *
3692
3927
  * @attr { Boolean } large - If declared, make font-size to 1rem(16px).
3693
3928
  */
3694
- class AuroHelpText extends LitElement {
3929
+ let AuroHelpText$1 = class AuroHelpText extends LitElement {
3695
3930
 
3696
3931
  constructor() {
3697
3932
  super();
@@ -3700,7 +3935,7 @@ class AuroHelpText extends LitElement {
3700
3935
  this.onDark = false;
3701
3936
  this.hasTextContent = false;
3702
3937
 
3703
- AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-helptext');
3938
+ AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-helptext');
3704
3939
  }
3705
3940
 
3706
3941
  static get styles() {
@@ -3756,7 +3991,7 @@ class AuroHelpText extends LitElement {
3756
3991
  *
3757
3992
  */
3758
3993
  static register(name = "auro-helptext") {
3759
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
3994
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroHelpText);
3760
3995
  }
3761
3996
 
3762
3997
  updated() {
@@ -3810,9 +4045,9 @@ class AuroHelpText extends LitElement {
3810
4045
  </div>
3811
4046
  `;
3812
4047
  }
3813
- }
4048
+ };
3814
4049
 
3815
- var helpTextVersion = '1.0.0';
4050
+ var helpTextVersion$1 = '1.0.0';
3816
4051
 
3817
4052
  let AuroElement$2 = class AuroElement extends LitElement {
3818
4053
  static get properties() {
@@ -3938,6 +4173,7 @@ class AuroDropdown extends AuroElement$2 {
3938
4173
  this.layout = 'classic';
3939
4174
  this.shape = 'rounded';
3940
4175
  this.size = 'xl';
4176
+ this.parentBorder = false;
3941
4177
 
3942
4178
  this.privateDefaults();
3943
4179
  }
@@ -3953,7 +4189,8 @@ class AuroDropdown extends AuroElement$2 {
3953
4189
  'trigger': true,
3954
4190
  'wrapper': true,
3955
4191
  'hasFocus': this.hasFocus,
3956
- 'simple': this.simple
4192
+ 'simple': this.simple,
4193
+ 'parentBorder': this.parentBorder
3957
4194
  };
3958
4195
  }
3959
4196
 
@@ -4005,7 +4242,7 @@ class AuroDropdown extends AuroElement$2 {
4005
4242
  /**
4006
4243
  * @private
4007
4244
  */
4008
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4245
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2$1();
4009
4246
 
4010
4247
  /**
4011
4248
  * @private
@@ -4030,7 +4267,7 @@ class AuroDropdown extends AuroElement$2 {
4030
4267
  /**
4031
4268
  * @private
4032
4269
  */
4033
- this.helpTextTag = versioning.generateTag('auro-formkit-dropdown-helptext', helpTextVersion, AuroHelpText);
4270
+ this.helpTextTag = versioning.generateTag('auro-formkit-dropdown-helptext', helpTextVersion$1, AuroHelpText$1);
4034
4271
 
4035
4272
  /**
4036
4273
  * @private
@@ -4220,6 +4457,15 @@ class AuroDropdown extends AuroElement$2 {
4220
4457
  reflect: true
4221
4458
  },
4222
4459
 
4460
+ /**
4461
+ * Defines if the trigger should size based on the parent element providing the border UI.
4462
+ * @private
4463
+ */
4464
+ parentBorder: {
4465
+ type: Boolean,
4466
+ reflect: true
4467
+ },
4468
+
4223
4469
  /**
4224
4470
  * If declared, the popover and trigger will be set to the same width.
4225
4471
  */
@@ -4322,7 +4568,7 @@ class AuroDropdown extends AuroElement$2 {
4322
4568
  static get styles() {
4323
4569
  return [
4324
4570
  colorCss$1$1,
4325
- tokensCss$1,
4571
+ tokensCss$1$1,
4326
4572
 
4327
4573
  // default layout
4328
4574
  classicColorCss,
@@ -4347,7 +4593,7 @@ class AuroDropdown extends AuroElement$2 {
4347
4593
  *
4348
4594
  */
4349
4595
  static register(name = "auro-dropdown") {
4350
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
4596
+ AuroLibraryRuntimeUtils$2$1.prototype.registerComponent(name, AuroDropdown);
4351
4597
  }
4352
4598
 
4353
4599
  /**
@@ -4683,8 +4929,7 @@ class AuroDropdown extends AuroElement$2 {
4683
4929
  * @param {Event} event - The event object representing the slot change.
4684
4930
  * @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
4685
4931
  */
4686
- handleDefaultSlot(event) {
4687
- [...event.target.assignedNodes()].forEach((node) => this.bibContent.append(node));
4932
+ handleDefaultSlot() {
4688
4933
 
4689
4934
  if (this.onSlotChange) {
4690
4935
  this.onSlotChange();
@@ -4746,6 +4991,7 @@ class AuroDropdown extends AuroElement$2 {
4746
4991
  ${this.chevron || this.common ? html`
4747
4992
  <div
4748
4993
  id="showStateIcon"
4994
+ class="chevron"
4749
4995
  part="chevron">
4750
4996
  <${this.iconTag}
4751
4997
  category="interface"
@@ -4760,9 +5006,6 @@ class AuroDropdown extends AuroElement$2 {
4760
5006
  <div class="${classMap(helpTextClasses)}">
4761
5007
  <slot name="helpText"></slot>
4762
5008
  </div>
4763
- <div class="slotContent">
4764
- <slot @slotchange="${this.handleDefaultSlot}"></slot>
4765
- </div>
4766
5009
  <div id="bibSizer" part="size"></div>
4767
5010
  <${this.dropdownBibTag}
4768
5011
  id="bib"
@@ -4771,6 +5014,9 @@ class AuroDropdown extends AuroElement$2 {
4771
5014
  ?common="${this.common}"
4772
5015
  ?rounded="${this.common || this.rounded}"
4773
5016
  ?inset="${this.common || this.inset}">
5017
+ <div class="slotContent">
5018
+ <slot @slotchange="${this.handleDefaultSlot}"></slot>
5019
+ </div>
4774
5020
  </${this.dropdownBibTag}>
4775
5021
  </div>
4776
5022
  `;
@@ -4782,106 +5028,102 @@ class AuroDropdown extends AuroElement$2 {
4782
5028
  * @returns {html} - Returns HTML for the classic layout.
4783
5029
  */
4784
5030
  renderLayoutClassic() {
4785
- const helpTextClasses = {
4786
- 'helpText': true,
4787
- 'leftIndent': false,
4788
- 'rightIndent': false
4789
- };
4790
-
4791
- return html`
4792
- ${this.renderBasicHtml(helpTextClasses)}
4793
- `;
4794
- // return html`
4795
- // <div>
4796
- // <div
4797
- // id="trigger"
4798
- // class="trigger"
4799
- // part="trigger"
4800
- // tabindex="${this.tabIndex}"
4801
- // ?showBorder="${this.showTriggerBorders}"
4802
- // role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
4803
- // aria-expanded="${ifDefined(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
4804
- // aria-controls="${ifDefined(this.triggerContentFocusable ? undefined : this.dropdownId)}"
4805
- // aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
4806
- // >
4807
- // <div class="triggerContentWrapper">
4808
- // <label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
4809
- // <slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
4810
- // </label>
4811
- // <div class="triggerContent">
4812
- // <slot
4813
- // name="trigger"
4814
- // @slotchange="${this.handleTriggerContentSlotChange}"></slot>
4815
- // </div>
4816
- // </div>
4817
- // ${this.chevron || this.common ? html`
4818
- // <div
4819
- // id="showStateIcon"
4820
- // part="chevron">
4821
- // <${this.iconTag}
4822
- // category="interface"
4823
- // name="chevron-down"
4824
- // ?onDark="${this.onDark}"
4825
- // variant="${this.disabled ? 'disabled' : 'muted'}">
4826
- // >
4827
- // </${this.iconTag}>
4828
- // </div>
4829
- // ` : undefined }
4830
- // </div>
4831
- // <div class="slotContent">
4832
- // <slot @slotchange="${this.handleDefaultSlot}"></slot>
4833
- // </div>
4834
- // <div id="bibSizer" part="size"></div>
4835
- // <${this.dropdownBibTag}
4836
- // id="bib"
4837
- // ?data-show="${this.isPopoverVisible}"
4838
- // ?isfullscreen="${this.isBibFullscreen}"
4839
- // ?common="${this.common}"
4840
- // ?rounded="${this.common || this.rounded}"
4841
- // ?inset="${this.common || this.inset}"
4842
- // >
4843
- // </${this.dropdownBibTag}>
4844
- // </div>
4845
- // `;
4846
- }
4847
-
4848
- /**
4849
- * Returns HTML for the snowflake layout. Does not support type="*".
4850
- * @private
4851
- * @returns {html} - Returns HTML for the snowflake layout.
4852
- */
4853
- renderLayoutSnowflake() {
4854
- const helpTextClasses = {
4855
- 'helpText': true,
4856
- 'leftIndent': true,
4857
- 'rightIndent': true
4858
- };
4859
-
4860
- return html`
4861
- ${this.renderBasicHtml(helpTextClasses)}
4862
- `;
4863
- }
4864
-
4865
- /**
4866
- * Returns HTML for the emphasized layout. Does not support type="*".
4867
- * @private
4868
- * @returns {html} - Returns HTML for the emphasized layout.
4869
- */
4870
- renderLayoutEmphasized() {
4871
- const helpTextClasses = {
4872
- 'helpText': true,
4873
- 'leftIndent': this.shape.toLowerCase().includes('pill') && !this.shape.toLowerCase().includes('right'),
4874
- 'rightIndent': this.shape.toLowerCase().includes('pill') && !this.shape.toLowerCase().includes('left')
4875
- };
4876
5031
 
4877
5032
  return html`
4878
- ${this.renderBasicHtml(helpTextClasses)}
4879
- `;
4880
- }
4881
-
4882
- /**
4883
- * Logic to determine the layout of the component.
4884
- * @private
5033
+ <div>
5034
+ <div
5035
+ id="trigger"
5036
+ class="trigger"
5037
+ part="trigger"
5038
+ tabindex="${this.tabIndex}"
5039
+ ?showBorder="${this.showTriggerBorders}"
5040
+ role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
5041
+ aria-expanded="${ifDefined(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
5042
+ aria-controls="${ifDefined(this.triggerContentFocusable ? undefined : this.dropdownId)}"
5043
+ aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
5044
+ >
5045
+ <div class="triggerContentWrapper">
5046
+ <label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
5047
+ <slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
5048
+ </label>
5049
+ <div class="triggerContent">
5050
+ <slot
5051
+ name="trigger"
5052
+ @slotchange="${this.handleTriggerContentSlotChange}"></slot>
5053
+ </div>
5054
+ </div>
5055
+ ${this.chevron || this.common ? html`
5056
+ <div
5057
+ id="showStateIcon"
5058
+ part="chevron">
5059
+ <${this.iconTag}
5060
+ category="interface"
5061
+ name="chevron-down"
5062
+ ?onDark="${this.onDark}"
5063
+ variant="${this.disabled ? 'disabled' : 'muted'}">
5064
+ >
5065
+ </${this.iconTag}>
5066
+ </div>
5067
+ ` : undefined }
5068
+ </div>
5069
+ <${this.helpTextTag} part="helpText" ?onDark=${this.onDark} ?error="${this.error}">
5070
+ <slot name="helpText"></slot>
5071
+ </${this.helpTextTag}>
5072
+
5073
+ <div id="bibSizer" part="size"></div>
5074
+ <${this.dropdownBibTag}
5075
+ id="bib"
5076
+ ?data-show="${this.isPopoverVisible}"
5077
+ ?isfullscreen="${this.isBibFullscreen}"
5078
+ ?common="${this.common}"
5079
+ ?rounded="${this.common || this.rounded}"
5080
+ ?inset="${this.common || this.inset}"
5081
+ >
5082
+ <div class="slotContent">
5083
+ <slot @slotchange="${this.handleDefaultSlot}"></slot>
5084
+ </div>
5085
+ </${this.dropdownBibTag}>
5086
+ </div>
5087
+ `;
5088
+ }
5089
+
5090
+ /**
5091
+ * Returns HTML for the snowflake layout. Does not support type="*".
5092
+ * @private
5093
+ * @returns {html} - Returns HTML for the snowflake layout.
5094
+ */
5095
+ renderLayoutSnowflake() {
5096
+ const helpTextClasses = {
5097
+ 'helpText': true,
5098
+ 'leftIndent': true,
5099
+ 'rightIndent': true
5100
+ };
5101
+
5102
+ return html`
5103
+ ${this.renderBasicHtml(helpTextClasses)}
5104
+ `;
5105
+ }
5106
+
5107
+ /**
5108
+ * Returns HTML for the emphasized layout. Does not support type="*".
5109
+ * @private
5110
+ * @returns {html} - Returns HTML for the emphasized layout.
5111
+ */
5112
+ renderLayoutEmphasized() {
5113
+ const helpTextClasses = {
5114
+ 'helpText': true,
5115
+ 'leftIndent': this.shape.toLowerCase().includes('pill') && !this.shape.toLowerCase().includes('right'),
5116
+ 'rightIndent': this.shape.toLowerCase().includes('pill') && !this.shape.toLowerCase().includes('left')
5117
+ };
5118
+
5119
+ return html`
5120
+ ${this.renderBasicHtml(helpTextClasses)}
5121
+ `;
5122
+ }
5123
+
5124
+ /**
5125
+ * Logic to determine the layout of the component.
5126
+ * @private
4885
5127
  * @param {string} [ForcedLayout] - Used to force a specific layout, pass in the layout name to use.
4886
5128
  * @returns {HTMLCollection} - Returns the HTML for the layout.
4887
5129
  */
@@ -4922,7 +5164,7 @@ var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-
4922
5164
 
4923
5165
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
4924
5166
 
4925
- class AuroLibraryRuntimeUtils {
5167
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
4926
5168
 
4927
5169
  /* eslint-disable jsdoc/require-param */
4928
5170
 
@@ -4983,7 +5225,7 @@ class AuroLibraryRuntimeUtils {
4983
5225
 
4984
5226
  return elemTag === tag || elem.hasAttribute(tag);
4985
5227
  }
4986
- }
5228
+ };
4987
5229
 
4988
5230
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
4989
5231
  // See LICENSE in the project root for license information.
@@ -5091,7 +5333,7 @@ const cacheFetch = (uri, options = {}) => {
5091
5333
  return _fetchMap.get(uri);
5092
5334
  };
5093
5335
 
5094
- var styleCss$1 = css`:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}svg{min-width:var(--ds-auro-icon-size, 1.5rem) !important;width:var(--ds-auro-icon-size, 1.5rem) !important;height:var(--ds-auro-icon-size, 1.5rem) !important}.componentWrapper{display:flex}.svgWrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.labelWrapper{margin-left:var(--ds-size-50, 0.25rem);line-height:1.8}`;
5336
+ var styleCss$1$1 = css`:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}svg{min-width:var(--ds-auro-icon-size, 1.5rem) !important;width:var(--ds-auro-icon-size, 1.5rem) !important;height:var(--ds-auro-icon-size, 1.5rem) !important}.componentWrapper{display:flex}.svgWrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.labelWrapper{margin-left:var(--ds-size-50, 0.25rem);line-height:1.8}`;
5095
5337
 
5096
5338
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
5097
5339
  // See LICENSE in the project root for license information.
@@ -5134,7 +5376,7 @@ class BaseIcon extends AuroElement {
5134
5376
 
5135
5377
  static get styles() {
5136
5378
  return css`
5137
- ${styleCss$1}
5379
+ ${styleCss$1$1}
5138
5380
  `;
5139
5381
  }
5140
5382
 
@@ -5175,9 +5417,79 @@ class BaseIcon extends AuroElement {
5175
5417
  }
5176
5418
  }
5177
5419
 
5178
- var tokensCss = css`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-alaska-color:#02426D;--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}`;
5420
+ var tokensCss$1 = css`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-alaska-color:#02426D;--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}`;
5421
+
5422
+ var colorCss$2 = css`: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)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
5179
5423
 
5180
- var colorCss = css`: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)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
5424
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
5425
+ // See LICENSE in the project root for license information.
5426
+
5427
+ // ---------------------------------------------------------------------
5428
+
5429
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5430
+
5431
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
5432
+
5433
+ /* eslint-disable jsdoc/require-param */
5434
+
5435
+ /**
5436
+ * This will register a new custom element with the browser.
5437
+ * @param {String} name - The name of the custom element.
5438
+ * @param {Object} componentClass - The class to register as a custom element.
5439
+ * @returns {void}
5440
+ */
5441
+ registerComponent(name, componentClass) {
5442
+ if (!customElements.get(name)) {
5443
+ customElements.define(name, class extends componentClass {});
5444
+ }
5445
+ }
5446
+
5447
+ /**
5448
+ * Finds and returns the closest HTML Element based on a selector.
5449
+ * @returns {void}
5450
+ */
5451
+ closestElement(
5452
+ selector, // selector like in .closest()
5453
+ base = this, // extra functionality to skip a parent
5454
+ __Closest = (el, found = el && el.closest(selector)) =>
5455
+ !el || el === document || el === window
5456
+ ? null // standard .closest() returns null for non-found selectors also
5457
+ : found
5458
+ ? found // found a selector INside this element
5459
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
5460
+ ) {
5461
+ return __Closest(base);
5462
+ }
5463
+ /* eslint-enable jsdoc/require-param */
5464
+
5465
+ /**
5466
+ * 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.
5467
+ * @param {Object} elem - The element to check.
5468
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
5469
+ * @returns {void}
5470
+ */
5471
+ handleComponentTagRename(elem, tagName) {
5472
+ const tag = tagName.toLowerCase();
5473
+ const elemTag = elem.tagName.toLowerCase();
5474
+
5475
+ if (elemTag !== tag) {
5476
+ elem.setAttribute(tag, true);
5477
+ }
5478
+ }
5479
+
5480
+ /**
5481
+ * Validates if an element is a specific Auro component.
5482
+ * @param {Object} elem - The element to validate.
5483
+ * @param {String} tagName - The name of the Auro component to check against.
5484
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
5485
+ */
5486
+ elementMatch(elem, tagName) {
5487
+ const tag = tagName.toLowerCase();
5488
+ const elemTag = elem.tagName.toLowerCase();
5489
+
5490
+ return elemTag === tag || elem.hasAttribute(tag);
5491
+ }
5492
+ };
5181
5493
 
5182
5494
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
5183
5495
  // See LICENSE in the project root for license information.
@@ -5198,7 +5510,7 @@ class AuroIcon extends BaseIcon {
5198
5510
  */
5199
5511
  privateDefaults() {
5200
5512
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
5201
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
5513
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
5202
5514
  }
5203
5515
 
5204
5516
  // function to define props used within the scope of this component
@@ -5265,9 +5577,9 @@ class AuroIcon extends BaseIcon {
5265
5577
  static get styles() {
5266
5578
  return [
5267
5579
  super.styles,
5268
- css`${tokensCss}`,
5269
- css`${styleCss$1}`,
5270
- css`${colorCss}`
5580
+ css`${tokensCss$1}`,
5581
+ css`${styleCss$1$1}`,
5582
+ css`${colorCss$2}`
5271
5583
  ];
5272
5584
  }
5273
5585
 
@@ -5280,7 +5592,7 @@ class AuroIcon extends BaseIcon {
5280
5592
  *
5281
5593
  */
5282
5594
  static register(name = "auro-icon") {
5283
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
5595
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroIcon);
5284
5596
  }
5285
5597
 
5286
5598
  connectedCallback() {
@@ -5377,7 +5689,7 @@ class AuroHeader extends LitElement {
5377
5689
  /**
5378
5690
  * @private
5379
5691
  */
5380
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
5692
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
5381
5693
  }
5382
5694
 
5383
5695
  // function to define props used within the scope of this component
@@ -5407,7 +5719,7 @@ class AuroHeader extends LitElement {
5407
5719
  *
5408
5720
  */
5409
5721
  static register(name = "auro-header") {
5410
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroHeader);
5722
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroHeader);
5411
5723
  }
5412
5724
 
5413
5725
  firstUpdated() {
@@ -5503,7 +5815,7 @@ class AuroBibtemplate extends LitElement {
5503
5815
 
5504
5816
  this.large = false;
5505
5817
 
5506
- AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
5818
+ AuroLibraryRuntimeUtils$1.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
5507
5819
 
5508
5820
  const versioning = new AuroDependencyVersioning();
5509
5821
  this.iconTag = versioning.generateTag('auro-formkit-bibtemplate-icon', iconVersion, AuroIcon);
@@ -5542,7 +5854,7 @@ class AuroBibtemplate extends LitElement {
5542
5854
  *
5543
5855
  */
5544
5856
  static register(name = "auro-bibtemplate") {
5545
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroBibtemplate);
5857
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroBibtemplate);
5546
5858
  }
5547
5859
 
5548
5860
  /**
@@ -5582,6 +5894,18 @@ class AuroBibtemplate extends LitElement {
5582
5894
  this.setAttribute('exportparts', 'bibtemplate:dropdownBibTemplate');
5583
5895
  }
5584
5896
 
5897
+ firstUpdated(changedProperties) {
5898
+ super.firstUpdated(changedProperties);
5899
+
5900
+ this.dispatchEvent(new CustomEvent("auro-bibtemplate-connected", {
5901
+ bubbles: true,
5902
+ composed: true,
5903
+ detail: {
5904
+ element: this
5905
+ }
5906
+ }));
5907
+ }
5908
+
5585
5909
  // function that renders the HTML and CSS into the scope of the component
5586
5910
  render() {
5587
5911
  return html`
@@ -5599,20 +5923,228 @@ class AuroBibtemplate extends LitElement {
5599
5923
  </span>
5600
5924
  </div>` : null}
5601
5925
 
5602
- <div id="bodyContainer">
5603
- <slot></slot>
5604
- </div>
5926
+ <div id="bodyContainer">
5927
+ <slot></slot>
5928
+ </div>
5929
+
5930
+ ${this.isFullscreen ? html`
5931
+ <div id="footerContainer">
5932
+ <slot name="footer"></slot>
5933
+ </div>` : null}
5934
+ </div>
5935
+ `;
5936
+ }
5937
+ }
5938
+
5939
+ var bibTemplateVersion = '1.0.0';
5940
+
5941
+ var colorCss = css`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
5942
+
5943
+ var styleCss$1 = css`.helptext-wrapper{display:none;font-size:var(--ds-basic-text-body-xs-font-size, 12px);font-weight:var(--ds-basic-text-body-xs-font-weight, 450);letter-spacing:var(--ds-basic-text-body-xs-letter-spacing, 0);line-height:var(--ds-basic-text-body-xs-line-height, 16px)}:host([large]) .helptext-wrapper{font-size:var(--ds-basic-text-body-default-font-size, 16px);font-weight:var(--ds-basic-text-body-default-font-weight, 450);letter-spacing:var(--ds-basic-text-body-default-letter-spacing, 0);line-height:var(--ds-basic-text-body-default-line-height, 24px)}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
5944
+
5945
+ var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
5946
+
5947
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
5948
+ // See LICENSE in the project root for license information.
5949
+
5950
+ // ---------------------------------------------------------------------
5951
+
5952
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
5953
+
5954
+ class AuroLibraryRuntimeUtils {
5955
+
5956
+ /* eslint-disable jsdoc/require-param */
5957
+
5958
+ /**
5959
+ * This will register a new custom element with the browser.
5960
+ * @param {String} name - The name of the custom element.
5961
+ * @param {Object} componentClass - The class to register as a custom element.
5962
+ * @returns {void}
5963
+ */
5964
+ registerComponent(name, componentClass) {
5965
+ if (!customElements.get(name)) {
5966
+ customElements.define(name, class extends componentClass {});
5967
+ }
5968
+ }
5969
+
5970
+ /**
5971
+ * Finds and returns the closest HTML Element based on a selector.
5972
+ * @returns {void}
5973
+ */
5974
+ closestElement(
5975
+ selector, // selector like in .closest()
5976
+ base = this, // extra functionality to skip a parent
5977
+ __Closest = (el, found = el && el.closest(selector)) =>
5978
+ !el || el === document || el === window
5979
+ ? null // standard .closest() returns null for non-found selectors also
5980
+ : found
5981
+ ? found // found a selector INside this element
5982
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
5983
+ ) {
5984
+ return __Closest(base);
5985
+ }
5986
+ /* eslint-enable jsdoc/require-param */
5987
+
5988
+ /**
5989
+ * 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.
5990
+ * @param {Object} elem - The element to check.
5991
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
5992
+ * @returns {void}
5993
+ */
5994
+ handleComponentTagRename(elem, tagName) {
5995
+ const tag = tagName.toLowerCase();
5996
+ const elemTag = elem.tagName.toLowerCase();
5997
+
5998
+ if (elemTag !== tag) {
5999
+ elem.setAttribute(tag, true);
6000
+ }
6001
+ }
6002
+
6003
+ /**
6004
+ * Validates if an element is a specific Auro component.
6005
+ * @param {Object} elem - The element to validate.
6006
+ * @param {String} tagName - The name of the Auro component to check against.
6007
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
6008
+ */
6009
+ elementMatch(elem, tagName) {
6010
+ const tag = tagName.toLowerCase();
6011
+ const elemTag = elem.tagName.toLowerCase();
6012
+
6013
+ return elemTag === tag || elem.hasAttribute(tag);
6014
+ }
6015
+ }
6016
+
6017
+ // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6018
+ // See LICENSE in the project root for license information.
6019
+
6020
+
6021
+ /**
6022
+ * Displays help text or error messages within form elements - Internal Use Only.
6023
+ *
6024
+ * @attr { Boolean } large - If declared, make font-size to 1rem(16px).
6025
+ */
6026
+ class AuroHelpText extends LitElement {
6027
+
6028
+ constructor() {
6029
+ super();
6030
+
6031
+ this.error = false;
6032
+ this.onDark = false;
6033
+ this.hasTextContent = false;
6034
+
6035
+ AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-helptext');
6036
+ }
6037
+
6038
+ static get styles() {
6039
+ return [
6040
+ colorCss,
6041
+ styleCss$1,
6042
+ tokensCss
6043
+ ];
6044
+ }
6045
+
6046
+ // function to define props used within the scope of this component
6047
+ static get properties() {
6048
+ return {
6049
+
6050
+ /**
6051
+ * @private
6052
+ */
6053
+ slotNodes: {
6054
+ type: Boolean,
6055
+ },
6056
+
6057
+ /**
6058
+ * @private
6059
+ */
6060
+ hasTextContent: {
6061
+ type: Boolean,
6062
+ },
6063
+
6064
+ /**
6065
+ * If declared, make font color red.
6066
+ */
6067
+ error: {
6068
+ type: Boolean,
6069
+ reflect: true,
6070
+ },
6071
+
6072
+ /**
6073
+ * If declared, will apply onDark styles.
6074
+ */
6075
+ onDark: {
6076
+ type: Boolean,
6077
+ reflect: true
6078
+ }
6079
+ };
6080
+ }
6081
+
6082
+ /**
6083
+ * This will register this element with the browser.
6084
+ * @param {string} [name="auro-helptext"] - The name of element that you want to register to.
6085
+ *
6086
+ * @example
6087
+ * AuroCheckbox.register("custom-helptext") // this will register this element to <custom-helptext/>
6088
+ *
6089
+ */
6090
+ static register(name = "auro-helptext") {
6091
+ AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroHelpText);
6092
+ }
6093
+
6094
+ updated() {
6095
+ this.handleSlotChange();
6096
+ }
6097
+
6098
+ handleSlotChange(event) {
6099
+ if (event) {
6100
+ this.slotNodes = event.target.assignedNodes();
6101
+ }
6102
+
6103
+ this.hasTextContent = this.checkSlotsForContent(this.slotNodes);
6104
+ }
6105
+
6106
+ /**
6107
+ * Checks if any of the provided nodes or their nested slot nodes contain non-empty text content.
6108
+ *
6109
+ * @param {NodeList|Array} nodes - The list of nodes to check for content.
6110
+ * @returns {boolean} - Returns true if any node or nested slot node contains non-empty text content, otherwise false.
6111
+ * @private
6112
+ */
6113
+ checkSlotsForContent(nodes) {
6114
+ if (!nodes) {
6115
+ return false;
6116
+ }
6117
+
6118
+ return nodes.some((node) => {
6119
+ if (node.textContent.trim()) {
6120
+ return true;
6121
+ }
6122
+
6123
+ if (!node.querySelector) {
6124
+ return false;
6125
+ }
6126
+
6127
+ const nestedSlot = node.tagName === 'SLOT' ? node : node.querySelector('slot');
6128
+ if (!nestedSlot) {
6129
+ return false;
6130
+ }
6131
+
6132
+ const nestedSlotNodes = nestedSlot.assignedNodes();
6133
+ return this.checkSlotsForContent(nestedSlotNodes);
6134
+ });
6135
+ }
5605
6136
 
5606
- ${this.isFullscreen ? html`
5607
- <div id="footerContainer">
5608
- <slot name="footer"></slot>
5609
- </div>` : null}
6137
+ // function that renders the HTML and CSS into the scope of the component
6138
+ render() {
6139
+ return html$1`
6140
+ <div class="helptext-wrapper" ?visible="${this.hasTextContent}">
6141
+ <slot @slotchange=${this.handleSlotChange}></slot>
5610
6142
  </div>
5611
- `;
6143
+ `;
5612
6144
  }
5613
6145
  }
5614
6146
 
5615
- var bibTemplateVersion = '1.0.0';
6147
+ var helpTextVersion = '1.0.0';
5616
6148
 
5617
6149
  css`:focus:not(:focus-visible){outline:3px solid transparent}:host{display:inline-block;width:100%;margin:0;padding:0;vertical-align:middle}:host ::slotted(auro-menuoption),:host ::slotted([auro-menuoption]),:host auro-menuoption[loadingplaceholder]{padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem))}:host ::slotted([selected]){padding-left:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host([nocheckmark]) ::slotted(auro-menuoption),:host([nocheckmark]) auro-menuoption[loadingplaceholder]{padding-left:var(--ds-size-200, 1rem)}:host([root]){overflow-y:auto}[loadingplaceholder].empty{opacity:0;position:absolute}[loadingplaceholder] slot[name=loadingIcon]{vertical-align:middle;line-height:1;display:inline-block}[loadingplaceholder] slot[name=loadingIcon]::slotted(*){margin-right:var(--ds-size-150, 0.75rem)}`;
5618
6150
 
@@ -5675,7 +6207,7 @@ css`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-default, #2a2a2a);-
5675
6207
 
5676
6208
  css`: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)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
5677
6209
 
5678
- var styleCss = css`:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}[slot=trigger]{width:100%;padding:0;border:0;cursor:pointer;font-family:inherit;font-size:inherit;text-align:left}[slot=trigger] .nestingSpacer{display:none}[slot=trigger] #placeholder.hidden{position:absolute;z-index:-1;opacity:0;pointer-events:none}:host .nativeSelectWrapper{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0, 0, 0, 0);opacity:.01}:host [auro-dropdown]{position:relative}:host [auro-dropdown]::part(trigger){max-height:var(--ds-size-300, 1.5rem)}:host [auro-dropdown]::part(popover){max-width:-webkit-fill-available;overflow-y:scroll}:host([disabled]) *{user-select:none}.outerWrapper{position:relative}auro-menuoption{padding:0;pointer-events:none}.menuWrapper{padding:var(--ds-size-50, 0.25rem) 0}:host([multiselect]) [slot=trigger]{display:flex}:host([multiselect]) auro-menuoption:not(:first-child){margin-left:var(--ds-size-100)}#slotHolder{display:none}`;
6210
+ var styleCss = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color)}.mainContent{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;justify-content:center;align-items:center}::slotted([slot=typeIcon]){margin-right:8px}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;align-items:center;justify-content:center;width:100%;padding:0 8px 0 24px}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([disabled]) *{user-select:none}`;
5679
6211
 
5680
6212
  // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
5681
6213
  // See LICENSE in the project root for license information.
@@ -5698,7 +6230,7 @@ var styleCss = css`:focus:not(:focus-visible){outline:3px solid transparent}.uti
5698
6230
  */
5699
6231
 
5700
6232
  // build the component class
5701
- class AuroSelect extends LitElement {
6233
+ class AuroSelect extends AuroElement$3 {
5702
6234
  constructor() {
5703
6235
  super();
5704
6236
 
@@ -5708,12 +6240,21 @@ class AuroSelect extends LitElement {
5708
6240
  const idSubstrEnd = 8;
5709
6241
  const idSubstrStart = 2;
5710
6242
 
6243
+ this.matchWidth = true;
6244
+
6245
+ // Layout Config
6246
+ this.layout = 'classic';
6247
+ this.shape = 'classic';
6248
+ this.size = 'xl';
6249
+
5711
6250
  // floaterConfig
5712
6251
  this.placement = 'bottom-start';
5713
6252
  this.offset = 0;
5714
6253
  this.noFlip = false;
5715
6254
  this.autoPlacement = false;
5716
6255
 
6256
+ this.forceDisplayValue = false;
6257
+
5717
6258
  /**
5718
6259
  * @private
5719
6260
  */
@@ -5729,7 +6270,7 @@ class AuroSelect extends LitElement {
5729
6270
  /**
5730
6271
  * @private
5731
6272
  */
5732
- this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
6273
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
5733
6274
 
5734
6275
  /**
5735
6276
  * Generate unique names for dependency components.
@@ -5746,10 +6287,25 @@ class AuroSelect extends LitElement {
5746
6287
  */
5747
6288
  this.bibtemplateTag = versioning.generateTag('auro-formkit-select-bibtemplate', bibTemplateVersion, AuroBibtemplate);
5748
6289
 
6290
+ /**
6291
+ * @private
6292
+ */
6293
+ this.helpTextTag = versioning.generateTag('auro-formkit-input-helptext', helpTextVersion, AuroHelpText);
6294
+
5749
6295
  /**
5750
6296
  * @private
5751
6297
  */
5752
6298
  this.isHiddenWhileLoading = false;
6299
+
6300
+ /**
6301
+ * @private
6302
+ */
6303
+ this.hasFocus = false;
6304
+
6305
+ /**
6306
+ * @private
6307
+ */
6308
+ this.hasDisplayValueContent = false;
5753
6309
  }
5754
6310
 
5755
6311
  /**
@@ -5763,6 +6319,7 @@ class AuroSelect extends LitElement {
5763
6319
  this.value = undefined;
5764
6320
  this.fullscreenBreakpoint = 'sm';
5765
6321
  this.onDark = false;
6322
+ this.isPopoverVisible = false;
5766
6323
  }
5767
6324
 
5768
6325
  // This function is to define props used within the scope of this component
@@ -5779,6 +6336,14 @@ class AuroSelect extends LitElement {
5779
6336
  reflect: true
5780
6337
  },
5781
6338
 
6339
+ /**
6340
+ * If declared, the label and value will be visually hidden and the displayValue will render 100% of the time.
6341
+ */
6342
+ forceDisplayValue: {
6343
+ type: Boolean,
6344
+ reflect: true
6345
+ },
6346
+
5782
6347
  /**
5783
6348
  * If declared, bib's position will be automatically calculated where to appear.
5784
6349
  * @default false
@@ -5796,6 +6361,22 @@ class AuroSelect extends LitElement {
5796
6361
  reflect: true
5797
6362
  },
5798
6363
 
6364
+ /**
6365
+ * @private
6366
+ */
6367
+ isPopoverVisible: {
6368
+ type: Boolean,
6369
+ reflect: false
6370
+ },
6371
+
6372
+ /**
6373
+ * If declared, the popover and trigger will be set to the same width.
6374
+ */
6375
+ matchWidth: {
6376
+ type: Boolean,
6377
+ reflect: true
6378
+ },
6379
+
5799
6380
  /**
5800
6381
  * The name for the select element.
5801
6382
  */
@@ -5985,12 +6566,45 @@ class AuroSelect extends LitElement {
5985
6566
  type: Boolean,
5986
6567
  reflect: true,
5987
6568
  attribute: false
5988
- }
6569
+ },
6570
+
6571
+ /**
6572
+ * @private
6573
+ */
6574
+ hasFocus: {
6575
+ type: Boolean,
6576
+ reflect: false,
6577
+ attribute: false
6578
+ },
6579
+
6580
+ /**
6581
+ * @private
6582
+ */
6583
+ hasDisplayValueContent: {
6584
+ type: Boolean,
6585
+ reflect: false,
6586
+ attribute: false
6587
+ },
5989
6588
  };
5990
6589
  }
5991
6590
 
5992
6591
  static get styles() {
5993
- return [styleCss];
6592
+ return [
6593
+ css`${shapeSizeCss$1}`,
6594
+ css`${tokensCss$4}`,
6595
+ css`${styleCss}`,
6596
+ ];
6597
+ }
6598
+
6599
+ /**
6600
+ * Returns classmap configuration for wrapper elements in each layout.
6601
+ * @private
6602
+ * @return {object} - Returns classmap.
6603
+ */
6604
+ get commonWrapperClasses() {
6605
+ return {
6606
+ 'wrapper': true
6607
+ };
5994
6608
  }
5995
6609
 
5996
6610
  /**
@@ -6000,11 +6614,13 @@ class AuroSelect extends LitElement {
6000
6614
  */
6001
6615
  configureDropdown() {
6002
6616
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
6003
- this.menuWrapper = this.dropdown.querySelector('.menuWrapper');
6617
+
6618
+ this.dropdown.addEventListener('auroDropdown-toggled', () => {
6619
+ this.isPopoverVisible = this.dropdown.isPopoverVisible;
6620
+ });
6004
6621
 
6005
6622
  // setting up bibtemplate
6006
6623
  this.bibtemplate = this.dropdown.querySelector(this.bibtemplateTag._$litStatic$); // eslint-disable-line no-underscore-dangle
6007
- this.bibtemplate.append(this.menuWrapper);
6008
6624
 
6009
6625
  if (this.customBibWidth) {
6010
6626
  this.dropdown.dropdownWidth = this.customBibWidth;
@@ -6023,7 +6639,7 @@ class AuroSelect extends LitElement {
6023
6639
  *
6024
6640
  */
6025
6641
  static register(name = "auro-select") {
6026
- AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroSelect);
6642
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroSelect);
6027
6643
  }
6028
6644
 
6029
6645
  /**
@@ -6034,21 +6650,34 @@ class AuroSelect extends LitElement {
6034
6650
  updateDisplayedValue() {
6035
6651
  const triggerContentEl = this.dropdown.querySelector('#triggerFocus');
6036
6652
 
6037
- const valueText = triggerContentEl.querySelector("#valueText");
6038
- valueText.textContent = '';
6653
+ // Clear out old value
6654
+ const valueElem = triggerContentEl.querySelector('#value');
6655
+ if (valueElem) {
6656
+ valueElem.innerHTML = '';
6657
+ }
6658
+
6659
+ const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
6660
+ const slottedElements = slot.assignedElements();
6661
+
6662
+ slottedElements.forEach((element) => {
6663
+ element.remove();
6664
+ });
6039
6665
 
6040
6666
  // Handle selected options
6041
6667
  if (this.optionSelected) {
6042
- let displayText = '';
6043
-
6044
6668
  if (this.multiSelect && this.optionSelected.length > 0) {
6045
- // Create display text from selected options
6046
- displayText = this.optionSelected.map((option) => option.textContent).join(', ');
6669
+ const displayText = this.optionSelected.map((option) => option.textContent).join(', ');
6670
+
6671
+ valueElem.textContent = displayText;
6047
6672
  } else {
6048
- displayText = this.optionSelected.textContent;
6049
- }
6673
+ valueElem.innerHTML = this.optionSelected.innerHTML;
6674
+ const displayValueEl = this.optionSelected.querySelector("[slot='displayValue']");
6050
6675
 
6051
- valueText.textContent = displayText;
6676
+ if (displayValueEl) {
6677
+ this.appendChild(displayValueEl.cloneNode(true));
6678
+ }
6679
+ this.hasDisplayValueContent = displayValueEl !== null;
6680
+ }
6052
6681
  }
6053
6682
 
6054
6683
  this.dropdown.requestUpdate();
@@ -6127,8 +6756,6 @@ class AuroSelect extends LitElement {
6127
6756
  * @returns {void}
6128
6757
  */
6129
6758
  configureSelect() {
6130
- // inject menu into menuWrapper
6131
- this.menuWrapper.append(this.menu);
6132
6759
 
6133
6760
  this.addEventListener('keydown', (evt) => {
6134
6761
  if (evt.key === 'ArrowUp') {
@@ -6182,6 +6809,7 @@ class AuroSelect extends LitElement {
6182
6809
 
6183
6810
  this.addEventListener('blur', () => {
6184
6811
  this.validation.validate(this);
6812
+ this.hasFocus = false;
6185
6813
  });
6186
6814
  }
6187
6815
 
@@ -6257,6 +6885,7 @@ class AuroSelect extends LitElement {
6257
6885
  */
6258
6886
  handleFocusin() {
6259
6887
 
6888
+ this.hasFocus = true;
6260
6889
  this.touched = true;
6261
6890
  }
6262
6891
 
@@ -6465,11 +7094,288 @@ class AuroSelect extends LitElement {
6465
7094
  }
6466
7095
  }
6467
7096
 
7097
+ renderAriaHtml() {
7098
+ return html`
7099
+ <div aria-live="polite" class="util_displayHiddenVisually">
7100
+ ${this.optionActive && this.options.length > 0
7101
+ ? html`
7102
+ ${`${this.optionActive.innerText}, option ${this.options.indexOf(this.optionActive) + 1} of ${this.options.length}`}
7103
+ `
7104
+ : undefined
7105
+ };
7106
+
7107
+ ${this.optionSelected && this.options.length > 0
7108
+ ? html`
7109
+ ${`${this.optionSelected.innerText} selected`}
7110
+ `
7111
+ : undefined
7112
+ };
7113
+ </div>
7114
+ `;
7115
+ }
7116
+
7117
+ renderNativeSelect() {
7118
+ return html`
7119
+ <div class="nativeSelectWrapper">
7120
+ <select
7121
+ tabindex="-1"
7122
+ id="${`native-select-${this.id || this.uniqueId}`}"
7123
+ name="${this.name || ''}"
7124
+ ?disabled="${this.disabled}"
7125
+ ?required="${this.required}"
7126
+ aria-hidden="true"
7127
+ autocomplete="${ifDefined$1(this.autocomplete)}"
7128
+ @change="${this._handleNativeSelectChange}">
7129
+ <option value="" ?selected="${!this.value}"></option>
7130
+ ${this.options.map((option) => {
7131
+ const optionValue = option.value || option.textContent;
7132
+ return html`
7133
+ <option
7134
+ value="${optionValue}"
7135
+ ?selected="${this.value === optionValue}">
7136
+ ${option.textContent}
7137
+ </option>
7138
+ `;
7139
+ })}
7140
+ </select>
7141
+ </div>
7142
+ `;
7143
+ }
7144
+
7145
+ /**
7146
+ * Returns HTML for the help text and error message.
7147
+ * @private
7148
+ * @returns {html} - Returns HTML for the help text and error message.
7149
+ */
7150
+ renderHtmlHelpText() {
7151
+ return html`
7152
+ ${!this.validity || this.validity === undefined || this.validity === 'valid'
7153
+ ? html`
7154
+ <${this.helpTextTag} ?onDark="${this.onDark}">
7155
+ <p id="${this.uniqueId}" part="helpText">
7156
+ <slot name="helptext"></slot>
7157
+ </p>
7158
+ </${this.helpTextTag}>
7159
+ `
7160
+ : html`
7161
+ <${this.helpTextTag} error ?onDark="${this.onDark}">
7162
+ <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
7163
+ ERROR MESSAGE ${this.errorMessage}
7164
+ </p>
7165
+ </${this.helpTextTag}>
7166
+ `
7167
+ }
7168
+ `;
7169
+ }
7170
+
7171
+ /**
7172
+ * Returns HTML for the emphasized layout.
7173
+ * @private
7174
+ * @returns {import("lit").TemplateResult} - Returns HTML for the emphasized layout.
7175
+ */
7176
+ // TODO update to use util class
7177
+ renderLayoutEmphasized() {
7178
+ const placeholderClass = {
7179
+ hidden: this.value,
7180
+ };
7181
+
7182
+ const displayValueClasses = {
7183
+ 'displayValue': true,
7184
+ 'hasContent': this.hasDisplayValueContent,
7185
+ 'hasFocus': this.isPopoverVisible,
7186
+ 'withValue': this.value && this.value.length > 0,
7187
+ 'force': this.forceDisplayValue,
7188
+ };
7189
+
7190
+ const valueContainerClasses = {
7191
+ 'valueContainer': true,
7192
+ 'util_displayHiddenVisually': (this.forceDisplayValue || !(this.dropdown && this.dropdown.isPopoverVisible)) && this.hasDisplayValueContent
7193
+ };
7194
+
7195
+ return html`
7196
+ <div
7197
+ class="${classMap(this.commonWrapperClasses)}"
7198
+ part="wrapper">
7199
+ <div id="slotHolder" aria-hidden="true">
7200
+ <slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
7201
+ </div>
7202
+ <${this.dropdownTag}
7203
+ ?autoPlacement="${this.autoPlacement}"
7204
+ ?error="${this.validity !== undefined && this.validity !== 'valid'}"
7205
+ ?matchWidth="${!this.flexMenuWidth}"
7206
+ ?noFlip="${this.noFlip}"
7207
+ ?onDark="${this.onDark}"
7208
+ .fullscreenBreakpoint="${this.fullscreenBreakpoint}"
7209
+ .offset="${this.offset}"
7210
+ .placement="${this.placement}"
7211
+ chevron
7212
+ fluid
7213
+ for="selectMenu"
7214
+ layout="${this.layout}"
7215
+ part="dropdown"
7216
+ shape="${this.shape}"
7217
+ size="${this.size}">
7218
+ <div slot="trigger" aria-haspopup="true" id="triggerFocus" class="triggerContent">
7219
+ <div class="accents left">
7220
+ <slot name="typeIcon"></slot>
7221
+ </div>
7222
+ <div class="mainContent">
7223
+ <div class="${classMap(valueContainerClasses)}">
7224
+ <label>
7225
+ <slot name="label"></slot>
7226
+ </label>
7227
+ <div class="value" id="value"></div>
7228
+ ${this.value ? undefined : html`
7229
+ <div id="placeholder" class="${classMap(placeholderClass)}">
7230
+ <slot name="placeholder"></slot>
7231
+ </div>
7232
+ `}
7233
+ </div>
7234
+ <div class="${classMap(displayValueClasses)}" aria-hidden="true" part="displayValue">
7235
+ <slot name="displayValue"></slot>
7236
+ </div>
7237
+ </div>
7238
+ <div class="accents right"></div>
7239
+ </div>
7240
+ <div class="menuWrapper"></div>
7241
+ <${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
7242
+ <slot></slot>
7243
+ </${this.bibtemplateTag}>
7244
+ <div slot="helpText">
7245
+ ${this.renderHtmlHelpText()}
7246
+ </div>
7247
+ </${this.dropdownTag}>
7248
+ </div>
7249
+ `;
7250
+ }
7251
+
7252
+ /**
7253
+ * Returns HTML for the snowflake layout.
7254
+ * @private
7255
+ * @returns {import("lit").TemplateResult} - Returns HTML for the snowflake layout.
7256
+ */
7257
+ renderLayoutSnowflake() {
7258
+ const placeholderClass = {
7259
+ hidden: this.value,
7260
+ };
7261
+
7262
+ const displayValueClasses = {
7263
+ 'displayValue': true,
7264
+ 'hasContent': this.hasDisplayValueContent,
7265
+ 'hasFocus': this.isPopoverVisible,
7266
+ 'withValue': this.value && this.value.length > 0,
7267
+ 'force': this.forceDisplayValue,
7268
+ };
7269
+
7270
+ const valueContainerClasses = {
7271
+ 'valueContainer': true,
7272
+ 'util_displayHiddenVisually': (this.forceDisplayValue || !(this.dropdown && this.dropdown.isPopoverVisible)) && this.hasDisplayValueContent
7273
+ };
7274
+
7275
+ return html`
7276
+ <div
7277
+ class="${classMap(this.commonWrapperClasses)}"
7278
+ part="wrapper">
7279
+ <div id="slotHolder" aria-hidden="true">
7280
+ <slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
7281
+ </div>
7282
+ <${this.dropdownTag}
7283
+ ?autoPlacement="${this.autoPlacement}"
7284
+ ?error="${this.validity !== undefined && this.validity !== 'valid'}"
7285
+ ?matchWidth="${!this.flexMenuWidth}"
7286
+ ?noFlip="${this.noFlip}"
7287
+ ?onDark="${this.onDark}"
7288
+ .fullscreenBreakpoint="${this.fullscreenBreakpoint}"
7289
+ .offset="${this.offset}"
7290
+ .placement="${this.placement}"
7291
+ chevron
7292
+ fluid
7293
+ for="selectMenu"
7294
+ layout="${this.layout}"
7295
+ part="dropdown"
7296
+ shape="${this.shape}"
7297
+ size="${this.size}">
7298
+ <div slot="trigger" aria-haspopup="true" id="triggerFocus" class="triggerContent">
7299
+ <div class="accents left">
7300
+ <slot name="typeIcon"></slot>
7301
+ </div>
7302
+ <div class="mainContent">
7303
+ <div class="${classMap(valueContainerClasses)}">
7304
+ <label>
7305
+ <slot name="label"></slot>
7306
+ </label>
7307
+ <div class="value" id="value"></div>
7308
+ ${this.value ? undefined : html`
7309
+ <div id="placeholder" class="${classMap(placeholderClass)}">
7310
+ <slot name="placeholder"></slot>
7311
+ </div>
7312
+ `}
7313
+ </div>
7314
+ <div class="${classMap(displayValueClasses)}" aria-hidden="true" part="displayValue">
7315
+ <slot name="displayValue"></slot>
7316
+ </div>
7317
+ </div>
7318
+ <div class="accents right"></div>
7319
+ </div>
7320
+ <div class="menuWrapper"></div>
7321
+ <${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
7322
+ <slot></slot>
7323
+ </${this.bibtemplateTag}>
7324
+ <div slot="helpText">
7325
+ ${this.renderHtmlHelpText()}
7326
+ </div>
7327
+ </${this.dropdownTag}>
7328
+ </div>
7329
+ `;
7330
+ }
7331
+
7332
+ /**
7333
+ * Returns HTML for the classic layout.
7334
+ * @private
7335
+ * @returns {import("lit").TemplateResult} - Returns HTML for the classic layout.
7336
+ */
7337
+ renderLayoutClassic() {
7338
+ return html`
7339
+ <div
7340
+ class="${classMap(this.commonWrapperClasses)} thin"
7341
+ part="wrapper">
7342
+ classic
7343
+ </div>
7344
+ `;
7345
+ }
7346
+
7347
+ /**
7348
+ * Logic to determine the layout of the component.
7349
+ * @private
7350
+ * @param {string} [ForcedLayout] - Used to force a specific layout, pass in the layout name to use.
7351
+ * @returns {void}
7352
+ */
7353
+ renderLayout(ForcedLayout) {
7354
+ const layout = ForcedLayout || this.layout;
7355
+
7356
+ switch (layout) {
7357
+ case 'emphasized':
7358
+ return this.renderLayoutEmphasized();
7359
+ case 'emphasized-left':
7360
+ return this.renderLayoutEmphasized();
7361
+ case 'emphasized-right':
7362
+ return this.renderLayoutEmphasized();
7363
+ case 'snowflake':
7364
+ return this.renderLayoutSnowflake();
7365
+ case 'snowflake-left':
7366
+ return this.renderLayoutSnowflake();
7367
+ case 'snowflake-right':
7368
+ return this.renderLayoutSnowflake();
7369
+ default:
7370
+ return this.renderLayoutClassic();
7371
+ }
7372
+ }
7373
+
6468
7374
  // When using auroElement, use the following attribute and function when hiding content from screen readers.
6469
7375
  // aria-hidden="${this.hideAudible(this.hiddenAudible)}"
6470
7376
 
6471
7377
  // function that renders the HTML and CSS into the scope of the component
6472
- render() {
7378
+ renderBACKUP() {
6473
7379
  const placeholderClass = {
6474
7380
  hidden: this.value,
6475
7381
  };
@@ -6495,19 +7401,22 @@ class AuroSelect extends LitElement {
6495
7401
  <slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
6496
7402
  </div>
6497
7403
  <${this.dropdownTag}
6498
- for="selectmenu"
7404
+ ?autoPlacement="${this.autoPlacement}"
7405
+ ?disabled="${this.disabled}"
6499
7406
  ?error="${this.validity !== undefined && this.validity !== 'valid'}"
7407
+ ?matchWidth="${!this.flexMenuWidth}"
7408
+ ?noFlip="${this.noFlip}"
6500
7409
  ?onDark="${this.onDark}"
6501
- common
6502
- fluid
6503
7410
  .fullscreenBreakpoint="${this.fullscreenBreakpoint}"
6504
- ?matchWidth="${!this.flexMenuWidth}"
6505
- chevron
6506
- .placement="${this.placement}"
6507
7411
  .offset="${this.offset}"
6508
- ?autoPlacement="${this.autoPlacement}"
6509
- ?noFlip="${this.noFlip}"
6510
- part="dropdown">
7412
+ .placement="${this.placement}"
7413
+ chevron
7414
+ fluid
7415
+ for="selectMenu"
7416
+ layout="${this.layout}"
7417
+ part="dropdown"
7418
+ shape="${this.shape}"
7419
+ size="${this.size}">
6511
7420
  <span slot="trigger" aria-haspopup="true" id="triggerFocus">
6512
7421
  <span id="placeholder"
6513
7422
  class="${classMap(placeholderClass)}"
@@ -6518,10 +7427,8 @@ class AuroSelect extends LitElement {
6518
7427
  <slot name="valueText" id="valueText"></slot>
6519
7428
  </span>
6520
7429
 
6521
- <div class="menuWrapper">
6522
- </div>
6523
-
6524
7430
  <${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
7431
+ <slot></slot>
6525
7432
  </${this.bibtemplateTag}>
6526
7433
  <slot name="label" slot="label"></slot>
6527
7434
  <p slot="helpText">
@@ -6561,6 +7468,7 @@ class AuroSelect extends LitElement {
6561
7468
  </select>
6562
7469
  </div>
6563
7470
  <!-- Help text and error message template -->
7471
+ ${this.renderHtmlHelpText()}
6564
7472
  </div>
6565
7473
  `;
6566
7474
  }