42 lines
1.4 KiB
JSON
42 lines
1.4 KiB
JSON
{
|
|
"id": "action-dropdown",
|
|
"name": "ActionDropdown",
|
|
"kind": "component",
|
|
"status": "stable-reference",
|
|
"summary": "Shared action menu for ellipsis buttons and command lists. Used instead of local card menus.",
|
|
"sourceRefs": [
|
|
{
|
|
"project": "nodedc_taskmanager",
|
|
"file": "plane-src/packages/ui/src/dropdowns/action-dropdown.tsx",
|
|
"exports": ["ActionDropdown"]
|
|
},
|
|
{
|
|
"project": "nodedc_taskmanager",
|
|
"file": "HDROPDOWN-CANON.md",
|
|
"section": "Action dropdown"
|
|
}
|
|
],
|
|
"propsContract": {
|
|
"items": "Array of action menu items with key, icon, title, description, disabled, action, nestedMenuItems.",
|
|
"button": "Optional custom trigger.",
|
|
"buttonAsChild": "Allows using the provided trigger element as anchor.",
|
|
"placement": "Popper placement.",
|
|
"portalElement": "Defaults to document.body.",
|
|
"menuClassName": "Optional width/padding adjustment."
|
|
},
|
|
"behaviorContract": [
|
|
"Uses real trigger element.",
|
|
"Uses fixed Popper strategy.",
|
|
"Uses offset [0, 8].",
|
|
"Uses flip and preventOverflow.",
|
|
"Uses portal to document.body by default.",
|
|
"Stops trigger event propagation so cards do not open when the menu opens."
|
|
],
|
|
"rules": [
|
|
"Do not build card ellipsis menus with local isOpen and absolute positioning.",
|
|
"Menu item visual rendering lives inside ActionDropdown.",
|
|
"Nested items are allowed, but still use the same dropdown shell."
|
|
]
|
|
}
|
|
|