{"_id":"@amxn88/muscle-map","_rev":"3-789ddb4f8eccbf359745ee398af7f135","name":"@amxn88/muscle-map","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@amxn88/muscle-map","version":"1.0.0","keywords":["muscle-map","anatomy","web-component","custom-element","fitness","body-map","interactive","svg","workout-tracker","health"],"author":{"name":"Amon Baehler"},"license":"MIT","_id":"@amxn88/muscle-map@1.0.0","maintainers":[{"name":"amxn88","email":"amonbaehler@gmail.com"}],"homepage":"https://github.com/amonbaehler/muscle-map#readme","bugs":{"url":"https://github.com/amonbaehler/muscle-map/issues"},"dist":{"shasum":"7d1a3f5f94a4bf82c29f2d7de49908608ed24a85","tarball":"https://registry.npmjs.org/@amxn88/muscle-map/-/muscle-map-1.0.0.tgz","fileCount":3,"integrity":"sha512-oB+rkXj99d1hX+jJ1nGqnzAvf4TxHkRZpRbAYWHQ/wOyz/uVCUnuunpf6axSsN6EIGOsuNz18drQ5LUu4YJLBw==","signatures":[{"sig":"MEQCID0hfsaGZ7gwhza8+kAgzvbmYBHp0/JlOGpGFNWsO4xeAiAhAcR+ePY9mMwbiViBzz8Scodw0Iu7DEtLlBUI+jxFHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63048},"main":"src/muscle-map.js","type":"module","module":"src/muscle-map.js","scripts":{"test":"echo \"No tests yet\" && exit 0"},"_npmUser":{"name":"amxn88","email":"amonbaehler@gmail.com"},"repository":{"url":"git+https://github.com/amonbaehler/muscle-map.git","type":"git"},"_npmVersion":"9.2.0","description":"Interactive anatomical muscle map Web Component — click muscles to cycle through Rest, Active, Trained, Sore states. 22 muscle groups, dual front/back view, export to JSON.","directories":{},"_nodeVersion":"20.19.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/muscle-map_1.0.0_1780182031350_0.8691676644386055","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@amxn88/muscle-map","version":"2.0.0","keywords":["muscle-map","anatomy","web-component","custom-element","fitness","body-map","interactive","svg","workout-tracker","health"],"author":{"name":"Amon Baehler"},"license":"MIT","_id":"@amxn88/muscle-map@2.0.0","maintainers":[{"name":"amxn88","email":"amonbaehler@gmail.com"}],"homepage":"https://github.com/amonbaehler/muscle-map#readme","bugs":{"url":"https://github.com/amonbaehler/muscle-map/issues"},"dist":{"shasum":"90128d7fb228486cd118ea22453eb10a5b50bd69","tarball":"https://registry.npmjs.org/@amxn88/muscle-map/-/muscle-map-2.0.0.tgz","fileCount":3,"integrity":"sha512-3AiEuv5Y1YbAoNdkphWzugn8MkmXdk8jAEBv4Pwm/6l/cJYbrj0aqEn6m+86ED6AvC9rTd0WTbxHUn/V1/kPfw==","signatures":[{"sig":"MEQCIHruZwhtV80I0KrEpWpUJjd021iY9v5Hl2fU+YU+5OnMAiA9MbH+tFVYvNg/NI02n6Nj4RYVZhDaHZXwQWXnF+UQWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55593},"main":"src/muscle-map.js","type":"module","module":"src/muscle-map.js","scripts":{"test":"echo \"No tests yet\" && exit 0"},"_npmUser":{"name":"amxn88","email":"amonbaehler@gmail.com"},"repository":{"url":"git+https://github.com/amonbaehler/muscle-map.git","type":"git"},"_npmVersion":"9.2.0","description":"MuscleWiki-style interactive muscle map Web Component — click individual muscles to highlight. Clean outline aesthetic, 17 muscles, dual front/back view, export to JSON. Light theme.","directories":{},"_nodeVersion":"20.19.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/muscle-map_2.0.0_1780185718130_0.8045829805948335","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@amxn88/muscle-map","version":"3.0.0","description":"Interactive human body muscle map — Male + Female, Front + Back views. 65+ individual muscles, Web Component — click individual muscles to highlight. Clean outline aesthetic, 17 muscles, dual front/back view, export to JSON. Light theme.","main":"src/muscle-map.js","module":"src/muscle-map.js","type":"module","keywords":["muscle-map","anatomy","web-component","custom-element","fitness","body-map","interactive","svg","workout-tracker","health"],"license":"MIT","author":{"name":"Amon Baehler"},"repository":{"type":"git","url":"git+https://github.com/amonbaehler/muscle-map.git"},"homepage":"https://github.com/amonbaehler/muscle-map#readme","scripts":{"test":"echo \"No tests yet\" && exit 0"},"bugs":{"url":"https://github.com/amonbaehler/muscle-map/issues"},"_id":"@amxn88/muscle-map@3.0.0","_nodeVersion":"20.19.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-QtBef054mnLeOG5NHq5kI7qB7jnMZaXCxq8jKgwu1PClQU8gQd51tcvckdp86NZi/n7mcHq0LbTheD1GQtUmmw==","shasum":"da1454c954333fc33a8f07408089291f1fe89ee7","tarball":"https://registry.npmjs.org/@amxn88/muscle-map/-/muscle-map-3.0.0.tgz","fileCount":3,"unpackedSize":111264,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDjNjkhKT1qyzM5perHFeJOsRJGVCd+Xs7eCIKrJN8d9QIhAKmDD/gJAr1SUpl+VowSBXk/TvKJKNzdcMxBgwB56JJh"}]},"_npmUser":{"name":"amxn88","email":"amonbaehler@gmail.com"},"directories":{},"maintainers":[{"name":"amxn88","email":"amonbaehler@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/muscle-map_3.0.0_1780186851166_0.7558275679673319"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-30T23:00:31.194Z","modified":"2026-05-31T00:20:51.495Z","1.0.0":"2026-05-30T23:00:31.476Z","2.0.0":"2026-05-31T00:01:58.278Z","3.0.0":"2026-05-31T00:20:51.361Z"},"bugs":{"url":"https://github.com/amonbaehler/muscle-map/issues"},"author":{"name":"Amon Baehler"},"license":"MIT","homepage":"https://github.com/amonbaehler/muscle-map#readme","keywords":["muscle-map","anatomy","web-component","custom-element","fitness","body-map","interactive","svg","workout-tracker","health"],"repository":{"type":"git","url":"git+https://github.com/amonbaehler/muscle-map.git"},"description":"Interactive human body muscle map — Male + Female, Front + Back views. 65+ individual muscles, Web Component — click individual muscles to highlight. Clean outline aesthetic, 17 muscles, dual front/back view, export to JSON. Light theme.","maintainers":[{"name":"amxn88","email":"amonbaehler@gmail.com"}],"readme":"# 🦾 Muscle Map — Interactive Anatomical Web Component\n\n**`<muscle-map>`** is a framework-agnostic Web Component that displays a detailed male muscular anatomy map. Click any muscle group to cycle through four states:\n\n- 🔘 **Rest** (grey)\n- 🟠 **Active** (orange)\n- 🟢 **Trained** (green)\n- 🔴 **Sore** (red)\n\nDual front/back views. 22 muscle groups. Export to JSON. Shadow DOM isolated. Zero dependencies.\n\n## Demo\n\n```html\n<muscle-map></muscle-map>\n<script type=\"module\" src=\"src/muscle-map.js\"></script>\n```\n\n**[Live Demo →](https://amonbaehler.github.io/muscle-map)**\n\n## Installation\n\n### npm\n```bash\nnpm install @amonbaehler/muscle-map\n```\n\n### CDN (unpkg)\n```html\n<script type=\"module\" src=\"https://unpkg.com/@amonbaehler/muscle-map/src/muscle-map.js\"></script>\n```\n\n### Direct Download\nDownload `src/muscle-map.js` and include it in your project.\n\n## Usage\n\n### Basic\n```html\n<muscle-map></muscle-map>\n```\n\n### Single View\n```html\n<muscle-map view=\"front\"></muscle-map>\n<muscle-map view=\"back\"></muscle-map>\n```\n\n### With Initial State\n```html\n<muscle-map state='{\"Chest\":\"active\",\"Abs\":\"trained\",\"Biceps\":\"sore\"}'></muscle-map>\n```\n\n## API\n\n### Attributes\n\n| Attribute | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `view` | `\"both\"` `\"front\"` `\"back\"` | `\"both\"` | Which anatomical view(s) to show |\n| `state` | JSON string | `null` | Initial muscle states, e.g. `'{\"Chest\":\"active\"}'` |\n\n### Methods\n\n```js\nconst map = document.querySelector('muscle-map');\n\n// Set a muscle state\nmap.setState('chest', 'active');   // slug: chest, abs, biceps, deltoids, etc.\n\n// Get all states\nconst states = map.getState();\n// { Chest: \"rest\", Abs: \"active\", Biceps: \"trained\", ... }\n\n// Export as JSON\nconst json = map.exportJSON();\n\n// Reset all to \"rest\"\nmap.resetAll();\n```\n\n### Events\n\n```js\nmap.addEventListener('muscle-state-change', (e) => {\n  console.log(e.detail); // { muscle: \"chest\", state: \"active\", label: \"Chest\" }\n});\n\nmap.addEventListener('muscle-reset', () => {\n  console.log('All muscles reset');\n});\n\nmap.addEventListener('muscle-export', (e) => {\n  console.log(e.detail.json);   // JSON string\n  console.log(e.detail.states); // Object\n});\n```\n\n### States\n\n| State | Color | Meaning |\n|-------|-------|---------|\n| `rest` | `#2a2f3e` | Not trained |\n| `active` | `#f97316` | Currently working |\n| `trained` | `#22c55e` | Recently trained |\n| `sore` | `#ef4444` | Needs recovery |\n\n## Supported Muscles\n\n**Front:** Chest, Obliques, Abs, Biceps, Triceps, Deltoids, Forearms, Hands, Adductors, Quadriceps, Knees, Tibialis, Calves, Ankles, Feet, Head\n\n**Back:** Neck, Traps, Upper Back, Lats, Lower Back, Glutes, Hamstrings, Calves, Head\n\n## Browser Support\n\nAll modern browsers that support Custom Elements v1 and Shadow DOM:\n- Chrome 67+\n- Firefox 63+\n- Safari 10.1+\n- Edge 79+\n\n## License\n\nMIT © Amon Baehler\n\n## Credits\n\nAnatomical SVG path data derived from [react-muscle-highlighter](https://github.com/soroojshehryar/react-muscle-highlighter) (MIT License).\n","readmeFilename":"README.md"}