NODEDC_LAUNCHER/dc-ui-guideline/rules/ui-rules.json

71 lines
2.7 KiB
JSON

{
"schemaVersion": "0.1.0",
"rules": [
{
"id": "no-random-local-ui",
"severity": "error",
"text": "Do not create a local one-off UI element when a registry component exists."
},
{
"id": "no-outlines",
"severity": "error",
"text": "Visible outlines, stroke borders, focus rings, and hard colored contours are forbidden on runtime UI. Use only fill, opacity, blur, and surface hover/focus states."
},
{
"id": "circle-actions",
"severity": "error",
"text": "Icon-only actions are circular controls. They use the shared control-ring size and 5px inset rules."
},
{
"id": "dropdowns-portal",
"severity": "error",
"text": "Dropdowns inside cards, tables, sidebars, sticky headers, and scroll containers render through a portal/fixed layer."
},
{
"id": "dropdowns-shared-engine",
"severity": "error",
"text": "Selection dropdowns and action dropdowns use the shared dropdown engine. Do not implement local outside-click and absolute inline menus."
},
{
"id": "matte-glass",
"severity": "error",
"text": "Popup, dropdown, modal, sidebar, and settings surfaces use dark matte glass with blur, not plain transparency, monocolor fills, or light foreign backgrounds."
},
{
"id": "accent-contrast",
"severity": "error",
"text": "Filled accent controls must use computed on-accent text from the accent-contrast utility."
},
{
"id": "buttons-shared-module",
"severity": "error",
"text": "Text actions use the shared Button primitive with variant and surface props. Modal footer buttons must use surface='modal'."
},
{
"id": "status-pills",
"severity": "error",
"text": "Statuses use the shared status-tone palette, centered label, no outline, and fixed status control geometry."
},
{
"id": "admin-tables",
"severity": "warning",
"text": "Admin data screens use AdminTable anatomy: table-shell, toolbar, editable cells, circular actions, and shared status/date controls."
},
{
"id": "delete-confirmation",
"severity": "error",
"text": "Every destructive delete/removal action must open NodeDcDeleteModal before mutating data."
},
{
"id": "inline-delete-buttons",
"severity": "error",
"text": "Inline delete buttons inside editors and tables stay transparent by default and receive only neutral glass hover; red filled delete buttons are forbidden outside the confirmation modal."
},
{
"id": "taskmanager-calendar",
"severity": "warning",
"text": "Calendar popovers must follow the Task Manager nodedc-calendar-shell and portal dropdown pattern."
}
]
}