{"_id":"react-native-animated-glow","_rev":"16-f21faed4a9362d988f53a3c487ddf459","name":"react-native-animated-glow","dist-tags":{"latest":"3.2.0"},"versions":{"1.0.0":{"name":"react-native-animated-glow","version":"1.0.0","keywords":["react-native","glow","animation","reanimated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.0.0","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"54c4883e8572ddf3730da2a123872bfb2763155f","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.0.0.tgz","fileCount":7,"integrity":"sha512-7b2ibJyY2OHOv8FsQ1Mgx0gQtzvHoJL7W06SI/HsGVZnY6CDcj2dTlsK4R+CImV6nJ5xS7qF8zZZ3HAHURIbTg==","signatures":[{"sig":"MEUCIBi5R1ItA/pVrpXETMpfn14mGEnQ6EZSsEjZplWGcFTdAiEAhr5riOifg9m2ysh2dhAra2olJpKyFNUyYc7UxOWGa0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28032},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"67f42e2b73aa5d3492bfb1d0a417d1d07db77b28","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-native":"^0.72.8"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=12.0.0","react-native-reanimated":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.0.0_1754539249822_0.6391155688061225","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"react-native-animated-glow","version":"1.0.1","keywords":["react-native","glow","animation","reanimated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.0.1","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"2aa5fb8f8484b12438e0d2c27f82c72612e7e2e8","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.0.1.tgz","fileCount":9,"integrity":"sha512-Wu0SESp4CGw+sraosaas8g8CF7LLdwlgNEh9bCVVaeteIs1MTEAfwaG6YBClSHTAJY4xjNkfF4IC1XH4zFHKMg==","signatures":[{"sig":"MEUCIQCdap/lIpZcmy20FWtTLCGgztgffNcSuVpn4Dgobqb//gIgYLeglxoL6NKnKmwA4iQFpedx6a5L+4vsvMik3/zf3qQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44308},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"4a1fd7df66cee58864ed06c96f09b87fabe3da46","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-native":"^0.72.8"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=12.0.0","react-native-reanimated":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.0.1_1754539947325_0.32718890510081744","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"react-native-animated-glow","version":"1.0.2","keywords":["react-native","glow","animation","reanimated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.0.2","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"5133ed2324a09013dd72468d0b0a33b7c66e213e","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.0.2.tgz","fileCount":9,"integrity":"sha512-wt7hHqmy9T6SMTgnQYE46RExI6R4HzP24K37OnokG9oBzw935YesjGciW1Y3Zc4hLBQ0oL/LH/cdTciy9oSjWA==","signatures":[{"sig":"MEQCICIENVeklG5CGAuUo3O1EIeq4cgJDZcGQGcebfPNNCZ3AiARVd4iVajgCVp0L2R/7+YkHORvkSOMB4v5GikQp57RiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41077},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"2db3d9ed15bb1b4ae6d4b8063dcba60dc785d8e4","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-native":"^0.72.8"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=12.0.0","react-native-reanimated":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.0.2_1754559431409_0.6239967133208475","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"react-native-animated-glow","version":"1.2.0","keywords":["react-native","glow","animation","reanimated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button","inner glow"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.2.0","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"d449a00160f33d03cb14c291486e8cb6affe2346","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.2.0.tgz","fileCount":9,"integrity":"sha512-JQc3dW9XSUkXrkRQq+fII3tLeSfAiNZAA1JDVfDzqe+6KlR6gktETzvTBetXmJek260aLM2sVLR3qsnYEAylAg==","signatures":[{"sig":"MEUCIAUrrjW8P2hy8nqiAfESrFiv4pE6vD5q0CmTiIs6S13cAiEAg/g2P7Pb075rYpqjzGpuoKXaXN8FMx/WAnZPoHxaiBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46960},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"e3e4ce827d14b7ebaf4c94d6c5bf058307b2019a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-native":"^0.72.8"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=12.0.0","react-native-reanimated":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.2.0_1754722863163_0.23250946685280982","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"react-native-animated-glow","version":"1.2.1","keywords":["react-native","glow","animation","reanimated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button","inner glow"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.2.1","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"0eb76bda4eb7345e1560478dcd04d9aac74816c6","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.2.1.tgz","fileCount":13,"integrity":"sha512-H3ghpyi8GyQppHSkMj3e9b7BbtUir+oXC479EucixFuhztr64IglTo1V0CPqYuIf4xceDCWaQSngxmjH4ocINw==","signatures":[{"sig":"MEUCIQDN6JLqea6IrT3nMpyOET6ePC6w1N81qvWVVylUH6qBEAIgPg5liEMIaXdnNZ8vws3XZdeKUWU7PVVNUnswYz1niyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59024},"main":"lib/index.js","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js"},"./debug":{"types":"./lib/debug.d.ts","require":"./lib/debug.js"}},"gitHead":"e3e4ce827d14b7ebaf4c94d6c5bf058307b2019a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-native":"^0.72.8"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=12.0.0","react-native-reanimated":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.2.1_1754752586909_0.20250163021246315","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"react-native-animated-glow","version":"1.2.2","keywords":["react-native","glow","animation","reanimated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button","inner glow"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.2.2","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"340c9a6b763e92b97788b4128a9d8f41e009e1f9","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.2.2.tgz","fileCount":13,"integrity":"sha512-TW01u+/bEQbl9fLHJwiuFp/I0IoBMxPT6QzUaFbN4JHyy/QX1CMzPd5v0cRC+RKNLx/ej0Wgi5N3IUrEHLLxMA==","signatures":[{"sig":"MEUCIFAtogxWTtCyEGUjOaHp1EqltcI7pUG3xBZlSupNEheMAiEAngg/Mkm6RR647SU7Nps10H16IfS8EJhqTAViRLY5oDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59535},"main":"lib/index.js","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js"},"./debug":{"types":"./lib/debug.d.ts","require":"./lib/debug.js"}},"gitHead":"a5c05e7d0df43a595beb9b0588c856781d465a8d","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-native":"^0.72.8"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=12.0.0","react-native-reanimated":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.2.2_1754753283807_0.22848929709802146","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"react-native-animated-glow","version":"1.2.3","keywords":["react-native","glow","animation","reanimated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button","inner glow"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.2.3","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"2fcf91ba80850f18204196d907a69e0613838e21","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.2.3.tgz","fileCount":13,"integrity":"sha512-lViMd3SSVAB+upH+kzwvJBuPljLNSgjsa9AfzBD34WdUWtt7SlFVfYqA56lPTxz/QG+aYwCq95AOG/doq6GNtw==","signatures":[{"sig":"MEQCIEp2zEsRODDG75sD6kP1RV2WK1gLVwsHR/x9TSzxAbBdAiADnlDPoSp1gra6OLixdgA8cFLdCe1JCzzDYECVUbisIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60339},"main":"lib/index.js","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js"},"./debug":{"types":"./lib/debug.d.ts","require":"./lib/debug.js"}},"gitHead":"c9081635f7bfcffef2e2da5555db0249de9aee05","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-native":"^0.72.8"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=12.0.0","react-native-reanimated":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.2.3_1754774472658_0.6227361574766783","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"react-native-animated-glow","version":"1.3.0","keywords":["react-native","glow","animation","reanimated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button","inner glow","apple intelligence"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.3.0","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"d05af36fb59a817aafd3c219d801669abfd9ba3b","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.3.0.tgz","fileCount":15,"integrity":"sha512-DfvtEEDAOjuhJHGFIYTZMFviThytbMh/K6hhWLHdu4VmYkogEWvK1NLIJQMXb7i/M55HP5Qx+WizpRISCBA61Q==","signatures":[{"sig":"MEUCIQDOZHsDaeK6KVLTRQIChhyKRDbDsZ7d55emC9qGgzPpKAIgKqIQ1iBdx1haaiVpvIS2WrOt2evLrk2jZpFmU9B5WEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17459602},"main":"lib/index.js","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js"},"./debug":{"types":"./lib/debug.d.ts","require":"./lib/debug.js"}},"gitHead":"dfe512c624290febde3503ea1375692be57f6d92","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"expo-image":"^1.12.9","typescript":"^5.0.0","@types/react":"^19.0.0","@types/react-native":"^0.72.8"},"peerDependencies":{"react":"*","expo-image":">=1.10.0","react-native":"*","react-native-svg":">=15.0.0","react-native-reanimated":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.3.0_1754894946762_0.5997921415084673","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"react-native-animated-glow","version":"1.4.0","keywords":["react-native","glow","animation","animated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button","inner glow","apple intelligence"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.4.0","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"27f5d8870e991165cf0ff9dccee5d6e9fcf4396d","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.4.0.tgz","fileCount":15,"integrity":"sha512-lLrTYPKCoVPXEwYjKjiVKQNOm9F6xOAW6XoRyfRl8Xmmh3UTDlmVFdQmREUxh4IYbOpXr59DzofS8mi77nJdqA==","signatures":[{"sig":"MEUCIQC5iUM53v9nD/1IcQ6dZHiukkc2P5t95ZFKCR4DpVWt2wIgfh8EJKcQXsrxtiK3ROQ/yYOgq2gakq6C1s2tWhuTT0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17464772},"main":"lib/index.js","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js"},"./debug":{"types":"./lib/debug.d.ts","require":"./lib/debug.js"}},"gitHead":"272a123b704d83dedbdfecca3350fd1e464c195e","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.4.0_1755089834075_0.36555544545623064","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"react-native-animated-glow","version":"1.4.1","keywords":["react-native","glow","animation","animated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button","inner glow","apple intelligence"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.4.1","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"fad3901968bd7a5c249c267e85c794c9aea05c2c","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.4.1.tgz","fileCount":15,"integrity":"sha512-u3orPL42YZ0AsWQb9iZBpwvh9RjJlKoaZ3XNUXLCc7y/gIOaYaPXGkIPjCISz+RaZzp2vRMU10d4i7BoIB2UYA==","signatures":[{"sig":"MEUCIQCPSFG8u2nstGwh93SQPlzyzOMnVrgPgCJMciAeY0WQ3gIgGd3u6VcwRIby+k35veldI6Z0s6baDKpKZfwLtGy5uZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17464888},"main":"lib/index.js","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js","react-native":"./lib/index.js"},"./debug":{"types":"./lib/debug.d.ts","require":"./lib/debug.js","react-native":"./lib/debug.js"}},"gitHead":"2300be916ce507614824bf2feacb68a270564aae","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","react-native":"lib/index.js","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.4.1_1755203766243_0.23498121817215734","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"react-native-animated-glow","version":"1.4.2","keywords":["react-native","glow","animation","animated","svg","border","effect","wrapper","neon","button glow","animated glow","glowing button","inner glow","apple intelligence"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@1.4.2","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"f78b674354d94bb584b0ee60ef6b47a3497b82d7","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-1.4.2.tgz","fileCount":15,"integrity":"sha512-OQo6o7g8/5mH9qXeuqDBhkJKf6pxdjqnqdFVSKYoT8I2gvqlHgez0/jWFzbxYhZwtvf4zb5iAoMUV38UqyLdIA==","signatures":[{"sig":"MEQCICgWpQMQwh/2v1sIF+AwXZjrf7jllBAKrmY5/e9vgRptAiBjCWeLfvCyvG/0tUOXVb6NRbKcM4lwOIfpcvPwjJLWGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17464889},"main":"lib/index.js","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js","react-native":"./lib/index.js"},"./debug":{"types":"./lib/debug.d.ts","require":"./lib/debug.js","react-native":"./lib/debug.js"}},"gitHead":"cb7798d7d901cbccfb84671c3a0cbf1cb16a1956","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A fully customizable, performant, animated glow effect wrapper for any React Native component.","directories":{},"_nodeVersion":"20.19.1","react-native":"lib/index.js","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":"*","react-native":"*","react-native-svg":">=15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_1.4.2_1755211083602_0.040141604647012","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"react-native-animated-glow","version":"2.0.0","keywords":["react-native","skia","reanimated","glow","animation","animated","border","effect","neon","button glow","animated glow","glowing button","inner glow","apple intelligence","gradient"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@2.0.0","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"a10be99299d6db96b34ceaa5211948c2ac5a5801","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-2.0.0.tgz","fileCount":19,"integrity":"sha512-sQdmAMyw8hif+cqU4Z3Knu+/zpbfaTbnVx8WaOEFXdkHbEJH3cWcpUzkpdBwiiNn+Vjo0GF0FMkhl9vScZ6R2w==","signatures":[{"sig":"MEUCICxUy9bfEV9xXKf65U2G75SNHWZGiK01hbj03u18iIGcAiEA96A5KrIOQSs64/cL7qVSn68khl5IVczaQBX/3hciDjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108983},"main":"lib/index.js","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js","react-native":"./lib/index.js"},"./presets":{"types":"./lib/glow-presets.d.ts","require":"./lib/glow-presets.js","react-native":"./lib/glow-presets.js"}},"gitHead":"e9d7e9dabdbec56d5373c4639481f324d591d591","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A performant, highly-customizable animated glow effect for React Native, powered by Skia and Reanimated.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"canvaskit-wasm":"0.39.1"},"react-native":"lib/index.js","_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","typescript":"^5.0.0","@types/react":"^19.0.0","react-native-reanimated":">=3.0.0","@shopify/react-native-skia":">=0.2.0","react-native-gesture-handler":">=2.0.0"},"peerDependencies":{"react":"*","react-native":"*","react-native-reanimated":">=3.0.0","@shopify/react-native-skia":">=0.2.0","react-native-gesture-handler":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_2.0.0_1756229575878_0.7399866948237561","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"react-native-animated-glow","version":"3.0.0","keywords":["react-native","skia","reanimated","glow","animation","animated","border","effect","neon","button glow","animated glow","glowing button","inner glow","apple intelligence","gradient","hover","press","interactive"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@3.0.0","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"d25dd8a411d33197e237403448404d800a2e4150","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-3.0.0.tgz","fileCount":21,"integrity":"sha512-Mm/Qo4lg849lSoCvSeHe5FfH5vdIVdLqyR03JIsOYIcSjgiP/3eDWTZcHy4jKW+CRj+Q9Xya1aG8IWyPQouHlA==","signatures":[{"sig":"MEUCIQCQc5RNZdv4reAm6MDN8XBGTdksyjPKUw8AhTzH0BnkBgIgBsjVJqK2drP4OXhUDtBW2kfMQWOd0MOr7G2JnVA9/tY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56557},"main":"lib/index.js","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./lib/index.js","react-native":"./lib/index.js"},"./presets":{"types":"./lib/glow-presets.d.ts","require":"./lib/glow-presets.js","react-native":"./lib/glow-presets.js"}},"gitHead":"7f1f6030bfd4724acc0f46859cb4efd2e9c00d28","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A performant, highly-customizable animated glow effect for React Native, powered by Skia and Reanimated.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"canvaskit-wasm":"0.39.1"},"react-native":"lib/index.js","_hasShrinkwrap":false,"devDependencies":{"react":"18.2.0","typescript":"^5.0.0","@types/react":"^18.2.0","react-native":"0.74.0","react-native-reanimated":"3.12.0","@shopify/react-native-skia":"1.3.1","react-native-gesture-handler":"2.16.2"},"peerDependencies":{"react":"*","react-native":"*","react-native-reanimated":">=3.0.0","@shopify/react-native-skia":">=0.2.0","react-native-gesture-handler":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_3.0.0_1756625833281_0.53446320243883","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"react-native-animated-glow","version":"3.0.1","keywords":["react-native","skia","reanimated","glow","animation","animated","border","effect","neon","button glow","animated glow","glowing button","inner glow","apple intelligence","gradient","hover","press","interactive"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@3.0.1","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"d8febd4107421acefde0454c18242f65bc9be123","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-3.0.1.tgz","fileCount":99,"integrity":"sha512-2WG/zfioj9/CgixdisQ+HPNpCI3lC/+ZGhh8+j6bDWFmR0fXl8EfOny+AzY8x9JAH+Rmsdw2JqNrvBSOmrZIzw==","signatures":[{"sig":"MEUCIQCXKHDyCDNJTvYawzAnyV6hTkY9NCcau0eZ4Ph4/pFsuQIgRPfq6ZLDqmtgeigfKXde94aPDmA6nMLM/6oIkKQ9yEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251743},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","source":"src/index.ts","exports":{".":{"types":"./lib/typescript/index.d.ts","module":"./lib/module/index.js","require":"./lib/commonjs/index.js"},"./presets":{"types":"./lib/typescript/glow-presets.d.ts","module":"./lib/module/glow-presets.js","require":"./lib/commonjs/glow-presets.js"}},"gitHead":"ff4cb405a639fc1058fbd54c1ffadc28d4ff6b96","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"bob build","prepublishOnly":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A performant, highly-customizable animated glow effect for React Native, powered by Skia and Reanimated.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"canvaskit-wasm":"0.39.1"},"react-native":"src/index.ts","_hasShrinkwrap":false,"devDependencies":{"react":"18.2.0","typescript":"^5.0.0","@types/react":"^18.2.0","react-native":"0.74.0","react-native-reanimated":"3.12.0","react-native-builder-bob":"^0.23.2","@shopify/react-native-skia":"1.3.1","react-native-gesture-handler":"2.16.2"},"peerDependencies":{"react":"*","react-native":"*","react-native-reanimated":">=3.0.0","@shopify/react-native-skia":">=0.2.0 || ^2.0.0-next","react-native-gesture-handler":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_3.0.1_1757042213171_0.06972777132651808","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":["commonjs","module",["typescript",{"project":"tsconfig.build.json"}]]}},"3.1.0":{"name":"react-native-animated-glow","version":"3.1.0","keywords":["react-native","skia","reanimated","glow","animation","animated","border","effect","neon","button glow","animated glow","glowing button","inner glow","apple intelligence","gradient","hover","press","interactive"],"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","_id":"react-native-animated-glow@3.1.0","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"homepage":"https://reactnativeglow.com","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"03060283f1d0cd83101683dab86b374c85220375","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-3.1.0.tgz","fileCount":80,"integrity":"sha512-VdK6QiuZLx0Q6rL3VnRvouSWYdRGjH4CpTLRLkVV6s956f2HX6yl0GCzjgcH8bgNuigIS65riZ9Y9Byr+T/KNQ==","signatures":[{"sig":"MEYCIQCvW4FUsWsWzh23dXiWGcmnU/N9mLaIQtTC1YZ3xYl5DAIhAJrY5kjs4Zp3bXnlF84PdQr9OvzAUoBo/BBa7ge/mPIs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208159},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","source":"src/index.ts","exports":{".":{"types":"./lib/typescript/index.d.ts","module":"./lib/module/index.js","default":"./lib/module/index.js","require":"./lib/commonjs/index.js","react-native":"./src/index.ts"},"./presets":{"types":"./lib/typescript/glow-presets.d.ts","module":"./lib/module/glow-presets.js","default":"./lib/module/glow-presets.js","require":"./lib/commonjs/glow-presets.js","react-native":"./src/glow-presets.ts"}},"gitHead":"d777f614905e16a57c7bbfd71ddcf8b78b166231","scripts":{"test":"jest","build":"bob build","verify":"npm run typecheck && npm run test:ci && npm run build","test:ci":"jest --runInBand","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"11.9.0","description":"A performant, highly-customizable animated glow effect for React Native, powered by Skia and Reanimated.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"canvaskit-wasm":"0.39.1"},"react-native":"src/index.ts","_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","typescript":"^5.0.0","@types/jest":"29.5.14","@types/react":"^18.2.0","react-native":"0.74.0","react-test-renderer":"18.2.0","react-native-reanimated":"3.12.0","react-native-builder-bob":"^0.23.2","@shopify/react-native-skia":"1.3.1","react-native-gesture-handler":"2.16.2","@testing-library/react-native":"12.9.0"},"peerDependencies":{"react":"*","react-native":"*","react-native-reanimated":">=3.0.0","@shopify/react-native-skia":">=0.2.0 || ^2.0.0-next","react-native-gesture-handler":">=2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-native-animated-glow_3.1.0_1777827510993_0.34416155232636814","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":["commonjs","module",["typescript",{"project":"tsconfig.build.json"}]]}},"3.2.0":{"_id":"react-native-animated-glow@3.2.0","bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"dist":{"shasum":"a84e824b1e1ab7a3dcd039a2d8dd2b580ca9f7c1","tarball":"https://registry.npmjs.org/react-native-animated-glow/-/react-native-animated-glow-3.2.0.tgz","fileCount":80,"integrity":"sha512-/V/+nICdfWaJnQV8QyAo4zcctW3IVtj5rjDs9bb/6m0CqfE6Jmcmz7cd159dvwGP4kKsElULD7p1nWc9axtOzg==","signatures":[{"sig":"MEUCIQD0P+1USo5ae1TSt+NG7wc+wbJzDhs2BpQVVpkqkPOKnwIgNdZ0XrHF+3UXDAcN56dqbD+2fVDjuTFUqeCwBiKbvPY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH9Xu1FH5uX9IcsNa8mv7g28r6/H4j6vTI9jROEZ5XuYAiEAwUCEtky0YMH0lz9PuBAJy4N1yKHKHnAA80vj8UE3B1s="}],"unpackedSize":233438},"main":"lib/commonjs/index.js","name":"react-native-animated-glow","types":"lib/typescript/index.d.ts","author":{"name":"realimposter","email":"support@imposterllc.com"},"module":"lib/module/index.js","source":"src/index.ts","exports":{".":{"types":"./lib/typescript/index.d.ts","module":"./lib/module/index.js","default":"./lib/module/index.js","require":"./lib/commonjs/index.js","react-native":"./src/index.ts"},"./presets":{"types":"./lib/typescript/glow-presets.d.ts","module":"./lib/module/glow-presets.js","default":"./lib/module/glow-presets.js","require":"./lib/commonjs/glow-presets.js","react-native":"./src/glow-presets.ts"}},"gitHead":"6dc59a69b66c3739a8ba45832ca9840f29f67816","license":"MIT","scripts":{"test":"jest","build":"bob build","verify":"npm run typecheck && npm run test:ci && npm run build","test:ci":"jest --runInBand","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"version":"3.2.0","_npmUser":{"name":"realimposter","email":"scbaltay@gmail.com"},"homepage":"https://reactnativeglow.com","keywords":["react-native","skia","reanimated","glow","animation","animated","border","effect","neon","button glow","animated glow","glowing button","inner glow","apple intelligence","gradient","hover","press","interactive"],"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"_npmVersion":"10.8.2","description":"A performant, highly-customizable animated glow effect for React Native, powered by Skia and Reanimated.","directories":{},"maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"_nodeVersion":"20.20.2","dependencies":{"canvaskit-wasm":"0.39.1"},"react-native":"src/index.ts","_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","typescript":"^5.0.0","@types/jest":"29.5.14","@types/react":"^18.2.0","react-native":"0.74.0","react-test-renderer":"18.2.0","react-native-reanimated":"3.12.0","react-native-builder-bob":"^0.23.2","@shopify/react-native-skia":"1.3.1","react-native-gesture-handler":"2.16.2","@testing-library/react-native":"12.9.0"},"peerDependencies":{"react":"*","react-native":"*","react-native-reanimated":">=3.0.0","@shopify/react-native-skia":">=0.2.0 || ^2.0.0-next","react-native-gesture-handler":">=2.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-native-animated-glow_3.2.0_1790014738161_0.5963694498686225"},"react-native-builder-bob":{"output":"lib","source":"src","targets":["commonjs","module",["typescript",{"project":"tsconfig.build.json"}]]}}},"time":{"created":"2025-08-07T04:00:49.822Z","modified":"2026-09-21T18:18:58.422Z","1.0.0":"2025-08-07T04:00:50.026Z","1.0.1":"2025-08-07T04:12:27.522Z","1.0.2":"2025-08-07T09:37:11.582Z","1.2.0":"2025-08-09T07:01:03.317Z","1.2.1":"2025-08-09T15:16:27.165Z","1.2.2":"2025-08-09T15:28:03.991Z","1.2.3":"2025-08-09T21:21:12.861Z","1.3.0":"2025-08-11T06:49:07.152Z","1.4.0":"2025-08-13T12:57:14.545Z","1.4.1":"2025-08-14T20:36:06.669Z","1.4.2":"2025-08-14T22:38:04.056Z","2.0.0":"2025-08-26T17:32:56.050Z","3.0.0":"2025-08-31T07:37:13.465Z","3.0.1":"2025-09-05T03:16:53.426Z","3.1.0":"2026-05-03T16:58:31.144Z","3.2.0":"2026-09-21T18:18:58.261Z"},"bugs":{"url":"https://github.com/realimposter/react-native-animated-glow/issues"},"author":{"name":"realimposter","email":"support@imposterllc.com"},"license":"MIT","homepage":"https://reactnativeglow.com","keywords":["react-native","skia","reanimated","glow","animation","animated","border","effect","neon","button glow","animated glow","glowing button","inner glow","apple intelligence","gradient","hover","press","interactive"],"repository":{"url":"git+https://github.com/realimposter/react-native-animated-glow.git","type":"git"},"description":"A performant, highly-customizable animated glow effect for React Native, powered by Skia and Reanimated.","maintainers":[{"name":"realimposter","email":"scbaltay@gmail.com"}],"readme":"# React Native Animated Glow v3.2.0\n\n<div align=\"center\">\n\n[![NPM Version](https://img.shields.io/npm/v/react-native-animated-glow.svg)](https://www.npmjs.com/package/react-native-animated-glow)\n[![NPM License](https://img.shields.io/npm/l/react-native-animated-glow.svg)](https://github.com/realimposter/react-native-animated-glow/blob/main/LICENSE)\n[![NPM Downloads](https://img.shields.io/npm/dt/react-native-animated-glow.svg)](https://www.npmjs.com/package/react-native-animated-glow)\n<br/>\n<a href=\"https://github.com/realimposter/react-native-animated-glow\">\n  <img src=\"https://img.shields.io/github/stars/realimposter/react-native-animated-glow?style=social\" alt=\"GitHub stars\">\n</a>\n\n</div>\n\nA performant, highly-customizable animated glow effect component for React Native, powered by **Skia** and **Reanimated 3**.\n\n![React Native Animated Glow Demo](https://raw.githubusercontent.com/realimposter/react-native-animated-glow/main/assets/react-native-glow-demo.gif)\n\n## Live Demo & Builder\n\nCheck out the **[live web demo and interactive builder](https://reactnativeglow.com/)** to see the component in action, browse tutorials, and create your own presets.\n\n## Features\n\n-   **GPU-Powered Performance:** Built with Skia for smooth, 60 FPS animations that run on the UI thread.\n-   **Intelligent State Blending:** Responds to `hover` and `press` events by smoothly interpolating between different glow configurations.\n-   **Highly Customizable:** Control colors, speed, shape, size, opacity, and more through a flexible `glowLayers` API.\n-   **Advanced Effects:**\n    -   Create flowing **gradient glows and borders**.\n    -   Render glows `behind`, `inside` (clipped), or `over` your component.\n    -   Achieve \"comet trail\" effects with variable `glowSize` arrays.\n-   **Easy Web Setup:** Skia's CanvasKit WASM file is loaded automatically from a CDN, no extra configuration needed.\n-   **Presets Included:** Ships with professionally designed presets to get you started instantly.\n\n## Installation\n\n**1. Install the library:**\n\n```bash\nnpm install react-native-animated-glow\n```\n\n**2. Install Peer Dependencies:**\n\nThe library depends on Skia, Reanimated, and Gesture Handler.\n\n```bash\nnpm install @shopify/react-native-skia react-native-reanimated react-native-gesture-handler\n```\n\n**3. Configure Dependencies:**\n\nYou must follow the installation guides for the peer dependencies to ensure they are configured correctly for your project.\n- [React Native Skia Docs](https://shopify.github.io/react-native-skia/docs/getting-started/installation)\n- [Reanimated Docs](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/getting-started/#installation) (Remember to add the Babel plugin!)\n- [Gesture Handler Docs](https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/installation) (Remember to add `GestureHandlerRootView`!)\n\n## Usage\n\nThe best way to use the component is with a `PresetConfig` object, which makes your styles reusable and type-safe.\n\n```jsx\nimport React from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport AnimatedGlow, { type PresetConfig } from 'react-native-animated-glow';\n\n// 1. Define your preset\nconst myCoolPreset: PresetConfig = {\n  metadata: { \n    name: 'My Cool Preset', \n    textColor: '#FFFFFF', \n    category: 'Custom',\n    tags: ['interactive']\n  },\n  states: [\n    {\n      name: 'default', // The base style for the component\n      preset: {\n        cornerRadius: 50,\n        outlineWidth: 2,\n        borderColor: '#E0FFFF',\n        glowLayers: [\n          { colors: ['#00BFFF', '#87CEEB'], opacity: 0.5, glowSize: 30 },\n        ]\n      }\n    },\n    // 2. Define interactive states\n    { \n      name: 'hover', \n      transition: 300, // 300ms transition into this state\n      preset: { \n        glowLayers: [{ glowSize: 40 }] // On hover, make the glow bigger\n      } \n    },\n    { \n      name: 'press', \n      transition: 100, // A faster transition for press\n      preset: { \n        glowLayers: [{ glowSize: 45, opacity: 0.6 }] \n      } \n    }\n  ]\n};\n\n// 3. Use it in your component\nexport default function MyGlowingComponent() {\n  return (\n    <AnimatedGlow preset={myCoolPreset}>\n      <View style={styles.box}>\n        <Text style={styles.text}>I'm Interactive!</Text>\n      </View>\n    </AnimatedGlow>\n  );\n}\n\nconst styles = StyleSheet.create({\n  box: { paddingVertical: 20, paddingHorizontal: 40, backgroundColor: '#222' },\n  text: { color: 'white', fontWeight: 'bold' }\n});\n```\n\n## Controlling States\n\nThe `AnimatedGlow` component is stateless by default and is controlled via the `activeState` prop. This gives you complete control to connect it to any gesture or state management system.\n\nThe recommended way to handle user interactions is to wrap your content in a `Pressable` and use `React.useState` and `React.useRef` to manage the component's state between `'default'`, `'hover'`, and `'press'`.\n\nHere is a robust example demonstrating how to handle both press and hover events correctly:\n\n```jsx\nimport React, { useState, useRef } from 'react';\nimport { View, Text, StyleSheet, Pressable } from 'react-native';\n// Import the GlowEvent type for type safety\nimport AnimatedGlow, { glowPresets, type GlowEvent } from 'react-native-animated-glow';\n\nexport default function MyInteractiveButton() {\n  // 1. State for the active glow effect ('default', 'hover', 'press')\n  const [glowState, setGlowState] = useState<GlowEvent>('default');\n  // 2. Ref to track if the cursor is currently hovering over the element\n  const isHovered = useRef(false);\n\n  return (\n    <AnimatedGlow \n      preset={glowPresets.defaultRainbow}\n      // 3. Pass the state to the activeState prop to control the glow\n      activeState={glowState}\n    >\n      <Pressable\n        style={styles.button}\n        onPress={() => console.log('Button Pressed!')}\n        \n        // --- Press Events ---\n        onPressIn={() => setGlowState('press')}\n        onPressOut={() => {\n          // When the press is released, transition to 'hover' if the cursor\n          // is still over the button, otherwise return to 'default'.\n          setGlowState(isHovered.current ? 'hover' : 'default');\n        }}\n        \n        // --- Hover Events (for Web, macOS, Windows) ---\n        onHoverIn={() => {\n          isHovered.current = true;\n          // Only transition to hover state if not being actively pressed.\n          if (glowState !== 'press') {\n            setGlowState('hover');\n          }\n        }}\n        onHoverOut={() => {\n          isHovered.current = false;\n          // Only transition to default state if not being actively pressed.\n          if (glowState !== 'press') {\n            setGlowState('default');\n          }\n        }}\n      >\n        <Text style={styles.buttonText}>Tap or Hover Me</Text>\n      </Pressable>\n    </AnimatedGlow>\n  );\n}\n\nconst styles = StyleSheet.create({\n  button: { \n    paddingVertical: 20, \n    paddingHorizontal: 40,\n    backgroundColor: '#222'\n  },\n  buttonText: { \n    color: 'white', \n    fontWeight: 'bold', \n    textAlign: 'center'\n  }\n});\n```\n\n## API Reference\n\nFor a complete list of all available props and their descriptions, please see the **[Docs Tab](https://reactnativeglow.com/docs)** in the live demo app.\n\n## Changelog\n\n### `v3.2.0`\n-   **Fixed Samsung Adreno crash on first draw** — `getGradientColor` previously used a reverse-iterating loop with conditional assignment-without-break (`for (i=6; i>=0; i--) { if (...) finalColor = mix(...); }`). Some Samsung Adreno shader compilers (verified Galaxy S25 / Adreno 750, Vulkan backend) reject this pattern at link/first-draw time and crash the app with `SIGABRT`. Switched to forward iteration with explicit `break` — output is bit-identical (both find the same gradient segment) and compiles cleanly everywhere.\n-   **Fixed Samsung Adreno 1 fps perf regression** — the per-layer `for(i<10)` loop with an 11-way `if/else` chain to \"dynamically index\" into `u_colors_N` (workaround for SKSL not allowing dynamic uniform array indexing) hits register-spill / branch-divergence pathology in Samsung Adreno's compiler — same shader runs at 60 fps on iOS / Pixel / Mali but ~1 fps on modern Samsung. Unrolled the per-layer rendering into 7 inline blocks; compiles to straight-line GPU code that runs at 60 fps on Samsung and is at least as fast on every other tested device. **Tradeoff:** presets are now capped at 7 simultaneous layers (was 10). To support more, paste additional inline blocks in `UnifiedSkiaGlow.tsx` — pattern is mechanical.\n-   See the **Samsung Adreno notes** section below for the full investigation.\n\n### `v3.1.0`\n-   Fixed Samsung/Adreno freezes by keeping SkSL color math on `half4` precision.\n-   Fixed Android Expo dev OOMs by avoiding native lazy loading for the Skia renderer.\n-   Fixed Web `WithSkiaWeb` loading so Metro no longer emits the `_ref` runtime error.\n-   Added `react-native` and `default` package export conditions for newer Metro/Expo compatibility.\n-   Added `wrapperStyle` for styling the inner content wrapper.\n\n### `v3.0.1`\n-   Added `activeState` prop.\n-   Removed internal state management\n\n### `v3.0.0` (Breaking Changes)\nThis version introduces a more powerful and intelligent animation system along with a complete restructuring of the preset API for better organization and type safety.\n\n-   **New Feature: Intelligent Animation Blending:** A new animation system powered by Reanimated worklets smoothly interpolates *between* state configurations. When you hover, press, or return to default, every animatable property (colors, sizes, opacity, etc.) will transition gracefully over the specified duration.\n-   **New Feature: Reworked State Management API:** The `preset` prop now expects a `PresetConfig` object with a `states` array. All visual styles, including the `default` look, are defined within this array. This makes presets more organized and powerful.\n-   **Architectural Improvement:** All glow layers, placements (`behind`, `inside`, `over`), and the animated border are now rendered in a single, unified Skia shader for maximum efficiency.\n-   **BREAKING CHANGE:** The `preset` prop format has been completely overhauled. Old flat preset objects are incompatible and must be migrated to the new `PresetConfig` structure, which includes a `metadata` object and a `states` array.\n-   **BREAKING CHANGE:** The `randomness` prop has been removed from the core API.\n\n### `v2.0.0`\nThis version marked a complete architectural rewrite for maximum performance and flexibility.\n\n-   **Complete Rewrite with Skia:** The library is now powered by **Skia** and **Reanimated 3**, running animations smoothly on the UI thread.\n-   **Interactive States:** Added support for `hover` and `press` events with configurable transitions using `react-native-gesture-handler`.\n-   **BREAKING CHANGE:** The library now requires `@shopify/react-native-skia`, `react-native-reanimated`, and `react-native-gesture-handler` as peer dependencies. The old props (`glowColor`, `glowSize`, etc.) have been replaced by the `glowLayers` API.\n\n### `v1.0.0`\n-   Initial release using glow particles and reanimated\n\n## Samsung Adreno notes\n\nIf you're contributing to the SKSL shader in `UnifiedSkiaGlow.tsx`, three things in there are load-bearing for Samsung Adreno compatibility — please don't undo any of them:\n\n1. **`half4` color uniforms and color-math intermediates.** Samsung's modified Adreno driver promotes `vec4` / `float` color arithmetic to highp where every other tested driver defaults to mediump — ~5x per-fragment slowdown. SKSL doesn't accept `precision mediump float;` directives, so half-typed declarations are the SKSL-native way to drop color paths to mediump. (Fixed in v3.1.0.)\n\n2. **`getGradientColor` uses a forward loop with explicit `break`.** The reverse form (`for (i=6; i>=0; i--)` with conditional assignment, no break) crashes Samsung Adreno at link/first-draw time. Both forms produce identical output. (Fixed in v3.2.0.)\n\n3. **The per-layer rendering is unrolled into 7 inline blocks** instead of a `for(i<10)` loop with an 11-way `if/else` color-array picker. The looped form runs at ~1 fps on Samsung Adreno because SKSL's lack of dynamic uniform array indexing forces an `if/else` chain that combines with the dynamic loop to hit register-spill / branch-divergence pathology in Samsung's shader compiler. Unrolled inline blocks compile to straight-line GPU code that runs at 60 fps. The current shader caps at 7 layers; presets needing more should add additional inline blocks (pattern is mechanical and well-tested). (Fixed in v3.2.0.)\n\nIf you're seeing Samsung-specific crashes or freezes after modifying the shader, check those three conventions first.\n\n## License\nThis project is licensed under the MIT License.\n","readmeFilename":"README.md"}