{"_id":"@dan_koyuki/mini-game","name":"@dan_koyuki/mini-game","dist-tags":{"latest":"0.0.0"},"versions":{"0.0.0":{"name":"@dan_koyuki/mini-game","version":"0.0.0","type":"module","types":"./dist/index.d.ts","main":"dist/mini-game.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/mini-game.es.js","require":"./dist/mini-game.umd.js"},"./styles.css":{"require":"./dist/styles.css","default":"./dist/styles.css"}},"scripts":{"dev":"vite","build":"tsc && vite build && npm run build:css","build:css":"tailwindcss -m -i ./src/tailwind-entry.css -o ./dist/styles.css","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","preview":"vite preview","storybook":"concurrently \"npm run storybook:css\" \"storybook dev -p 6006\"","storybook:css":"tailwindcss -w -i ./src/tailwind-entry.css -o ./src/index.css","build-storybook":"concurrently \"npm run build-storybook:css\" \"storybook build\"","build-storybook:css":"tailwindcss -m -i ./src/tailwind-entry.css -o ./src/index.css","prepublishOnly":"npm run build"},"peerDependencies":{"react":"^19.1.0","react-dom":"^19.1.0"},"devDependencies":{"@chromatic-com/storybook":"^3.2.6","@eslint/js":"^9.25.0","@storybook/addon-essentials":"^8.6.12","@storybook/addon-onboarding":"^8.6.12","@storybook/blocks":"^8.6.12","@storybook/experimental-addon-test":"^8.6.12","@storybook/react":"^8.6.12","@storybook/react-vite":"^8.6.12","@storybook/test":"^8.6.12","@tailwindcss/vite":"^4.1.6","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@vitejs/plugin-react":"^4.4.1","@vitest/browser":"^3.1.3","@vitest/coverage-v8":"^3.1.3","autoprefixer":"^10.4.21","concurrently":"^9.1.2","eslint":"^9.25.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.19","eslint-plugin-storybook":"^0.12.0","globals":"^16.0.0","playwright":"^1.52.0","postcss":"^8.5.3","react-icons":"^5.5.0","storybook":"^8.6.12","tailwindcss":"^3.4.17","typescript":"~5.8.3","typescript-eslint":"^8.30.1","vite":"^6.3.5","vite-plugin-dts":"^4.5.3","vitest":"^3.1.3"},"eslintConfig":{"extends":["plugin:storybook/recommended"]},"dependencies":{"framer-motion":"^12.15.0"},"_id":"@dan_koyuki/mini-game@0.0.0","description":"A React component library for various web based mini games, with customizable settings and Tailwind-based styles.","_nodeVersion":"22.14.0","_npmVersion":"11.4.1","dist":{"integrity":"sha512-8cgJew0wDwJ7qgjJZLcURJiniHDKOwvuL4FXrE7XEyYGFTogo7LtGbgeK8XCWAoeWtxu4jcPC7TPRZ45d+6irA==","shasum":"b851ac361142efaccc0a83734ff505339882a7b5","tarball":"https://registry.npmjs.org/@dan_koyuki/mini-game/-/mini-game-0.0.0.tgz","fileCount":29,"unpackedSize":504496,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDQmZGnvybRpTFaOFsmXiH+5/pKAzph/Y/tDfcGYYxlQAiBM1MyL3IBL86Z2pcLW8zp3f3xb7MFUBNfdJDuzZuHAtw=="}]},"_npmUser":{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"},"directories":{},"maintainers":[{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mini-game_0.0.0_1754266266864_0.19963887774855227"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-04T00:11:06.718Z","0.0.0":"2025-08-04T00:11:07.102Z","modified":"2025-08-04T00:11:07.444Z"},"maintainers":[{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"}],"description":"A React component library for various web based mini games, with customizable settings and Tailwind-based styles.","readme":"# 🧩 mini-game\n\nA React component library for various web based mini games, with customizable settings and Tailwind-based styles.\n\n---\n\n## 📦 Installation\n1. **Install the package:**\n\n   ```bash\n   npm install mini-game\n   ```\n2. 🎨 **Import the styles once in your main entry file**\n  (e.g. `main.tsx`, `index.tsx`, etc.):\n    ```bash\n    import \"mini-game/styles.css\";\n    ```\n     * `⚠️ note:`\n       * All components use a Tailwind CSS prefix: mg-\n       * You must import the provided stylesheet (mini-game/styles.css) for correct appearance.\n\n## Usage\n1. **Math Flashcard Game**\n   \n   - import Game Component\n    ```bash\n    import { MathFlashcard, type MathGameSettings, type GameResults } from \"mini-game\";\n    ```\n   - example usage\n    ```bash\n    const settings: MathGameSettings = {\n      gameId: \"Timed Mathflashcard\",\n      gameDifficulty: \"medium\",\n      gameOperation: \"addAndSub\",\n      playerId: \"user-123\",\n      timePerLevel: 30,\n      // For \"Custom Mathflashcard\", also provide delayPerElement, elementPerLevel, addAndSubLimit, multipicationLimit, divisionLimit\n    };\n\n    function handleGameEnd(result: GameResults) {\n      console.log(\"Game finished!\", result);\n    }\n\n    function handleExit() {\n      // Handle navigation or UI change\n    }\n\n    <MathFlashcard\n      gameSettings={settings}\n      onGameEnd={handleGameEnd}\n      onExitButton={handleExit}\n    />\n    ```\n2. TBA\n\n## 📚 API\n### Types\n- `MathGameSettings`: Configure the game mode, difficulty, operations, and limits.\n- `GameResults`: Returned when the game ends.\n\n## Extending the Library  \nWe plan to add support for additional mini games and customization options. Feel free to contribute or request features via GitHub issues.\n","readmeFilename":"README.md","_rev":"1-fbd9409d46f7cea144753825c77f0b9a"}