feat(ui): add bounded workspace windows
This commit is contained in:
@@ -131,6 +131,22 @@
|
||||
"A draggable inspector moves by its header and remains clamped to the viewport."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "workspace-window",
|
||||
"status": "baseline",
|
||||
"package": "@nodedc/ui-react",
|
||||
"exports": ["WorkspaceWindow", "WorkspaceWindowRect", "WorkspaceWindowProps"],
|
||||
"domContract": ["nodedc-workspace-window"],
|
||||
"summary": "Controlled modeless window for media, tools and synchronized views constrained to an application-owned workspace.",
|
||||
"anatomy": ["controlled local rectangle", "title and optional status", "maximize and close actions", "scrollable body", "optional footer", "keyboard-accessible resize handle"],
|
||||
"behavior": ["inline render without portal", "parent-bound dragging", "bottom-right resizing", "maximize within parent", "ResizeObserver reclamp", "pointer and keyboard geometry control", "application-owned activation and stacking"],
|
||||
"rules": [
|
||||
"The bounds element is an application-owned positioned and clipped workspace; WorkspaceWindow never escapes it or renders into document.body.",
|
||||
"Rectangle, maximized state, visibility, activation and z-order are controlled by the application.",
|
||||
"Use WorkspaceWindow for auxiliary views inside a stage; modal workflows and viewport inspectors continue to use Window.",
|
||||
"Dragging and resizing remain clamped when the workspace changes size, including when it becomes smaller than the requested minimum."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "confirmation-modal",
|
||||
"status": "baseline",
|
||||
|
||||
Reference in New Issue
Block a user