{"_id":"@abeman/react-native-nitro-blur","_rev":"5-5bd35167c0f82ff1b3ac9d646a86cca1","name":"@abeman/react-native-nitro-blur","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@abeman/react-native-nitro-blur","version":"0.1.0","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/huynq1175","name":"huynq2","email":"99823149+huynq1175@users.noreply.github.com"},"license":"MIT","_id":"@abeman/react-native-nitro-blur@0.1.0","maintainers":[{"name":"huynq1175","email":"huynq1175@gmail.com"}],"homepage":"https://github.com/huynq1175/react-native-nitro-blur#readme","bugs":{"url":"https://github.com/huynq1175/react-native-nitro-blur/issues"},"dist":{"shasum":"b70160f948bb23c88978858916061bc6b984a916","tarball":"https://registry.npmjs.org/@abeman/react-native-nitro-blur/-/react-native-nitro-blur-0.1.0.tgz","fileCount":86,"integrity":"sha512-mZIyYUJdVMTvmSeP59awsWpS3PgCDEgzyJh20NdFmY9yNnC0b+NkSaFynp3OZCnphwGg9qDDvVS4ik04NdIFDw==","signatures":[{"sig":"MEQCIEcxY2qnLCVK4AhodxBvlkm/eli9WplKhRdjXmAMMU7qAiBJ1ZIHXhi2Qxkl2kSFjdtvH2v9PAT4biFgTBKRu9Lg6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214576},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"5b10ff0fe251c40ed49e49d607b0830e2952a08d","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-nitro-blur-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"huynq1175","email":"huynq1175@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/huynq1175/react-native-nitro-blur.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.11.1","description":"Blur view","directories":{},"_nodeVersion":"24.8.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^29.7.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","lefthook":"^2.0.3","nitrogen":"^0.35.2","prettier":"^2.8.8","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.2.0","react-native":"0.83.0","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.83.0","react-native-nitro-modules":"^0.35.2","@react-native/eslint-config":"0.83.0","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"^0.35.2"},"_npmOperationalInternal":{"tmp":"tmp/react-native-nitro-blur_0.1.0_1773847635286_0.04801915611489416","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"clean":"nitrogen/","script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-view","tools":["eslint","jest","lefthook","release-it"],"version":"0.57.2","languages":"kotlin-swift"}},"0.1.1":{"name":"@abeman/react-native-nitro-blur","version":"0.1.1","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/huynq1175","name":"huynq2","email":"99823149+huynq1175@users.noreply.github.com"},"license":"MIT","_id":"@abeman/react-native-nitro-blur@0.1.1","maintainers":[{"name":"huynq1175","email":"huynq1175@gmail.com"}],"homepage":"https://github.com/huynq1175/react-native-nitro-blur#readme","bugs":{"url":"https://github.com/huynq1175/react-native-nitro-blur/issues"},"dist":{"shasum":"b34b9b4615f0c9811ffff65dd816574c35f4884a","tarball":"https://registry.npmjs.org/@abeman/react-native-nitro-blur/-/react-native-nitro-blur-0.1.1.tgz","fileCount":86,"integrity":"sha512-852UdAYeqnAPOwRrPXKRYOttFRihh5jYD9areOn4HWi9PeHZbVwxVOqNGrIJSmDkUTdCRD/qmpDJ+qVZVyJo1g==","signatures":[{"sig":"MEUCIQDKdDKEqGmzgieeDDnWgy+ogCCm9FeLjQidB2oOHsckPwIgCbsDwpqrLv5qPOiPZzSO74v4pZXrariKPWa63/j+oYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214576},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"5b10ff0fe251c40ed49e49d607b0830e2952a08d","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-nitro-blur-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"huynq1175","email":"huynq1175@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/huynq1175/react-native-nitro-blur.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.11.1","description":"Blur view","directories":{},"_nodeVersion":"24.8.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^29.7.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","lefthook":"^2.0.3","nitrogen":"^0.35.2","prettier":"^2.8.8","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.2.0","react-native":"0.83.0","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.83.0","react-native-nitro-modules":"^0.35.2","@react-native/eslint-config":"0.83.0","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"^0.35.2"},"_npmOperationalInternal":{"tmp":"tmp/react-native-nitro-blur_0.1.1_1773847663440_0.5879446827020596","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"clean":"nitrogen/","script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-view","tools":["eslint","jest","lefthook","release-it"],"version":"0.57.2","languages":"kotlin-swift"}},"0.1.2":{"name":"@abeman/react-native-nitro-blur","version":"0.1.2","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/huynq1175","name":"huynq2","email":"99823149+huynq1175@users.noreply.github.com"},"license":"MIT","_id":"@abeman/react-native-nitro-blur@0.1.2","maintainers":[{"name":"huynq1175","email":"huynq1175@gmail.com"}],"homepage":"https://github.com/huynq1175/react-native-nitro-blur#readme","bugs":{"url":"https://github.com/huynq1175/react-native-nitro-blur/issues"},"dist":{"shasum":"57dc367235415b989202506fac3b399360c19294","tarball":"https://registry.npmjs.org/@abeman/react-native-nitro-blur/-/react-native-nitro-blur-0.1.2.tgz","fileCount":93,"integrity":"sha512-yugYfDVuk6NjZTqKIqEqCBcjrKqO0eD0Ql/+NXIg5zB+xQbLVyKyUh5FCFR6f/AMPh3PypwS4uPXP6WAkmJ+Eg==","signatures":[{"sig":"MEYCIQDznihK01OfkVV09rsd44E/A/aec05QTbznbknOf9sv3AIhAO+flavKAFbA/9n0hSUl0KiK3WG0ReUBrQAim76z7//z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223213},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"bb0bad3cb87b4f379ff53dab22ab5767236402ce","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-nitro-blur-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"huynq1175","email":"huynq1175@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/huynq1175/react-native-nitro-blur.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.11.1","description":"Blur view","directories":{},"_nodeVersion":"24.8.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^29.7.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","lefthook":"^2.0.3","nitrogen":"^0.35.2","prettier":"^2.8.8","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.2.0","react-native":"0.83.0","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.83.0","react-native-nitro-modules":"^0.35.2","@react-native/eslint-config":"0.83.0","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"^0.35.2"},"_npmOperationalInternal":{"tmp":"tmp/react-native-nitro-blur_0.1.2_1773852369432_0.495274842243443","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-view","tools":["eslint","jest","lefthook","release-it"],"version":"0.57.2","languages":"kotlin-swift"}},"0.1.3":{"name":"@abeman/react-native-nitro-blur","version":"0.1.3","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/huynq1175","name":"huynq2","email":"99823149+huynq1175@users.noreply.github.com"},"license":"MIT","_id":"@abeman/react-native-nitro-blur@0.1.3","maintainers":[{"name":"huynq1175","email":"huynq1175@gmail.com"}],"homepage":"https://github.com/huynq1175/react-native-nitro-blur#readme","bugs":{"url":"https://github.com/huynq1175/react-native-nitro-blur/issues"},"dist":{"shasum":"771098903390c2e68d5112371c0d292c2eae0708","tarball":"https://registry.npmjs.org/@abeman/react-native-nitro-blur/-/react-native-nitro-blur-0.1.3.tgz","fileCount":86,"integrity":"sha512-Zly8Tcj6jnUDVHAqavziUiX7SZXHIUeNop6wE3z/eIeGxtddCkpixGcUOqWHAwqa0YECR0jvh+3Bw+MVJe36Fg==","signatures":[{"sig":"MEUCIHwDS9PlzrC45xe1T5yg89SQV5mZxzkDdvGbfXwlIAMFAiEAvPNgmO2s8maCgfeTmrGqJR+H0H4bEKKvhUtH3UJo4eQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214715},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"cfd52a8e849382cad2cdddb0ffe20e191aa73e96","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-nitro-blur-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"huynq1175","email":"huynq1175@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/huynq1175/react-native-nitro-blur.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.11.1","description":"Blur view","directories":{},"_nodeVersion":"24.8.0","react-native":"./src/index.tsx","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^29.7.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","lefthook":"^2.0.3","nitrogen":"^0.35.2","prettier":"^2.8.8","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.2.0","react-native":"0.83.0","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.83.0","react-native-nitro-modules":"^0.35.2","@react-native/eslint-config":"0.83.0","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"^0.35.2"},"_npmOperationalInternal":{"tmp":"tmp/react-native-nitro-blur_0.1.3_1773854497662_0.7118303098050554","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-view","tools":["eslint","jest","lefthook","release-it"],"version":"0.57.2","languages":"kotlin-swift"}},"0.2.0":{"name":"@abeman/react-native-nitro-blur","version":"0.2.0","description":"Blur view","main":"./lib/module/index.js","react-native":"./src/index.tsx","source":"./src/index.tsx","types":"./lib/typescript/src/index.d.ts","exports":{".":{"source":"./src/index.tsx","types":"./lib/typescript/src/index.d.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"scripts":{"example":"yarn workspace react-native-nitro-blur-example","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","prepare":"bob build","nitrogen":"nitrogen","typecheck":"tsc","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","release":"release-it --only-version"},"keywords":["react-native","ios","android"],"repository":{"type":"git","url":"git+https://github.com/huynq1175/react-native-nitro-blur.git"},"author":{"name":"huynq2","email":"99823149+huynq1175@users.noreply.github.com","url":"https://github.com/huynq1175"},"license":"MIT","bugs":{"url":"https://github.com/huynq1175/react-native-nitro-blur/issues"},"homepage":"https://github.com/huynq1175/react-native-nitro-blur#readme","publishConfig":{"registry":"https://registry.npmjs.org/"},"devDependencies":{"@commitlint/config-conventional":"^19.8.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@eslint/js":"^9.35.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@release-it/conventional-changelog":"^10.0.1","@types/jest":"^29.5.14","@types/react":"^19.2.0","commitlint":"^19.8.1","del-cli":"^6.0.0","eslint":"^9.35.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","jest":"^29.7.0","lefthook":"^2.0.3","nitrogen":"^0.35.2","prettier":"^2.8.8","react":"19.2.0","react-native":"0.83.0","react-native-builder-bob":"^0.40.13","react-native-nitro-modules":"^0.35.2","release-it":"^19.0.4","turbo":"^2.5.6","typescript":"^5.9.2"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"^0.35.2"},"workspaces":["example"],"packageManager":"yarn@4.11.0","react-native-builder-bob":{"source":"src","output":"lib","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"prettier":{"quoteProps":"consistent","singleQuote":true,"tabWidth":2,"trailingComma":"es5","useTabs":false},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"create-react-native-library":{"type":"nitro-view","languages":"kotlin-swift","tools":["eslint","jest","lefthook","release-it"],"version":"0.57.2"},"_id":"@abeman/react-native-nitro-blur@0.2.0","gitHead":"ca6b192c0d3a0e245b9291e395c45009aa04ad8b","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-1KEi79+TLued2IPLw1O3LraQOoeLvqQpxutjrcW6M7iLlgsGtisC9hXXsoNEVw36QkKacH4Y9vBHqAUcLuc/VA==","shasum":"2a18c4577775ee1eee1fc36d3f1f7f05f5009329","tarball":"https://registry.npmjs.org/@abeman/react-native-nitro-blur/-/react-native-nitro-blur-0.2.0.tgz","fileCount":86,"unpackedSize":214769,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC3muNTvjSv0SZswO5JR/C5x77bGSCC6BYM4Gjagbg6ngIhALh+wa7fV3MbRdRQBGnZ/PkHrL6pamsMHeY5NxuHMZkR"}]},"_npmUser":{"name":"huynq1175","email":"huynq1175@gmail.com"},"directories":{},"maintainers":[{"name":"huynq1175","email":"huynq1175@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-native-nitro-blur_0.2.0_1782471029469_0.43792948129959486"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T15:27:15.166Z","modified":"2026-06-26T10:50:29.751Z","0.1.0":"2026-03-18T15:27:15.457Z","0.1.1":"2026-03-18T15:27:43.596Z","0.1.2":"2026-03-18T16:46:09.585Z","0.1.3":"2026-03-18T17:21:37.834Z","0.2.0":"2026-06-26T10:50:29.618Z"},"bugs":{"url":"https://github.com/huynq1175/react-native-nitro-blur/issues"},"author":{"name":"huynq2","email":"99823149+huynq1175@users.noreply.github.com","url":"https://github.com/huynq1175"},"license":"MIT","homepage":"https://github.com/huynq1175/react-native-nitro-blur#readme","keywords":["react-native","ios","android"],"repository":{"type":"git","url":"git+https://github.com/huynq1175/react-native-nitro-blur.git"},"description":"Blur view","maintainers":[{"name":"huynq1175","email":"huynq1175@gmail.com"}],"readme":"# @abeman/react-native-nitro-blur\n\nA high-performance blur view component for React Native, built with [Nitro Modules](https://nitro.margelo.com/) (JSI). Drop-in alternative to `expo-blur` without any Expo dependency.\n\n## Features\n\n- Native `UIVisualEffectView` blur on iOS with adjustable intensity\n- Real blur on Android via [Dimezis BlurView](https://github.com/Dimezis/BlurView) library\n- 21 tint styles matching Apple's iOS blur effects\n- `BlurTargetView` for Android real-blur support (same pattern as expo-blur)\n- Reanimated-compatible style animations\n- Compatible with React Native 0.76+ (New Architecture)\n\n## Installation\n\n```sh\nnpm install @abeman/react-native-nitro-blur react-native-nitro-modules\n```\n\n> `react-native-nitro-modules` is a required peer dependency — this library is built on [Nitro Modules](https://nitro.margelo.com/).\n\nFor iOS, run `pod install` in the `ios/` directory after installing.\n\n## Usage\n\n### Basic (iOS + Android tint overlay)\n\n```tsx\nimport { BlurView } from '@abeman/react-native-nitro-blur';\n\nfunction MyComponent() {\n  return (\n    <View style={{ flex: 1 }}>\n      <Image source={{ uri: 'https://example.com/photo.jpg' }} style={StyleSheet.absoluteFill} />\n      <BlurView\n        tint=\"light\"\n        intensity={80}\n        style={StyleSheet.absoluteFill}\n      />\n    </View>\n  );\n}\n```\n\n### With Real Blur on Android (BlurTargetView)\n\nTo enable real blur on Android, wrap the content you want to blur with `BlurTargetView` and pass a ref to `BlurView`:\n\n```tsx\nimport { useRef } from 'react';\nimport { View, StyleSheet, Image } from 'react-native';\nimport { BlurView, BlurTargetView } from '@abeman/react-native-nitro-blur';\n\nfunction MyComponent() {\n  const blurTargetRef = useRef(null);\n\n  return (\n    <BlurTargetView ref={blurTargetRef} style={{ flex: 1 }}>\n      <Image source={{ uri: 'https://example.com/photo.jpg' }} style={StyleSheet.absoluteFill} />\n      <BlurView\n        tint=\"light\"\n        intensity={80}\n        blurMethod=\"dimezisBlurView\"\n        blurTarget={blurTargetRef}\n        style={StyleSheet.absoluteFill}\n      />\n    </BlurTargetView>\n  );\n}\n```\n\n> On iOS, `BlurTargetView` is just a regular `View` and `blurTarget`/`blurMethod` are no-ops — iOS uses `UIVisualEffectView` which naturally blurs whatever is behind it.\n\n## Props\n\n### `BlurView`\n\n| Prop | Type | Default | Platform | Description |\n|------|------|---------|----------|-------------|\n| `tint` | `BlurTint` | `'default'` | iOS + Android | The tint style applied to the blur effect. |\n| `intensity` | `number` | `50` | iOS + Android | Blur intensity from `1` to `100`. |\n| `blurReductionFactor` | `number` | `4` | Android | Divides blur intensity on Android to match iOS. |\n| `blurMethod` | `BlurMethod` | `'none'` | Android | Blur implementation to use on Android. |\n| `blurTarget` | `RefObject<View>` | — | Android | Ref to a `BlurTargetView` wrapping content to blur. |\n\nPlus all standard `View` props (`style`, `children`, etc.).\n\n### `BlurTargetView`\n\nAccepts all standard `View` props. On Android, this is a native container view that enables the Dimezis BlurView to capture and blur its content. On iOS, it's just a regular `View`.\n\n### `BlurTint` values\n\n`'light'` | `'dark'` | `'default'` | `'extraLight'` | `'regular'` | `'prominent'` | `'systemUltraThinMaterial'` | `'systemThinMaterial'` | `'systemMaterial'` | `'systemThickMaterial'` | `'systemChromeMaterial'` | `'systemUltraThinMaterialLight'` | `'systemThinMaterialLight'` | `'systemMaterialLight'` | `'systemThickMaterialLight'` | `'systemChromeMaterialLight'` | `'systemUltraThinMaterialDark'` | `'systemThinMaterialDark'` | `'systemMaterialDark'` | `'systemThickMaterialDark'` | `'systemChromeMaterialDark'`\n\n### `BlurMethod` values (Android only)\n\n| Method | Description |\n|--------|-------------|\n| `'none'` | Semi-transparent tint overlay only (no real blur). Default. |\n| `'dimezisBlurView'` | Real blur via [Dimezis BlurView](https://github.com/Dimezis/BlurView). Requires `blurTarget`. May decrease performance on SDK 30 and below. |\n| `'dimezisBlurViewSdk31Plus'` | Real blur on SDK 31+ only, falls back to `'none'` on older versions. Requires `blurTarget`. |\n\n## Animating with Reanimated\n\n### Style animations (works)\n\n`useAnimatedStyle` works normally for style props (transform, opacity, etc.):\n\n```tsx\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { BlurView } from '@abeman/react-native-nitro-blur';\n\nconst AnimatedBlurView = Animated.createAnimatedComponent(BlurView);\n\nfunction MyComponent() {\n  const opacity = useSharedValue(1);\n  const animatedStyle = useAnimatedStyle(() => ({ opacity: opacity.value }));\n\n  return (\n    <AnimatedBlurView\n      tint=\"light\"\n      intensity={80}\n      style={[styles.blur, animatedStyle]}\n    />\n  );\n}\n```\n\n### Animating `intensity` (workaround required)\n\n> **`animatedProps` does NOT work with Nitro HybridViews.** Reanimated's `animatedProps` calls native `updateProps` directly on the ShadowNode with `folly::dynamic` values, but Nitro's Fabric component descriptor expects `jsi::Value`. This is a fundamental incompatibility at the C++ level.\n\nUse `useAnimatedReaction` with `runOnJS` to bridge animated values to React state:\n\n```tsx\nimport { useState } from 'react';\nimport Animated, {\n  useSharedValue,\n  useAnimatedReaction,\n  runOnJS,\n  withTiming,\n} from 'react-native-reanimated';\nimport { BlurView } from '@abeman/react-native-nitro-blur';\n\nfunction MyComponent() {\n  const progress = useSharedValue(0);\n  const [intensity, setIntensity] = useState(0);\n\n  useAnimatedReaction(\n    () => progress.value * 100,\n    (value) => runOnJS(setIntensity)(value)\n  );\n\n  return (\n    <BlurView\n      tint=\"light\"\n      intensity={intensity}\n      style={StyleSheet.absoluteFill}\n    />\n  );\n}\n```\n\n## Platform behavior\n\n### iOS\nUses `UIVisualEffectView` with `UIViewPropertyAnimator` for smooth, adjustable blur intensity. All tint styles map directly to native `UIBlurEffect.Style` values.\n\n### Android\n- **`blurMethod: 'none'`** (default): Renders a semi-transparent tinted overlay.\n- **`blurMethod: 'dimezisBlurView'`**: Uses the [Dimezis BlurView](https://github.com/Dimezis/BlurView) library for real blur. Requires wrapping content in `BlurTargetView` and passing a ref via the `blurTarget` prop.\n- **`blurMethod: 'dimezisBlurViewSdk31Plus'`**: Same as above but only on SDK 31+; older versions fall back to tint overlay.\n\nThe `blurReductionFactor` prop helps match the perceived blur intensity between iOS and Android.\n\n## Migrating from expo-blur\n\n| expo-blur | @abeman/react-native-nitro-blur |\n|-----------|------------------------|\n| `import { BlurView } from 'expo-blur'` | `import { BlurView } from '@abeman/react-native-nitro-blur'` |\n| `import { BlurTargetView } from 'expo-blur'` | `import { BlurTargetView } from '@abeman/react-native-nitro-blur'` |\n| `experimentalBlurMethod` | `blurMethod` (deprecated alias supported) |\n| `Animated.createAnimatedComponent(BlurView)` + `animatedProps` | Use `useAnimatedReaction` + `runOnJS` for prop animations (see above) |\n\nThe API is designed to be compatible. Replace imports and it should work. The only difference is the Reanimated `animatedProps` limitation — use `useAnimatedReaction` instead.\n\n## Contributing\n\n- [Development workflow](CONTRIBUTING.md#development-workflow)\n- [Sending a pull request](CONTRIBUTING.md#sending-a-pull-request)\n- [Code of conduct](CODE_OF_CONDUCT.md)\n\n## License\n\nMIT\n\n---\n\nMade with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)\n","readmeFilename":"README.md"}