Add pink media stage and sharing modal system

This commit is contained in:
DCCONSTRUCTIONS
2026-07-10 18:21:14 +03:00
parent ebae662b52
commit f1e28c267a
29 changed files with 917 additions and 64 deletions
+31 -2
View File
@@ -130,6 +130,35 @@
"summary": "Async-safe confirmation window for destructive and consequential operations.",
"behavior": ["pending state", "double-submit protection", "disabled close policy while pending"]
},
{
"id": "share-access-modal",
"status": "baseline",
"package": "@nodedc/ui-react",
"exports": ["ShareAccessModal"],
"domContract": ["nodedc-share-access-window", "nodedc-share-access", "nodedc-share-access__summary", "nodedc-share-access__member-list"],
"summary": "Engine-derived workflow access modal with compact member stack, role management and invite adapter slots.",
"behavior": ["controlled members", "compact expandable member stack", "role change", "member removal", "invite state", "immutable owner", "backdrop close disabled"],
"rules": [
"The component owns access-modal geometry and interaction; the consumer owns ACL requests and directory lookup.",
"Owner immutability and permission checks are supplied as member and canManage data.",
"The 600 px Engine composition uses 46 px invite controls and collapses to one column on mobile."
]
},
{
"id": "share-link-modal",
"status": "baseline",
"package": "@nodedc/ui-react",
"exports": ["ShareLinkModal"],
"domPackage": "@nodedc/ui-dom",
"domExports": ["createShareLinkController", "createModalController"],
"domContract": ["nodedc-window", "nodedc-field", "nodedc-button"],
"summary": "BIM-derived read-only resource link modal with copy progress and framework-neutral copy controller.",
"behavior": ["read-only link", "copy adapter", "copied state", "disabled empty state", "copy error adapter"],
"rules": [
"The resource service creates the URL; the modal only presents and copies it.",
"BIM DOM consumers combine the share-link controller with the canonical modal controller and core classes."
]
},
{
"id": "segmented-control",
"status": "baseline",
@@ -177,10 +206,10 @@
"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"],
"variants": ["15 px", "17 px", "18 px"],
"rules": [
"Use semantic names from registry/icons.json.",
"The containing component owns surface, hit target and state; the icon owns only the glyph.",
"The containing component owns surface, hit target and state; the icon owns only the glyph and is optically scaled to 90% inside controls.",
"Do not copy complete Lucide or Font Awesome catalogs into an application."
]
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"schemaVersion": "1.0.0",
"libraryVersion": "0.4.0",
"libraryVersion": "0.5.0",
"name": "NODE.DC Design System",
"purpose": "Canonical code-level UI system for current and future NODE.DC applications.",
"packages": [
+8 -2
View File
@@ -45,12 +45,14 @@
"id": "engine",
"repository": "https://git.dcserve.ru/dctouch/NODEDC_ENGINE_INFRA.git",
"auditedRevision": "d427272c7e",
"role": "reference only for redesigned environment settings, glass controls and NDC agent inspector",
"role": "reference only for redesigned environment settings, glass controls, NDC agent inspector and the approved workflow sharing modal",
"approvedPaths": [
"nodedc-source/src/components/environment",
"nodedc-source/src/components/ui/NdcGlassChecker.tsx",
"nodedc-source/src/components/ui/NdcGlassModal.tsx",
"nodedc-source/src/components/ui/NdcGlassSelect.tsx",
"nodedc-source/src/components/ui/NdcUserAvatarStack.tsx",
"nodedc-source/src/components/header/GraphsPanel.tsx",
"nodedc-source/src/driveinspector/NdcAgentInspector.tsx",
"nodedc-source/src/style/menu.css",
"nodedc-source/src/style/inspector.css"
@@ -85,7 +87,12 @@
"auditedRevision": "1a78dd0",
"role": "non-React integration reference and validation target",
"approvedPaths": [
"frontend/index.html",
"frontend/dcViewer.css",
"frontend/dcViewer.js",
"frontend/src/ui/glassSelect.js",
"frontend/src/ui/measurementModal.js",
"frontend/src/ui/objectModal.js",
"frontend/src/ui/settingsMenu.js",
"frontend/src/ui/toolbar.js"
],
@@ -104,4 +111,3 @@
}
]
}