mirror of
https://github.com/nocobase/nocobase.git
synced 2026-10-16 15:07:08 +08:00
* feat(templates): quieter default interface for generated applications Bring the default look of both templates, the UI Library and the application development Skill closer to the NocoCRM application built on them. Templates: one faint border everywhere; a --hover grey for hovered rows, buttons and cards, table headers and the navigation's current entry; one light focus ring for every control; cards and overlays framed by the general border on a faint blurred backdrop; compact preset at 0.225rem spacing and 0.5rem radius; text-2xl page titles; full-width line tabs; table rows on the --hover grey; thin scrollbars shown while scrolling; the pointer cursor on anything clickable; navigation sections and menu counts through NavigationMenu's badges; a small badge size; lifting home cards; a restyled inbox list; centered Appearance options; and Chinese taglines and sign-in descriptions without full stops. Examples now carries everything Default has in its shell. UI Library: the long-text item, an inline variant of property-fields, kanban board panning, drop highlighting and dark-mode contrast, small badges where tags sit beside words, and a preview that uses the template stylesheet. Skill: the --hover token, badge sizes, card lift, focus, long text (I14), menu counts (L8), and an upgrade check for merging tokens with their uses. * docs(app-skills): make the border opaque on a preset with a darker page The template's light border is translucent and tuned to its very light page. Found while rehearsing the upgrade on an application whose darker page made card frames fade out. * fix(templates): draw the sidebar's rules and the Appearance options in the general border The lines under the brand and over the sidebar footer, and the frames of the Appearance popover's presets, used a fraction of the border colour, so they read fainter than every other line. * chore: re-run quality checks The agents test shard failed on agent-runner's local-provider test, which this branch does not touch and which passes on v3-develop. * fix(templates): roomier navigation rows and a tinted current entry
201 lines
14 KiB
JSON
201 lines
14 KiB
JSON
{
|
|
"name": "@nocobase/ui-library",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"dev:registry": "pnpm registry:build",
|
|
"registry:build": "pnpm exec shadcn build registry.json --output public/r",
|
|
"build": "pnpm registry:build && vite build",
|
|
"typecheck": "tsc --noEmit && tsc -p tsconfig.registry.json --noEmit",
|
|
"test": "vitest run",
|
|
"lint": "eslint . --max-warnings 0",
|
|
"lint:fix": "eslint . --fix --max-warnings 0",
|
|
"preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"@base-ui/react": "^1.7.0",
|
|
"@dnd-kit/core": "catalog:",
|
|
"@dnd-kit/sortable": "catalog:",
|
|
"@dnd-kit/utilities": "catalog:",
|
|
"@nocobase/i18n": "workspace:^",
|
|
"@nocobase/markdown-mermaid": "workspace:^",
|
|
"@tiptap/core": "catalog:",
|
|
"@tiptap/extension-link": "catalog:",
|
|
"@tiptap/extension-file-handler": "catalog:",
|
|
"@tiptap/extension-list": "catalog:",
|
|
"@tiptap/extension-mention": "catalog:",
|
|
"@tiptap/extension-placeholder": "catalog:",
|
|
"@tiptap/extension-table": "catalog:",
|
|
"@tiptap/extension-text-style": "catalog:",
|
|
"@tiptap/markdown": "catalog:",
|
|
"@tiptap/pm": "catalog:",
|
|
"@tiptap/react": "catalog:",
|
|
"@tiptap/starter-kit": "catalog:",
|
|
"@tiptap/suggestion": "catalog:",
|
|
"@xyflow/react": "^12.11.5",
|
|
"@tanstack/react-query": "catalog:",
|
|
"@tanstack/react-table": "catalog:",
|
|
"class-variance-authority": "^0.7.1",
|
|
"cn": "catalog:",
|
|
"date-fns": "^4.4.0",
|
|
"elkjs": "^0.10.2",
|
|
"lucide-react": "^0.487.0",
|
|
"react": "catalog:",
|
|
"react-day-picker": "^10.0.1",
|
|
"react-dom": "catalog:",
|
|
"react-i18next": "catalog:",
|
|
"react-markdown": "catalog:",
|
|
"react-router": "catalog:",
|
|
"react-virtuoso": "catalog:",
|
|
"remark-gfm": "catalog:",
|
|
"simple-icons": "^16.30.0"
|
|
},
|
|
"devDependencies": {
|
|
"@nocobase/app-client": "workspace:^",
|
|
"@nocobase/app-plugin-agents": "workspace:^",
|
|
"@nocobase/app-plugin-authentication": "workspace:^",
|
|
"@nocobase/app-plugin-notification-in-app": "workspace:^",
|
|
"@nocobase/app-plugin-projects": "workspace:^",
|
|
"@nocobase/dev-config": "workspace:*",
|
|
"@nocobase/lifecycle": "workspace:^",
|
|
"@tailwindcss/vite": "catalog:",
|
|
"@testing-library/jest-dom": "catalog:",
|
|
"@testing-library/react": "catalog:",
|
|
"@testing-library/user-event": "catalog:",
|
|
"@types/node": "catalog:",
|
|
"@types/react": "catalog:",
|
|
"@types/react-dom": "catalog:",
|
|
"@vitejs/plugin-react": "catalog:",
|
|
"eslint": "catalog:",
|
|
"jsdom": "catalog:",
|
|
"shadcn": "^4.18.0",
|
|
"tailwindcss": "catalog:",
|
|
"typescript": "catalog:",
|
|
"vite": "catalog:",
|
|
"vitest": "catalog:"
|
|
},
|
|
"packageManager": "pnpm@11.7.0",
|
|
"imports": {
|
|
"#components/ui/*": "./website/components/ui/*.tsx",
|
|
"#hooks/*": "./website/hooks/*.ts",
|
|
"#lib/*": "./website/lib/*.ts",
|
|
"#extensions/nocobase-agent-queue/agent-queue": "./registry/agents/agent-queue/agent-queue.tsx",
|
|
"#extensions/nocobase-agent-queue/model": "./registry/agents/agent-queue/model.ts",
|
|
"#extensions/nocobase-agent-queue/labels": "./registry/agents/agent-queue/labels.ts",
|
|
"#extensions/nocobase-agent-queue/types": "./registry/agents/agent-queue/types.ts",
|
|
"#components/agent-run-history": "./registry/agents/agent-run-history.tsx",
|
|
"#components/agent-composer": "./registry/agents/agent-composer.tsx",
|
|
"#components/agent-picker": "./registry/agents/agent-picker.tsx",
|
|
"#extensions/nocobase-agent-chat/chat-panel": "./registry/agents/agent-chat/chat-panel.tsx",
|
|
"#extensions/nocobase-agent-chat/panel-header": "./registry/agents/agent-chat/panel-header.tsx",
|
|
"#extensions/nocobase-agent-chat/conversation-view": "./registry/agents/agent-chat/conversation-view.tsx",
|
|
"#extensions/nocobase-agent-chat/message-item": "./registry/agents/agent-chat/message-item.tsx",
|
|
"#extensions/nocobase-agent-chat/message-attachments": "./registry/agents/agent-chat/message-attachments.tsx",
|
|
"#extensions/nocobase-agent-chat/live-steps": "./registry/agents/agent-chat/live-steps.tsx",
|
|
"#extensions/nocobase-agent-chat/composer": "./registry/agents/agent-chat/composer.tsx",
|
|
"#extensions/nocobase-agent-chat/context-chips": "./registry/agents/agent-chat/context-chips.tsx",
|
|
"#extensions/nocobase-agent-chat/model-picker": "./registry/agents/agent-chat/model-picker.tsx",
|
|
"#extensions/nocobase-agent-chat/agent-choice": "./registry/agents/agent-chat/agent-choice.tsx",
|
|
"#extensions/nocobase-agent-chat/agent-status": "./registry/agents/agent-chat/agent-status.tsx",
|
|
"#extensions/nocobase-agent-chat/consultation-card": "./registry/agents/agent-chat/consultation-card.tsx",
|
|
"#extensions/nocobase-agent-chat/history-list": "./registry/agents/agent-chat/history-list.tsx",
|
|
"#extensions/nocobase-agent-chat/conversation-page": "./registry/agents/agent-chat/conversation-page.tsx",
|
|
"#extensions/nocobase-agent-chat/launchers": "./registry/agents/agent-chat/launchers.tsx",
|
|
"#extensions/nocobase-agent-chat/chat-markdown": "./registry/agents/agent-chat/chat-markdown.tsx",
|
|
"#extensions/nocobase-agent-chat/chat-ui": "./registry/agents/agent-chat/chat-ui.tsx",
|
|
"#extensions/nocobase-agent-chat/chat-i18n": "./registry/agents/agent-chat/chat-i18n.ts",
|
|
"#extensions/nocobase-agent-chat/floating-clearance": "./registry/agents/agent-chat/floating-clearance.ts",
|
|
"#extensions/nocobase-agent-chat/use-media-query": "./registry/agents/agent-chat/use-media-query.ts",
|
|
"#extensions/nocobase-agent-chat/locales/en-US": "./registry/agents/agent-chat/locales/en-US.ts",
|
|
"#extensions/nocobase-agent-chat/locales/zh-CN": "./registry/agents/agent-chat/locales/zh-CN.ts",
|
|
"#extensions/nocobase-approval-ui/approval-action-bar": "./registry/approval/approval-ui/approval-action-bar.tsx",
|
|
"#extensions/nocobase-approval-ui/approval-branches": "./registry/approval/approval-ui/approval-branches.tsx",
|
|
"#extensions/nocobase-approval-ui/approval-progress": "./registry/approval/approval-ui/approval-progress.tsx",
|
|
"#extensions/nocobase-approval-ui/approval-receipts": "./registry/approval/approval-ui/approval-receipts.tsx",
|
|
"#extensions/nocobase-approval-ui/approval-route-preview": "./registry/approval/approval-ui/approval-route-preview.tsx",
|
|
"#extensions/nocobase-approval-ui/approval-timeline": "./registry/approval/approval-ui/approval-timeline.tsx",
|
|
"#extensions/nocobase-approval-ui/approval-ui-context": "./registry/approval/approval-ui/approval-ui-context.ts",
|
|
"#extensions/nocobase-approval-ui/approval-ui-provider": "./registry/approval/approval-ui/approval-ui-provider.tsx",
|
|
"#extensions/nocobase-approval-ui/index": "./registry/approval/approval-ui/index.ts",
|
|
"#extensions/nocobase-approval-ui/types": "./registry/approval/approval-ui/types.ts",
|
|
"#extensions/nocobase-approval-ui/use-approval-ui": "./registry/approval/approval-ui/use-approval-ui.ts",
|
|
"#extensions/nocobase-approval-ui/locales/en-US": "./registry/approval/approval-ui/locales/en-US.ts",
|
|
"#extensions/nocobase-approval-ui/locales/zh-CN": "./registry/approval/approval-ui/locales/zh-CN.ts",
|
|
"#extensions/nocobase-auth-forms/field-props": "./registry/auth/auth-forms/field-props.ts",
|
|
"#extensions/nocobase-auth-forms/form-parts": "./registry/auth/auth-forms/form-parts.tsx",
|
|
"#extensions/nocobase-auth-forms/password-input": "./registry/auth/auth-forms/password-input.tsx",
|
|
"#extensions/nocobase-auth-forms/password-login-form": "./registry/auth/auth-forms/password-login-form.tsx",
|
|
"#extensions/nocobase-auth-forms/password-registration-form": "./registry/auth/auth-forms/password-registration-form.tsx",
|
|
"#extensions/nocobase-auth-forms/password-reset-request-form": "./registry/auth/auth-forms/password-reset-request-form.tsx",
|
|
"#extensions/nocobase-auth-forms/password-reset-form": "./registry/auth/auth-forms/password-reset-form.tsx",
|
|
"#extensions/nocobase-auth-methods/auth-methods": "./registry/auth/auth-methods/auth-methods.tsx",
|
|
"#extensions/nocobase-auth-centered-layout/auth-centered-layout": "./registry/auth/auth-centered-layout/auth-centered-layout.tsx",
|
|
"#extensions/nocobase-auth-split-layout/auth-split-layout": "./registry/auth/auth-split-layout/auth-split-layout.tsx",
|
|
"#extensions/nocobase-device-approval/device-approval": "./registry/auth/device-approval/device-approval.tsx",
|
|
"#extensions/nocobase-device-approval/use-device-approval": "./registry/auth/device-approval/use-device-approval.ts",
|
|
"#extensions/nocobase-device-approval/locales/en-US": "./registry/auth/device-approval/locales/en-US.ts",
|
|
"#extensions/nocobase-device-approval/locales/zh-CN": "./registry/auth/device-approval/locales/zh-CN.ts",
|
|
"#components/permission-editor": "./registry/authorization/permission-editor.tsx",
|
|
"#components/page-container": "./registry/components/page-container.tsx",
|
|
"#components/page-header": "./registry/components/page-header.tsx",
|
|
"#components/settings-dialog": "./registry/components/settings-dialog.tsx",
|
|
"#components/route-dialog": "./registry/components/route-dialog.tsx",
|
|
"#components/route-overlay": "./registry/components/route-overlay.tsx",
|
|
"#components/use-route-overlay": "./registry/components/use-route-overlay.ts",
|
|
"#components/route-drawer": "./registry/components/route-drawer.tsx",
|
|
"#components/route-child-page": "./registry/components/route-child-page.tsx",
|
|
"#components/kanban": "./registry/components/kanban.tsx",
|
|
"#components/property-fields": "./registry/components/property-fields.tsx",
|
|
"#components/rich-text-editor": "./registry/components/rich-text-editor.tsx",
|
|
"#components/rich-text-markdown": "./registry/components/rich-text-markdown.ts",
|
|
"#components/markdown-view": "./registry/components/markdown-view.tsx",
|
|
"#components/long-text": "./registry/components/long-text.tsx",
|
|
"#components/remark-cjk-autolink": "./registry/components/remark-cjk-autolink.ts",
|
|
"#components/comment-thread": "./registry/components/comment-thread.tsx",
|
|
"#components/attachment-list": "./registry/components/attachment-list.tsx",
|
|
"#extensions/nocobase-inbox/inbox-page": "./registry/inbox/inbox/inbox-page.tsx",
|
|
"#extensions/nocobase-inbox/inbox-list": "./registry/inbox/inbox/inbox-list.tsx",
|
|
"#extensions/nocobase-inbox/inbox-item": "./registry/inbox/inbox/inbox-item.tsx",
|
|
"#extensions/nocobase-inbox/inbox-detail": "./registry/inbox/inbox/inbox-detail.tsx",
|
|
"#extensions/nocobase-inbox/decision-actions-bar": "./registry/inbox/inbox/decision-actions-bar.tsx",
|
|
"#extensions/nocobase-inbox/registry-scope": "./registry/inbox/inbox/registry-scope.tsx",
|
|
"#extensions/nocobase-inbox/frame": "./registry/inbox/inbox/frame.ts",
|
|
"#extensions/nocobase-inbox/inbox-actions": "./registry/inbox/inbox/inbox-actions.ts",
|
|
"#extensions/nocobase-inbox/model": "./registry/inbox/inbox/model.ts",
|
|
"#extensions/nocobase-inbox/registry": "./registry/inbox/inbox/registry.ts",
|
|
"#extensions/nocobase-inbox/source": "./registry/inbox/inbox/source.ts",
|
|
"#extensions/nocobase-inbox/locales/en-US": "./registry/inbox/inbox/locales/en-US.ts",
|
|
"#extensions/nocobase-inbox/locales/zh-CN": "./registry/inbox/inbox/locales/zh-CN.ts",
|
|
"#components/inbox-button": "./registry/inbox/inbox-button.tsx",
|
|
"#components/inbox-badge": "./registry/inbox/inbox-badge.ts",
|
|
"#components/issue-table": "./registry/projects/issue-table.tsx",
|
|
"#components/issue-card": "./registry/projects/issue-card.tsx",
|
|
"#extensions/nocobase-issue-detail/issue-detail": "./registry/projects/issue-detail/issue-detail.tsx",
|
|
"#extensions/nocobase-issue-detail/issue-properties": "./registry/projects/issue-detail/issue-properties.tsx",
|
|
"#extensions/nocobase-issue-detail/issue-picker": "./registry/projects/issue-detail/issue-picker.tsx",
|
|
"#extensions/nocobase-issue-detail/labels": "./registry/projects/issue-detail/labels.ts",
|
|
"#extensions/nocobase-project-detail/project-detail": "./registry/projects/project-detail/project-detail.tsx",
|
|
"#extensions/nocobase-project-detail/project-settings": "./registry/projects/project-detail/project-settings.tsx",
|
|
"#extensions/nocobase-project-detail/project-releases": "./registry/projects/project-detail/project-releases.tsx",
|
|
"#extensions/nocobase-project-detail/labels": "./registry/projects/project-detail/labels.ts",
|
|
"#extensions/nocobase-plan-card/plan-card": "./registry/projects/plan-card/plan-card.tsx",
|
|
"#extensions/nocobase-plan-card/plan-row": "./registry/projects/plan-card/plan-row.tsx",
|
|
"#extensions/nocobase-plan-card/plan-editor": "./registry/projects/plan-card/plan-editor.tsx",
|
|
"#extensions/nocobase-plan-card/plan-confirm": "./registry/projects/plan-card/plan-confirm.tsx",
|
|
"#extensions/nocobase-plan-card/plan-undo": "./registry/projects/plan-card/plan-undo.tsx",
|
|
"#extensions/nocobase-plan-card/plan-issue-links": "./registry/projects/plan-card/plan-issue-links.tsx",
|
|
"#extensions/nocobase-plan-card/plan-issues": "./registry/projects/plan-card/plan-issues.ts",
|
|
"#extensions/nocobase-plan-card/plan-tag": "./registry/projects/plan-card/plan-tag.tsx",
|
|
"#extensions/nocobase-plan-card/plan-text": "./registry/projects/plan-card/plan-text.ts",
|
|
"#extensions/nocobase-plan-card/locales/en-US": "./registry/projects/plan-card/locales/en-US.ts",
|
|
"#extensions/nocobase-plan-card/locales/zh-CN": "./registry/projects/plan-card/locales/zh-CN.ts",
|
|
"#components/flow-diagram": "./registry/components/flow-diagram.tsx",
|
|
"#components/flow-layout": "./registry/components/flow-layout.ts",
|
|
"#components/lifecycle-diagram": "./registry/lifecycle/lifecycle-diagram.tsx",
|
|
"#components/lifecycle-diagram-model": "./registry/lifecycle/lifecycle-diagram-model.ts",
|
|
"#components/*": "./website/components/*.tsx"
|
|
}
|
|
}
|