@aurodesignsystem-dev/auro-formkit 0.0.0-pr1498.0 → 0.0.0-pr1499.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/components/checkbox/demo/customize.min.js +2 -2
  2. package/components/checkbox/demo/getting-started.min.js +2 -2
  3. package/components/checkbox/demo/index.min.js +2 -2
  4. package/components/checkbox/dist/index.js +2 -2
  5. package/components/checkbox/dist/registered.js +2 -2
  6. package/components/combobox/demo/customize.md +3 -7
  7. package/components/combobox/demo/customize.min.js +1703 -1461
  8. package/components/combobox/demo/getting-started.min.js +1703 -1461
  9. package/components/combobox/demo/index.min.js +1703 -1461
  10. package/components/combobox/dist/auro-combobox.d.ts +0 -5
  11. package/components/combobox/dist/index.js +162 -495
  12. package/components/combobox/dist/registered.js +162 -495
  13. package/components/counter/demo/customize.min.js +19 -18
  14. package/components/counter/demo/index.min.js +19 -18
  15. package/components/counter/dist/index.js +160 -5811
  16. package/components/counter/dist/registered.js +187 -5442
  17. package/components/datepicker/demo/customize.md +477 -384
  18. package/components/datepicker/demo/customize.min.js +99 -171
  19. package/components/datepicker/demo/index.md +0 -1
  20. package/components/datepicker/demo/index.min.js +99 -171
  21. package/components/datepicker/dist/index.js +99 -171
  22. package/components/datepicker/dist/registered.js +99 -171
  23. package/components/datepicker/dist/src/auro-datepicker.d.ts +2 -2
  24. package/components/dropdown/demo/customize.min.js +17 -16
  25. package/components/dropdown/demo/getting-started.min.js +17 -16
  26. package/components/dropdown/demo/index.min.js +17 -16
  27. package/components/dropdown/dist/auro-dropdown.d.ts +2 -1
  28. package/components/dropdown/dist/index.js +17 -16
  29. package/components/dropdown/dist/registered.js +17 -16
  30. package/components/form/demo/customize.min.js +8494 -8428
  31. package/components/form/demo/getting-started.min.js +8494 -8428
  32. package/components/form/demo/index.min.js +8494 -8428
  33. package/components/form/demo/registerDemoDeps.min.js +8518 -8452
  34. package/components/input/demo/customize.md +539 -472
  35. package/components/input/demo/customize.min.js +61 -136
  36. package/components/input/demo/getting-started.min.js +61 -136
  37. package/components/input/demo/index.min.js +61 -136
  38. package/components/input/dist/base-input.d.ts +0 -16
  39. package/components/input/dist/index.js +61 -136
  40. package/components/input/dist/registered.js +61 -136
  41. package/components/menu/demo/api.md +45 -41
  42. package/components/menu/demo/customize.md +28 -0
  43. package/components/menu/demo/index.min.js +1358 -783
  44. package/components/menu/dist/auro-menu.context.d.ts +238 -0
  45. package/components/menu/dist/auro-menu.d.ts +110 -95
  46. package/components/menu/dist/auro-menuoption.d.ts +138 -32
  47. package/components/menu/dist/index.js +1312 -757
  48. package/components/menu/dist/registered.js +1312 -769
  49. package/components/radio/demo/customize.min.js +2 -2
  50. package/components/radio/demo/getting-started.min.js +2 -2
  51. package/components/radio/demo/index.min.js +2 -2
  52. package/components/radio/dist/index.js +2 -2
  53. package/components/radio/dist/registered.js +2 -2
  54. package/components/select/demo/customize.md +3 -7
  55. package/components/select/demo/customize.min.js +1634 -1089
  56. package/components/select/demo/getting-started.min.js +1634 -1089
  57. package/components/select/demo/index.min.js +1634 -1089
  58. package/components/select/dist/index.js +31 -61
  59. package/components/select/dist/registered.js +31 -61
  60. package/custom-elements.json +1024 -378
  61. package/package.json +1 -1
  62. package/components/select/dist/selectUtils.d.ts +0 -12
@@ -623,7 +623,7 @@ class AuroFormValidation {
623
623
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
624
624
  const input = elem.renderRoot.querySelector('input');
625
625
 
626
- if (input && input.validationMessage.length > 0) {
626
+ if (input.validationMessage.length > 0) {
627
627
  elem.errorMessage = input.validationMessage;
628
628
  }
629
629
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
@@ -835,21 +835,6 @@ function navigateArrow(component, direction, options = {}) {
835
835
  }
836
836
  }
837
837
 
838
- /**
839
- * Returns the enabled (non-disabled) options for a menu, safely.
840
- *
841
- * Auro-menu's `options` getter returns `undefined` when the menu has no items
842
- * (initItems sets `items` to undefined for empty menus). Callers that reach for
843
- * `.find()` / `[...spread]` would otherwise crash; this helper normalizes the
844
- * empty case to `[]` so array methods are always safe.
845
- *
846
- * @param {HTMLElement | null | undefined} menu - The auro-menu element.
847
- * @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
848
- */
849
- function getEnabledOptions(menu) {
850
- return (menu?.options || []).filter((option) => !option.disabled);
851
- }
852
-
853
838
  /* eslint-disable new-cap */
854
839
 
855
840
  const selectKeyboardStrategy = {
@@ -898,8 +883,7 @@ const selectKeyboardStrategy = {
898
883
  }
899
884
  evt.preventDefault();
900
885
  evt.stopPropagation();
901
- // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
902
- const lastOption = getEnabledOptions(component.menu).pop();
886
+ const lastOption = [...component.menu.menuService.menuOptions].reverse().find((option) => !option.disabled);
903
887
  if (lastOption) {
904
888
  component.menu.updateActiveOption(lastOption);
905
889
  }
@@ -921,7 +905,7 @@ const selectKeyboardStrategy = {
921
905
  }
922
906
  evt.preventDefault();
923
907
  evt.stopPropagation();
924
- const [firstOption] = getEnabledOptions(component.menu);
908
+ const firstOption = component.menu.menuService.menuOptions.find((option) => !option.disabled);
925
909
  if (firstOption) {
926
910
  component.menu.updateActiveOption(firstOption);
927
911
  }
@@ -4862,7 +4846,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
4862
4846
  }
4863
4847
  };
4864
4848
 
4865
- var formkitVersion$1 = '202606100232';
4849
+ var formkitVersion$1 = '202606101934';
4866
4850
 
4867
4851
  class AuroElement extends LitElement {
4868
4852
  static get properties() {
@@ -5720,18 +5704,27 @@ class AuroDropdown extends AuroElement {
5720
5704
  this.focusTrap = undefined;
5721
5705
  }
5722
5706
 
5723
- // Restore any focus-loss suppression we installed for a prior trap state.
5724
- // The desktopModal trap moves focus into the bib via RAF, which would
5725
- // otherwise trip AuroFloatingUI.handleFocusLoss (a popover-top-layer
5726
- // timing issue makes its :focus-within guard miss the focused button).
5727
- if (this._priorNoHideOnFocusLoss !== undefined) {
5728
- this.noHideOnThisFocusLoss = this._priorNoHideOnFocusLoss;
5729
- this._priorNoHideOnFocusLoss = undefined;
5707
+ // Restore the user-set noHideOnThisFocusLoss value, if we overrode it.
5708
+ if (this._noHideOverridden) {
5709
+ this.noHideOnThisFocusLoss = this._priorNoHide;
5710
+ this._noHideOverridden = false;
5711
+ this._priorNoHide = undefined;
5730
5712
  }
5731
5713
 
5732
5714
  if (this.isPopoverVisible) {
5733
5715
  if (!this.isBibFullscreen) {
5734
5716
  if (this.desktopModal) {
5717
+ // The floater's focus-loss check uses :focus-within, which does not
5718
+ // match the host when focus is on a slotted element projected through
5719
+ // multiple shadow roots. Without this override, focusing a button
5720
+ // inside the bib would be misread as focus leaving the dropdown and
5721
+ // close the bib immediately. desktopModal traps focus inside the
5722
+ // bib and inerts siblings, so suppressing focus-loss dismissal here
5723
+ // is safe — Escape and outside-click still close the bib.
5724
+ this._priorNoHide = this.noHideOnThisFocusLoss;
5725
+ this._noHideOverridden = true;
5726
+ this.noHideOnThisFocusLoss = true;
5727
+
5735
5728
  // Desktop modal: trap focus only within the bib content.
5736
5729
  // Can't use FocusTrap on the bib element because keydown events
5737
5730
  // from slotted content bubble through the dropdown host (light DOM),
@@ -5804,14 +5797,6 @@ class AuroDropdown extends AuroElement {
5804
5797
  };
5805
5798
  this.addEventListener('keydown', this._bibTabHandler);
5806
5799
 
5807
- // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
5808
- // desktopModal trap owns focus management. Without this, the very
5809
- // first focus move into the bib (from the RAF below) triggers
5810
- // handleFocusLoss → hideBib, tearing down the trap before the
5811
- // user can press Tab.
5812
- this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
5813
- this.noHideOnThisFocusLoss = true;
5814
-
5815
5800
  // Move initial focus into the bib content, matching FocusTrap behavior
5816
5801
  requestAnimationFrame(() => {
5817
5802
  const focusables = getFocusableElements(this.bibContent);
@@ -6874,7 +6859,7 @@ class AuroHelpText extends LitElement {
6874
6859
  }
6875
6860
  }
6876
6861
 
6877
- var formkitVersion = '202606100232';
6862
+ var formkitVersion = '202606101934';
6878
6863
 
6879
6864
  var styleCss = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-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, 300);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, 300);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}`;
6880
6865
 
@@ -7426,7 +7411,7 @@ class AuroSelect extends AuroElement$1 {
7426
7411
  this.menu.updateActiveOption(this.optionSelected[0]);
7427
7412
  } else {
7428
7413
  // If no activeOption has yet to be set, then make the first enabled option active by default
7429
- const [firstActive] = getEnabledOptions(this.menu);
7414
+ const firstActive = this.menu.menuService.menuOptions.find((option) => !option.disabled);
7430
7415
  this.menu.updateActiveOption(firstActive);
7431
7416
  }
7432
7417
  }
@@ -7650,23 +7635,12 @@ class AuroSelect extends AuroElement$1 {
7650
7635
  this.menu.multiSelect = this.multiSelect;
7651
7636
  }
7652
7637
 
7653
- // Menu's items are populated by initItems() during its firstUpdated/slotchange.
7654
- // Since the parent select's firstUpdated runs before the child menu's, call initItems()
7655
- // here so renderNativeSelect can render the native <option> list on first paint.
7656
- if (typeof this.menu.initItems === 'function') {
7657
- this.menu.initItems();
7658
- }
7659
7638
  this.options = this.menu.options;
7660
7639
  this.updateOptionPositions();
7661
7640
  this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
7662
7641
 
7663
- this.menu.addEventListener("auroMenu-selectValueFailure", () => {
7664
- this.value = undefined;
7665
- this.optionSelected = this.multiSelect ? [] : undefined;
7666
- // The trigger label is rendered imperatively into #value, so a property
7667
- // change alone won't clear it. Refresh so stale text doesn't linger when
7668
- // a runtime value change fails to match any option.
7669
- this.updateDisplayedValue();
7642
+ this.menu.addEventListener("auroMenu-deselectPrevented", () => {
7643
+ this.hideBib();
7670
7644
  });
7671
7645
 
7672
7646
  this.menu.addEventListener('auroMenu-activatedOption', (evt) => {
@@ -7688,20 +7662,16 @@ class AuroSelect extends AuroElement$1 {
7688
7662
  }
7689
7663
  });
7690
7664
 
7691
- this.menu.addEventListener('auroMenu-selectedOption', () => {
7665
+ this.menu.addEventListener('auroMenu-selectedOption', (event) => {
7692
7666
 
7693
7667
  // Update the displayed value
7694
7668
  this.updateDisplayedValue();
7695
7669
 
7696
- this.value = this.menu.value;
7670
+ const options = event.detail.options || [];
7697
7671
 
7698
- // Clone the multiselect array so external mutation of select.optionSelected
7699
- // can't reach back into menu's internal state through a shared reference.
7700
- let nextSelected = this.menu.optionSelected;
7701
- if (this.multiSelect) {
7702
- nextSelected = Array.isArray(nextSelected) ? [...nextSelected] : [];
7703
- }
7704
- this.optionSelected = nextSelected;
7672
+ this.value = event.detail.stringValue;
7673
+
7674
+ this.optionSelected = this.multiSelect ? options : options[0];
7705
7675
 
7706
7676
  if (this.dropdown.isPopoverVisible && !this.multiSelect) {
7707
7677
  this.dropdown.hide();
@@ -7710,7 +7680,7 @@ class AuroSelect extends AuroElement$1 {
7710
7680
 
7711
7681
  // Announce the selection after the dropdown closes so it isn't
7712
7682
  // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
7713
- const selectedValue = this.menu.currentLabel;
7683
+ const selectedValue = event.detail.stringValue;
7714
7684
  const announcementDelay = 300;
7715
7685
  setTimeout(() => {
7716
7686
  announceToScreenReader(this._getAnnouncementRoot(), `${selectedValue}, selected`);
@@ -7906,7 +7876,7 @@ class AuroSelect extends AuroElement$1 {
7906
7876
 
7907
7877
  setMenuValue(value) {
7908
7878
  if (!this.menu) return;
7909
- this.menu.selectByValue(value);
7879
+ this.menu.value = value;
7910
7880
  }
7911
7881
 
7912
7882
  /**
@@ -623,7 +623,7 @@ class AuroFormValidation {
623
623
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
624
624
  const input = elem.renderRoot.querySelector('input');
625
625
 
626
- if (input && input.validationMessage.length > 0) {
626
+ if (input.validationMessage.length > 0) {
627
627
  elem.errorMessage = input.validationMessage;
628
628
  }
629
629
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
@@ -835,21 +835,6 @@ function navigateArrow(component, direction, options = {}) {
835
835
  }
836
836
  }
837
837
 
838
- /**
839
- * Returns the enabled (non-disabled) options for a menu, safely.
840
- *
841
- * Auro-menu's `options` getter returns `undefined` when the menu has no items
842
- * (initItems sets `items` to undefined for empty menus). Callers that reach for
843
- * `.find()` / `[...spread]` would otherwise crash; this helper normalizes the
844
- * empty case to `[]` so array methods are always safe.
845
- *
846
- * @param {HTMLElement | null | undefined} menu - The auro-menu element.
847
- * @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
848
- */
849
- function getEnabledOptions(menu) {
850
- return (menu?.options || []).filter((option) => !option.disabled);
851
- }
852
-
853
838
  /* eslint-disable new-cap */
854
839
 
855
840
  const selectKeyboardStrategy = {
@@ -898,8 +883,7 @@ const selectKeyboardStrategy = {
898
883
  }
899
884
  evt.preventDefault();
900
885
  evt.stopPropagation();
901
- // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
902
- const lastOption = getEnabledOptions(component.menu).pop();
886
+ const lastOption = [...component.menu.menuService.menuOptions].reverse().find((option) => !option.disabled);
903
887
  if (lastOption) {
904
888
  component.menu.updateActiveOption(lastOption);
905
889
  }
@@ -921,7 +905,7 @@ const selectKeyboardStrategy = {
921
905
  }
922
906
  evt.preventDefault();
923
907
  evt.stopPropagation();
924
- const [firstOption] = getEnabledOptions(component.menu);
908
+ const firstOption = component.menu.menuService.menuOptions.find((option) => !option.disabled);
925
909
  if (firstOption) {
926
910
  component.menu.updateActiveOption(firstOption);
927
911
  }
@@ -4862,7 +4846,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
4862
4846
  }
4863
4847
  };
4864
4848
 
4865
- var formkitVersion$1 = '202606100232';
4849
+ var formkitVersion$1 = '202606101934';
4866
4850
 
4867
4851
  class AuroElement extends LitElement {
4868
4852
  static get properties() {
@@ -5720,18 +5704,27 @@ class AuroDropdown extends AuroElement {
5720
5704
  this.focusTrap = undefined;
5721
5705
  }
5722
5706
 
5723
- // Restore any focus-loss suppression we installed for a prior trap state.
5724
- // The desktopModal trap moves focus into the bib via RAF, which would
5725
- // otherwise trip AuroFloatingUI.handleFocusLoss (a popover-top-layer
5726
- // timing issue makes its :focus-within guard miss the focused button).
5727
- if (this._priorNoHideOnFocusLoss !== undefined) {
5728
- this.noHideOnThisFocusLoss = this._priorNoHideOnFocusLoss;
5729
- this._priorNoHideOnFocusLoss = undefined;
5707
+ // Restore the user-set noHideOnThisFocusLoss value, if we overrode it.
5708
+ if (this._noHideOverridden) {
5709
+ this.noHideOnThisFocusLoss = this._priorNoHide;
5710
+ this._noHideOverridden = false;
5711
+ this._priorNoHide = undefined;
5730
5712
  }
5731
5713
 
5732
5714
  if (this.isPopoverVisible) {
5733
5715
  if (!this.isBibFullscreen) {
5734
5716
  if (this.desktopModal) {
5717
+ // The floater's focus-loss check uses :focus-within, which does not
5718
+ // match the host when focus is on a slotted element projected through
5719
+ // multiple shadow roots. Without this override, focusing a button
5720
+ // inside the bib would be misread as focus leaving the dropdown and
5721
+ // close the bib immediately. desktopModal traps focus inside the
5722
+ // bib and inerts siblings, so suppressing focus-loss dismissal here
5723
+ // is safe — Escape and outside-click still close the bib.
5724
+ this._priorNoHide = this.noHideOnThisFocusLoss;
5725
+ this._noHideOverridden = true;
5726
+ this.noHideOnThisFocusLoss = true;
5727
+
5735
5728
  // Desktop modal: trap focus only within the bib content.
5736
5729
  // Can't use FocusTrap on the bib element because keydown events
5737
5730
  // from slotted content bubble through the dropdown host (light DOM),
@@ -5804,14 +5797,6 @@ class AuroDropdown extends AuroElement {
5804
5797
  };
5805
5798
  this.addEventListener('keydown', this._bibTabHandler);
5806
5799
 
5807
- // Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
5808
- // desktopModal trap owns focus management. Without this, the very
5809
- // first focus move into the bib (from the RAF below) triggers
5810
- // handleFocusLoss → hideBib, tearing down the trap before the
5811
- // user can press Tab.
5812
- this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
5813
- this.noHideOnThisFocusLoss = true;
5814
-
5815
5800
  // Move initial focus into the bib content, matching FocusTrap behavior
5816
5801
  requestAnimationFrame(() => {
5817
5802
  const focusables = getFocusableElements(this.bibContent);
@@ -6874,7 +6859,7 @@ class AuroHelpText extends LitElement {
6874
6859
  }
6875
6860
  }
6876
6861
 
6877
- var formkitVersion = '202606100232';
6862
+ var formkitVersion = '202606101934';
6878
6863
 
6879
6864
  var styleCss = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-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, 300);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, 300);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}`;
6880
6865
 
@@ -7426,7 +7411,7 @@ class AuroSelect extends AuroElement$1 {
7426
7411
  this.menu.updateActiveOption(this.optionSelected[0]);
7427
7412
  } else {
7428
7413
  // If no activeOption has yet to be set, then make the first enabled option active by default
7429
- const [firstActive] = getEnabledOptions(this.menu);
7414
+ const firstActive = this.menu.menuService.menuOptions.find((option) => !option.disabled);
7430
7415
  this.menu.updateActiveOption(firstActive);
7431
7416
  }
7432
7417
  }
@@ -7650,23 +7635,12 @@ class AuroSelect extends AuroElement$1 {
7650
7635
  this.menu.multiSelect = this.multiSelect;
7651
7636
  }
7652
7637
 
7653
- // Menu's items are populated by initItems() during its firstUpdated/slotchange.
7654
- // Since the parent select's firstUpdated runs before the child menu's, call initItems()
7655
- // here so renderNativeSelect can render the native <option> list on first paint.
7656
- if (typeof this.menu.initItems === 'function') {
7657
- this.menu.initItems();
7658
- }
7659
7638
  this.options = this.menu.options;
7660
7639
  this.updateOptionPositions();
7661
7640
  this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
7662
7641
 
7663
- this.menu.addEventListener("auroMenu-selectValueFailure", () => {
7664
- this.value = undefined;
7665
- this.optionSelected = this.multiSelect ? [] : undefined;
7666
- // The trigger label is rendered imperatively into #value, so a property
7667
- // change alone won't clear it. Refresh so stale text doesn't linger when
7668
- // a runtime value change fails to match any option.
7669
- this.updateDisplayedValue();
7642
+ this.menu.addEventListener("auroMenu-deselectPrevented", () => {
7643
+ this.hideBib();
7670
7644
  });
7671
7645
 
7672
7646
  this.menu.addEventListener('auroMenu-activatedOption', (evt) => {
@@ -7688,20 +7662,16 @@ class AuroSelect extends AuroElement$1 {
7688
7662
  }
7689
7663
  });
7690
7664
 
7691
- this.menu.addEventListener('auroMenu-selectedOption', () => {
7665
+ this.menu.addEventListener('auroMenu-selectedOption', (event) => {
7692
7666
 
7693
7667
  // Update the displayed value
7694
7668
  this.updateDisplayedValue();
7695
7669
 
7696
- this.value = this.menu.value;
7670
+ const options = event.detail.options || [];
7697
7671
 
7698
- // Clone the multiselect array so external mutation of select.optionSelected
7699
- // can't reach back into menu's internal state through a shared reference.
7700
- let nextSelected = this.menu.optionSelected;
7701
- if (this.multiSelect) {
7702
- nextSelected = Array.isArray(nextSelected) ? [...nextSelected] : [];
7703
- }
7704
- this.optionSelected = nextSelected;
7672
+ this.value = event.detail.stringValue;
7673
+
7674
+ this.optionSelected = this.multiSelect ? options : options[0];
7705
7675
 
7706
7676
  if (this.dropdown.isPopoverVisible && !this.multiSelect) {
7707
7677
  this.dropdown.hide();
@@ -7710,7 +7680,7 @@ class AuroSelect extends AuroElement$1 {
7710
7680
 
7711
7681
  // Announce the selection after the dropdown closes so it isn't
7712
7682
  // overridden by VoiceOver's "collapsed" announcement from aria-expanded.
7713
- const selectedValue = this.menu.currentLabel;
7683
+ const selectedValue = event.detail.stringValue;
7714
7684
  const announcementDelay = 300;
7715
7685
  setTimeout(() => {
7716
7686
  announceToScreenReader(this._getAnnouncementRoot(), `${selectedValue}, selected`);
@@ -7906,7 +7876,7 @@ class AuroSelect extends AuroElement$1 {
7906
7876
 
7907
7877
  setMenuValue(value) {
7908
7878
  if (!this.menu) return;
7909
- this.menu.selectByValue(value);
7879
+ this.menu.value = value;
7910
7880
  }
7911
7881
 
7912
7882
  /**