[data-rs-dropdown-menu] {
position: relative;
}
[data-rs-dropdown-menu-content] {
position: absolute;
top: 100%;
left: 0;
margin-top: var(--space-2xs);
z-index: var(--dropdown-menu-z-index);
background: var(--dropdown-menu-bg);
color: var(--dropdown-menu-fg);
padding: var(--dropdown-menu-padding-y) 0;
border-radius: var(--dropdown-menu-radius);
border: var(--dropdown-menu-border-width) solid var(--dropdown-menu-border-color);
box-shadow: var(--dropdown-menu-shadow);
min-width: var(--dropdown-menu-min-width);
opacity: 0;
visibility: hidden;
transform: scale(0.95);
transition:
opacity var(--dropdown-menu-transition-duration) var(--dropdown-menu-transition-ease),
visibility var(--dropdown-menu-transition-duration) var(--dropdown-menu-transition-ease),
transform var(--dropdown-menu-transition-duration) var(--dropdown-menu-transition-ease);
}
[data-rs-dropdown-menu-item] {
display: flex;
align-items: center;
height: var(--dropdown-menu-item-height);
padding: 0 var(--dropdown-menu-item-padding);
cursor: pointer;
transition: background var(--motion-duration-fast) var(--motion-ease-standard),
color var(--motion-duration-fast) var(--motion-ease-standard);
}
[data-rs-dropdown-menu-item][data-rs-variant="destructive"] {
color: var(--dropdown-menu-item-destructive-fg);
}
[data-rs-dropdown-menu-item][data-rs-variant="destructive"]:hover:not([data-rs-state~="disabled"]) {
background: var(--theme-status-error-bg);
color: var(--dropdown-menu-item-destructive-fg);
}
[data-rs-dropdown-menu-item]:hover:not([data-rs-state~="active"]):not([data-rs-state~="disabled"]) {
background: var(--dropdown-menu-item-hover-bg);
}
[data-rs-dropdown-menu-item][data-rs-state~="focus"],
[data-rs-dropdown-menu-checkbox-item][data-rs-state~="focus"] {
background: var(--dropdown-menu-item-hover-bg);
color: var(--dropdown-menu-item-hover-fg);
outline: none;
}
[data-rs-dropdown-menu-item][data-rs-state~="selected"] {
background: var(--dropdown-menu-item-selected-bg);
}
[data-rs-dropdown-menu-separator] {
height: var(--border-thin);
background: var(--dropdown-menu-separator-color);
margin: var(--dropdown-menu-separator-margin-y) 0;
}
[data-rs-dropdown-menu-checkbox-item] {
display: flex;
align-items: center;
gap: var(--space-sm);
width: 100%;
min-height: var(--dropdown-menu-item-height);
padding: 0 var(--dropdown-menu-item-padding);
cursor: pointer;
background: transparent;
border: none;
text-align: left;
color: inherit;
font: inherit;
justify-content: flex-start;
}
[data-rs-dropdown-menu-label] {
flex: 1;
text-align: left;
}
[data-rs-dropdown-menu-checkbox-item]:hover:not([data-rs-state~="checked"]):not([data-rs-state~="disabled"]) {
background: var(--dropdown-menu-item-hover-bg);
}
[data-rs-dropdown-menu-indicator] {
display: inline-flex;
align-items: center;
justify-content: center;
width: var(--space-md);
height: var(--space-md);
flex-shrink: 0;
border: var(--border-thin) solid var(--theme-surface-border);
border-radius: var(--radius-xs);
background: transparent;
font-size: var(--font-size-xs);
font-weight: bold;
color: transparent;
}
[data-rs-dropdown-menu-checkbox-item][data-rs-state~="checked"] [data-rs-dropdown-menu-indicator] {
background: var(--theme-action-primary-bg);
border-color: var(--theme-action-primary-bg);
color: var(--theme-action-primary-fg);
}
[data-rs-dropdown-menu-checkbox-item][data-rs-state~="checked"] [data-rs-dropdown-menu-indicator]::after {
content: "✓";
}
[data-rs-dropdown-menu-checkbox-item][data-rs-state~="disabled"] {
opacity: var(--opacity-disabled);
pointer-events: none;
}
[data-rs-dropdown-menu][data-rs-state~="open"] [data-rs-dropdown-menu-content] {
opacity: 1;
visibility: visible;
transform: scale(1);
}
[data-rs-dropdown-menu][data-rs-state~="closed"] [data-rs-dropdown-menu-content] {
opacity: 0;
visibility: hidden;
transform: scale(0.95);
}