Files
soroban-abacus-flashcards/packages/abacus-react/package.json
Thomas Hallock a630aa4f2c fix: use actual AbacusReact component for README examples via SSR
Replace hand-crafted SVG generation with proper SSR rendering of the actual React component to showcase authentic output users will see in their applications.

Key improvements:
- Use tsx to run TypeScript directly and import from source instead of built dist
- Implement proper SSR mocking for React Spring animated components and NumberFlow
- Generate authentic component output with real CSS classes, styles, and structure
- Show actual diamond/circle beads, proper positioning, and NumberFlow integration
- Examples now genuinely represent what developers get when using <AbacusReact />

The README examples are now true representations of the component's actual appearance and behavior, providing accurate visual documentation for users.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 15:05:44 -05:00

93 lines
2.5 KiB
JSON

{
"name": "@soroban/abacus-react",
"version": "0.1.0",
"description": "Interactive React abacus component with animations and place value editing",
"main": "dist/index.cjs.js",
"module": "dist/index.es.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.es.js",
"require": "./dist/index.cjs.js"
}
},
"files": [
"dist/**/*",
"src/**/*",
"README.md"
],
"scripts": {
"build": "tsc && vite build",
"dev": "storybook dev -p 6007",
"test": "vitest",
"test:run": "vitest run",
"test:coverage": "vitest run --coverage",
"test:ui": "vitest --ui",
"lint": "echo 'No linting configured'",
"storybook": "storybook dev -p 6007",
"build-storybook": "storybook build",
"clean": "rm -rf dist storybook-static",
"generate-examples": "tsx generate-examples.js"
},
"keywords": [
"react",
"abacus",
"soroban",
"mathematics",
"education",
"interactive",
"animations",
"typescript"
],
"peerDependencies": {
"@react-spring/web": "^9.7.0",
"@use-gesture/react": "^10.3.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"dependencies": {
"@number-flow/react": "^0.5.10",
"@radix-ui/react-tooltip": "^1.2.8"
},
"devDependencies": {
"@storybook/addon-actions": "^7.6.0",
"@storybook/addon-controls": "^7.6.0",
"@storybook/addon-docs": "^7.6.0",
"@storybook/addon-essentials": "^7.6.0",
"@storybook/addon-interactions": "^7.6.0",
"@storybook/addon-links": "^7.6.0",
"@storybook/blocks": "^7.6.0",
"@storybook/react": "^7.6.0",
"@storybook/react-vite": "^7.6.0",
"@storybook/testing-library": "^0.2.2",
"@testing-library/jest-dom": "^6.8.0",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0",
"@vitest/ui": "^3.2.4",
"jest-environment-jsdom": "^30.1.2",
"jsdom": "^27.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"storybook": "^7.6.0",
"tsx": "^4.20.5",
"typescript": "^5.0.0",
"vite": "^4.5.0",
"vitest": "^1.0.0"
},
"author": "Soroban Flashcards Team",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/soroban-flashcards/soroban-abacus-flashcards",
"directory": "packages/abacus-react"
},
"engines": {
"node": ">=18.0.0"
},
"publishConfig": {
"access": "public"
}
}