Add Launcher application template and icon system
This commit is contained in:
@@ -148,7 +148,37 @@
|
||||
"anatomy": ["left brand", "optional left context", "center navigation/workspace", "right actions/profile"],
|
||||
"rules": [
|
||||
"The logo occupies the same visual position and geometry across applications.",
|
||||
"Product routes and profile content are application data passed into stable slots."
|
||||
"Product routes and profile content are application data passed into stable slots.",
|
||||
"The canonical application header is fixed and preserves the Launcher three-axis logo / navigation / profile positions."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "application-shell",
|
||||
"status": "baseline",
|
||||
"package": "@nodedc/ui-react",
|
||||
"exports": ["ApplicationShell", "ApplicationPanel"],
|
||||
"domContract": ["nodedc-app-shell", "nodedc-application-panel"],
|
||||
"summary": "Launcher-derived application template with fixed header, media stage, left navigation and a separate expandable content window.",
|
||||
"anatomy": ["fixed AppHeader", "stage", "left navigation", "right content window", "expand and close actions"],
|
||||
"behavior": ["navigation shifts stage", "content opens beside navigation", "expanded content replaces stage", "mobile panels use the available viewport sequentially", "independent content scrolling"],
|
||||
"rules": [
|
||||
"The bottom Launcher service rail is product-specific and is not part of the general application template.",
|
||||
"Desktop page gap is 20 px and navigation width follows the Launcher 332–352 px range.",
|
||||
"Applications supply routes, profile data, stage media and panel content without changing shell geometry."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "icon",
|
||||
"status": "baseline",
|
||||
"package": "@nodedc/ui-react",
|
||||
"exports": ["Icon"],
|
||||
"domContract": ["svg using currentColor"],
|
||||
"summary": "Audited semantic icon subset shared by NODE.DC applications instead of product-local vendor imports.",
|
||||
"variants": ["16 px", "18 px", "20 px"],
|
||||
"rules": [
|
||||
"Use semantic names from registry/icons.json.",
|
||||
"The containing component owns surface, hit target and state; the icon owns only the glyph.",
|
||||
"Do not copy complete Lucide or Font Awesome catalogs into an application."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -161,7 +191,7 @@
|
||||
"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.",
|
||||
"The desktop panel follows the Launcher 332–352 px width range with a 21.6 px shell radius and a 20 px page gap.",
|
||||
"Active route state uses the active surface and icon contrast from the theme."
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user