@aurodesignsystem-dev/auro-formkit 0.0.0-pr624.9 → 0.0.0-pr624.90

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 (149) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +12 -2
  2. package/components/bibtemplate/dist/buttonVersion.d.ts +2 -0
  3. package/components/bibtemplate/dist/headerVersion.d.ts +1 -1
  4. package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
  5. package/components/bibtemplate/dist/index.js +1241 -94
  6. package/components/bibtemplate/dist/registered.js +1241 -94
  7. package/components/checkbox/README.md +1 -1
  8. package/components/checkbox/demo/api.html +16 -10
  9. package/components/checkbox/demo/api.md +49 -15
  10. package/components/checkbox/demo/api.min.js +74 -46
  11. package/components/checkbox/demo/index.html +16 -10
  12. package/components/checkbox/demo/index.md +2 -2
  13. package/components/checkbox/demo/index.min.js +74 -46
  14. package/components/checkbox/demo/readme.html +16 -9
  15. package/components/checkbox/demo/readme.md +1 -1
  16. package/components/checkbox/dist/auro-checkbox-group.d.ts +1 -1
  17. package/components/checkbox/dist/auro-checkbox.d.ts +3 -3
  18. package/components/checkbox/dist/index.js +73 -45
  19. package/components/checkbox/dist/registered.js +73 -45
  20. package/components/combobox/demo/api.html +16 -10
  21. package/components/combobox/demo/api.md +115 -8
  22. package/components/combobox/demo/api.min.js +3305 -1002
  23. package/components/combobox/demo/index.html +16 -10
  24. package/components/combobox/demo/index.md +8 -34
  25. package/components/combobox/demo/index.min.js +3305 -1002
  26. package/components/combobox/demo/readme.html +16 -9
  27. package/components/combobox/dist/auro-combobox.d.ts +57 -14
  28. package/components/combobox/dist/index.js +2992 -836
  29. package/components/combobox/dist/registered.js +2992 -836
  30. package/components/counter/demo/api.html +17 -10
  31. package/components/counter/demo/api.md +158 -21
  32. package/components/counter/demo/api.min.js +3417 -765
  33. package/components/counter/demo/index.html +17 -10
  34. package/components/counter/demo/index.md +185 -34
  35. package/components/counter/demo/index.min.js +3417 -765
  36. package/components/counter/demo/readme.html +16 -9
  37. package/components/counter/dist/auro-counter-button.d.ts +2 -0
  38. package/components/counter/dist/auro-counter-group.d.ts +161 -11
  39. package/components/counter/dist/auro-counter.d.ts +16 -0
  40. package/components/counter/dist/helptextVersion.d.ts +2 -0
  41. package/components/counter/dist/iconVersion.d.ts +1 -1
  42. package/components/counter/dist/index.js +3420 -768
  43. package/components/counter/dist/registered.js +3420 -768
  44. package/components/datepicker/README.md +1 -1
  45. package/components/datepicker/demo/api.html +16 -10
  46. package/components/datepicker/demo/api.md +59 -28
  47. package/components/datepicker/demo/api.min.js +11956 -8070
  48. package/components/datepicker/demo/index.html +16 -10
  49. package/components/datepicker/demo/index.md +75 -8
  50. package/components/datepicker/demo/index.min.js +11956 -8070
  51. package/components/datepicker/demo/readme.html +16 -9
  52. package/components/datepicker/demo/readme.md +1 -1
  53. package/components/datepicker/dist/auro-datepicker.d.ts +151 -12
  54. package/components/datepicker/dist/buttonVersion.d.ts +1 -1
  55. package/components/datepicker/dist/iconVersion.d.ts +2 -0
  56. package/components/datepicker/dist/index.js +13802 -9916
  57. package/components/datepicker/dist/popoverVersion.d.ts +1 -1
  58. package/components/datepicker/dist/registered.js +13802 -9916
  59. package/components/dropdown/demo/api.html +16 -10
  60. package/components/dropdown/demo/api.md +82 -275
  61. package/components/dropdown/demo/api.min.js +450 -261
  62. package/components/dropdown/demo/index.html +16 -10
  63. package/components/dropdown/demo/index.md +92 -362
  64. package/components/dropdown/demo/index.min.js +450 -261
  65. package/components/dropdown/demo/readme.html +16 -9
  66. package/components/dropdown/dist/auro-dropdown.d.ts +43 -83
  67. package/components/dropdown/dist/auro-dropdownBib.d.ts +14 -0
  68. package/components/dropdown/dist/index.js +449 -260
  69. package/components/dropdown/dist/registered.js +449 -260
  70. package/components/form/demo/api.html +16 -9
  71. package/components/form/demo/api.md +1 -1
  72. package/components/form/demo/api.min.js +3 -3
  73. package/components/form/demo/autocomplete.html +19 -3
  74. package/components/form/demo/index.html +16 -9
  75. package/components/form/demo/index.min.js +3 -3
  76. package/components/form/demo/readme.html +16 -9
  77. package/components/form/demo/working.html +19 -13
  78. package/components/form/dist/auro-form.d.ts +1 -1
  79. package/components/form/dist/index.js +2 -2
  80. package/components/form/dist/registered.js +2 -2
  81. package/components/helptext/dist/auro-helptext.d.ts +0 -2
  82. package/components/helptext/dist/index.js +3 -5
  83. package/components/helptext/dist/registered.js +3 -5
  84. package/components/input/README.md +5 -2
  85. package/components/input/demo/api.html +16 -10
  86. package/components/input/demo/api.md +226 -132
  87. package/components/input/demo/api.min.js +1034 -297
  88. package/components/input/demo/index.html +16 -10
  89. package/components/input/demo/index.md +48 -32
  90. package/components/input/demo/index.min.js +1048 -311
  91. package/components/input/demo/readme.html +16 -9
  92. package/components/input/demo/readme.md +5 -2
  93. package/components/input/dist/auro-input.d.ts +24 -0
  94. package/components/input/dist/base-input.d.ts +45 -11
  95. package/components/input/dist/buttonVersion.d.ts +1 -1
  96. package/components/input/dist/iconVersion.d.ts +1 -1
  97. package/components/input/dist/index.js +1047 -310
  98. package/components/input/dist/registered.js +1047 -310
  99. package/components/layoutElement/dist/index.js +11 -8
  100. package/components/layoutElement/dist/registered.js +97 -0
  101. package/components/menu/demo/api.html +17 -10
  102. package/components/menu/demo/api.md +65 -8
  103. package/components/menu/demo/api.min.js +305 -63
  104. package/components/menu/demo/index.html +16 -10
  105. package/components/menu/demo/index.min.js +305 -63
  106. package/components/menu/demo/readme.html +16 -9
  107. package/components/menu/dist/auro-menu.d.ts +53 -7
  108. package/components/menu/dist/auro-menuoption.d.ts +21 -3
  109. package/components/menu/dist/iconVersion.d.ts +1 -1
  110. package/components/menu/dist/index.js +290 -48
  111. package/components/menu/dist/registered.js +290 -48
  112. package/components/menu/dist/styles/default/tokens-css.d.ts +2 -0
  113. package/components/menu/dist/styles/shapeSize-css.d.ts +2 -0
  114. package/components/radio/demo/api.html +16 -10
  115. package/components/radio/demo/api.md +39 -9
  116. package/components/radio/demo/api.min.js +92 -96
  117. package/components/radio/demo/index.html +16 -10
  118. package/components/radio/demo/index.min.js +92 -96
  119. package/components/radio/demo/readme.html +16 -9
  120. package/components/radio/dist/auro-radio-group.d.ts +1 -1
  121. package/components/radio/dist/auro-radio.d.ts +9 -12
  122. package/components/radio/dist/index.js +91 -95
  123. package/components/radio/dist/registered.js +91 -95
  124. package/components/select/demo/api.html +16 -10
  125. package/components/select/demo/api.js +0 -2
  126. package/components/select/demo/api.md +149 -122
  127. package/components/select/demo/api.min.js +2283 -736
  128. package/components/select/demo/index.html +17 -11
  129. package/components/select/demo/index.md +1066 -259
  130. package/components/select/demo/index.min.js +2284 -725
  131. package/components/select/demo/readme.html +16 -9
  132. package/components/select/dist/auro-select.d.ts +74 -25
  133. package/components/select/dist/index.js +2165 -753
  134. package/components/select/dist/registered.js +2165 -753
  135. package/package.json +31 -28
  136. /package/components/{datepicker/dist/styles/default/color-css.d.ts → counter/dist/styles/shapeSize-css.d.ts} +0 -0
  137. /package/components/{dropdown/dist/styles/default → datepicker/dist/styles/classic}/color-css.d.ts +0 -0
  138. /package/components/datepicker/dist/styles/{emphasized → classic}/style-css.d.ts +0 -0
  139. /package/components/{dropdown/dist/styles/default/bibColors-css.d.ts → datepicker/dist/styles/snowflake/color-css.d.ts} +0 -0
  140. /package/components/{dropdown/dist/styles/default → datepicker/dist/styles/snowflake}/style-css.d.ts +0 -0
  141. /package/components/dropdown/dist/styles/{default/bibStyles-css.d.ts → classic/bibColors-css.d.ts} +0 -0
  142. /package/components/{input/dist/styles/default/input-css.d.ts → dropdown/dist/styles/classic/bibStyles-css.d.ts} +0 -0
  143. /package/components/{input/dist/styles/default/label-css.d.ts → dropdown/dist/styles/classic/color-css.d.ts} +0 -0
  144. /package/components/{input/dist/styles/input-css.d.ts → dropdown/dist/styles/classic/style-css.d.ts} +0 -0
  145. /package/components/{menu/dist/styles/color-menu-css.d.ts → dropdown/dist/styles/style-css.d.ts} +0 -0
  146. /package/components/menu/dist/styles/{color-menuoption-css.d.ts → default/color-menu-css.d.ts} +0 -0
  147. /package/components/menu/dist/styles/{style-menu-css.d.ts → default/color-menuoption-css.d.ts} +0 -0
  148. /package/components/menu/dist/styles/{style-menuoption-css.d.ts → default/style-menu-css.d.ts} +0 -0
  149. /package/components/menu/dist/styles/{tokens-css.d.ts → default/style-menuoption-css.d.ts} +0 -0
@@ -1689,7 +1689,7 @@ class AuroFloatingUI {
1689
1689
  */
1690
1690
  mirrorSize() {
1691
1691
  // mirror the boxsize from bibSizer
1692
- if (this.element.bibSizer) {
1692
+ if (this.element.bibSizer && this.element.matchWidth) {
1693
1693
  const sizerStyle = window.getComputedStyle(this.element.bibSizer);
1694
1694
  const bibContent = this.element.bib.shadowRoot.querySelector(".container");
1695
1695
  if (sizerStyle.width !== '0px') {
@@ -1825,6 +1825,7 @@ class AuroFloatingUI {
1825
1825
  this.element.bib.style.left = "0px";
1826
1826
  this.element.bib.style.width = '';
1827
1827
  this.element.bib.style.height = '';
1828
+ this.element.style.contain = '';
1828
1829
 
1829
1830
  // reset the size that was mirroring `size` css-part
1830
1831
  const bibContent = this.element.bib.shadowRoot.querySelector(".container");
@@ -1849,6 +1850,7 @@ class AuroFloatingUI {
1849
1850
  this.element.bib.style.position = '';
1850
1851
  this.element.bib.removeAttribute('isfullscreen');
1851
1852
  this.element.isBibFullscreen = false;
1853
+ this.element.style.contain = 'layout';
1852
1854
  }
1853
1855
 
1854
1856
  const isChanged = this.strategy && this.strategy !== value;
@@ -1901,13 +1903,13 @@ class AuroFloatingUI {
1901
1903
  if (this.element.contains(activeElement) || this.element.bib?.contains(activeElement)) {
1902
1904
  return;
1903
1905
  }
1904
-
1906
+
1905
1907
  // if fullscreen bib is in fullscreen mode, do not close
1906
1908
  if (this.element.bib.hasAttribute('isfullscreen')) {
1907
1909
  return;
1908
1910
  }
1909
1911
 
1910
- this.hideBib();
1912
+ this.hideBib("keydown");
1911
1913
  }
1912
1914
 
1913
1915
  setupHideHandlers() {
@@ -1932,7 +1934,7 @@ class AuroFloatingUI {
1932
1934
  document.expandedAuroFormkitDropdown = null;
1933
1935
  document.expandedAuroFloater = this;
1934
1936
  } else {
1935
- this.hideBib();
1937
+ this.hideBib("click");
1936
1938
  }
1937
1939
  }
1938
1940
  };
@@ -1945,7 +1947,7 @@ class AuroFloatingUI {
1945
1947
  // if something else is open, let it handle itself
1946
1948
  return;
1947
1949
  }
1948
- this.hideBib();
1950
+ this.hideBib("keydown");
1949
1951
  }
1950
1952
  };
1951
1953
 
@@ -2028,7 +2030,11 @@ class AuroFloatingUI {
2028
2030
  }
2029
2031
  }
2030
2032
 
2031
- hideBib() {
2033
+ /**
2034
+ * Hides the floating UI element.
2035
+ * @param {String} eventType - The event type that triggered the hiding action.
2036
+ */
2037
+ hideBib(eventType = "unknown") {
2032
2038
  if (!this.element.disabled && !this.element.noToggle) {
2033
2039
  this.lockScroll(false);
2034
2040
  this.element.triggerChevron?.removeAttribute('data-expanded');
@@ -2039,7 +2045,7 @@ class AuroFloatingUI {
2039
2045
  if (this.showing) {
2040
2046
  this.cleanupHideHandlers();
2041
2047
  this.showing = false;
2042
- this.dispatchEventDropdownToggle();
2048
+ this.dispatchEventDropdownToggle(eventType);
2043
2049
  }
2044
2050
  }
2045
2051
  document.expandedAuroFloater = null;
@@ -2048,11 +2054,13 @@ class AuroFloatingUI {
2048
2054
  /**
2049
2055
  * @private
2050
2056
  * @returns {void} Dispatches event with an object showing the state of the dropdown.
2057
+ * @param {String} eventType - The event type that triggered the toggle action.
2051
2058
  */
2052
- dispatchEventDropdownToggle() {
2059
+ dispatchEventDropdownToggle(eventType) {
2053
2060
  const event = new CustomEvent(this.eventPrefix ? `${this.eventPrefix}-toggled` : 'toggled', {
2054
2061
  detail: {
2055
2062
  expanded: this.showing,
2063
+ eventType: eventType || "unknown",
2056
2064
  },
2057
2065
  composed: true
2058
2066
  });
@@ -2062,7 +2070,7 @@ class AuroFloatingUI {
2062
2070
 
2063
2071
  handleClick() {
2064
2072
  if (this.element.isPopoverVisible) {
2065
- this.hideBib();
2073
+ this.hideBib("click");
2066
2074
  } else {
2067
2075
  this.showBib();
2068
2076
  }
@@ -2085,8 +2093,9 @@ class AuroFloatingUI {
2085
2093
  // Space is included as it's expected behavior for interactive elements
2086
2094
 
2087
2095
  const origin = event.composedPath()[0];
2088
- if (event.key === 'Enter' || ((!origin || origin.tagName !== "INPUT") && event.key === ' ')) {
2089
- event.preventDefault(); // Prevent page scroll on space
2096
+ if (event.key === 'Enter' || event.key === ' ' && (!origin || origin.tagName !== "INPUT")) {
2097
+
2098
+ event.preventDefault();
2090
2099
  this.handleClick();
2091
2100
  }
2092
2101
  break;
@@ -2097,7 +2106,7 @@ class AuroFloatingUI {
2097
2106
  break;
2098
2107
  case 'mouseleave':
2099
2108
  if (this.element.hoverToggle) {
2100
- this.hideBib();
2109
+ this.hideBib("mouseleave");
2101
2110
  }
2102
2111
  break;
2103
2112
  case 'focus':
@@ -2240,6 +2249,267 @@ class AuroFloatingUI {
2240
2249
  }
2241
2250
  }
2242
2251
 
2252
+ // Selectors for focusable elements
2253
+ const FOCUSABLE_SELECTORS = [
2254
+ 'a[href]',
2255
+ 'button:not([disabled])',
2256
+ 'textarea:not([disabled])',
2257
+ 'input:not([disabled])',
2258
+ 'select:not([disabled])',
2259
+ '[role="tab"]:not([disabled])',
2260
+ '[role="link"]:not([disabled])',
2261
+ '[role="button"]:not([disabled])',
2262
+ '[tabindex]:not([tabindex="-1"])',
2263
+ '[contenteditable]:not([contenteditable="false"])'
2264
+ ];
2265
+
2266
+ // List of custom components that are known to be focusable
2267
+ const FOCUSABLE_COMPONENTS = [
2268
+ 'auro-checkbox',
2269
+ 'auro-radio',
2270
+ 'auro-dropdown',
2271
+ 'auro-button',
2272
+ 'auro-combobox',
2273
+ 'auro-input',
2274
+ 'auro-counter',
2275
+ 'auro-menu',
2276
+ 'auro-select',
2277
+ 'auro-datepicker',
2278
+ 'auro-hyperlink',
2279
+ 'auro-accordion',
2280
+ ];
2281
+
2282
+ /**
2283
+ * Determines if a given element is a custom focusable component.
2284
+ * Returns true if the element matches a known focusable component and is not disabled.
2285
+ *
2286
+ * @param {HTMLElement} element The element to check for focusability.
2287
+ * @returns {boolean} True if the element is a focusable custom component, false otherwise.
2288
+ */
2289
+ function isFocusableComponent(element) {
2290
+ const componentName = element.tagName.toLowerCase();
2291
+
2292
+ // Guard Clause: Element is a focusable component
2293
+ if (!FOCUSABLE_COMPONENTS.some((name) => element.hasAttribute(name) || componentName === name)) return false;
2294
+
2295
+ // Guard Clause: Element is not disabled
2296
+ if (element.hasAttribute('disabled')) return false;
2297
+
2298
+ // Guard Clause: The element is a hyperlink and has no href attribute
2299
+ if (componentName.match("hyperlink") && !element.hasAttribute('href')) return false;
2300
+
2301
+ // If all guard clauses pass, the element is a focusable component
2302
+ return true;
2303
+ }
2304
+
2305
+ /**
2306
+ * Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
2307
+ * Returns a unique, ordered array of elements that can receive focus.
2308
+ *
2309
+ * @param {HTMLElement} container The container to search within
2310
+ * @returns {Array<HTMLElement>} An array of focusable elements within the container.
2311
+ */
2312
+ function getFocusableElements(container) {
2313
+ // Get elements in DOM order by walking the tree
2314
+ const orderedFocusableElements = [];
2315
+
2316
+ // Define a recursive function to collect focusable elements in DOM order
2317
+ const collectFocusableElements = (root) => {
2318
+ // Check if current element is focusable
2319
+ if (root.nodeType === Node.ELEMENT_NODE) {
2320
+ // Check if this is a custom component that is focusable
2321
+ const isComponentFocusable = isFocusableComponent(root);
2322
+
2323
+ if (isComponentFocusable) {
2324
+ // Add the component itself as a focusable element and don't traverse its shadow DOM
2325
+ orderedFocusableElements.push(root);
2326
+ return; // Skip traversing inside this component
2327
+ }
2328
+
2329
+ // Check if the element itself matches any selector
2330
+ for (const selector of FOCUSABLE_SELECTORS) {
2331
+ if (root.matches?.(selector)) {
2332
+ orderedFocusableElements.push(root);
2333
+ break; // Once we know it's focusable, no need to check other selectors
2334
+ }
2335
+ }
2336
+
2337
+ // Process shadow DOM only for non-Auro components
2338
+ if (root.shadowRoot) {
2339
+ // Process shadow DOM children in order
2340
+ if (root.shadowRoot.children) {
2341
+ Array.from(root.shadowRoot.children).forEach(child => {
2342
+ collectFocusableElements(child);
2343
+ });
2344
+ }
2345
+ }
2346
+
2347
+ // Process slots and their assigned nodes in order
2348
+ if (root.tagName === 'SLOT') {
2349
+ const assignedNodes = root.assignedNodes({ flatten: true });
2350
+ for (const node of assignedNodes) {
2351
+ collectFocusableElements(node);
2352
+ }
2353
+ } else {
2354
+ // Process light DOM children in order
2355
+ if (root.children) {
2356
+ Array.from(root.children).forEach(child => {
2357
+ collectFocusableElements(child);
2358
+ });
2359
+ }
2360
+ }
2361
+ }
2362
+ };
2363
+
2364
+ // Start the traversal from the container
2365
+ collectFocusableElements(container);
2366
+
2367
+ // Remove duplicates that might have been collected through different paths
2368
+ // while preserving order
2369
+ const uniqueElements = [];
2370
+ const seen = new Set();
2371
+
2372
+ for (const element of orderedFocusableElements) {
2373
+ if (!seen.has(element)) {
2374
+ seen.add(element);
2375
+ uniqueElements.push(element);
2376
+ }
2377
+ }
2378
+
2379
+ return uniqueElements;
2380
+ }
2381
+
2382
+ /**
2383
+ * FocusTrap manages keyboard focus within a specified container element, ensuring that focus does not leave the container when tabbing.
2384
+ * It is commonly used for modal dialogs or overlays to improve accessibility by trapping focus within interactive UI components.
2385
+ */
2386
+ class FocusTrap {
2387
+ /**
2388
+ * Creates a new FocusTrap instance for the given container element.
2389
+ * Initializes event listeners and prepares the container for focus management.
2390
+ *
2391
+ * @param {HTMLElement} container The DOM element to trap focus within.
2392
+ * @throws {Error} If the provided container is not a valid HTMLElement.
2393
+ */
2394
+ constructor(container) {
2395
+ if (!container || !(container instanceof HTMLElement)) {
2396
+ throw new Error("FocusTrap requires a valid HTMLElement.");
2397
+ }
2398
+
2399
+ this.container = container;
2400
+ this.tabDirection = 'forward'; // or 'backward'
2401
+
2402
+ this._init();
2403
+ }
2404
+
2405
+ /**
2406
+ * Initializes the focus trap by setting up event listeners and attributes on the container.
2407
+ * Prepares the container for focus management, including support for shadow DOM and inert attributes.
2408
+ *
2409
+ * @private
2410
+ */
2411
+ _init() {
2412
+
2413
+ // Add inert attribute to prevent focusing programmatically as well (if supported)
2414
+ if ('inert' in HTMLElement.prototype) {
2415
+ this.container.inert = false; // Ensure the container isn't inert
2416
+ this.container.setAttribute('data-focus-trap-container', true); // Mark for identification
2417
+ }
2418
+
2419
+ // Track tab direction
2420
+ this.container.addEventListener('keydown', this._onKeydown);
2421
+ }
2422
+
2423
+ /**
2424
+ * Handles keydown events to manage tab navigation within the container.
2425
+ * Ensures that focus wraps around when reaching the first or last focusable element.
2426
+ *
2427
+ * @param {KeyboardEvent} e The keyboard event triggered by user interaction.
2428
+ * @private
2429
+ */
2430
+ _onKeydown = (e) => {
2431
+
2432
+ if (e.key === 'Tab') {
2433
+
2434
+ // Set the tab direction based on the key pressed
2435
+ this.tabDirection = e.shiftKey ? 'backward' : 'forward';
2436
+
2437
+ // Get the active element(s) in the document and shadow root
2438
+ // This will include the active element in the shadow DOM if it exists
2439
+ // Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
2440
+ let activeElement = document.activeElement;
2441
+ const actives = [activeElement];
2442
+ while (activeElement?.shadowRoot?.activeElement) {
2443
+ actives.push(activeElement.shadowRoot.activeElement);
2444
+ activeElement = activeElement.shadowRoot.activeElement;
2445
+ }
2446
+
2447
+ // Update the focusable elements
2448
+ const focusables = this._getFocusableElements();
2449
+
2450
+ // If we're at either end of the focusable elements, wrap around to the other end
2451
+ const focusIndex =
2452
+ (actives.includes(focusables[0]) || actives.includes(this.container)) && this.tabDirection === 'backward'
2453
+ ? focusables.length - 1
2454
+ : actives.includes(focusables[focusables.length - 1]) && this.tabDirection === 'forward'
2455
+ ? 0
2456
+ : null;
2457
+
2458
+ if (focusIndex !== null) {
2459
+ focusables[focusIndex].focus();
2460
+ e.preventDefault(); // Prevent default tab behavior
2461
+ e.stopPropagation(); // Stop the event from bubbling up
2462
+ }
2463
+ }
2464
+ };
2465
+
2466
+ /**
2467
+ * Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
2468
+ * Returns a unique, ordered array of elements that can receive focus.
2469
+ *
2470
+ * @returns {Array<HTMLElement>} An array of focusable elements within the container.
2471
+ * @private
2472
+ */
2473
+ _getFocusableElements() {
2474
+ // Use the imported utility function to get focusable elements
2475
+ const elements = getFocusableElements(this.container);
2476
+
2477
+ // Filter out any elements with the 'focus-bookend' class
2478
+ return elements;
2479
+ }
2480
+
2481
+ /**
2482
+ * Moves focus to the first focusable element within the container.
2483
+ * Useful for setting initial focus when activating the focus trap.
2484
+ */
2485
+ focusFirstElement() {
2486
+ const focusables = this._getFocusableElements();
2487
+ if (focusables.length) focusables[0].focus();
2488
+ }
2489
+
2490
+ /**
2491
+ * Moves focus to the last focusable element within the container.
2492
+ * Useful for setting focus when deactivating or cycling focus in reverse.
2493
+ */
2494
+ focusLastElement() {
2495
+ const focusables = this._getFocusableElements();
2496
+ if (focusables.length) focusables[focusables.length - 1].focus();
2497
+ }
2498
+
2499
+ /**
2500
+ * Removes event listeners and attributes added by the focus trap.
2501
+ * Call this method to clean up when the focus trap is no longer needed.
2502
+ */
2503
+ disconnect() {
2504
+
2505
+ if (this.container.hasAttribute('data-focus-trap-container')) {
2506
+ this.container.removeAttribute('data-focus-trap-container');
2507
+ }
2508
+
2509
+ this.container.removeEventListener('keydown', this._onKeydown);
2510
+ }
2511
+ }
2512
+
2243
2513
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
2244
2514
  // See LICENSE in the project root for license information.
2245
2515
 
@@ -2346,7 +2616,7 @@ const cacheFetch = (uri, options = {}) => {
2346
2616
  return _fetchMap.get(uri);
2347
2617
  };
2348
2618
 
2349
- var styleCss$2 = 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}`;
2619
+ var styleCss$3 = 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}`;
2350
2620
 
2351
2621
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
2352
2622
  // See LICENSE in the project root for license information.
@@ -2389,7 +2659,7 @@ class BaseIcon extends AuroElement$1 {
2389
2659
 
2390
2660
  static get styles() {
2391
2661
  return css`
2392
- ${styleCss$2}
2662
+ ${styleCss$3}
2393
2663
  `;
2394
2664
  }
2395
2665
 
@@ -2591,7 +2861,7 @@ class AuroIcon extends BaseIcon {
2591
2861
  return [
2592
2862
  super.styles,
2593
2863
  css`${tokensCss$2}`,
2594
- css`${styleCss$2}`,
2864
+ css`${styleCss$3}`,
2595
2865
  css`${colorCss$3}`
2596
2866
  ];
2597
2867
  }
@@ -2626,8 +2896,12 @@ class AuroIcon extends BaseIcon {
2626
2896
  async firstUpdated() {
2627
2897
  await super.firstUpdated();
2628
2898
 
2629
- // Removes the SVG description for screenreader if ariaHidden is set to true
2630
- if (!this.hasAttribute('ariaHidden') && this.svg) {
2899
+ /**
2900
+ * icons provide a description for screen readers. Icon only instances Auro-button
2901
+ * depend on this description to provide context for the user using a screen reader.
2902
+ * Removes the SVG description for screen reader if ariaHidden is set to true.
2903
+ */
2904
+ if (this.hasAttribute('ariaHidden') && this.svg) {
2631
2905
  const svgDesc = this.svg.querySelector('desc');
2632
2906
 
2633
2907
  if (svgDesc) {
@@ -2673,11 +2947,11 @@ class AuroIcon extends BaseIcon {
2673
2947
 
2674
2948
  var iconVersion = '6.1.2';
2675
2949
 
2676
- var styleCss$1 = 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}`;
2950
+ var styleCss$2 = css`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host(:not([matchWidth])) .container{min-width:fit-content}: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}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}`;
2677
2951
 
2678
2952
  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)}`;
2679
2953
 
2680
- 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)}`;
2954
+ 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: var(--ds-basic-color-border-bold, #585e67);--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-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: var(--ds-basic-color-border-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-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)}`;
2681
2955
 
2682
2956
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
2683
2957
  // See LICENSE in the project root for license information.
@@ -2698,7 +2972,7 @@ const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
2698
2972
  */
2699
2973
 
2700
2974
  class AuroDropdownBib extends LitElement {
2701
-
2975
+ // not extending AuroElement because Bib needs only `shape` prop
2702
2976
  constructor() {
2703
2977
  super();
2704
2978
 
@@ -2708,11 +2982,14 @@ class AuroDropdownBib extends LitElement {
2708
2982
  this._mobileBreakpointValue = undefined;
2709
2983
 
2710
2984
  AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
2985
+
2986
+ this.shape = "rounded";
2987
+ this.matchWidth = false;
2711
2988
  }
2712
2989
 
2713
2990
  static get styles() {
2714
2991
  return [
2715
- styleCss$1,
2992
+ styleCss$2,
2716
2993
  colorCss$2,
2717
2994
  tokensCss$1
2718
2995
  ];
@@ -2745,6 +3022,15 @@ class AuroDropdownBib extends LitElement {
2745
3022
  reflect: true
2746
3023
  },
2747
3024
 
3025
+ /**
3026
+ * If declared, the bib width will match the trigger width.
3027
+ * @private
3028
+ */
3029
+ matchWidth: {
3030
+ type: Boolean,
3031
+ reflect: true
3032
+ },
3033
+
2748
3034
  /**
2749
3035
  * If declared, will apply border-radius to the bib.
2750
3036
  */
@@ -2758,6 +3044,11 @@ class AuroDropdownBib extends LitElement {
2758
3044
  */
2759
3045
  bibTemplate: {
2760
3046
  type: Object
3047
+ },
3048
+
3049
+ shape: {
3050
+ type: String,
3051
+ reflect: true
2761
3052
  }
2762
3053
  };
2763
3054
  }
@@ -2837,8 +3128,16 @@ class AuroDropdownBib extends LitElement {
2837
3128
 
2838
3129
  // function that renders the HTML and CSS into the scope of the component
2839
3130
  render() {
3131
+ const classes = {
3132
+ container: true
3133
+ };
3134
+
3135
+ // Since this class does not inherit from AuroElement, we apply the shape-related class within the `render` function,
3136
+ // mimicking the class naming convention used in AuroElement.resetShapeClasses.
3137
+ classes[`shape-${this.shape}`] = true;
3138
+
2840
3139
  return html$1`
2841
- <div class="container" part="bibContainer">
3140
+ <div class="${classMap(classes)}" part="bibContainer">
2842
3141
  <slot></slot>
2843
3142
  </div>
2844
3143
  `;
@@ -2847,21 +3146,23 @@ class AuroDropdownBib extends LitElement {
2847
3146
 
2848
3147
  var dropdownVersion = '3.0.0';
2849
3148
 
2850
- 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}`;
3149
+ var shapeSizeCss = css`.wrapper{overflow:hidden}.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:56px;max-height:56px;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:58px;max-height:58px;background-color:unset;box-shadow:none}.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:56px;max-height:56px;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;box-shadow:unset;min-height:54px;max-height:54px}.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;box-shadow:none}.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;box-shadow:unset;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;box-shadow:none}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-box-lg{min-height:52px;max-height:52px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-box-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-box-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-box-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-box-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-box-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-box-sm{min-height:32px;max-height:32px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-sm.simple{border-width:0px;min-height:36px;max-height:36px;background-color:unset;box-shadow:none}.shape-box-sm.thin{border-width:1px;min-height:34px;max-height:34px;background-color:unset}.shape-box-sm.parentBorder{border:0;box-shadow:unset;min-height:32px;max-height:32px}.shape-box-xs{min-height:20px;max-height:20px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xs.simple{border-width:0px;min-height:24px;max-height:24px;background-color:unset;box-shadow:none}.shape-box-xs.thin{border-width:1px;min-height:22px;max-height:22px;background-color:unset}.shape-box-xs.parentBorder{border:0;box-shadow:unset;min-height:20px;max-height:20px}.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;box-shadow:none}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;box-shadow:unset;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;box-shadow:none}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:68px;max-height:68px;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;box-shadow:none}.shape-pill-left-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-left-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-right-xl{min-height:68px;max-height:68px;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;box-shadow:none}.shape-pill-right-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-right-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-md{min-height:44px;max-height:44px;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;box-shadow:none}.shape-pill-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-left-md{min-height:44px;max-height:44px;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;box-shadow:none}.shape-pill-left-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-left-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-right-md{min-height:44px;max-height:44px;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;box-shadow:none}.shape-pill-right-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-right-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}`;
3150
+
3151
+ var colorCss$1 = css`:host(:not([layout*=classic])){--ds-auro-dropdown-trigger-border-color: transparent}:host(:not([ondark])) .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-within,:host(:not([ondark])) .wrapper:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused, #01426a)}:host(:not([onDark])[disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([ondark])[error]){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]) .label{color:var(--ds-auro-dropdown-label-text-color)}:host([onDark]) .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([onDark]) .wrapper:focus-within,:host([onDark]) .wrapper:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}:host([onDark][disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse-disabled, rgba(255, 255, 255, 0.1))}:host([ondark][error]){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}`;
2851
3152
 
2852
- var colorCss$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)}`;
3153
+ var styleCss$1 = css`:host{position:relative;display:block}:host([open]){z-index:var(--depth-tooltip, 400)}.wrapper{display:flex;flex:1;flex-direction:row;align-items:center;justify-content:center;outline:none}.triggerContentWrapper{display:flex;overflow:hidden;width:100%;flex:1;align-items:center;justify-content:center;text-overflow:ellipsis;white-space:nowrap}:host([matchwidth]) #bibSizer{width:100%}`;
2853
3154
 
2854
- var classicColorCss = css`:host([layout*=classic]) .label{color:var(--ds-auro-dropdown-label-text-color)}:host([layout*=classic]) .trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color);outline-color:var(--ds-auro-dropdown-trigger-outline-color)}:host([layout*=classic]) .trigger:focus-within,:host([layout*=classic]) .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused, #01426a)}:host([layout*=classic])[disabled]{--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([layout*=classic])[common],:host([layout*=classic])[bordered]{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-bold, #585e67)}:host([layout*=classic])[common] .trigger:active,:host([layout*=classic])[common] .trigger:focus-within,:host([layout*=classic])[bordered] .trigger:active,:host([layout*=classic])[bordered] .trigger:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a)}:host([layout*=classic])[error]{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([layout*=classic])[error] .trigger{outline:solid 1px var(--ds-auro-dropdown-trigger-border-color)}:host([layout*=classic])[error] .trigger:focus-within,:host([layout*=classic])[error] .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused, #01426a)}:host([layout*=classic])[disabled][common],:host([layout*=classic])[disabled][bordered]{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host([layout*=classic])[onDark]{--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db);--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([layout*=classic])[onDark]:focus-within,:host([layout*=classic])[onDark]:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}:host([layout*=classic])[onDark][disabled]{--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([layout*=classic])[onDark][common],:host([layout*=classic])[onDark][bordered]{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-inverse, #ffffff)}:host([layout*=classic])[onDark][common] .trigger:focus-within,:host([layout*=classic])[onDark][common] .trigger:active,:host([layout*=classic])[onDark][bordered] .trigger:focus-within,:host([layout*=classic])[onDark][bordered] .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}:host([layout*=classic])[onDark][error]{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}:host([layout*=classic])[onDark][error] .trigger{outline:solid 1px var(--ds-auro-dropdown-trigger-border-color)}:host([layout*=classic])[onDark][error] .trigger:focus-within,:host([layout*=classic])[onDark][error] .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}:host([layout*=classic])[onDark][disabled][common],:host([layout*=classic])[onDark][disabled][bordered]{--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse-disabled, rgba(255, 255, 255, 0.1))}`;
3155
+ var classicColorCss = css``;
2855
3156
 
2856
- 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)}`;
3157
+ 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{transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}:host([layout*=classic]) .wrapper{display:flex;flex-direction:row;box-shadow:inset 0 0 0 1px var(--ds-auro-dropdown-trigger-outline-color)}@media(hover: hover){:host([layout*=classic]) .wrapper:hover{cursor:pointer}}:host([layout*=classic]) .triggerContentWrapper{overflow:hidden;flex:1;justify-content:start;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) #showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;padding-right:var(--ds-size-150, 0.75rem)}:host([layout*=classic]) #showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem)}:host([layout*=classic]) #showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}`;
2857
3158
 
2858
- 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))}`;
3159
+ var styleEmphasizedCss = css`.layout-emphasized .chevron,.layout-emphasized-left .chevron,.layout-emphasized-right .chevron{margin-right:var(--ds-size-300, 1.5rem)}:host([layout*=emphasized][shape*=pill]:not([layout*=right])) .leftIndent{width:calc(100% - var(--ds-size-300, 1.5rem));margin-left:var(--ds-size-300, 1.5rem)}:host([layout*=emphasized][shape*=pill]:not([layout*=left])) .rightIndent{width:calc(100% - var(--ds-size-300, 1.5rem));margin-right:var(--ds-size-300, 1.5rem)}:host([layout*=emphasized][shape*=pill]:not([layout*=left]):not([layout*=right])) .rightIndent{width:calc(100% - var(--ds-size-600, 3rem));margin-right:var(--ds-size-300, 1.5rem)}`;
2859
3160
 
2860
- 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)}`;
3161
+ var styleSnowflakeCss = css`:host([layout*=snowflake]) .leftIndent{width:calc(100% - var(--ds-size-600, 3rem));margin-left:var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .rightIndent{width:calc(100% - var(--ds-size-600, 3rem));margin-right:var(--ds-size-300, 1.5rem)}.layout-snowflake .chevron,.layout-snowflake-left .chevron,.layout-snowflake-right .chevron{margin-right:var(--ds-size-300, 1.5rem)}`;
2861
3162
 
2862
- 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)}`;
3163
+ 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-basic-color-status-error-subtle, #fbc6c6)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
2863
3164
 
2864
- var styleCss = 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}`;
3165
+ var styleCss = css`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.63)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, 0.88)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:host{position:relative;display:block}.helptext-wrapper{display:none}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
2865
3166
 
2866
3167
  var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
2867
3168
 
@@ -2941,8 +3242,6 @@ class AuroLibraryRuntimeUtils {
2941
3242
 
2942
3243
  /**
2943
3244
  * Displays help text or error messages within form elements - Internal Use Only.
2944
- *
2945
- * @attr { Boolean } large - If declared, make font-size to 1rem(16px).
2946
3245
  */
2947
3246
  class AuroHelpText extends LitElement {
2948
3247
 
@@ -3058,7 +3357,7 @@ class AuroHelpText extends LitElement {
3058
3357
  // function that renders the HTML and CSS into the scope of the component
3059
3358
  render() {
3060
3359
  return html`
3061
- <div class="helptext-wrapper" ?visible="${this.hasTextContent}">
3360
+ <div class="helptext-wrapper body-xs" ?visible="${this.hasTextContent}">
3062
3361
  <slot @slotchange=${this.handleSlotChange}></slot>
3063
3362
  </div>
3064
3363
  `;
@@ -3102,19 +3401,22 @@ class AuroElement extends LitElement {
3102
3401
  }
3103
3402
 
3104
3403
  resetShapeClasses() {
3105
- if (this.shape && this.size) {
3106
- const wrapper = this.shadowRoot.querySelector('.wrapper');
3404
+ const wrapper = this.shadowRoot.querySelector('.wrapper');
3107
3405
 
3108
- if (wrapper) {
3109
- wrapper.classList.forEach((className) => {
3110
- if (className.startsWith('shape-')) {
3111
- wrapper.classList.remove(className);
3112
- }
3113
- });
3406
+ if (wrapper) {
3407
+ wrapper.classList.forEach((className) => {
3408
+ if (className.startsWith('shape-')) {
3409
+ wrapper.classList.remove(className);
3410
+ }
3411
+ });
3114
3412
 
3413
+ if (this.shape && this.size) {
3115
3414
  wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
3415
+ } else {
3416
+ wrapper.classList.add('shape-none');
3116
3417
  }
3117
3418
  }
3419
+
3118
3420
  }
3119
3421
 
3120
3422
  resetLayoutClasses() {
@@ -3163,10 +3465,9 @@ class AuroElement extends LitElement {
3163
3465
  // See LICENSE in the project root for license information.
3164
3466
 
3165
3467
 
3166
- /**
3167
- * @attr { Boolean } disableEventShow - If declared, the dropdown will only show by calling the API .show() public method.
3468
+
3469
+ /*
3168
3470
  * @slot - Default slot for the popover content.
3169
- * @slot label - Defines the content of the label.
3170
3471
  * @slot helpText - Defines the content of the helpText.
3171
3472
  * @slot trigger - Defines the content of the trigger.
3172
3473
  * @csspart trigger - The trigger content container.
@@ -3185,23 +3486,25 @@ class AuroDropdown extends AuroElement {
3185
3486
  this.matchWidth = false;
3186
3487
  this.noHideOnThisFocusLoss = false;
3187
3488
 
3188
- this.errorMessage = ''; // TODO!
3489
+ this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
3189
3490
 
3190
3491
  // Layout Config
3191
- this.layout = 'classic';
3192
- this.shape = 'rounded';
3193
- this.size = 'xl';
3492
+ this.layout = undefined;
3493
+ this.shape = undefined;
3494
+ this.size = undefined;
3495
+
3194
3496
  this.parentBorder = false;
3195
3497
 
3196
- this.privateDefaults();
3197
- }
3498
+ /** @private */
3499
+ this.handleDropdownToggle = this.handleDropdownToggle.bind(this);
3198
3500
 
3199
- get commonLabelClasses() {
3200
- return {
3201
- // 'withValue': this.value && this.value.length > 0
3202
- };
3501
+ this.privateDefaults();
3203
3502
  }
3204
3503
 
3504
+ /**
3505
+ * @private
3506
+ * @returns {object} Class definition for the wrapper element.
3507
+ */
3205
3508
  get commonWrapperClasses() {
3206
3509
  return {
3207
3510
  'trigger': true,
@@ -3219,13 +3522,10 @@ class AuroDropdown extends AuroElement {
3219
3522
  privateDefaults() {
3220
3523
  this.chevron = false;
3221
3524
  this.disabled = false;
3525
+ this.disableFocusTrap = false;
3222
3526
  this.error = false;
3223
- this.inset = false;
3224
- this.rounded = false;
3225
3527
  this.tabIndex = 0;
3226
3528
  this.noToggle = false;
3227
- this.a11yAutocomplete = 'none';
3228
- this.labeled = true;
3229
3529
  this.a11yRole = 'button';
3230
3530
  this.onDark = false;
3231
3531
  this.showTriggerBorders = true;
@@ -3321,6 +3621,18 @@ class AuroDropdown extends AuroElement {
3321
3621
  this.floater.showBib();
3322
3622
  }
3323
3623
 
3624
+ /**
3625
+ * When bib is open, focus on the first element inside of bib.
3626
+ * If not, trigger element will get focus.
3627
+ */
3628
+ focus() {
3629
+ if (this.isPopoverVisible && this.focusTrap) {
3630
+ this.focusTrap.focusFirstElement();
3631
+ } else {
3632
+ this.trigger.focus();
3633
+ }
3634
+ }
3635
+
3324
3636
  // function to define props used within the scope of this component
3325
3637
  static get properties() {
3326
3638
  return {
@@ -3334,6 +3646,15 @@ class AuroDropdown extends AuroElement {
3334
3646
  reflect: true
3335
3647
  },
3336
3648
 
3649
+ /**
3650
+ * If declared, the dropdown will only show by calling the API .show() public method.
3651
+ * @default false
3652
+ */
3653
+ disableEventShow: {
3654
+ type: Boolean,
3655
+ reflect: true
3656
+ },
3657
+
3337
3658
  /**
3338
3659
  * If declared, applies a border around the trigger slot.
3339
3660
  */
@@ -3352,17 +3673,17 @@ class AuroDropdown extends AuroElement {
3352
3673
  },
3353
3674
 
3354
3675
  /**
3355
- * If declared, the dropdown will be styled with the common theme.
3676
+ * If declared, the dropdown is not interactive.
3356
3677
  */
3357
- common: {
3678
+ disabled: {
3358
3679
  type: Boolean,
3359
3680
  reflect: true
3360
3681
  },
3361
3682
 
3362
3683
  /**
3363
- * If declared, the dropdown is not interactive.
3684
+ * If declared, the focus trap inside of bib will be turned off.
3364
3685
  */
3365
- disabled: {
3686
+ disableFocusTrap: {
3366
3687
  type: Boolean,
3367
3688
  reflect: true
3368
3689
  },
@@ -3407,27 +3728,13 @@ class AuroDropdown extends AuroElement {
3407
3728
  reflect: true
3408
3729
  },
3409
3730
 
3410
- /**
3411
- * Makes the trigger to be full width of its parent container.
3412
- */
3413
- fluid: {
3414
- type: Boolean,
3415
- reflect: true
3416
- },
3417
-
3418
- /**
3419
- * If declared, will apply padding around trigger slot content.
3420
- */
3421
- inset: {
3422
- type: Boolean,
3423
- reflect: true
3424
- },
3425
-
3426
3731
  /**
3427
3732
  * If true, the dropdown bib is displayed.
3428
3733
  */
3429
3734
  isPopoverVisible: {
3430
- type: Boolean
3735
+ type: Boolean,
3736
+ reflect: true,
3737
+ attribute: 'open'
3431
3738
  },
3432
3739
 
3433
3740
  /**
@@ -3466,15 +3773,6 @@ class AuroDropdown extends AuroElement {
3466
3773
  reflect: true
3467
3774
  },
3468
3775
 
3469
- /**
3470
- * Defines if there is a label preset.
3471
- * @private
3472
- */
3473
- labeled: {
3474
- type: Boolean,
3475
- reflect: true
3476
- },
3477
-
3478
3776
  /**
3479
3777
  * Defines if the trigger should size based on the parent element providing the border UI.
3480
3778
  * @private
@@ -3535,6 +3833,9 @@ class AuroDropdown extends AuroElement {
3535
3833
  reflect: true
3536
3834
  },
3537
3835
 
3836
+ /**
3837
+ * If declared, and a function is set, that function will execute when the slot content is updated.
3838
+ */
3538
3839
  onSlotChange: {
3539
3840
  type: Function,
3540
3841
  reflect: false
@@ -3549,14 +3850,6 @@ class AuroDropdown extends AuroElement {
3549
3850
  reflect: true
3550
3851
  },
3551
3852
 
3552
- /**
3553
- * If declared, will apply border-radius to trigger and default slots.
3554
- */
3555
- rounded: {
3556
- type: Boolean,
3557
- reflect: true
3558
- },
3559
-
3560
3853
  /**
3561
3854
  * @private
3562
3855
  */
@@ -3571,22 +3864,15 @@ class AuroDropdown extends AuroElement {
3571
3864
  type: String || undefined,
3572
3865
  attribute: false,
3573
3866
  reflect: false
3574
- },
3575
-
3576
- /**
3577
- * The value for the aria-autocomplete attribute of the trigger element.
3578
- */
3579
- a11yAutocomplete: {
3580
- type: String,
3581
- attribute: false,
3582
3867
  }
3583
3868
  };
3584
3869
  }
3585
3870
 
3586
3871
  static get styles() {
3587
3872
  return [
3588
- colorCss$1,
3873
+ styleCss$1,
3589
3874
  tokensCss$1,
3875
+ colorCss$1,
3590
3876
 
3591
3877
  // default layout
3592
3878
  classicColorCss,
@@ -3648,13 +3934,27 @@ class AuroDropdown extends AuroElement {
3648
3934
  if (changedProperties.size === 0 || changedProperties.has('isPopoverVisible')) {
3649
3935
  this.handleTriggerContentSlotChange();
3650
3936
  }
3937
+ }
3651
3938
 
3939
+ /**
3940
+ * Handles the custom event `auroDropdown-toggled` to update the visibility of the dropdown bib.
3941
+ * @private
3942
+ * @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
3943
+ */
3944
+ handleDropdownToggle(event) {
3945
+ this.updateFocusTrap();
3946
+ this.isPopoverVisible = event.detail.expanded;
3947
+ const eventType = event.detail.eventType || "unknown";
3948
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
3949
+ this.trigger.focus();
3950
+ }
3652
3951
  }
3653
3952
 
3654
3953
  firstUpdated() {
3655
3954
 
3656
3955
  // Configure the floater to, this will generate the ID for the bib
3657
3956
  this.floater.configure(this, 'auroDropdown');
3957
+ this.addEventListener('auroDropdown-toggled', this.handleDropdownToggle);
3658
3958
 
3659
3959
  /**
3660
3960
  * @description Let subscribers know that the dropdown ID ha been generated and added.
@@ -3672,6 +3972,13 @@ class AuroDropdown extends AuroElement {
3672
3972
 
3673
3973
  // Add the tag name as an attribute if it is different than the component name
3674
3974
  this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
3975
+
3976
+ this.trigger.addEventListener('click', () => {
3977
+ this.dispatchEvent(new CustomEvent('auroDropdown-triggerClick', {
3978
+ bubbles: true,
3979
+ composed: true
3980
+ }));
3981
+ });
3675
3982
  }
3676
3983
 
3677
3984
  /**
@@ -3715,70 +4022,33 @@ class AuroDropdown extends AuroElement {
3715
4022
  }
3716
4023
 
3717
4024
  /**
3718
- * Function to support @focusout event.
3719
4025
  * @private
3720
- * @return {void}
3721
4026
  */
3722
- handleFocusout() {
3723
- this.hasFocus = false;
4027
+ updateFocusTrap() {
4028
+ // If the dropdown is open, create a focus trap and focus the first element
4029
+ if (this.isPopoverVisible && !this.disableFocusTrap) {
4030
+ this.focusTrap = new FocusTrap(this.bibContent);
4031
+ this.focusTrap.focusFirstElement();
4032
+ return;
4033
+ }
4034
+
4035
+ // Guard Clause: Ensure there is a focus trap currently active before continuing
4036
+ if (!this.focusTrap) {
4037
+ return;
4038
+ }
4039
+
4040
+ // If the dropdown is not open, disconnect the focus trap if it exists
4041
+ this.focusTrap.disconnect();
4042
+ this.focusTrap = undefined;
3724
4043
  }
3725
4044
 
3726
4045
  /**
3727
- * Determines if the element or any children are focusable.
4046
+ * Function to support @focusout event.
3728
4047
  * @private
3729
- * @param {HTMLElement} element - Element to check.
3730
- * @returns {Boolean} - True if the element or any children are focusable.
4048
+ * @return {void}
3731
4049
  */
3732
- containsFocusableElement(element) {
3733
- this.showTriggerBorders = true;
3734
-
3735
- const nodes = [
3736
- element,
3737
- ...element.children
3738
- ];
3739
-
3740
- const focusableElements = [
3741
- 'a',
3742
- 'auro-hyperlink',
3743
- 'button',
3744
- 'auro-button',
3745
- 'input',
3746
- 'auro-input',
3747
- ];
3748
-
3749
- const focusableElementsThatNeedBorders = ['auro-input'];
3750
-
3751
- const result = nodes.some((node) => {
3752
- const tagName = node.tagName.toLowerCase();
3753
-
3754
- if (node.tabIndex > -1) {
3755
- return true;
3756
- }
3757
-
3758
- if (focusableElements.includes(tagName)) {
3759
- if ((tagName === 'a' || tagName === 'auro-hyperlink' || node.hasAttribute('auro-hyperlink')) && node.hasAttribute('href')) {
3760
- return true;
3761
- }
3762
- if (!node.hasAttribute('disabled')) {
3763
- return true;
3764
- }
3765
- }
3766
-
3767
- if (focusableElements.some((focusableElement) => focusableElement.startsWith('auro-') && (focusableElement === tagName || node.hasAttribute(focusableElement)))) {
3768
- return true;
3769
- }
3770
-
3771
- return false;
3772
- });
3773
-
3774
- if (result) {
3775
- this.showTriggerBorders = !nodes.some((node) => {
3776
- const tagName = node.tagName.toLowerCase();
3777
- return focusableElements.includes(tagName) && !focusableElementsThatNeedBorders.includes(tagName);
3778
- });
3779
- }
3780
-
3781
- return result;
4050
+ handleFocusout() {
4051
+ this.hasFocus = false;
3782
4052
  }
3783
4053
 
3784
4054
  /**
@@ -3874,14 +4144,13 @@ class AuroDropdown extends AuroElement {
3874
4144
  * @returns {void}
3875
4145
  */
3876
4146
  handleTriggerContentSlotChange(event) {
3877
-
3878
4147
  this.floater.handleTriggerTabIndex();
3879
4148
 
3880
4149
  // Get the trigger
3881
4150
  const trigger = this.shadowRoot.querySelector('#trigger');
3882
4151
 
3883
4152
  // Get the trigger slot
3884
- const triggerSlot = this.shadowRoot.querySelector('.triggerContent slot');
4153
+ const triggerSlot = this.shadowRoot.querySelector('.triggerContentWrapper slot');
3885
4154
 
3886
4155
  // If there's a trigger slot
3887
4156
  if (triggerSlot) {
@@ -3893,7 +4162,7 @@ class AuroDropdown extends AuroElement {
3893
4162
  if (triggerContentNodes) {
3894
4163
 
3895
4164
  // See if any of them are focusable elements
3896
- this.triggerContentFocusable = triggerContentNodes.some((node) => this.containsFocusableElement(node));
4165
+ this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements(node).length > 0);
3897
4166
 
3898
4167
  // If any of them are focusable elements
3899
4168
  if (this.triggerContentFocusable) {
@@ -3944,7 +4213,6 @@ class AuroDropdown extends AuroElement {
3944
4213
  *
3945
4214
  * @private
3946
4215
  * @method handleDefaultSlot
3947
- * @param {Event} event - The event object representing the slot change.
3948
4216
  * @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
3949
4217
  */
3950
4218
  handleDefaultSlot() {
@@ -3954,29 +4222,6 @@ class AuroDropdown extends AuroElement {
3954
4222
  }
3955
4223
  }
3956
4224
 
3957
- /**
3958
- * @private
3959
- * @method handleLabelSlotChange
3960
- * @param {event} event - The event object representing the slot change.
3961
- * @description Handles the slot change event for the label slot.
3962
- */
3963
- handleLabelSlotChange (event) {
3964
-
3965
- // Get the nodes from the event
3966
- const nodes = event.target.assignedNodes();
3967
-
3968
- // Guard clause for no nodes
3969
- if (!nodes) {
3970
- return;
3971
- }
3972
-
3973
- // Convert the nodes to a measurable array so we can get the length
3974
- const nodesArr = Array.from(nodes);
3975
-
3976
- // If the nodes array has a length, the dropdown is labeled
3977
- this.labeled = nodesArr.length > 0;
3978
- }
3979
-
3980
4225
  /**
3981
4226
  * Returns HTML for the common portion of the layouts.
3982
4227
  * @private
@@ -3989,24 +4234,19 @@ class AuroDropdown extends AuroElement {
3989
4234
  <div
3990
4235
  id="trigger"
3991
4236
  class="${classMap(this.commonWrapperClasses)}" part="wrapper"
3992
- tabindex="${this.tabIndex}"
4237
+ tabindex="${ifDefined(this.triggerContentFocusable ? undefined : this.tabIndex)}"
3993
4238
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
3994
- aria-expanded="${ifDefined(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
3995
- aria-controls="${ifDefined(this.triggerContentFocusable ? undefined : this.dropdownId)}"
4239
+ aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
4240
+ aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
3996
4241
  aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
3997
4242
  @focusin="${this.handleFocusin}"
3998
4243
  @blur="${this.handleFocusOut}">
3999
- <div class="triggerContentWrapper">
4000
- <label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
4001
- <slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
4002
- </label>
4003
- <div class="triggerContent">
4004
- <slot
4005
- name="trigger"
4006
- @slotchange="${this.handleTriggerContentSlotChange}"></slot>
4007
- </div>
4244
+ <div class="triggerContentWrapper" id="triggerLabel">
4245
+ <slot
4246
+ name="trigger"
4247
+ @slotchange="${this.handleTriggerContentSlotChange}"></slot>
4008
4248
  </div>
4009
- ${this.chevron || this.common ? html$1`
4249
+ ${this.chevron ? html$1`
4010
4250
  <div
4011
4251
  id="showStateIcon"
4012
4252
  class="chevron"
@@ -4027,11 +4267,9 @@ class AuroDropdown extends AuroElement {
4027
4267
  <div id="bibSizer" part="size"></div>
4028
4268
  <${this.dropdownBibTag}
4029
4269
  id="bib"
4270
+ shape="${this.shape}"
4030
4271
  ?data-show="${this.isPopoverVisible}"
4031
- ?isfullscreen="${this.isBibFullscreen}"
4032
- ?common="${this.common}"
4033
- ?rounded="${this.common || this.rounded}"
4034
- ?inset="${this.common || this.inset}">
4272
+ ?isfullscreen="${this.isBibFullscreen}">
4035
4273
  <div class="slotContent">
4036
4274
  <slot @slotchange="${this.handleDefaultSlot}"></slot>
4037
4275
  </div>
@@ -4046,62 +4284,13 @@ class AuroDropdown extends AuroElement {
4046
4284
  * @returns {html} - Returns HTML for the classic layout.
4047
4285
  */
4048
4286
  renderLayoutClassic() {
4287
+ // TODO: check with Doug why this was never used?
4288
+ const helpTextClasses = {
4289
+ 'helpText': true
4290
+ };
4049
4291
 
4050
4292
  return html$1`
4051
- <div>
4052
- <div
4053
- id="trigger"
4054
- class="trigger"
4055
- part="trigger"
4056
- tabindex="${this.tabIndex}"
4057
- ?showBorder="${this.showTriggerBorders}"
4058
- role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
4059
- aria-expanded="${ifDefined(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
4060
- aria-controls="${ifDefined(this.triggerContentFocusable ? undefined : this.dropdownId)}"
4061
- aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
4062
- >
4063
- <div class="triggerContentWrapper">
4064
- <label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
4065
- <slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
4066
- </label>
4067
- <div class="triggerContent">
4068
- <slot
4069
- name="trigger"
4070
- @slotchange="${this.handleTriggerContentSlotChange}"></slot>
4071
- </div>
4072
- </div>
4073
- ${this.chevron || this.common ? html$1`
4074
- <div
4075
- id="showStateIcon"
4076
- part="chevron">
4077
- <${this.iconTag}
4078
- category="interface"
4079
- name="chevron-down"
4080
- ?onDark="${this.onDark}"
4081
- variant="${this.disabled ? 'disabled' : 'muted'}">
4082
- >
4083
- </${this.iconTag}>
4084
- </div>
4085
- ` : undefined }
4086
- </div>
4087
- <${this.helpTextTag} part="helpText" ?onDark=${this.onDark} ?error="${this.error}">
4088
- <slot name="helpText"></slot>
4089
- </${this.helpTextTag}>
4090
-
4091
- <div id="bibSizer" part="size"></div>
4092
- <${this.dropdownBibTag}
4093
- id="bib"
4094
- ?data-show="${this.isPopoverVisible}"
4095
- ?isfullscreen="${this.isBibFullscreen}"
4096
- ?common="${this.common}"
4097
- ?rounded="${this.common || this.rounded}"
4098
- ?inset="${this.common || this.inset}"
4099
- >
4100
- <div class="slotContent">
4101
- <slot @slotchange="${this.handleDefaultSlot}"></slot>
4102
- </div>
4103
- </${this.dropdownBibTag}>
4104
- </div>
4293
+ ${this.renderBasicHtml(helpTextClasses)}
4105
4294
  `;
4106
4295
  }
4107
4296