49 lines
1.6 KiB
JSON
49 lines
1.6 KiB
JSON
{
|
|
"id": "dropdown-surface",
|
|
"name": "DropdownSurface",
|
|
"kind": "primitive",
|
|
"status": "stable-reference",
|
|
"summary": "Canonical dark floating surface for selection dropdowns, action dropdowns, filters, and profile menu popovers.",
|
|
"sourceRefs": [
|
|
{
|
|
"project": "nodedc_taskmanager",
|
|
"file": "HDROPDOWN-CANON.md"
|
|
},
|
|
{
|
|
"project": "nodedc_taskmanager",
|
|
"file": "plane-src/apps/web/styles/globals.css",
|
|
"classes": ["nodedc-dropdown-surface", "nodedc-dropdown-search", "nodedc-dropdown-option"]
|
|
},
|
|
{
|
|
"project": "nodedc_launcher",
|
|
"file": "src/shared/ui/PortalDropdown.tsx"
|
|
},
|
|
{
|
|
"project": "nodedc_launcher",
|
|
"file": "src/styles/globals.css",
|
|
"classes": ["portal-dropdown", "nodedc-dropdown-surface"]
|
|
}
|
|
],
|
|
"visualContract": {
|
|
"background": "linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.01)) over rgba(8,8,11,0.9)",
|
|
"radius": "1.25rem",
|
|
"padding": "0.75rem",
|
|
"blur": "44px",
|
|
"shadow": "tokens.shadow.dropdown",
|
|
"border": "0"
|
|
},
|
|
"behaviorContract": [
|
|
"Render on fixed/portal layer when inside cards, sidebars, tables, sticky headers, or scroll containers.",
|
|
"Close on outside pointer and Escape.",
|
|
"Use Popper or equivalent fixed-position placement.",
|
|
"Default selection placement is bottom-start.",
|
|
"Default action placement for card quick actions is bottom-start or bottom-end depending on anchor edge."
|
|
],
|
|
"optionContract": {
|
|
"radius": "0.9rem",
|
|
"hover": "rgba(255,255,255,0.06)",
|
|
"outline": "none"
|
|
}
|
|
}
|
|
|