tpmjs/packages/ui/package.json
Ajax Davis f0d271720c feat(ui): add state components and apply design system compliance
Add new reusable components:
- EmptyState: for empty list/search states with icon, title, description
- ErrorState: for error displays with optional retry button
- LoadingState: for loading states with Spinner and message
- PageHeader: for consistent page headers with title, description, actions

Apply components across pages:
- agents, collections, tool-search pages use new state components
- stats page uses LoadingState and ErrorState
- faq page uses Icon for chevrons
- health page uses Table components
- dashboard agent forms use Input, Select, Textarea, Label
- Replace custom div spinners with Spinner component
2026-01-16 08:16:05 +10:00

282 lines
8.8 KiB
JSON

{
"name": "@tpmjs/ui",
"version": "0.1.3",
"description": "React component library for TPMJS applications",
"author": "TPMJS",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/tpmjs/tpmjs.git",
"directory": "packages/ui"
},
"homepage": "https://tpmjs.com",
"keywords": [
"tpmjs",
"react",
"components",
"typescript",
"ui"
],
"type": "module",
"exports": {
"./Button/Button": {
"types": "./dist/Button/Button.d.ts",
"default": "./dist/Button/Button.js"
},
"./Card/Card": {
"types": "./dist/Card/Card.d.ts",
"default": "./dist/Card/Card.js"
},
"./Input/Input": {
"types": "./dist/Input/Input.d.ts",
"default": "./dist/Input/Input.js"
},
"./Label/Label": {
"types": "./dist/Label/Label.d.ts",
"default": "./dist/Label/Label.js"
},
"./Badge/Badge": {
"types": "./dist/Badge/Badge.d.ts",
"default": "./dist/Badge/Badge.js"
},
"./Container/Container": {
"types": "./dist/Container/Container.d.ts",
"default": "./dist/Container/Container.js"
},
"./Icon/Icon": {
"types": "./dist/Icon/Icon.d.ts",
"default": "./dist/Icon/Icon.js"
},
"./ProgressBar/ProgressBar": {
"types": "./dist/ProgressBar/ProgressBar.d.ts",
"default": "./dist/ProgressBar/ProgressBar.js"
},
"./CodeBlock/CodeBlock": {
"types": "./dist/CodeBlock/CodeBlock.d.ts",
"default": "./dist/CodeBlock/CodeBlock.js"
},
"./Tabs/Tabs": {
"types": "./dist/Tabs/Tabs.d.ts",
"default": "./dist/Tabs/Tabs.js"
},
"./Header/Header": {
"types": "./dist/Header/Header.d.ts",
"default": "./dist/Header/Header.js"
},
"./Section/Section": {
"types": "./dist/Section/Section.d.ts",
"default": "./dist/Section/Section.js"
},
"./GridContainer/GridContainer": {
"types": "./dist/GridContainer/GridContainer.d.ts",
"default": "./dist/GridContainer/GridContainer.js"
},
"./Textarea/Textarea": {
"types": "./dist/Textarea/Textarea.d.ts",
"default": "./dist/Textarea/Textarea.js"
},
"./Checkbox/Checkbox": {
"types": "./dist/Checkbox/Checkbox.d.ts",
"default": "./dist/Checkbox/Checkbox.js"
},
"./Radio/Radio": {
"types": "./dist/Radio/Radio.d.ts",
"default": "./dist/Radio/Radio.js"
},
"./Radio/RadioGroup": {
"types": "./dist/Radio/RadioGroup.d.ts",
"default": "./dist/Radio/RadioGroup.js"
},
"./Switch/Switch": {
"types": "./dist/Switch/Switch.d.ts",
"default": "./dist/Switch/Switch.js"
},
"./Select/Select": {
"types": "./dist/Select/Select.d.ts",
"default": "./dist/Select/Select.js"
},
"./Slider/Slider": {
"types": "./dist/Slider/Slider.d.ts",
"default": "./dist/Slider/Slider.js"
},
"./Spinner/Spinner": {
"types": "./dist/Spinner/Spinner.d.ts",
"default": "./dist/Spinner/Spinner.js"
},
"./FormField/FormField": {
"types": "./dist/FormField/FormField.d.ts",
"default": "./dist/FormField/FormField.js"
},
"./AnimatedCounter/AnimatedCounter": {
"types": "./dist/AnimatedCounter/AnimatedCounter.d.ts",
"default": "./dist/AnimatedCounter/AnimatedCounter.js"
},
"./StatCard/StatCard": {
"types": "./dist/StatCard/StatCard.d.ts",
"default": "./dist/StatCard/StatCard.js"
},
"./system/hooks/useScrollReveal": {
"types": "./dist/system/hooks/useScrollReveal.d.ts",
"default": "./dist/system/hooks/useScrollReveal.js"
},
"./system/hooks/useCountUp": {
"types": "./dist/system/hooks/useCountUp.d.ts",
"default": "./dist/system/hooks/useCountUp.js"
},
"./system/hooks/useParallax": {
"types": "./dist/system/hooks/useParallax.d.ts",
"default": "./dist/system/hooks/useParallax.js"
},
"./system/hooks/useReducedMotion": {
"types": "./dist/system/hooks/useReducedMotion.d.ts",
"default": "./dist/system/hooks/useReducedMotion.js"
},
"./system/hooks/useDitherAnimation": {
"types": "./dist/system/hooks/useDitherAnimation.d.ts",
"default": "./dist/system/hooks/useDitherAnimation.js"
},
"./DitherCanvas/DitherCanvas": {
"types": "./dist/DitherCanvas/DitherCanvas.d.ts",
"default": "./dist/DitherCanvas/DitherCanvas.js"
},
"./DitherText/DitherHeadline": {
"types": "./dist/DitherText/DitherHeadline.d.ts",
"default": "./dist/DitherText/DitherHeadline.js"
},
"./DitherText/DitherSectionHeader": {
"types": "./dist/DitherText/DitherSectionHeader.d.ts",
"default": "./dist/DitherText/DitherSectionHeader.js"
},
"./FlowDiagram/FlowDiagram": {
"types": "./dist/FlowDiagram/FlowDiagram.d.ts",
"default": "./dist/FlowDiagram/FlowDiagram.js"
},
"./ActivityStream/ActivityStream": {
"types": "./dist/ActivityStream/ActivityStream.d.ts",
"default": "./dist/ActivityStream/ActivityStream.js"
},
"./ToolHealthBadge/ToolHealthBadge": {
"types": "./dist/ToolHealthBadge/ToolHealthBadge.d.ts",
"default": "./dist/ToolHealthBadge/ToolHealthBadge.js"
},
"./ToolHealthBanner/ToolHealthBanner": {
"types": "./dist/ToolHealthBanner/ToolHealthBanner.d.ts",
"default": "./dist/ToolHealthBanner/ToolHealthBanner.js"
},
"./Table/Table": {
"types": "./dist/Table/Table.d.ts",
"default": "./dist/Table/Table.js"
},
"./Modal/Modal": {
"types": "./dist/Modal/Modal.d.ts",
"default": "./dist/Modal/Modal.js"
},
"./Toast/Toast": {
"types": "./dist/Toast/Toast.d.ts",
"default": "./dist/Toast/Toast.js"
},
"./Drawer/Drawer": {
"types": "./dist/Drawer/Drawer.d.ts",
"default": "./dist/Drawer/Drawer.js"
},
"./Popover/Popover": {
"types": "./dist/Popover/Popover.d.ts",
"default": "./dist/Popover/Popover.js"
},
"./Tooltip/Tooltip": {
"types": "./dist/Tooltip/Tooltip.d.ts",
"default": "./dist/Tooltip/Tooltip.js"
},
"./DropdownMenu/DropdownMenu": {
"types": "./dist/DropdownMenu/DropdownMenu.d.ts",
"default": "./dist/DropdownMenu/DropdownMenu.js"
},
"./Breadcrumbs/Breadcrumbs": {
"types": "./dist/Breadcrumbs/Breadcrumbs.d.ts",
"default": "./dist/Breadcrumbs/Breadcrumbs.js"
},
"./Pagination/Pagination": {
"types": "./dist/Pagination/Pagination.d.ts",
"default": "./dist/Pagination/Pagination.js"
},
"./Accordion/Accordion": {
"types": "./dist/Accordion/Accordion.d.ts",
"default": "./dist/Accordion/Accordion.js"
},
"./Skeleton/Skeleton": {
"types": "./dist/Skeleton/Skeleton.d.ts",
"default": "./dist/Skeleton/Skeleton.js"
},
"./InstallSnippet/InstallSnippet": {
"types": "./dist/InstallSnippet/InstallSnippet.d.ts",
"default": "./dist/InstallSnippet/InstallSnippet.js"
},
"./QualityScore/QualityScore": {
"types": "./dist/QualityScore/QualityScore.d.ts",
"default": "./dist/QualityScore/QualityScore.js"
},
"./ToolCard/ToolCard": {
"types": "./dist/ToolCard/ToolCard.d.ts",
"default": "./dist/ToolCard/ToolCard.js"
},
"./EmptyState/EmptyState": {
"types": "./dist/EmptyState/EmptyState.d.ts",
"default": "./dist/EmptyState/EmptyState.js"
},
"./ErrorState/ErrorState": {
"types": "./dist/ErrorState/ErrorState.d.ts",
"default": "./dist/ErrorState/ErrorState.js"
},
"./LoadingState/LoadingState": {
"types": "./dist/LoadingState/LoadingState.d.ts",
"default": "./dist/LoadingState/LoadingState.js"
},
"./PageHeader/PageHeader": {
"types": "./dist/PageHeader/PageHeader.d.ts",
"default": "./dist/PageHeader/PageHeader.js"
}
},
"files": [
"dist"
],
"scripts": {
"build": "NODE_OPTIONS='--max-old-space-size=4096' tsup",
"dev": "tsup --watch",
"test": "vitest run",
"test:ui": "vitest --ui",
"type-check": "tsc --noEmit",
"lint": "eslint .",
"clean": "rm -rf dist .turbo"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0"
},
"dependencies": {
"@tpmjs/utils": "workspace:*",
"react-syntax-highlighter": "^16.1.0",
"zod": "^4.3.5"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.1",
"@testing-library/user-event": "^14.6.1",
"@tpmjs/eslint-config": "workspace:*",
"@tpmjs/test": "workspace:*",
"@tpmjs/tsconfig": "workspace:*",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"@types/react-syntax-highlighter": "^15.5.13",
"eslint": "^9.39.2",
"glob": "^13.0.0",
"happy-dom": "^20.1.0",
"react": "^19.2.3",
"react-dom": "^19.2.3",
"tsup": "^8.5.1",
"typescript": "^5.9.3",
"vitest": "^4.0.16"
},
"publishConfig": {
"access": "public"
}
}