{"_id":"@dava96/osrs-icons","_rev":"18-0bb3d744aa9b393f233ec739a3c82971","name":"@dava96/osrs-icons","dist-tags":{"latest":"1.0.30"},"versions":{"1.0.0":{"name":"@dava96/osrs-icons","version":"1.0.0","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.0","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/dava96/osrs-icons#readme","bugs":{"url":"https://github.com/dava96/osrs-icons/issues"},"dist":{"shasum":"4bbfd153f210180b680b681d6a26cc1737831ab3","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.0.tgz","fileCount":26,"integrity":"sha512-IyoK5vBqPGg5TjSBVGRoUZUjOBQfRcz3XqDpepbTtGXm9pA0a8Rbvpd1XIGmF/zI6CuAwN0zKvFZyafh5b1cHA==","signatures":[{"sig":"MEYCIQDNMzy+gjGVTyyHtZEQ77IpPVjpSsWZsXY9trCpl5irAgIhAPdfTbTClWOeBEpwGZSYgoYe/y6v1N5qfh/yXL9uGJ+q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62052447},"main":"dist/cjs/src/index.js","types":"dist/cjs/src/index.d.ts","module":"dist/esm/src/index.js","exports":{".":{"types":"./dist/cjs/src/index.d.ts","import":"./dist/esm/src/index.js","require":"./dist/cjs/src/index.js"}},"scripts":{"lint":"eslint .","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.7.0","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.0_1770505486663_0.4468617800098831","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@dava96/osrs-icons","version":"1.0.13","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.13","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"967d9bb9fc46b13c569cf50be5f0d6448964b1e1","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.13.tgz","fileCount":10,"integrity":"sha512-mE9LQCeoCHWfdmW8rHeDxw/hqAOeOK+m0Ly1bnQgo65AAra/IAYaR/LsPG/wDGBQ2eGl4eCum4kQz3gOEoCElg==","signatures":[{"sig":"MEUCIHTq8aiu4sWLcoE/pO634p9Tz+gic3Z309GDdW9XhZXoAiEA8iTQlQTUvy2f4cO6VbWmiqJ+KFdXfuRVljUugg8s9ZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61938950},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"374d0f2b9df3058269389a43909f8468fa7c0764","scripts":{"lint":"eslint .","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.13_1770541380976_0.8577861245862342","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@dava96/osrs-icons","version":"1.0.14","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.14","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"1a0c4cf1592c465d71a3fbd016c669a40d75da22","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.14.tgz","fileCount":18,"integrity":"sha512-AO8OhwklDXMeqoUjkDPXz2FanN34Hm10MCpemTPIqvwuNQGx9QPLS0C89rLHHyvr5DCDonyqJIlhHZBim06ffQ==","signatures":[{"sig":"MEUCIAOlKF1za0l9jhos6O7fLHpV+cRb8z4HbXTbK51iijbCAiEAzk4M+EVtyLVgP+7K/i8FVa/GQitijopmvspbmbUL8gs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63519120},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"3a2ab8c3c2d52f94abf5e5d4aeb9723dc16e4982","scripts":{"lint":"eslint .","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.14_1770544629554_0.13942074617146827","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@dava96/osrs-icons","version":"1.0.15","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.15","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"a78cace224a46f43d8e1b4f3cef7ed6073947aae","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.15.tgz","fileCount":18,"integrity":"sha512-N2eGzWcojMHq8MF3hHTJj3Rb2wQHvOYFRpfZJ09yolMYxRPIO9/xI9l5rQCJTv4qKX9ijM0yRcYeEQK1tpIU1g==","signatures":[{"sig":"MEUCIQDA16/ZuFkO+JMkJHvN+7uE+sq69k3hqiOpPkG++HNfqQIgX2U/aILWerHEistbf7voJtCQwnh8RqSey70s+4GKZho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63519161},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"246a002203f237ec2a79da1dd2408901d2dd97c1","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.15_1770545461975_0.9254862291295984","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@dava96/osrs-icons","version":"1.0.16","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.16","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"2cf23c2b7518da4a9b72229688a9ed576f27b0ab","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.16.tgz","fileCount":42,"integrity":"sha512-uiYdYr/EgFzQRyVqjGdxANIqJlVZAVQ8rPE90R6pLcHCq+QkPqtwK/F19gEJmCAtNhUVWUPRgi5O4SZKzPxwAQ==","signatures":[{"sig":"MEQCIAulVeSlN1acQjnmQoluUdu62maSwm7wQ+7wK3lgWpX5AiBQiLB/Y+VKjmK8vzdVib2vUBBiS+ZHyi3ongcF5bSSsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63632137},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"42b92d806ad686e4316ff5b3a2a98702a181e964","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.16_1770550679977_0.27394591608666996","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@dava96/osrs-icons","version":"1.0.17","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.17","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"f1e96f304d7cef297b53e9c1766e1465dd772ce4","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.17.tgz","fileCount":45,"integrity":"sha512-V48N5+MEADEkcA/M/6T6tz2hoiOhT+f2KO12ZZAR/4bL4bgh6epC6rKU6qHsVaiuhjRs6sHIa+imk7P+6h6WFg==","signatures":[{"sig":"MEUCIQDG7XCmoIviXHFgQt2OWaRmkedA5EsBZ2P7XkeUuL7B1gIgJLra/ew/ok7O9hVn3vxcRD2SMret/RPiHl5mDIZPYTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64896199},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"33951c12fbd74adac54c684657ec3ab08baa6b8f","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts && ts-node src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.17_1770568877585_0.30084759449072407","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@dava96/osrs-icons","version":"1.0.18","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.18","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"2944cacb70364c83c2ae960ca0c5e80903823be2","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.18.tgz","fileCount":45,"integrity":"sha512-e0v8Au4o/+0d/99XWHFW8cuhiWanlAKkCOLlD8bS9ljcDADLBf/Se5z+nYLEWLeRNuzu3TxxQZYD0+vVCXvZYw==","signatures":[{"sig":"MEUCIQC1aY+I7FWhGIKiiFBqsPSSztbxWjPwouvhWLVWgnZULQIgZSfZcKAkGUSkK89ZntAAu916KuCTw+zxkU7DxQ8a8QQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64896920},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"01e3c2f412c19a2f6c05471ad1c4d642c5ae8892","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts && ts-node src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.18_1770571695929_0.16052286580603892","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@dava96/osrs-icons","version":"1.0.19","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.19","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"e60c63e6d853cd4a1a3a2d88e5ca31f29ec430f6","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.19.tgz","fileCount":57,"integrity":"sha512-VW0vTDF7gn/2ga/uH5F6dhkIFqUdrpqW8YBI/y26rYtFnDtxcMgccftca2784mc7wlHQdQ/2mKzLXs1SaNDDag==","signatures":[{"sig":"MEYCIQCntKJje0kd3xRHolXN6yaC/Lgx8KwOtHRtSlssNSHB6QIhAN8nivuJ+A1cekBZoMQ47svPulSNFl6ciFX4XfFLek+r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70831970},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"f5842566dd2907599db2b786ed9dd133e609939b","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts && ts-node src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"ts-node scripts/update-category-icons.ts"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.19_1770587621886_0.4964852357715672","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@dava96/osrs-icons","version":"1.0.20","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.20","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"ab791a7d383dc2135233381089e5a1d3fc2598a6","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.20.tgz","fileCount":57,"integrity":"sha512-7OBLnbjJw0hei+hkzqfJX4l9o5vQ6u1Oovopuv396ynQ3biBVMw4sHmCYdQF8WcjrW4SPCIOVIAITLl9Z5YbkQ==","signatures":[{"sig":"MEQCIG2aBXG4mLmQrRZx38ZaQKTHL2pcIPqZ3JiEuDTTNASuAiBKxxr64DuTTx49FicCLW5qTt4F7QK4oeiOfYrxDkU8Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70858344},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"7cdb6117df0ea11d6fa0d11604df1cce96f58e45","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts && ts-node src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"ts-node scripts/update-category-icons.ts"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.20_1771833422063_0.7064627896963194","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@dava96/osrs-icons","version":"1.0.21","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.21","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"ceba5ff908360b87b3fdcac6b056c00ea2266463","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.21.tgz","fileCount":57,"integrity":"sha512-SApqptBPjxZeY4S5aBstsP7s8iL1LWeaGpQb/uvHMK4DjNGGWiRvIKAJtg4oWXBws5SSxgCexJL2lsYSXhtMdw==","signatures":[{"sig":"MEYCIQClaIDd49pT3lzb9p3Rs6ChmIEE5D7sVL6S03ALjswliAIhAJDFqPZOeLW3AqYEhGVb8/IeT4TTv0NTZCCdKIz+J/Q1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70958450},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"16f8313593de783b569af074e9d5679ca5de189c","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts && ts-node src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"ts-node scripts/update-category-icons.ts"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.21_1772489587421_0.5847347101473857","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@dava96/osrs-icons","version":"1.0.22","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.22","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"17c6ce1d918225b8bb04c858019515efc6640df2","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.22.tgz","fileCount":57,"integrity":"sha512-TUWLM/UjhT8je81MAI4lNZJk8f9ylddYNRBMUwRtvOZn9msmaOzqiIthwegRyWEd2kgqa1A/Efp7LkZQ21ZN1g==","signatures":[{"sig":"MEQCIH7n8l2DNQiCSOg6VzXhlWv6EdUkcPspeUyT1jwpWmKhAiBvL3KN47us1aUDpOmSpta1p9RdYNTtXaO2MHDTEFRAjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70960086},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"ff15cfd83bbfb234fe4861351b10d7bda9631897","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts && ts-node src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"ts-node scripts/update-category-icons.ts"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.22_1773085817753_0.6944019193768656","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@dava96/osrs-icons","version":"1.0.23","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.23","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"966fa69352b0d42e6a7adfe6df6180c1cb55de2c","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.23.tgz","fileCount":57,"integrity":"sha512-RNavHi/qwdSBR93NC+qNAsM3k2EzITBm4bFXXewtJi8If7BZsf9BSUWj5wcfv7HJFXO26mqe1ll4bTmLmJc9kw==","signatures":[{"sig":"MEQCIH5XVB3w3dxhHeFeH9eIfou5MSVNlJ/whInX/3tI5/+TAiBXXrWMvZY8vMrFp0rZWueGZu/t527wUnfD3wQ/jW0tFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73248648},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"0bb0d940948a963b9638b348cf86d5ad68341a04","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts && ts-node src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"ts-node scripts/update-category-icons.ts"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.23_1775477969400_0.545099738928577","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@dava96/osrs-icons","version":"1.0.24","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.24","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"79f0f13694ca026843458a37ed0243a9f436e213","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.24.tgz","fileCount":57,"integrity":"sha512-87s/C8RYI15m7dKXzyVzVfYn061Yyk+umuuhQpPVLMYXXW1oNStfolJbs/FuiEvQPJxf6Hcjpp99U24mJH50cw==","signatures":[{"sig":"MEUCIF8vbQb2LvAy1OfYHSnOyffslDzdwpJQnzMPtLqACBlOAiEA1U289SMmSej//tvcVVNOxqa7BJiyj+vjIDgL7Ld2QtE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73495616},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"76640792ef8ae9428367b24e914d1a17954e6ca3","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts && ts-node src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"ts-node scripts/update-category-icons.ts"},"_npmUser":{"name":"dava96","email":"Davidlomath@hotmail.co.uk"},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"10.8.2","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.24_1776419175301_0.8315051213661049","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@dava96/osrs-icons","version":"1.0.26","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.26","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"0de17db33d852a6e0276b58ffdb47091e66d0185","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.26.tgz","fileCount":57,"integrity":"sha512-H7S94IWwq7W1r8K1FS4ath3TYYNBziTrMFEOuHUwRAi2kyte25LDzsWnTIn5zj19ZjTylPj93Q8vpB5PbnhEQg==","signatures":[{"sig":"MEYCIQDncuHYBEC0hzEeAG5gi2dpqeLxrtqmA+a7qN5lG0on2wIhANKMOjXFqOnT/IXip9IwI10FxNhgcN2MAWe2tLSqTD24","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81904054},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"17c511d22d2daadfb4e2de740e06b161409770fe","scripts":{"lint":"eslint .","test":"ts-node src/index_test.ts && ts-node src/packs_test.ts && ts-node src/flip_test.ts && ts-node src/applyCursors_test.ts && ts-node src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"ts-node scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"ts-node scripts/update-category-icons.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3816cc1f-681d-450b-93fd-16d2298c61a7"}},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"11.16.0","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","ts-node":"^10.9.2","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.26_1783368003223_0.14221148186915622","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@dava96/osrs-icons","version":"1.0.27","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.27","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"29b8278d47c925f000c5ad7a5d98f566d6741e79","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.27.tgz","fileCount":57,"integrity":"sha512-CdZnwVHQFJuVeaOCMs6YvS9UewSBF7gO5YZonyDgpMJil6/HzpUZLh+DNux1EvBhcnq8Sc+PEdFF+FgyzDm+lw==","signatures":[{"sig":"MEYCIQDiiuUKEiyscsMrYgjGGf+c0KehjWIrAcjiYKFzV8MvaAIhAPv855HfTrTp0W/FBgUThRiZxM+ihvdNiujzrAfoTwxn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82387481},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"0760eecda2b5542c709696fda3e910aa6a4580cc","scripts":{"lint":"eslint .","test":"tsx src/index_test.ts && tsx src/packs_test.ts && tsx src/flip_test.ts && tsx src/applyCursors_test.ts && tsx src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"tsx scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"tsx scripts/update-category-icons.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3816cc1f-681d-450b-93fd-16d2298c61a7"}},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"11.16.0","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.0","axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^7.0.2","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","@babel/eslint-parser":"^8.0.1","eslint-config-prettier":"^10.1.8","@babel/plugin-syntax-typescript":"^8.0.3"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.27_1783542746616_0.4110464459999601","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@dava96/osrs-icons","version":"1.0.28","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.28","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"334f1fdf23a7a7e885576f26066db3f475c6e58f","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.28.tgz","fileCount":57,"integrity":"sha512-NwIvJdAAha7JUk86Npo++FyKDTPR16Va7a6ahDauqgGo/yzzBYmoP2gdOQX+LfYGxtn4c4SQJcPUyoc2VCQTdQ==","signatures":[{"sig":"MEQCIC7HiYCMgOwdbXAbqgcdkGzyTeKrvb9UYhFmH3A2fwRFAiAIzKt3FNhFnhukNy9NLeHtYX5ACdgwOhs4YdWutgL6bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72073211},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"cb4a1927db2e2a9caf025df4cce3f41b9e3898d7","scripts":{"lint":"eslint .","test":"tsx src/index_test.ts && tsx src/packs_test.ts && tsx src/flip_test.ts && tsx src/applyCursors_test.ts && tsx src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"tsx scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"tsx scripts/update-category-icons.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3816cc1f-681d-450b-93fd-16d2298c61a7"}},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"11.16.0","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.0","axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^7.0.2","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","@babel/eslint-parser":"^8.0.1","eslint-config-prettier":"^10.1.8","@babel/plugin-syntax-typescript":"^8.0.3"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.28_1785054350454_0.8648889397905875","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@dava96/osrs-icons","version":"1.0.29","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","_id":"@dava96/osrs-icons@1.0.29","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"homepage":"https://github.com/Dava96/osrs-icons#readme","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"14692d575319eb288ffdada1911c66f716eb1f64","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.29.tgz","fileCount":57,"integrity":"sha512-WUIIphE5RWIOv6eQBdpDtHRZP41WqNq1vdZmZyGy+zYm80GKf2PIXUZG6ZKzag2uvbUMWZnaHpAcVYVnjXCsQA==","signatures":[{"sig":"MEQCIC2t9n194Sr4SVoyQ0EH4X3r5fBcKMqDhO2MgWqGdLJoAiApyr3F9cNI5WgAY2+x6+FQEMju7g5/naOMvc88hm19eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72415323},"main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"c698bbf4023794b828c5fc86d45c9c61e486c58e","scripts":{"lint":"eslint .","test":"tsx src/index_test.ts && tsx src/packs_test.ts && tsx src/flip_test.ts && tsx src/applyCursors_test.ts && tsx src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"tsx scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"tsx scripts/update-category-icons.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3816cc1f-681d-450b-93fd-16d2298c61a7"}},"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"11.16.0","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.0","axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^7.0.2","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","@babel/eslint-parser":"^8.0.1","eslint-config-prettier":"^10.1.8","@babel/plugin-syntax-typescript":"^8.0.3"},"_npmOperationalInternal":{"tmp":"tmp/osrs-icons_1.0.29_1786687589038_0.5512094518512647","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"_id":"@dava96/osrs-icons@1.0.30","bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"dist":{"shasum":"d7ef428a79683b317218d08f1293956c827d24de","tarball":"https://registry.npmjs.org/@dava96/osrs-icons/-/osrs-icons-1.0.30.tgz","fileCount":57,"integrity":"sha512-LnOEap4LjVhx5SDp/jKncbLA0CtkdAoZ3W1D8RYkRulZ6BjzcFKGYOa/WRuDM1RmUdvZOzTKf8/8iZB4k8kvxQ==","signatures":[{"sig":"MEYCIQD1i5HBbGZRvkR10jMlLS2v5jye02FIXK2Rt8vXXqU8UAIhAIE5bWFlXLh8dBORFysatpfEEx/hJOfGZbE9RyLKpdre","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICIkIHxgzx4SMveuTHqQAArrSncyqXZaPRfziJ4DA3svAiEAy2KTluc22E1b3WvcYHmqi70/cdxaA6LbBnIe4RwbEyk="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dava96%2fosrs-icons@1.0.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73150176},"main":"dist/cjs/index.js","name":"@dava96/osrs-icons","types":"dist/cjs/index.d.ts","author":{"name":"dava96"},"module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"16c5de73d6c57e1b47ef0606cf4b6e4ff39e82c6","license":"CC-BY-NC-SA-3.0","scripts":{"lint":"eslint .","test":"tsx src/index_test.ts && tsx src/packs_test.ts && tsx src/flip_test.ts && tsx src/applyCursors_test.ts && tsx src/animateCursor_test.ts","build":"tsc -p tsconfig.json && tsc -p tsconfig.esm.json","format":"prettier --write .","prepare":"husky","update-icons":"tsx scripts/update-icons.ts","prepublishOnly":"npm run build","update-category-icons":"tsx scripts/update-category-icons.ts"},"version":"1.0.30","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3816cc1f-681d-450b-93fd-16d2298c61a7"}},"homepage":"https://github.com/Dava96/osrs-icons#readme","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"_npmVersion":"11.19.0","description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","directories":{},"lint-staged":{"*.{ts,tsx,css,json,md,yml,yaml}":"prettier --write"},"maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.0","axios":"^1.13.4","husky":"^9.1.7","sharp":"^0.34.5","eslint":"^9.39.2","globals":"^17.3.0","fs-extra":"^11.3.3","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^7.0.2","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","@babel/eslint-parser":"^8.0.1","eslint-config-prettier":"^10.1.8","@babel/plugin-syntax-typescript":"^8.0.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/osrs-icons_1.0.30_1790087181139_0.22668894413183227"}}},"time":{"created":"2026-02-07T23:04:46.550Z","modified":"2026-09-22T14:26:21.986Z","1.0.0":"2026-02-07T23:04:47.806Z","1.0.13":"2026-02-08T09:03:01.846Z","1.0.14":"2026-02-08T09:57:10.643Z","1.0.15":"2026-02-08T10:11:02.866Z","1.0.16":"2026-02-08T11:38:00.872Z","1.0.17":"2026-02-08T16:41:18.549Z","1.0.18":"2026-02-08T17:28:16.845Z","1.0.19":"2026-02-08T21:53:42.849Z","1.0.20":"2026-02-23T07:57:03.027Z","1.0.21":"2026-03-02T22:13:08.552Z","1.0.22":"2026-03-09T19:50:18.887Z","1.0.23":"2026-04-06T12:19:30.420Z","1.0.24":"2026-04-17T09:46:16.289Z","1.0.26":"2026-07-06T20:00:03.845Z","1.0.27":"2026-07-08T20:32:27.292Z","1.0.28":"2026-07-26T08:25:51.024Z","1.0.29":"2026-08-14T06:06:29.681Z","1.0.30":"2026-09-22T14:26:21.656Z"},"bugs":{"url":"https://github.com/Dava96/osrs-icons/issues"},"author":{"name":"dava96"},"license":"CC-BY-NC-SA-3.0","homepage":"https://github.com/Dava96/osrs-icons#readme","keywords":["osrs","runescape","icons","cursors","css","gaming","sprites"],"repository":{"url":"git+https://github.com/Dava96/osrs-icons.git","type":"git"},"description":"Old School RuneScape inventory icons as ready-to-use CSS cursor values. Tree-shakeable, zero runtime dependencies.","maintainers":[{"name":"dava96","email":"Davidlomath@hotmail.co.uk"}],"readme":"# OSRS Icons\n\nA collection of Old School RuneScape icons as ready-to-use CSS cursor values.\nImport only what you need — unused icons are automatically tree-shaken from your bundle.\n\n[![npm](https://img.shields.io/npm/v/@dava96/osrs-icons)](https://www.npmjs.com/package/@dava96/osrs-icons)\n[![npm downloads](https://img.shields.io/npm/dw/@dava96/osrs-icons)](https://www.npmjs.com/package/@dava96/osrs-icons)\n[![license](https://img.shields.io/npm/l/@dava96/osrs-icons)](./LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/Dava96/osrs-icons)](https://github.com/Dava96/osrs-icons)\n\n📖 **[Browse icons & build packs →](https://dava96.github.io/osrs-icons/)**\n\n---\n\n## Installation\n\n```bash\nnpm install @dava96/osrs-icons\n```\n\nOr use it directly from a CDN with no build step:\n\n```html\n<script type=\"module\">\n  import { abyssalWhip } from 'https://esm.sh/@dava96/osrs-icons';\n\n  document.body.style.cursor = abyssalWhip;\n</script>\n```\n\n## Quick Start\n\n```tsx\nimport { abyssalWhip, toDataUrl } from '@dava96/osrs-icons';\n\n// Use as a CSS cursor\n<div style={{ cursor: abyssalWhip }}>Hover me!</div>\n\n// Use as an image\n<img src={toDataUrl(abyssalWhip)} alt=\"Abyssal Whip\" />\n```\n\nEvery icon export is a fully formed CSS `cursor` value (`url('data:image/png;base64,...'), auto`), so you can drop it straight into any `cursor` property.\n\n---\n\n## Icons\n\nThe package contains ~19,500 icons from two sources, all exported as individual named exports for full tree-shaking support:\n\n### Inventory Icons (~17,400)\n\nItem sprites from the in-game inventory:\n\n```ts\nimport { abyssalWhip, dragonScimitar } from '@dava96/osrs-icons';\n\nelement.style.cursor = abyssalWhip;\n```\n\n### Category Icons (~2,100)\n\nUI icons from the OSRS Wiki — skill icons, prayer icons, map markers, spell icons, and more. These are imported the exact same way as inventory icons:\n\n```ts\nimport { combatIcon, prayerAugury } from '@dava96/osrs-icons';\n\nelement.style.cursor = combatIcon;\nelement.style.cursor = prayerAugury;\n```\n\n> **Note:** In the rare case of a name collision between collections, the category icon is suffixed with `Category` (e.g. `hunterKitCategory`).\n\n### Discovering Icons\n\nBrowse icons programmatically or restrict values to valid names with TypeScript types:\n\n```ts\nimport {\n  iconNames, // all inventory icon names\n  categoryIconNames, // all category icon names\n  type IconName,\n  type CategoryIconName,\n} from '@dava96/osrs-icons';\n\n// Search / autocomplete\nconst results = iconNames.filter((name) => name.includes('dragon'));\n\n// Type-safe references\nfunction setCustomCursor(name: IconName) {\n  /* ... */\n}\n```\n\n### Using Icons as Images\n\nUse the `toDataUrl` helper to extract the raw `data:image/png;base64,...` URL for use outside of CSS — for example, as an `<img>` src or a CSS `background-image`:\n\n```ts\nimport { abyssalWhip, dragonScimitar, toDataUrl } from '@dava96/osrs-icons';\n\n// Single icon\n<img src={toDataUrl(abyssalWhip)} alt=\"Abyssal Whip\" />\n\n// Multiple icons at once\nconst urls = toDataUrl({\n  whip: abyssalWhip,\n  sword: dragonScimitar,\n});\n// urls.whip  → \"data:image/png;base64,...\"\n// urls.sword → \"data:image/png;base64,...\"\n```\n\n---\n\n## Cursor Packs\n\nPre-built thematic icon groups. Each pack groups related icons by their in-game state and includes a `stages` array for sequential use (e.g. loading indicators):\n\n```ts\nimport { runePack, bucketPack, coinsPack } from '@dava96/osrs-icons';\n\n// Individual keys\nelement.style.cursor = runePack.air;\n\n// Sequential stages — great for loading indicators\nconst stages = bucketPack.stages; // [empty, 1/5, 2/5, 3/5, 4/5, full]\nconst index = Math.min(Math.floor((progress / 100) * stages.length), stages.length - 1);\nelement.style.cursor = stages[index];\n```\n\n**Available packs:**\n\n| Pack         | Keys                                                                                            |\n| ------------ | ----------------------------------------------------------------------------------------------- |\n| `coinsPack`  | `_1` to `_10000` + `stages[]`                                                                   |\n| `bucketPack` | `empty` to `full` + `stages[]`                                                                  |\n| `runePack`   | `air`, `fire`, `water`, `earth`, `chaos`, `mind`, `death`, `law`, `nature`, `body` + `stages[]` |\n\n---\n\n## Utilities\n\n### `flipCursor` — Mirror Icons Horizontally\n\nMany OSRS sprites face right, but cursors typically point left. Flip a single icon, an array, or an entire pack:\n\n```ts\nimport { abyssalWhip, runePack, flipCursor } from '@dava96/osrs-icons';\n\n// Single icon\nconst leftFacing = await flipCursor(abyssalWhip);\n\n// Array of icons\nconst [flippedAir, flippedFire] = await flipCursor([runePack.air, runePack.fire]);\n\n// Entire pack — flips all values and stages in one call\nconst flippedRunes = await flipCursor(runePack);\n```\n\nResults are cached internally — flipping the same icon twice returns instantly. Browser-only (uses Canvas API); returns the original value in Node.js/SSR.\n\n### `applyCursors` — Map Icons to CSS Cursor States\n\nOverride standard CSS cursor states (`default`, `pointer`, `wait`, etc.) with OSRS icons globally or scoped to a specific element:\n\n```ts\nimport { abyssalWhip, dragonScimitar, applyCursors } from '@dava96/osrs-icons';\n\n// Apply globally\nconst cleanup = applyCursors({\n  default: abyssalWhip,\n  pointer: dragonScimitar,\n});\n\n// Later, revert to browser defaults\ncleanup();\n```\n\nScope to a specific element:\n\n```ts\napplyCursors({ default: abyssalWhip }, document.getElementById('game-area')!);\n```\n\n### `animateCursor` — Animated Sprite Cursors\n\nCycle through a sequence of icons as an animated cursor using pure CSS `@keyframes` — no JavaScript timers required:\n\n```ts\nimport { coinsPack, animateCursor } from '@dava96/osrs-icons';\n\n// Animate a growing coin stack on the whole page\nconst stop = animateCursor(coinsPack.stages, { duration: 1200 });\n\n// Stop and clean up\nstop();\n```\n\nScope to an element and limit iterations:\n\n```ts\nimport { bucketPack, animateCursor } from '@dava96/osrs-icons';\n\nconst stop = animateCursor(bucketPack.stages, {\n  duration: 900,\n  target: document.getElementById('loading')!,\n  iterations: 3,\n});\n```\n\nRequires at least 2 frames. Browser-only; returns a no-op cleanup in Node.js/SSR.\n\n### `errorCursor` — Easter Egg 🐟\n\nAn alias for the Red Herring icon — a fun cursor for error states:\n\n```ts\nimport { errorCursor } from '@dava96/osrs-icons';\n\nelement.style.cursor = errorCursor;\n```\n\n---\n\n## API Reference\n\n### Functions\n\n| Function        | Signature                                                         | Description                                                                    |\n| --------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------ |\n| `toDataUrl`     | `(cursor: string) → string`                                       | Extracts the raw `data:image/png;base64,...` URL from a CSS cursor value       |\n| `toDataUrl`     | `(cursors: Record<K, string>) → Record<K, string>`                | Batch version — extracts URLs from an object of cursor values                  |\n| `flipCursor`    | `(cursor: string) → Promise<string>`                              | Flips a single icon horizontally. Cached. Browser-only.                        |\n| `flipCursor`    | `(cursors: string[]) → Promise<string[]>`                         | Flips an array of icons horizontally                                           |\n| `flipCursor`    | `(pack: Record) → Promise<Record>`                                | Flips all values and stages in a pack                                          |\n| `applyCursors`  | `(mapping: CursorMapping, target?: HTMLElement) → () => void`     | Injects CSS rules mapping cursor states to icons. Returns a cleanup function.  |\n| `animateCursor` | `(frames: string[], options?: AnimateCursorOptions) → () => void` | Animates a cursor through a frame sequence via CSS keyframes. Returns cleanup. |\n\n### Types\n\n| Type                   | Description                                                                |\n| ---------------------- | -------------------------------------------------------------------------- |\n| `IconName`             | Union of all inventory icon export names                                   |\n| `CategoryIconName`     | Union of all category icon export names                                    |\n| `CursorState`          | Standard CSS cursor states (`'default'`, `'pointer'`, `'wait'`, etc.)      |\n| `CursorMapping`        | `Partial<Record<CursorState, string>>` — maps cursor states to icon values |\n| `AnimateCursorOptions` | `{ duration?: number, target?: HTMLElement, iterations?: number }`         |\n\n### Constants\n\n| Export              | Type                     | Description                                                |\n| ------------------- | ------------------------ | ---------------------------------------------------------- |\n| `iconNames`         | `readonly string[]`      | Array of all inventory icon export names (~17,400)         |\n| `categoryIconNames` | `readonly string[]`      | Array of all category icon export names (~2,100)           |\n| `errorCursor`       | `string`                 | Alias for `redHerring`                                     |\n| `*Pack`             | `Record<string, string>` | Pre-built cursor packs (see [Cursor Packs](#cursor-packs)) |\n\n---\n\n## Browser Compatibility\n\n| Feature         | Browser                | Node.js / SSR             |\n| --------------- | ---------------------- | ------------------------- |\n| Icon imports    | ✅ All                 | ✅ All                    |\n| `toDataUrl`     | ✅ All                 | ✅ All                    |\n| `applyCursors`  | ✅ All modern          | ⚠️ Returns no-op cleanup  |\n| `flipCursor`    | ✅ Canvas API required | ⚠️ Returns original value |\n| `animateCursor` | ✅ All modern          | ⚠️ Returns no-op cleanup  |\n| Cursor packs    | ✅ All                 | ✅ All                    |\n\nAll features are SSR-safe — browser-only utilities degrade gracefully by returning safe fallback values.\n\n---\n\n## How It Works\n\nTwo build scripts fetch every icon from the [OSRS Wiki](https://oldschool.runescape.wiki/) and generate TypeScript source files:\n\n| Script                  | Source Category                                                                                       | Output                            | Icons   |\n| ----------------------- | ----------------------------------------------------------------------------------------------------- | --------------------------------- | ------- |\n| `update-icons`          | [Item inventory images](https://oldschool.runescape.wiki/w/Category:Item_inventory_images)            | `src/generated/icons.ts`          | ~17,400 |\n| `update-category-icons` | [Icons](https://oldschool.runescape.wiki/w/Category:Icons) (+ all subcategories, crawled recursively) | `src/generated/category-icons.ts` | ~2,100  |\n\nBoth scripts share common utilities from `scripts/shared.ts` and use an MD5-keyed disk cache so that subsequent runs only download new or changed images. SVGs are automatically rasterised to 32×32 PNGs.\n\nEach icon is a small ~32×32 pixel sprite, base64-encoded inline — no external assets to host.\n\n### Package Output\n\n| Format | Path                  | Use                                  |\n| ------ | --------------------- | ------------------------------------ |\n| ESM    | `dist/esm/index.js`   | `import` (bundlers, modern browsers) |\n| CJS    | `dist/cjs/index.js`   | `require()` (Node.js, legacy)        |\n| Types  | `dist/cjs/index.d.ts` | TypeScript definitions               |\n\nThe package has `\"sideEffects\": false` for optimal tree-shaking in Webpack, Rollup, Vite, and esbuild.\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for development setup, project structure, and automation details.\n\n## License\n\nThis project is not affiliated with Jagex Ltd. Icons are the property of Jagex/OSRS Wiki.\nOSRS Wiki content is available under [CC BY-NC-SA 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/).\n","readmeFilename":"README.md"}