@aurodesignsystem-dev/auro-formkit 0.0.0-pr1346.13 → 0.0.0-pr1346.15

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 (43) hide show
  1. package/components/checkbox/demo/api.min.js +1 -1
  2. package/components/checkbox/demo/index.min.js +1 -1
  3. package/components/checkbox/dist/index.js +1 -1
  4. package/components/checkbox/dist/registered.js +1 -1
  5. package/components/combobox/demo/api.min.js +63 -47
  6. package/components/combobox/demo/index.min.js +63 -47
  7. package/components/combobox/dist/index.js +59 -42
  8. package/components/combobox/dist/registered.js +59 -42
  9. package/components/counter/demo/api.min.js +58 -41
  10. package/components/counter/demo/index.min.js +58 -41
  11. package/components/counter/dist/index.js +58 -41
  12. package/components/counter/dist/registered.js +58 -41
  13. package/components/datepicker/demo/api.min.js +59 -42
  14. package/components/datepicker/demo/index.min.js +59 -42
  15. package/components/datepicker/dist/index.js +59 -42
  16. package/components/datepicker/dist/registered.js +59 -42
  17. package/components/dropdown/demo/api.min.js +57 -40
  18. package/components/dropdown/demo/index.min.js +57 -40
  19. package/components/dropdown/dist/auro-dropdownBib.d.ts +42 -0
  20. package/components/dropdown/dist/index.js +57 -40
  21. package/components/dropdown/dist/registered.js +57 -40
  22. package/components/form/demo/api.min.js +241 -174
  23. package/components/form/demo/index.min.js +241 -174
  24. package/components/input/demo/api.min.js +1 -1
  25. package/components/input/demo/index.min.js +1 -1
  26. package/components/input/dist/index.js +1 -1
  27. package/components/input/dist/registered.js +1 -1
  28. package/components/menu/demo/api.md +4 -10
  29. package/components/menu/demo/api.min.js +4 -5
  30. package/components/menu/demo/index.min.js +4 -5
  31. package/components/menu/dist/auro-menuoption.d.ts +0 -8
  32. package/components/menu/dist/index.js +4 -5
  33. package/components/menu/dist/registered.js +4 -5
  34. package/components/radio/demo/api.min.js +1 -1
  35. package/components/radio/demo/index.min.js +1 -1
  36. package/components/radio/dist/index.js +1 -1
  37. package/components/radio/dist/registered.js +1 -1
  38. package/components/select/demo/api.min.js +62 -46
  39. package/components/select/demo/index.min.js +62 -46
  40. package/components/select/dist/index.js +58 -41
  41. package/components/select/dist/registered.js +58 -41
  42. package/custom-elements.json +1408 -1389
  43. package/package.json +1 -1
@@ -6748,7 +6748,7 @@ class AuroHelpText extends i$3 {
6748
6748
  }
6749
6749
  }
6750
6750
 
6751
- var formkitVersion = '202603091734';
6751
+ var formkitVersion = '202603091803';
6752
6752
 
6753
6753
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6754
6754
  // See LICENSE in the project root for license information.
@@ -6673,7 +6673,7 @@ class AuroHelpText extends i$3 {
6673
6673
  }
6674
6674
  }
6675
6675
 
6676
- var formkitVersion = '202603091734';
6676
+ var formkitVersion = '202603091803';
6677
6677
 
6678
6678
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6679
6679
  // See LICENSE in the project root for license information.
@@ -6614,7 +6614,7 @@ class AuroHelpText extends LitElement {
6614
6614
  }
6615
6615
  }
6616
6616
 
6617
- var formkitVersion = '202603091734';
6617
+ var formkitVersion = '202603091803';
6618
6618
 
6619
6619
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6620
6620
  // See LICENSE in the project root for license information.
@@ -6614,7 +6614,7 @@ class AuroHelpText extends LitElement {
6614
6614
  }
6615
6615
  }
6616
6616
 
6617
- var formkitVersion = '202603091734';
6617
+ var formkitVersion = '202603091803';
6618
6618
 
6619
6619
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6620
6620
  // See LICENSE in the project root for license information.
@@ -84,16 +84,10 @@ The `auro-menuoption` element provides users a way to define a menu option.
84
84
 
85
85
  ## Events
86
86
 
87
- | Event | Type | Description |
88
- |----------------------------|---------------------|--------------------------------------------------|
89
- | `auroMenuOption-click` | `CustomEvent<this>` | |
90
- | `auroMenuOption-mouseover` | `CustomEvent<this>` | Notifies that this option has been hovered over. |
91
-
92
- ## Slots
93
-
94
- | Name | Description |
95
- |-----------|--------------------------------------------|
96
- | [default](#default) | The default slot for the menu option text. |
87
+ | Event | Type |
88
+ |----------------------------|---------------------|
89
+ | `auroMenuOption-click` | `CustomEvent<this>` |
90
+ | `auroMenuOption-mouseover` | `CustomEvent<this>` |
97
91
  <!-- AURO-GENERATED-CONTENT:END -->
98
92
 
99
93
  ## Basic
@@ -476,6 +476,8 @@ function dispatchMenuEvent(element, eventName, detail = null) {
476
476
  *
477
477
  * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
478
478
  */
479
+ let menuOptionIdCounter = 0;
480
+
479
481
  class AuroMenuOption extends AuroElement {
480
482
 
481
483
  /**
@@ -660,11 +662,8 @@ class AuroMenuOption extends AuroElement {
660
662
 
661
663
  // Generate unique ID if not already set (required for aria-activedescendant)
662
664
  if (!this.id) {
663
- const idBase = 36;
664
- const sliceStart = 2;
665
- const sliceEnd = 8;
666
- this.id = `menuoption-${Math.random().toString(idBase).
667
- slice(sliceStart, sliceEnd)}`;
665
+ menuOptionIdCounter += 1;
666
+ this.id = `menuoption-${menuOptionIdCounter}`;
668
667
  }
669
668
 
670
669
  this.setAttribute('role', 'option');
@@ -384,6 +384,8 @@ function dispatchMenuEvent(element, eventName, detail = null) {
384
384
  *
385
385
  * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
386
386
  */
387
+ let menuOptionIdCounter = 0;
388
+
387
389
  class AuroMenuOption extends AuroElement {
388
390
 
389
391
  /**
@@ -568,11 +570,8 @@ class AuroMenuOption extends AuroElement {
568
570
 
569
571
  // Generate unique ID if not already set (required for aria-activedescendant)
570
572
  if (!this.id) {
571
- const idBase = 36;
572
- const sliceStart = 2;
573
- const sliceEnd = 8;
574
- this.id = `menuoption-${Math.random().toString(idBase).
575
- slice(sliceStart, sliceEnd)}`;
573
+ menuOptionIdCounter += 1;
574
+ this.id = `menuoption-${menuOptionIdCounter}`;
576
575
  }
577
576
 
578
577
  this.setAttribute('role', 'option');
@@ -1,11 +1,3 @@
1
- /**
2
- * The `auro-menuoption` element provides users a way to define a menu option.
3
- * @customElement auro-menuoption
4
- *
5
- * @slot default - The default slot for the menu option text.
6
- *
7
- * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
8
- */
9
1
  export class AuroMenuOption extends AuroElement {
10
2
  /**
11
3
  * This will register this element with the browser.
@@ -358,6 +358,8 @@ function dispatchMenuEvent(element, eventName, detail = null) {
358
358
  *
359
359
  * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
360
360
  */
361
+ let menuOptionIdCounter = 0;
362
+
361
363
  class AuroMenuOption extends AuroElement {
362
364
 
363
365
  /**
@@ -542,11 +544,8 @@ class AuroMenuOption extends AuroElement {
542
544
 
543
545
  // Generate unique ID if not already set (required for aria-activedescendant)
544
546
  if (!this.id) {
545
- const idBase = 36;
546
- const sliceStart = 2;
547
- const sliceEnd = 8;
548
- this.id = `menuoption-${Math.random().toString(idBase).
549
- slice(sliceStart, sliceEnd)}`;
547
+ menuOptionIdCounter += 1;
548
+ this.id = `menuoption-${menuOptionIdCounter}`;
550
549
  }
551
550
 
552
551
  this.setAttribute('role', 'option');
@@ -305,6 +305,8 @@ function dispatchMenuEvent(element, eventName, detail = null) {
305
305
  *
306
306
  * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
307
307
  */
308
+ let menuOptionIdCounter = 0;
309
+
308
310
  class AuroMenuOption extends AuroElement {
309
311
 
310
312
  /**
@@ -489,11 +491,8 @@ class AuroMenuOption extends AuroElement {
489
491
 
490
492
  // Generate unique ID if not already set (required for aria-activedescendant)
491
493
  if (!this.id) {
492
- const idBase = 36;
493
- const sliceStart = 2;
494
- const sliceEnd = 8;
495
- this.id = `menuoption-${Math.random().toString(idBase).
496
- slice(sliceStart, sliceEnd)}`;
494
+ menuOptionIdCounter += 1;
495
+ this.id = `menuoption-${menuOptionIdCounter}`;
497
496
  }
498
497
 
499
498
  this.setAttribute('role', 'option');
@@ -1645,7 +1645,7 @@ class AuroHelpText extends i$2 {
1645
1645
  }
1646
1646
  }
1647
1647
 
1648
- var formkitVersion = '202603091734';
1648
+ var formkitVersion = '202603091803';
1649
1649
 
1650
1650
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1651
1651
  // See LICENSE in the project root for license information.
@@ -1620,7 +1620,7 @@ class AuroHelpText extends i$2 {
1620
1620
  }
1621
1621
  }
1622
1622
 
1623
- var formkitVersion = '202603091734';
1623
+ var formkitVersion = '202603091803';
1624
1624
 
1625
1625
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1626
1626
  // See LICENSE in the project root for license information.
@@ -1573,7 +1573,7 @@ class AuroHelpText extends LitElement {
1573
1573
  }
1574
1574
  }
1575
1575
 
1576
- var formkitVersion = '202603091734';
1576
+ var formkitVersion = '202603091803';
1577
1577
 
1578
1578
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1579
1579
  // See LICENSE in the project root for license information.
@@ -1573,7 +1573,7 @@ class AuroHelpText extends LitElement {
1573
1573
  }
1574
1574
  }
1575
1575
 
1576
- var formkitVersion = '202603091734';
1576
+ var formkitVersion = '202603091803';
1577
1577
 
1578
1578
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1579
1579
  // See LICENSE in the project root for license information.
@@ -4474,45 +4474,70 @@ class AuroDropdownBib extends i$3 {
4474
4474
  firstUpdated(changedProperties) {
4475
4475
  super.firstUpdated(changedProperties);
4476
4476
 
4477
- // Handle ESC key via dialog's cancel event
4478
4477
  const dialog = this.shadowRoot.querySelector('dialog');
4478
+ this._setupCancelHandler(dialog);
4479
+ this._setupKeyboardBridge(dialog);
4480
+
4481
+ this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
4482
+ bubbles: true,
4483
+ composed: true,
4484
+ detail: {
4485
+ element: this
4486
+ }
4487
+ }));
4488
+ }
4489
+
4490
+ /**
4491
+ * Forwards the dialog's native `cancel` event (fired on ESC) as
4492
+ * an `auro-bib-cancel` custom event so parent components can close.
4493
+ * @param {HTMLDialogElement} dialog
4494
+ * @private
4495
+ */
4496
+ _setupCancelHandler(dialog) {
4479
4497
  dialog.addEventListener('cancel', (event) => {
4480
- // Let parent handle closing
4481
4498
  event.preventDefault();
4482
4499
  this.dispatchEvent(new CustomEvent('auro-bib-cancel', {
4483
4500
  bubbles: true,
4484
4501
  composed: true
4485
4502
  }));
4486
4503
  });
4504
+ }
4487
4505
 
4488
- // showModal() creates a closed focus scope — keyboard events inside
4489
- // the dialog's shadow DOM do NOT bubble out to the combobox/select
4490
- // keydown handlers in the parent shadow DOM. This handler bridges
4491
- // that gap by re-dispatching navigation keys so they cross the
4492
- // shadow boundary and reach the menu navigation logic in the parent
4493
- // component.
4494
- //
4495
- // The trade-off: intercepting these keys means native keyboard
4496
- // behaviors that would normally "just work" must be manually
4497
- // re-implemented here:
4498
- //
4499
- // - Enter on buttons: Custom elements (auro-button) don't get the
4500
- // native Enter→click that <button> provides, so we call .click()
4501
- // directly when Enter is pressed on a button-like element.
4502
- //
4503
- // - Tab: Intercepted and re-dispatched so parent components
4504
- // (select/combobox) can select the active option and close the
4505
- // dialog. The <dialog> provides containment and isolation
4506
- // (inert background, VoiceOver focus trapping, top layer), while
4507
- // the content inside is a role="listbox" navigated via
4508
- // aria-activedescendant (options are not focusable). Tab keyboard
4509
- // behavior follows listbox conventions (select + close) because
4510
- // the dialog's native Tab trap only cycles between the close
4511
- // button and browser chrome.
4512
- //
4513
- // - Escape: The native <dialog> fires a `cancel` event on ESC
4514
- // (handled above), so the re-dispatched Escape is a secondary
4515
- // path for parent components that also listen for Escape keydown.
4506
+ /**
4507
+ * showModal() creates a closed focus scope keyboard events inside
4508
+ * the dialog's shadow DOM do NOT bubble out to the combobox/select
4509
+ * keydown handlers in the parent shadow DOM. This handler bridges
4510
+ * that gap by re-dispatching navigation keys so they cross the
4511
+ * shadow boundary and reach the menu navigation logic in the parent
4512
+ * component.
4513
+ *
4514
+ * The trade-off: intercepting these keys means native keyboard
4515
+ * behaviors that would normally "just work" must be manually
4516
+ * re-implemented here:
4517
+ *
4518
+ * - Enter on buttons: Custom elements (auro-button) don't get the
4519
+ * native Enter→click that <button> provides, so we call .click()
4520
+ * directly when Enter is pressed on a button-like element.
4521
+ *
4522
+ * - Tab: Intercepted and re-dispatched so parent components
4523
+ * (select/combobox) can select the active option and close the
4524
+ * dialog. The <dialog> provides containment and isolation
4525
+ * (inert background, VoiceOver focus trapping, top layer), while
4526
+ * the content inside is a role="listbox" navigated via
4527
+ * aria-activedescendant (options are not focusable). Tab keyboard
4528
+ * behavior follows listbox conventions (select + close) because
4529
+ * the dialog's native Tab trap only cycles between the close
4530
+ * button and browser chrome.
4531
+ *
4532
+ * - Escape: The native <dialog> fires a `cancel` event on ESC
4533
+ * (handled by _setupCancelHandler), so the re-dispatched Escape
4534
+ * is a secondary path for parent components that also listen for
4535
+ * Escape keydown.
4536
+ *
4537
+ * @param {HTMLDialogElement} dialog
4538
+ * @private
4539
+ */
4540
+ _setupKeyboardBridge(dialog) {
4516
4541
  const navKeys = new Set([
4517
4542
  'ArrowUp',
4518
4543
  'ArrowDown',
@@ -4520,6 +4545,7 @@ class AuroDropdownBib extends i$3 {
4520
4545
  'Escape',
4521
4546
  'Tab'
4522
4547
  ]);
4548
+
4523
4549
  dialog.addEventListener('keydown', (event) => {
4524
4550
  if (!navKeys.has(event.key)) {
4525
4551
  return;
@@ -4554,15 +4580,6 @@ class AuroDropdownBib extends i$3 {
4554
4580
  });
4555
4581
  this.dispatchEvent(newEvent);
4556
4582
  });
4557
-
4558
- // Dispatch a custom event when the component is connected
4559
- this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
4560
- bubbles: true,
4561
- composed: true,
4562
- detail: {
4563
- element: this
4564
- }
4565
- }));
4566
4583
  }
4567
4584
 
4568
4585
  /**
@@ -4914,7 +4931,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
4914
4931
  }
4915
4932
  };
4916
4933
 
4917
- var formkitVersion$1 = '202603091734';
4934
+ var formkitVersion$1 = '202603091803';
4918
4935
 
4919
4936
  class AuroElement extends i$3 {
4920
4937
  static get properties() {
@@ -6658,7 +6675,7 @@ class AuroHelpText extends i$3 {
6658
6675
  }
6659
6676
  }
6660
6677
 
6661
- var formkitVersion = '202603091734';
6678
+ var formkitVersion = '202603091803';
6662
6679
 
6663
6680
  var styleCss$2 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.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.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.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, 1rem)}.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.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, 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"),var(--wcss-display-xl-family-fallback, 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"),var(--wcss-display-lg-family-fallback, 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"),var(--wcss-display-md-family-fallback, 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"),var(--wcss-display-sm-family-fallback, 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"),var(--wcss-display-xs-family-fallback, 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"),var(--wcss-heading-xl-family-fallback, 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"),var(--wcss-heading-lg-family-fallback, 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"),var(--wcss-heading-md-family-fallback, 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"),var(--wcss-heading-sm-family-fallback, 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"),var(--wcss-heading-xs-family-fallback, 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"),var(--wcss-heading-2xs-family-fallback, 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"),var(--wcss-accent-2xl-family-fallback, 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"),var(--wcss-accent-xl-family-fallback, 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"),var(--wcss-accent-lg-family-fallback, 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"),var(--wcss-accent-md-family-fallback, 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"),var(--wcss-accent-sm-family-fallback, 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"),var(--wcss-accent-xs-family-fallback, 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"),var(--wcss-accent-2xs-family-fallback, 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}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
6664
6681
 
@@ -8253,6 +8270,8 @@ function dispatchMenuEvent(element, eventName, detail = null) {
8253
8270
  *
8254
8271
  * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
8255
8272
  */
8273
+ let menuOptionIdCounter = 0;
8274
+
8256
8275
  class AuroMenuOption extends AuroElement$1 {
8257
8276
 
8258
8277
  /**
@@ -8437,11 +8456,8 @@ class AuroMenuOption extends AuroElement$1 {
8437
8456
 
8438
8457
  // Generate unique ID if not already set (required for aria-activedescendant)
8439
8458
  if (!this.id) {
8440
- const idBase = 36;
8441
- const sliceStart = 2;
8442
- const sliceEnd = 8;
8443
- this.id = `menuoption-${Math.random().toString(idBase).
8444
- slice(sliceStart, sliceEnd)}`;
8459
+ menuOptionIdCounter += 1;
8460
+ this.id = `menuoption-${menuOptionIdCounter}`;
8445
8461
  }
8446
8462
 
8447
8463
  this.setAttribute('role', 'option');
@@ -4402,45 +4402,70 @@ class AuroDropdownBib extends i$3 {
4402
4402
  firstUpdated(changedProperties) {
4403
4403
  super.firstUpdated(changedProperties);
4404
4404
 
4405
- // Handle ESC key via dialog's cancel event
4406
4405
  const dialog = this.shadowRoot.querySelector('dialog');
4406
+ this._setupCancelHandler(dialog);
4407
+ this._setupKeyboardBridge(dialog);
4408
+
4409
+ this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
4410
+ bubbles: true,
4411
+ composed: true,
4412
+ detail: {
4413
+ element: this
4414
+ }
4415
+ }));
4416
+ }
4417
+
4418
+ /**
4419
+ * Forwards the dialog's native `cancel` event (fired on ESC) as
4420
+ * an `auro-bib-cancel` custom event so parent components can close.
4421
+ * @param {HTMLDialogElement} dialog
4422
+ * @private
4423
+ */
4424
+ _setupCancelHandler(dialog) {
4407
4425
  dialog.addEventListener('cancel', (event) => {
4408
- // Let parent handle closing
4409
4426
  event.preventDefault();
4410
4427
  this.dispatchEvent(new CustomEvent('auro-bib-cancel', {
4411
4428
  bubbles: true,
4412
4429
  composed: true
4413
4430
  }));
4414
4431
  });
4432
+ }
4415
4433
 
4416
- // showModal() creates a closed focus scope — keyboard events inside
4417
- // the dialog's shadow DOM do NOT bubble out to the combobox/select
4418
- // keydown handlers in the parent shadow DOM. This handler bridges
4419
- // that gap by re-dispatching navigation keys so they cross the
4420
- // shadow boundary and reach the menu navigation logic in the parent
4421
- // component.
4422
- //
4423
- // The trade-off: intercepting these keys means native keyboard
4424
- // behaviors that would normally "just work" must be manually
4425
- // re-implemented here:
4426
- //
4427
- // - Enter on buttons: Custom elements (auro-button) don't get the
4428
- // native Enter→click that <button> provides, so we call .click()
4429
- // directly when Enter is pressed on a button-like element.
4430
- //
4431
- // - Tab: Intercepted and re-dispatched so parent components
4432
- // (select/combobox) can select the active option and close the
4433
- // dialog. The <dialog> provides containment and isolation
4434
- // (inert background, VoiceOver focus trapping, top layer), while
4435
- // the content inside is a role="listbox" navigated via
4436
- // aria-activedescendant (options are not focusable). Tab keyboard
4437
- // behavior follows listbox conventions (select + close) because
4438
- // the dialog's native Tab trap only cycles between the close
4439
- // button and browser chrome.
4440
- //
4441
- // - Escape: The native <dialog> fires a `cancel` event on ESC
4442
- // (handled above), so the re-dispatched Escape is a secondary
4443
- // path for parent components that also listen for Escape keydown.
4434
+ /**
4435
+ * showModal() creates a closed focus scope keyboard events inside
4436
+ * the dialog's shadow DOM do NOT bubble out to the combobox/select
4437
+ * keydown handlers in the parent shadow DOM. This handler bridges
4438
+ * that gap by re-dispatching navigation keys so they cross the
4439
+ * shadow boundary and reach the menu navigation logic in the parent
4440
+ * component.
4441
+ *
4442
+ * The trade-off: intercepting these keys means native keyboard
4443
+ * behaviors that would normally "just work" must be manually
4444
+ * re-implemented here:
4445
+ *
4446
+ * - Enter on buttons: Custom elements (auro-button) don't get the
4447
+ * native Enter→click that <button> provides, so we call .click()
4448
+ * directly when Enter is pressed on a button-like element.
4449
+ *
4450
+ * - Tab: Intercepted and re-dispatched so parent components
4451
+ * (select/combobox) can select the active option and close the
4452
+ * dialog. The <dialog> provides containment and isolation
4453
+ * (inert background, VoiceOver focus trapping, top layer), while
4454
+ * the content inside is a role="listbox" navigated via
4455
+ * aria-activedescendant (options are not focusable). Tab keyboard
4456
+ * behavior follows listbox conventions (select + close) because
4457
+ * the dialog's native Tab trap only cycles between the close
4458
+ * button and browser chrome.
4459
+ *
4460
+ * - Escape: The native <dialog> fires a `cancel` event on ESC
4461
+ * (handled by _setupCancelHandler), so the re-dispatched Escape
4462
+ * is a secondary path for parent components that also listen for
4463
+ * Escape keydown.
4464
+ *
4465
+ * @param {HTMLDialogElement} dialog
4466
+ * @private
4467
+ */
4468
+ _setupKeyboardBridge(dialog) {
4444
4469
  const navKeys = new Set([
4445
4470
  'ArrowUp',
4446
4471
  'ArrowDown',
@@ -4448,6 +4473,7 @@ class AuroDropdownBib extends i$3 {
4448
4473
  'Escape',
4449
4474
  'Tab'
4450
4475
  ]);
4476
+
4451
4477
  dialog.addEventListener('keydown', (event) => {
4452
4478
  if (!navKeys.has(event.key)) {
4453
4479
  return;
@@ -4482,15 +4508,6 @@ class AuroDropdownBib extends i$3 {
4482
4508
  });
4483
4509
  this.dispatchEvent(newEvent);
4484
4510
  });
4485
-
4486
- // Dispatch a custom event when the component is connected
4487
- this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
4488
- bubbles: true,
4489
- composed: true,
4490
- detail: {
4491
- element: this
4492
- }
4493
- }));
4494
4511
  }
4495
4512
 
4496
4513
  /**
@@ -4842,7 +4859,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
4842
4859
  }
4843
4860
  };
4844
4861
 
4845
- var formkitVersion$1 = '202603091734';
4862
+ var formkitVersion$1 = '202603091803';
4846
4863
 
4847
4864
  class AuroElement extends i$3 {
4848
4865
  static get properties() {
@@ -6586,7 +6603,7 @@ class AuroHelpText extends i$3 {
6586
6603
  }
6587
6604
  }
6588
6605
 
6589
- var formkitVersion = '202603091734';
6606
+ var formkitVersion = '202603091803';
6590
6607
 
6591
6608
  var styleCss$2 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.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.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.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, 1rem)}.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.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, 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"),var(--wcss-display-xl-family-fallback, 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"),var(--wcss-display-lg-family-fallback, 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"),var(--wcss-display-md-family-fallback, 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"),var(--wcss-display-sm-family-fallback, 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"),var(--wcss-display-xs-family-fallback, 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"),var(--wcss-heading-xl-family-fallback, 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"),var(--wcss-heading-lg-family-fallback, 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"),var(--wcss-heading-md-family-fallback, 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"),var(--wcss-heading-sm-family-fallback, 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"),var(--wcss-heading-xs-family-fallback, 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"),var(--wcss-heading-2xs-family-fallback, 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"),var(--wcss-accent-2xl-family-fallback, 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"),var(--wcss-accent-xl-family-fallback, 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"),var(--wcss-accent-lg-family-fallback, 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"),var(--wcss-accent-md-family-fallback, 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"),var(--wcss-accent-sm-family-fallback, 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"),var(--wcss-accent-xs-family-fallback, 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"),var(--wcss-accent-2xs-family-fallback, 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}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
6592
6609
 
@@ -8181,6 +8198,8 @@ function dispatchMenuEvent(element, eventName, detail = null) {
8181
8198
  *
8182
8199
  * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
8183
8200
  */
8201
+ let menuOptionIdCounter = 0;
8202
+
8184
8203
  class AuroMenuOption extends AuroElement$1 {
8185
8204
 
8186
8205
  /**
@@ -8365,11 +8384,8 @@ class AuroMenuOption extends AuroElement$1 {
8365
8384
 
8366
8385
  // Generate unique ID if not already set (required for aria-activedescendant)
8367
8386
  if (!this.id) {
8368
- const idBase = 36;
8369
- const sliceStart = 2;
8370
- const sliceEnd = 8;
8371
- this.id = `menuoption-${Math.random().toString(idBase).
8372
- slice(sliceStart, sliceEnd)}`;
8387
+ menuOptionIdCounter += 1;
8388
+ this.id = `menuoption-${menuOptionIdCounter}`;
8373
8389
  }
8374
8390
 
8375
8391
  this.setAttribute('role', 'option');