summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components/dropdown-menu.css
diff options
context:
space:
mode:
authorAaron Iker <[email protected]>2026-02-02 01:17:14 +0100
committerGitHub <[email protected]>2026-02-02 01:17:14 +0100
commit377bf7ff21a4f05807c38675ac70cd08fe67b516 (patch)
tree018639c6a87c248d2df325f6a32c511d7e9caf15 /packages/ui/src/components/dropdown-menu.css
parentb39c1f158f5e78b41edd944dce792a8b602819c1 (diff)
downloadopencode-377bf7ff21a4f05807c38675ac70cd08fe67b516.tar.gz
opencode-377bf7ff21a4f05807c38675ac70cd08fe67b516.zip
feat(ui): Select, dropdown, popover styles & transitions (#11675)
Diffstat (limited to 'packages/ui/src/components/dropdown-menu.css')
-rw-r--r--packages/ui/src/components/dropdown-menu.css45
1 files changed, 27 insertions, 18 deletions
diff --git a/packages/ui/src/components/dropdown-menu.css b/packages/ui/src/components/dropdown-menu.css
index cba041613..18266ac1a 100644
--- a/packages/ui/src/components/dropdown-menu.css
+++ b/packages/ui/src/components/dropdown-menu.css
@@ -2,26 +2,29 @@
[data-component="dropdown-menu-sub-content"] {
min-width: 8rem;
overflow: hidden;
+ border: none;
border-radius: var(--radius-md);
- border: 1px solid color-mix(in oklch, var(--border-base) 50%, transparent);
+ box-shadow: var(--shadow-xs-border);
background-clip: padding-box;
background-color: var(--surface-raised-stronger-non-alpha);
padding: 4px;
- box-shadow: var(--shadow-md);
- z-index: 50;
+ z-index: 100;
transform-origin: var(--kb-menu-content-transform-origin);
- &:focus,
- &:focus-visible {
+ &:focus-within,
+ &:focus {
outline: none;
}
- &[data-closed] {
- animation: dropdown-menu-close 0.15s ease-out;
+ animation: dropdownMenuContentHide var(--transition-duration) var(--transition-easing) forwards;
+
+ @starting-style {
+ animation: none;
}
&[data-expanded] {
- animation: dropdown-menu-open 0.15s ease-out;
+ pointer-events: auto;
+ animation: dropdownMenuContentShow var(--transition-duration) var(--transition-easing) forwards;
}
}
@@ -38,18 +41,22 @@
padding: 4px 8px;
border-radius: var(--radius-sm);
cursor: default;
- user-select: none;
outline: none;
font-family: var(--font-family-sans);
- font-size: var(--font-size-small);
+ font-size: var(--font-size-base);
font-weight: var(--font-weight-medium);
line-height: var(--line-height-large);
letter-spacing: var(--letter-spacing-normal);
color: var(--text-strong);
- &[data-highlighted] {
- background: var(--surface-raised-base-hover);
+ transition-property: background-color, color;
+ transition-duration: var(--transition-duration);
+ transition-timing-function: var(--transition-easing);
+ user-select: none;
+
+ &:hover {
+ background-color: var(--surface-raised-base-hover);
}
&[data-disabled] {
@@ -61,6 +68,8 @@
[data-slot="dropdown-menu-sub-trigger"] {
&[data-expanded] {
background: var(--surface-raised-base-hover);
+ outline: none;
+ border: none;
}
}
@@ -102,24 +111,24 @@
}
}
-@keyframes dropdown-menu-open {
+@keyframes dropdownMenuContentShow {
from {
opacity: 0;
- transform: scale(0.96);
+ transform: scaleY(0.95);
}
to {
opacity: 1;
- transform: scale(1);
+ transform: scaleY(1);
}
}
-@keyframes dropdown-menu-close {
+@keyframes dropdownMenuContentHide {
from {
opacity: 1;
- transform: scale(1);
+ transform: scaleY(1);
}
to {
opacity: 0;
- transform: scale(0.96);
+ transform: scaleY(0.95);
}
}