NODEDC_LAUNCHER/dc-ui-guideline/components/dropdown-surface.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"
}
}