Correct Hub and Engine component geometry

This commit is contained in:
DCCONSTRUCTIONS
2026-07-10 03:14:43 +03:00
parent 73629d68c3
commit 4a9ad01ea6
28 changed files with 922 additions and 167 deletions
+29 -6
View File
@@ -24,6 +24,7 @@
"domContract": ["nodedc-button", "nodedc-icon-button"],
"summary": "Text and icon actions with shared sizing, states and computed accent contrast.",
"variants": ["primary", "secondary", "ghost", "danger", "accent"],
"shapes": ["default", "pill", "rounded"],
"rules": [
"Icon-only actions are circular by default.",
"Filled accent actions derive foreground contrast from the actual accent.",
@@ -97,7 +98,13 @@
"domPackage": "@nodedc/ui-dom",
"domExports": ["createSelectController"],
"summary": "Theme-independent selection control using the canonical dropdown layer.",
"behavior": ["controlled value", "optional search", "disabled options", "selected state", "portal menu"]
"variants": ["integrated", "split"],
"behavior": ["controlled value", "optional search", "disabled options", "selected state", "portal menu"],
"rules": [
"Integrated is the single-pill Hub/Launcher form.",
"Split is the Engine form: a separate value surface and a 46 px toggle separated by an 8 px gap.",
"The portal menu preserves its source-family row geometry instead of inheriting card radii."
]
},
{
"id": "window",
@@ -108,10 +115,11 @@
"domExports": ["createModalController"],
"domContract": ["nodedc-overlay", "nodedc-window"],
"summary": "Canonical controlled window for modal and right-side panel presentations.",
"behavior": ["portal to body", "focus entry", "focus trap", "focus restore", "Escape close", "backdrop close policy", "body scroll lock"],
"behavior": ["portal to body", "focus entry", "modal-only focus trap", "focus restore", "Escape close", "backdrop close policy", "modal-only body scroll lock"],
"rules": [
"Open state belongs to the application; focus/layer behavior belongs to the component.",
"The same window contract is used by Launcher, CMS and SEO; theme variables supply color differences."
"The same window contract is used by Launcher, CMS and SEO; theme variables supply color differences.",
"A right-side inspector is modeless by default: no dimming, no backdrop blur, no backdrop close, no focus trap and no body scroll lock."
]
},
{
@@ -134,7 +142,7 @@
"id": "app-header",
"status": "baseline",
"package": "@nodedc/ui-react",
"exports": ["AppHeader", "HeaderProfile", "HeaderWorkspace"],
"exports": ["AppHeader", "HeaderProfile", "HeaderProfileButton", "HeaderWorkspace", "HeaderAvatar"],
"domContract": ["nodedc-header-shell", "nodedc-header"],
"summary": "Three-axis NODE.DC application header with fixed brand geometry and composable center/right slots.",
"anatomy": ["left brand", "optional left context", "center navigation/workspace", "right actions/profile"],
@@ -143,6 +151,20 @@
"Product routes and profile content are application data passed into stable slots."
]
},
{
"id": "admin-navigation-panel",
"status": "baseline",
"package": "@nodedc/ui-react",
"exports": ["AdminNavigationPanel"],
"domContract": ["nodedc-admin-panel"],
"summary": "Hub-derived left administration panel with context selectors, route navigation, close action and footer identity.",
"anatomy": ["eyebrow and title", "close action", "workspace context", "company context", "route items", "footer identity"],
"rules": [
"The panel shell, full-bleed pills and icon circles are library geometry; routes and identity data remain application-owned.",
"The desktop panel is 352 px wide with a 21.6 px shell radius and opens beside, not over, the main Hub content.",
"Active route state uses the active surface and icon contrast from the theme."
]
},
{
"id": "status-badge",
"status": "baseline",
@@ -160,9 +182,10 @@
"summary": "Accordion settings/definition inspector derived only from the redesigned Engine environment and NDC agent inspector.",
"rules": [
"Legacy Engine inspectors are not reference implementations.",
"Domain-specific field definitions remain in Engine; reusable layout and controls live here."
"Domain-specific field definitions remain in Engine; reusable layout and controls live here.",
"Desktop Engine geometry is fixed at 390 px panel, 330 px content, 154/14/162 px control rows and 50 px section headers with a 12 px radius.",
"Accent-filled section headers belong to Environment Settings; neutral headers remain available for other approved inspector contexts."
]
}
]
}