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

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 +1165 -203
  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 +1165 -203
  52. package/components/select/dist/auro-select.d.ts +88 -4
  53. package/components/select/dist/helptextVersion.d.ts +2 -0
  54. package/components/select/dist/index.js +1106 -214
  55. package/components/select/dist/registered.js +1106 -214
  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)}`;
5423
+
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
+ // ---------------------------------------------------------------------
5179
5428
 
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)}`;
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,37 +5894,257 @@ 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
+
5909
+ // function that renders the HTML and CSS into the scope of the component
5910
+ render() {
5911
+ return html`
5912
+ <div id="bibTemplate" part="bibtemplate">
5913
+ ${this.isFullscreen ? html`
5914
+ <div id="headerContainer">
5915
+ <button id="closeButton" @click="${this.onCloseButtonClick}">
5916
+ <${this.iconTag} category="interface" name="x-lg"></${this.iconTag}>
5917
+ </button>
5918
+ <${this.headerTag} display="${this.large ? 'display' : '600'}" level="3" size="none" id="header" no-margin-block>
5919
+ <slot name="header"></slot>
5920
+ </${this.headerTag}>
5921
+ <span id="subheader">
5922
+ <slot name="subheader"></slot>
5923
+ </span>
5924
+ </div>` : null}
5925
+
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
+ }
6136
+
5585
6137
  // function that renders the HTML and CSS into the scope of the component
5586
6138
  render() {
5587
- return html`
5588
- <div id="bibTemplate" part="bibtemplate">
5589
- ${this.isFullscreen ? html`
5590
- <div id="headerContainer">
5591
- <button id="closeButton" @click="${this.onCloseButtonClick}">
5592
- <${this.iconTag} category="interface" name="x-lg"></${this.iconTag}>
5593
- </button>
5594
- <${this.headerTag} display="${this.large ? 'display' : '600'}" level="3" size="none" id="header" no-margin-block>
5595
- <slot name="header"></slot>
5596
- </${this.headerTag}>
5597
- <span id="subheader">
5598
- <slot name="subheader"></slot>
5599
- </span>
5600
- </div>` : null}
5601
-
5602
- <div id="bodyContainer">
5603
- <slot></slot>
5604
- </div>
5605
-
5606
- ${this.isFullscreen ? html`
5607
- <div id="footerContainer">
5608
- <slot name="footer"></slot>
5609
- </div>` : null}
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
  /**
@@ -5779,6 +6335,14 @@ class AuroSelect extends LitElement {
5779
6335
  reflect: true
5780
6336
  },
5781
6337
 
6338
+ /**
6339
+ * If declared, the label and value will be visually hidden and the displayValue will render 100% of the time.
6340
+ */
6341
+ forceDisplayValue: {
6342
+ type: Boolean,
6343
+ reflect: true
6344
+ },
6345
+
5782
6346
  /**
5783
6347
  * If declared, bib's position will be automatically calculated where to appear.
5784
6348
  * @default false
@@ -5796,6 +6360,14 @@ class AuroSelect extends LitElement {
5796
6360
  reflect: true
5797
6361
  },
5798
6362
 
6363
+ /**
6364
+ * If declared, the popover and trigger will be set to the same width.
6365
+ */
6366
+ matchWidth: {
6367
+ type: Boolean,
6368
+ reflect: true
6369
+ },
6370
+
5799
6371
  /**
5800
6372
  * The name for the select element.
5801
6373
  */
@@ -5985,12 +6557,45 @@ class AuroSelect extends LitElement {
5985
6557
  type: Boolean,
5986
6558
  reflect: true,
5987
6559
  attribute: false
5988
- }
6560
+ },
6561
+
6562
+ /**
6563
+ * @private
6564
+ */
6565
+ hasFocus: {
6566
+ type: Boolean,
6567
+ reflect: false,
6568
+ attribute: false
6569
+ },
6570
+
6571
+ /**
6572
+ * @private
6573
+ */
6574
+ hasDisplayValueContent: {
6575
+ type: Boolean,
6576
+ reflect: false,
6577
+ attribute: false
6578
+ },
5989
6579
  };
5990
6580
  }
5991
6581
 
5992
6582
  static get styles() {
5993
- return [styleCss];
6583
+ return [
6584
+ css`${shapeSizeCss$1}`,
6585
+ css`${tokensCss$4}`,
6586
+ css`${styleCss}`,
6587
+ ];
6588
+ }
6589
+
6590
+ /**
6591
+ * Returns classmap configuration for wrapper elements in each layout.
6592
+ * @private
6593
+ * @return {object} - Returns classmap.
6594
+ */
6595
+ get commonWrapperClasses() {
6596
+ return {
6597
+ 'wrapper': true
6598
+ };
5994
6599
  }
5995
6600
 
5996
6601
  /**
@@ -6000,11 +6605,9 @@ class AuroSelect extends LitElement {
6000
6605
  */
6001
6606
  configureDropdown() {
6002
6607
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
6003
- this.menuWrapper = this.dropdown.querySelector('.menuWrapper');
6004
6608
 
6005
6609
  // setting up bibtemplate
6006
6610
  this.bibtemplate = this.dropdown.querySelector(this.bibtemplateTag._$litStatic$); // eslint-disable-line no-underscore-dangle
6007
- this.bibtemplate.append(this.menuWrapper);
6008
6611
 
6009
6612
  if (this.customBibWidth) {
6010
6613
  this.dropdown.dropdownWidth = this.customBibWidth;
@@ -6023,7 +6626,7 @@ class AuroSelect extends LitElement {
6023
6626
  *
6024
6627
  */
6025
6628
  static register(name = "auro-select") {
6026
- AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroSelect);
6629
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroSelect);
6027
6630
  }
6028
6631
 
6029
6632
  /**
@@ -6034,21 +6637,31 @@ class AuroSelect extends LitElement {
6034
6637
  updateDisplayedValue() {
6035
6638
  const triggerContentEl = this.dropdown.querySelector('#triggerFocus');
6036
6639
 
6037
- const valueText = triggerContentEl.querySelector("#valueText");
6038
- valueText.textContent = '';
6640
+ // Clear out old value
6641
+ // const placeholder = triggerContentEl.querySelector('#placeholder');
6642
+ const valueElem = triggerContentEl.querySelector('#value');
6643
+ if (valueElem) {
6644
+ valueElem.innerHTML = '';
6645
+ // valueElem.innerHTML = ''.appendChild(value);
6646
+ }
6039
6647
 
6040
6648
  // Handle selected options
6041
6649
  if (this.optionSelected) {
6042
- let displayText = '';
6043
-
6044
6650
  if (this.multiSelect && this.optionSelected.length > 0) {
6045
- // Create display text from selected options
6046
- displayText = this.optionSelected.map((option) => option.textContent).join(', ');
6651
+ const displayText = this.optionSelected.map((option) => option.textContent).join(', ');
6652
+
6653
+ valueElem.textContent = displayText;
6047
6654
  } else {
6048
- displayText = this.optionSelected.textContent;
6049
- }
6655
+ valueElem.innerHTML = this.optionSelected.innerHTML;
6656
+ const displayValueEl = this.optionSelected.querySelector("[slot='displayValue']");
6657
+ if (displayValueEl) {
6658
+ const oldDisplayValueEl = this.querySelectorAll("[slot='displayValue']");
6659
+ oldDisplayValueEl.forEach((el) => el.remove());
6050
6660
 
6051
- valueText.textContent = displayText;
6661
+ this.appendChild(displayValueEl.cloneNode(true));
6662
+ }
6663
+ this.hasDisplayValueContent = displayValueEl !== null;
6664
+ }
6052
6665
  }
6053
6666
 
6054
6667
  this.dropdown.requestUpdate();
@@ -6127,8 +6740,6 @@ class AuroSelect extends LitElement {
6127
6740
  * @returns {void}
6128
6741
  */
6129
6742
  configureSelect() {
6130
- // inject menu into menuWrapper
6131
- this.menuWrapper.append(this.menu);
6132
6743
 
6133
6744
  this.addEventListener('keydown', (evt) => {
6134
6745
  if (evt.key === 'ArrowUp') {
@@ -6182,6 +6793,7 @@ class AuroSelect extends LitElement {
6182
6793
 
6183
6794
  this.addEventListener('blur', () => {
6184
6795
  this.validation.validate(this);
6796
+ this.hasFocus = false;
6185
6797
  });
6186
6798
  }
6187
6799
 
@@ -6257,6 +6869,7 @@ class AuroSelect extends LitElement {
6257
6869
  */
6258
6870
  handleFocusin() {
6259
6871
 
6872
+ this.hasFocus = true;
6260
6873
  this.touched = true;
6261
6874
  }
6262
6875
 
@@ -6465,11 +7078,288 @@ class AuroSelect extends LitElement {
6465
7078
  }
6466
7079
  }
6467
7080
 
7081
+ renderAriaHtml() {
7082
+ return html`
7083
+ <div aria-live="polite" class="util_displayHiddenVisually">
7084
+ ${this.optionActive && this.options.length > 0
7085
+ ? html`
7086
+ ${`${this.optionActive.innerText}, option ${this.options.indexOf(this.optionActive) + 1} of ${this.options.length}`}
7087
+ `
7088
+ : undefined
7089
+ };
7090
+
7091
+ ${this.optionSelected && this.options.length > 0
7092
+ ? html`
7093
+ ${`${this.optionSelected.innerText} selected`}
7094
+ `
7095
+ : undefined
7096
+ };
7097
+ </div>
7098
+ `;
7099
+ }
7100
+
7101
+ renderNativeSelect() {
7102
+ return html`
7103
+ <div class="nativeSelectWrapper">
7104
+ <select
7105
+ tabindex="-1"
7106
+ id="${`native-select-${this.id || this.uniqueId}`}"
7107
+ name="${this.name || ''}"
7108
+ ?disabled="${this.disabled}"
7109
+ ?required="${this.required}"
7110
+ aria-hidden="true"
7111
+ autocomplete="${ifDefined$1(this.autocomplete)}"
7112
+ @change="${this._handleNativeSelectChange}">
7113
+ <option value="" ?selected="${!this.value}"></option>
7114
+ ${this.options.map((option) => {
7115
+ const optionValue = option.value || option.textContent;
7116
+ return html`
7117
+ <option
7118
+ value="${optionValue}"
7119
+ ?selected="${this.value === optionValue}">
7120
+ ${option.textContent}
7121
+ </option>
7122
+ `;
7123
+ })}
7124
+ </select>
7125
+ </div>
7126
+ `;
7127
+ }
7128
+
7129
+ /**
7130
+ * Returns HTML for the help text and error message.
7131
+ * @private
7132
+ * @returns {html} - Returns HTML for the help text and error message.
7133
+ */
7134
+ renderHtmlHelpText() {
7135
+ return html`
7136
+ ${!this.validity || this.validity === undefined || this.validity === 'valid'
7137
+ ? html`
7138
+ <${this.helpTextTag} ?onDark="${this.onDark}">
7139
+ <p id="${this.uniqueId}" part="helpText">
7140
+ <slot name="helptext"></slot>
7141
+ </p>
7142
+ </${this.helpTextTag}>
7143
+ `
7144
+ : html`
7145
+ <${this.helpTextTag} error ?onDark="${this.onDark}">
7146
+ <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
7147
+ ERROR MESSAGE ${this.errorMessage}
7148
+ </p>
7149
+ </${this.helpTextTag}>
7150
+ `
7151
+ }
7152
+ `;
7153
+ }
7154
+
7155
+ /**
7156
+ * Returns HTML for the emphasized layout.
7157
+ * @private
7158
+ * @returns {import("lit").TemplateResult} - Returns HTML for the emphasized layout.
7159
+ */
7160
+ // TODO update to use util class
7161
+ renderLayoutEmphasized() {
7162
+ const placeholderClass = {
7163
+ hidden: this.value,
7164
+ };
7165
+
7166
+ const displayValueClasses = {
7167
+ 'displayValue': true,
7168
+ 'hasContent': this.hasDisplayValueContent,
7169
+ 'hasFocus': this.hasFocus,
7170
+ 'withValue': this.value && this.value.length > 0,
7171
+ 'force': this.forceDisplayValue,
7172
+ };
7173
+
7174
+ const valueContainerClasses = {
7175
+ 'valueContainer': true,
7176
+ 'util_displayHiddenVisually': true
7177
+ };
7178
+
7179
+ return html`
7180
+ <div
7181
+ class="${classMap(this.commonWrapperClasses)}"
7182
+ part="wrapper">
7183
+ <div id="slotHolder" aria-hidden="true">
7184
+ <slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
7185
+ </div>
7186
+ <${this.dropdownTag}
7187
+ ?autoPlacement="${this.autoPlacement}"
7188
+ ?error="${this.validity !== undefined && this.validity !== 'valid'}"
7189
+ ?matchWidth="${!this.flexMenuWidth}"
7190
+ ?noFlip="${this.noFlip}"
7191
+ ?onDark="${this.onDark}"
7192
+ .fullscreenBreakpoint="${this.fullscreenBreakpoint}"
7193
+ .offset="${this.offset}"
7194
+ .placement="${this.placement}"
7195
+ chevron
7196
+ fluid
7197
+ for="selectMenu"
7198
+ layout="${this.layout}"
7199
+ part="dropdown"
7200
+ shape="${this.shape}"
7201
+ size="${this.size}">
7202
+ <div slot="trigger" aria-haspopup="true" id="triggerFocus" class="triggerContent">
7203
+ <div class="accents left">
7204
+ <slot name="typeIcon"></slot>
7205
+ </div>
7206
+ <div class="mainContent">
7207
+ <div class="${classMap(valueContainerClasses)}">
7208
+ <label>
7209
+ <slot name="label"></slot>
7210
+ </label>
7211
+ <div class="value" id="value"></div>
7212
+ ${this.value ? undefined : html`
7213
+ <div id="placeholder" class="${classMap(placeholderClass)}">
7214
+ <slot name="placeholder"></slot>
7215
+ </div>
7216
+ `}
7217
+ </div>
7218
+ <div class="${classMap(displayValueClasses)}" aria-hidden="true" part="displayValue">
7219
+ <slot name="displayValue"></slot>
7220
+ </div>
7221
+ </div>
7222
+ <div class="accents right"></div>
7223
+ </div>
7224
+ <div class="menuWrapper"></div>
7225
+ <${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
7226
+ <slot></slot>
7227
+ </${this.bibtemplateTag}>
7228
+ <div slot="helpText">
7229
+ ${this.renderHtmlHelpText()}
7230
+ </div>
7231
+ </${this.dropdownTag}>
7232
+ </div>
7233
+ `;
7234
+ }
7235
+
7236
+ /**
7237
+ * Returns HTML for the snowflake layout.
7238
+ * @private
7239
+ * @returns {import("lit").TemplateResult} - Returns HTML for the snowflake layout.
7240
+ */
7241
+ renderLayoutSnowflake() {
7242
+ const placeholderClass = {
7243
+ hidden: this.value,
7244
+ };
7245
+
7246
+ const displayValueClasses = {
7247
+ 'displayValue': true,
7248
+ 'hasContent': this.hasDisplayValueContent,
7249
+ 'hasFocus': this.hasFocus,
7250
+ 'withValue': this.value && this.value.length > 0,
7251
+ 'force': this.forceDisplayValue,
7252
+ };
7253
+
7254
+ const valueContainerClasses = {
7255
+ 'valueContainer': true,
7256
+ 'util_displayHiddenVisually': (this.forceDisplayValue || !this.hasFocus) && this.hasDisplayValueContent
7257
+ };
7258
+
7259
+ return html`
7260
+ <div
7261
+ class="${classMap(this.commonWrapperClasses)}"
7262
+ part="wrapper">
7263
+ <div id="slotHolder" aria-hidden="true">
7264
+ <slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
7265
+ </div>
7266
+ <${this.dropdownTag}
7267
+ ?autoPlacement="${this.autoPlacement}"
7268
+ ?error="${this.validity !== undefined && this.validity !== 'valid'}"
7269
+ ?matchWidth="${!this.flexMenuWidth}"
7270
+ ?noFlip="${this.noFlip}"
7271
+ ?onDark="${this.onDark}"
7272
+ .fullscreenBreakpoint="${this.fullscreenBreakpoint}"
7273
+ .offset="${this.offset}"
7274
+ .placement="${this.placement}"
7275
+ chevron
7276
+ fluid
7277
+ for="selectMenu"
7278
+ layout="${this.layout}"
7279
+ part="dropdown"
7280
+ shape="${this.shape}"
7281
+ size="${this.size}">
7282
+ <div slot="trigger" aria-haspopup="true" id="triggerFocus" class="triggerContent">
7283
+ <div class="accents left">
7284
+ <slot name="typeIcon"></slot>
7285
+ </div>
7286
+ <div class="mainContent">
7287
+ <div class="${classMap(valueContainerClasses)}">
7288
+ <label>
7289
+ <slot name="label"></slot>
7290
+ </label>
7291
+ <div class="value" id="value"></div>
7292
+ ${this.value ? undefined : html`
7293
+ <div id="placeholder" class="${classMap(placeholderClass)}">
7294
+ <slot name="placeholder"></slot>
7295
+ </div>
7296
+ `}
7297
+ </div>
7298
+ <div class="${classMap(displayValueClasses)}" aria-hidden="true" part="displayValue">
7299
+ <slot name="displayValue"></slot>
7300
+ </div>
7301
+ </div>
7302
+ <div class="accents right"></div>
7303
+ </div>
7304
+ <div class="menuWrapper"></div>
7305
+ <${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
7306
+ <slot></slot>
7307
+ </${this.bibtemplateTag}>
7308
+ <div slot="helpText">
7309
+ ${this.renderHtmlHelpText()}
7310
+ </div>
7311
+ </${this.dropdownTag}>
7312
+ </div>
7313
+ `;
7314
+ }
7315
+
7316
+ /**
7317
+ * Returns HTML for the classic layout.
7318
+ * @private
7319
+ * @returns {import("lit").TemplateResult} - Returns HTML for the classic layout.
7320
+ */
7321
+ renderLayoutClassic() {
7322
+ return html`
7323
+ <div
7324
+ class="${classMap(this.commonWrapperClasses)} thin"
7325
+ part="wrapper">
7326
+ classic
7327
+ </div>
7328
+ `;
7329
+ }
7330
+
7331
+ /**
7332
+ * Logic to determine the layout of the component.
7333
+ * @private
7334
+ * @param {string} [ForcedLayout] - Used to force a specific layout, pass in the layout name to use.
7335
+ * @returns {void}
7336
+ */
7337
+ renderLayout(ForcedLayout) {
7338
+ const layout = ForcedLayout || this.layout;
7339
+
7340
+ switch (layout) {
7341
+ case 'emphasized':
7342
+ return this.renderLayoutEmphasized();
7343
+ case 'emphasized-left':
7344
+ return this.renderLayoutEmphasized();
7345
+ case 'emphasized-right':
7346
+ return this.renderLayoutEmphasized();
7347
+ case 'snowflake':
7348
+ return this.renderLayoutSnowflake();
7349
+ case 'snowflake-left':
7350
+ return this.renderLayoutSnowflake();
7351
+ case 'snowflake-right':
7352
+ return this.renderLayoutSnowflake();
7353
+ default:
7354
+ return this.renderLayoutClassic();
7355
+ }
7356
+ }
7357
+
6468
7358
  // When using auroElement, use the following attribute and function when hiding content from screen readers.
6469
7359
  // aria-hidden="${this.hideAudible(this.hiddenAudible)}"
6470
7360
 
6471
7361
  // function that renders the HTML and CSS into the scope of the component
6472
- render() {
7362
+ renderBACKUP() {
6473
7363
  const placeholderClass = {
6474
7364
  hidden: this.value,
6475
7365
  };
@@ -6495,19 +7385,22 @@ class AuroSelect extends LitElement {
6495
7385
  <slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
6496
7386
  </div>
6497
7387
  <${this.dropdownTag}
6498
- for="selectmenu"
7388
+ ?autoPlacement="${this.autoPlacement}"
7389
+ ?disabled="${this.disabled}"
6499
7390
  ?error="${this.validity !== undefined && this.validity !== 'valid'}"
7391
+ ?matchWidth="${!this.flexMenuWidth}"
7392
+ ?noFlip="${this.noFlip}"
6500
7393
  ?onDark="${this.onDark}"
6501
- common
6502
- fluid
6503
7394
  .fullscreenBreakpoint="${this.fullscreenBreakpoint}"
6504
- ?matchWidth="${!this.flexMenuWidth}"
6505
- chevron
6506
- .placement="${this.placement}"
6507
7395
  .offset="${this.offset}"
6508
- ?autoPlacement="${this.autoPlacement}"
6509
- ?noFlip="${this.noFlip}"
6510
- part="dropdown">
7396
+ .placement="${this.placement}"
7397
+ chevron
7398
+ fluid
7399
+ for="selectMenu"
7400
+ layout="${this.layout}"
7401
+ part="dropdown"
7402
+ shape="${this.shape}"
7403
+ size="${this.size}">
6511
7404
  <span slot="trigger" aria-haspopup="true" id="triggerFocus">
6512
7405
  <span id="placeholder"
6513
7406
  class="${classMap(placeholderClass)}"
@@ -6518,10 +7411,8 @@ class AuroSelect extends LitElement {
6518
7411
  <slot name="valueText" id="valueText"></slot>
6519
7412
  </span>
6520
7413
 
6521
- <div class="menuWrapper">
6522
- </div>
6523
-
6524
7414
  <${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
7415
+ <slot></slot>
6525
7416
  </${this.bibtemplateTag}>
6526
7417
  <slot name="label" slot="label"></slot>
6527
7418
  <p slot="helpText">
@@ -6561,6 +7452,7 @@ class AuroSelect extends LitElement {
6561
7452
  </select>
6562
7453
  </div>
6563
7454
  <!-- Help text and error message template -->
7455
+ ${this.renderHtmlHelpText()}
6564
7456
  </div>
6565
7457
  `;
6566
7458
  }