Files
HiveGrid-Wireframes/hivegrid-cloud/docs/ui-inventory/surfaces.json
T

486 lines
18 KiB
JSON

{
"schemaVersion": 1,
"surfaces": [
{
"id": "ui.surface.shell",
"kind": "surface",
"label": "Authenticated shell",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/ShadcnSidebarLayout.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "SidebarProvider",
"notes": ["Root authenticated shell surface for app, admin and docs layouts."]
},
{
"id": "ui.surface.shell.inset",
"kind": "surface",
"label": "Authenticated shell inset",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/ShadcnSidebarLayout.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "SidebarInset",
"notes": ["Inset area that contains the shell header and main content."]
},
{
"id": "ui.surface.app.sidebar",
"kind": "surface",
"label": "Tenant app sidebar",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/app-sidebar.tsx", "apps/web/app/application/sidebar/AppSidebar.tsx"],
"renderer": "ShadcnAppSidebar",
"notes": ["Use for prompts that target the tenant sidebar container."]
},
{
"id": "ui.surface.admin.sidebar",
"kind": "surface",
"label": "Admin sidebar",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/app-sidebar.tsx", "apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "ShadcnAppSidebar",
"notes": ["Use for prompts that target the admin sidebar container."]
},
{
"id": "ui.surface.docs.sidebar",
"kind": "surface",
"label": "Docs sidebar",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/app-sidebar.tsx", "apps/web/app/application/sidebar/DocsSidebar.ts"],
"renderer": "ShadcnAppSidebar",
"notes": ["Use for prompts that target documentation navigation."]
},
{
"id": "ui.surface.shell.header",
"kind": "surface",
"label": "Shell header",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/ShadcnSidebarLayout.tsx"],
"renderer": "ShadcnSidebarLayout",
"notes": ["Top authenticated shell bar containing sidebar trigger, breadcrumb and right actions."]
},
{
"id": "ui.surface.shell.breadcrumb",
"kind": "surface",
"label": "Shell breadcrumb area",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/ShadcnSidebarLayout.tsx"],
"renderer": "ShadcnSidebarLayout",
"notes": ["Left header area after the sidebar trigger."]
},
{
"id": "ui.surface.shell.breadcrumb.current",
"kind": "surface",
"label": "Current breadcrumb page",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/ShadcnSidebarLayout.tsx"],
"renderer": "BreadcrumbPage",
"notes": ["Current page title inside the shell breadcrumb."]
},
{
"id": "ui.surface.shell.main",
"kind": "surface",
"label": "Shell main content",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/ShadcnSidebarLayout.tsx"],
"renderer": "main",
"notes": ["Authenticated page content host."]
},
{
"id": "ui.surface.shell.navActions",
"kind": "surface",
"label": "Header right action area",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/ShadcnSidebarLayout.tsx", "apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "NavActions",
"notes": ["Right side of header with search, notifications, AI, profile/more actions."]
},
{
"id": "ui.surface.shell.aiAssistant.dialog",
"kind": "surface",
"label": "AI assistant dialog",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "DialogContent",
"notes": ["Dialog surface for AI assistant chat."]
},
{
"id": "ui.surface.shell.feedback.dialog",
"kind": "surface",
"label": "Feedback dialog",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx", "apps/web/app/components/ui/modals/Modal.tsx"],
"renderer": "Modal",
"notes": ["Dialog surface for tenant feedback."]
},
{
"id": "ui.surface.commandPalette.portal",
"kind": "surface",
"label": "Command palette portal",
"sourceFiles": ["apps/web/app/components/ui/commandPalettes/CommandPalette.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "KBarPortal",
"notes": ["Portal host for global command palette overlays."]
},
{
"id": "ui.surface.commandPalette.search",
"kind": "surface",
"label": "Command palette search",
"sourceFiles": ["apps/web/app/components/ui/commandPalettes/CommandPalette.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "KBarSearch",
"notes": ["Search input inside the global command palette."]
},
{
"id": "ui.surface.commandPalette.results",
"kind": "surface",
"label": "Command palette results",
"sourceFiles": ["apps/web/app/components/ui/commandPalettes/CommandPalette.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "KBarResults",
"notes": ["Scrollable result list inside the global command palette."]
},
{
"id": "ui.surface.commandPalette.row",
"kind": "surface",
"label": "Command palette row",
"sourceFiles": ["apps/web/app/components/ui/commandPalettes/CommandPalette.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "CommandPaletteResult",
"notes": ["Individual selectable command palette result row."]
},
{
"id": "ui.action.shell.sidebarTrigger",
"kind": "action",
"label": "Sidebar trigger",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/ShadcnSidebarLayout.tsx", "apps/web/app/components/ui/sidebar.tsx"],
"renderer": "SidebarTrigger",
"notes": ["Collapses or opens the shell sidebar."]
},
{
"id": "ui.action.shell.search",
"kind": "action",
"label": "Header search",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx", "apps/web/app/components/layouts/buttons/SearchButton.tsx"],
"renderer": "NavActions/SearchButton",
"notes": ["Opens command palette/search."]
},
{
"id": "ui.action.shell.aiAssistant",
"kind": "action",
"label": "AI assistant button",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "NavActions",
"notes": ["Opens AI assistant dialog when available."]
},
{
"id": "ui.action.shell.aiAssistant.expand",
"kind": "action",
"label": "AI assistant expand",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "NavActions",
"notes": ["Expands dialog chat into full chat route."]
},
{
"id": "ui.action.shell.aiAssistant.close",
"kind": "action",
"label": "AI assistant close",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "NavActions",
"notes": ["Closes AI assistant dialog."]
},
{
"id": "ui.action.shell.notifications",
"kind": "action",
"label": "Notifications",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "NavActions",
"notes": ["Novu-backed notifications trigger."]
},
{
"id": "ui.action.shell.onboarding",
"kind": "action",
"label": "Onboarding",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "OnboardingButton",
"notes": ["Opens onboarding flow when enabled."]
},
{
"id": "ui.action.shell.feedback",
"kind": "action",
"label": "Feedback",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "AddFeedbackButton",
"notes": ["Opens tenant feedback dialog."]
},
{
"id": "ui.action.shell.chatSupport",
"kind": "action",
"label": "Chat support",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "NavActions",
"notes": ["Opens external support chat when configured."]
},
{
"id": "ui.action.shell.more",
"kind": "action",
"label": "More actions",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx", "apps/web/app/components/layouts/sidebars/shadcn/nav-quick-links.tsx"],
"renderer": "PopoverTrigger/SidebarMenuButton",
"notes": ["Header or quick-link overflow actions."]
},
{
"id": "ui.action.shell.profile",
"kind": "action",
"label": "Profile",
"sourceFiles": ["apps/web/app/components/layouts/buttons/ProfileButton.tsx", "apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "ProfileButton/NavActions",
"notes": ["User profile or profile menu action."]
},
{
"id": "ui.action.shell.subscription",
"kind": "action",
"label": "Subscription",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "NavActions",
"notes": ["Subscription CTA or menu action."]
},
{
"id": "ui.action.shell.signOut",
"kind": "action",
"label": "Sign out",
"sourceFiles": ["apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx"],
"renderer": "NavActions",
"notes": ["Sign-out action in overflow menu."]
},
{
"id": "ui.nav.app.dashboard",
"kind": "nav",
"label": "Tenant dashboard nav",
"sourceFiles": ["apps/web/app/application/sidebar/AppSidebar.tsx"],
"renderer": "AppSidebar/NavMain",
"notes": ["Tenant dashboard sidebar item."]
},
{
"id": "ui.nav.app.notifications",
"kind": "nav",
"label": "Tenant notifications nav",
"sourceFiles": ["apps/web/app/application/sidebar/AppSidebar.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "AppSidebar/NavMain",
"notes": ["Tenant notification center sidebar item."]
},
{
"id": "ui.nav.app.crm",
"kind": "nav",
"label": "Tenant CRM nav",
"sourceFiles": ["apps/web/app/application/sidebar/AppSidebar.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "AppSidebar/NavMain",
"notes": ["Tenant CRM sidebar item."]
},
{
"id": "ui.nav.app.emailMarketing",
"kind": "nav",
"label": "Tenant email marketing nav",
"sourceFiles": ["apps/web/app/application/sidebar/AppSidebar.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "AppSidebar/NavMain",
"notes": ["Tenant email marketing sidebar item."]
},
{
"id": "ui.nav.app.api",
"kind": "nav",
"label": "Tenant API nav",
"sourceFiles": ["apps/web/app/application/sidebar/AppSidebar.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "AppSidebar/NavMain",
"notes": ["Tenant API keys sidebar item."]
},
{
"id": "ui.nav.app.workflowEngine",
"kind": "nav",
"label": "Tenant workflow engine nav",
"sourceFiles": ["apps/web/app/application/sidebar/AppSidebar.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "AppSidebar/NavMain",
"notes": ["Tenant workflow engine sidebar item."]
},
{
"id": "ui.nav.app.credits",
"kind": "nav",
"label": "Tenant credits nav",
"sourceFiles": ["apps/web/app/application/sidebar/AppSidebar.tsx", "apps/web/app/application/ui/uiRegistry.ts"],
"renderer": "AppSidebar/NavMain",
"notes": ["Tenant credits sidebar item."]
},
{
"id": "ui.nav.app.settings",
"kind": "nav",
"label": "Tenant settings nav",
"sourceFiles": ["apps/web/app/application/sidebar/AppSidebar.tsx"],
"renderer": "AppSidebar/NavSecondary",
"notes": ["Tenant settings sidebar item."]
},
{
"id": "ui.nav.app.switchToAdmin",
"kind": "nav",
"label": "Switch to admin nav",
"sourceFiles": ["apps/web/app/application/sidebar/AppSidebar.tsx"],
"renderer": "AppSidebar/NavSecondary",
"notes": ["Tenant sidebar admin switch item."]
},
{
"id": "ui.nav.admin.dashboard",
"kind": "nav",
"label": "Admin dashboard nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin dashboard sidebar item."]
},
{
"id": "ui.nav.admin.accounts",
"kind": "nav",
"label": "Admin accounts nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin accounts and users sidebar item."]
},
{
"id": "ui.nav.admin.analytics",
"kind": "nav",
"label": "Admin analytics nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin analytics sidebar item."]
},
{
"id": "ui.nav.admin.entities",
"kind": "nav",
"label": "Admin entities nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin entities sidebar item."]
},
{
"id": "ui.nav.admin.workflows",
"kind": "nav",
"label": "Admin workflows nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Disabled plugin-candidate workflow sidebar item."]
},
{
"id": "ui.nav.admin.api",
"kind": "nav",
"label": "Admin API nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin API keys sidebar item."]
},
{
"id": "ui.nav.admin.events",
"kind": "nav",
"label": "Admin events nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin events sidebar item."]
},
{
"id": "ui.nav.admin.auditTrails",
"kind": "nav",
"label": "Admin audit trails nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin audit trail sidebar item."]
},
{
"id": "ui.nav.admin.notifications",
"kind": "nav",
"label": "Admin notifications nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin notifications sidebar item."]
},
{
"id": "ui.nav.admin.featureFlags",
"kind": "nav",
"label": "Admin feature flags nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin feature flags sidebar item."]
},
{
"id": "ui.nav.admin.navigation",
"kind": "nav",
"label": "Admin navigation nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin navigation/sidebar configuration item."]
},
{
"id": "ui.nav.admin.portals",
"kind": "nav",
"label": "Admin portals nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Disabled plugin-candidate portals sidebar item."]
},
{
"id": "ui.nav.admin.prompts",
"kind": "nav",
"label": "Admin prompts nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Disabled plugin-candidate prompts sidebar item."]
},
{
"id": "ui.nav.admin.emailMarketing",
"kind": "nav",
"label": "Admin email marketing nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Disabled plugin-candidate email marketing sidebar item."]
},
{
"id": "ui.nav.admin.marketing",
"kind": "nav",
"label": "Admin marketing nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Disabled plugin-candidate marketing sidebar item."]
},
{
"id": "ui.nav.admin.knowledgeBase",
"kind": "nav",
"label": "Admin knowledge base nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Disabled plugin-candidate knowledge base sidebar item."]
},
{
"id": "ui.nav.admin.helpDesk",
"kind": "nav",
"label": "Admin help desk nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Disabled plugin-candidate help desk sidebar item."]
},
{
"id": "ui.nav.admin.onboarding",
"kind": "nav",
"label": "Admin onboarding nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin onboarding sidebar item."]
},
{
"id": "ui.nav.admin.metrics",
"kind": "nav",
"label": "Admin metrics nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin metrics sidebar item."]
},
{
"id": "ui.nav.admin.settings",
"kind": "nav",
"label": "Admin settings nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin settings sidebar item."]
},
{
"id": "ui.nav.admin.switchToApp",
"kind": "nav",
"label": "Switch to app nav",
"sourceFiles": ["apps/web/app/application/sidebar/AdminSidebar.tsx"],
"renderer": "AdminSidebar/NavMain",
"notes": ["Admin sidebar app switch item."]
},
{
"id": "ui.nav.docs.introduction",
"kind": "nav",
"label": "Docs introduction nav",
"sourceFiles": ["apps/web/app/application/sidebar/DocsSidebar.ts"],
"renderer": "DocsSidebar/NavMain",
"notes": ["Docs introduction navigation item."]
}
]
}