{
  "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/nodedc-ui/Dropdown.tsx",
      "exports": ["NodeDcDropdown"]
    },
    {
      "project": "nodedc_launcher",
      "file": "src/styles/globals.css",
      "classes": ["nodedc-ui-dropdown-surface", "nodedc-dropdown-surface", "nodedc-ui-option", "nodedc-ui-dropdown-search"]
    }
  ],
  "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 based on trigger bounds.",
    "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"
  }
}
