{"_id":"@dtyptr/rn-skia-qr","name":"@dtyptr/rn-skia-qr","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dtyptr/rn-skia-qr","version":"0.1.0","description":"Customizable React Native QR code renderer powered by Skia.","keywords":["react-native","expo","skia","qr","qrcode","qr-code","branded-qr"],"license":"MIT","author":{"name":"Aditya Putra Pratama","email":"adityaputrapratama39@gmail.com"},"homepage":"https://github.com/adityaputra11/rn-skia-qr#readme","repository":{"type":"git","url":"git+https://github.com/adityaputra11/rn-skia-qr.git"},"bugs":{"url":"https://github.com/adityaputra11/rn-skia-qr/issues"},"sideEffects":false,"type":"module","react-native":"src/index.ts","source":"src/index.ts","main":"src/index.ts","types":"src/index.ts","exports":{".":{"react-native":"./src/index.ts","types":"./src/index.ts","default":"./src/index.ts"}},"scripts":{"typecheck":"tsc --noEmit","pack:dry":"npm pack --dry-run"},"dependencies":{"qrcode-generator":"^2.0.4"},"peerDependencies":{"@shopify/react-native-skia":">=2.0.0","react":">=18.0.0","react-native":">=0.72.0","react-native-reanimated":">=3.0.0"},"devDependencies":{"@types/react":"~19.2.2","typescript":"~5.9.2"},"_id":"@dtyptr/rn-skia-qr@0.1.0","gitHead":"fae131b74075feebc4a96f086c01b2f554dc0322","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-KsRAQI7EPyyO/ZsMrnbt1mI1feS0jpp17CNY/nHsjjg7VWUCZadGXh9QsYki839pmb5k8WjujOn3OsggoX3zCg==","shasum":"226d92449d69da70c494b2bb4b675523c89075e7","tarball":"https://registry.npmjs.org/@dtyptr/rn-skia-qr/-/rn-skia-qr-0.1.0.tgz","fileCount":10,"unpackedSize":16683,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDNqYNpjSmAGKSVi9Cj4RYA5+nkprt1O22VSgjXsfFiZgIhAJtETWTCQ/kBiqlep+p0tS8ng75hJdXTr5AY7k8AYwTO"}]},"_npmUser":{"name":"dtyptr","email":"adityaputrapratama39@gmail.com"},"directories":{},"maintainers":[{"name":"dtyptr","email":"adityaputrapratama39@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rn-skia-qr_0.1.0_1778229139511_0.49106561973480245"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-08T08:32:19.412Z","0.1.0":"2026-05-08T08:32:19.687Z","modified":"2026-05-08T08:32:19.879Z"},"maintainers":[{"name":"dtyptr","email":"adityaputrapratama39@gmail.com"}],"description":"Customizable React Native QR code renderer powered by Skia.","homepage":"https://github.com/adityaputra11/rn-skia-qr#readme","keywords":["react-native","expo","skia","qr","qrcode","qr-code","branded-qr"],"repository":{"type":"git","url":"git+https://github.com/adityaputra11/rn-skia-qr.git"},"author":{"name":"Aditya Putra Pratama","email":"adityaputrapratama39@gmail.com"},"bugs":{"url":"https://github.com/adityaputra11/rn-skia-qr/issues"},"license":"MIT","readme":"# rn-skia-qr\n\nCustomizable React Native QR code renderer powered by Skia.\n\n`rn-skia-qr` is built for branded QR codes: styled body modules, independent eye frame and eye ball shapes, custom colors, and an optional logo wrapper.\n\n## Install\n\n```sh\nnpm install @dtyptr/rn-skia-qr @shopify/react-native-skia react-native-reanimated\n```\n\nFor Expo projects, install native peers with Expo:\n\n```sh\nnpx expo install @shopify/react-native-skia react-native-reanimated\nnpm install @dtyptr/rn-skia-qr\n```\n\n## Basic Usage\n\n```tsx\nimport { QRCode } from \"@dtyptr/rn-skia-qr\";\n\nexport function Example() {\n  return <QRCode value=\"https://example.com\" size={240} />;\n}\n```\n\n## Styled QR\n\n```tsx\nimport { QRCode } from \"@dtyptr/rn-skia-qr\";\n\nexport function StyledExample() {\n  return (\n    <QRCode\n      value=\"https://example.com\"\n      size={240}\n      foregroundColor=\"#111827\"\n      backgroundColor=\"#ffffff\"\n      errorCorrectionLevel=\"H\"\n      bodyShape=\"rounded\"\n      eyeFrameShape=\"extra-rounded\"\n      eyeBallShape=\"dot\"\n    />\n  );\n}\n```\n\n## Logo QR\n\n```tsx\nimport { QRCodeWithLogo } from \"@dtyptr/rn-skia-qr\";\n\nexport function LogoExample() {\n  return (\n    <QRCodeWithLogo\n      value=\"https://example.com\"\n      size={240}\n      logoSource={require(\"./logo.png\")}\n      bodyShape=\"rounded\"\n      eyeFrameShape=\"rounded\"\n      eyeBallShape=\"dot\"\n    />\n  );\n}\n```\n\n`QRCodeWithLogo` defaults to `errorCorrectionLevel=\"H\"` and uses a conservative logo size of about 17% of the QR width.\n\n## API\n\n### `QRCode`\n\n| Prop | Type | Default |\n| --- | --- | --- |\n| `value` | `string` | required |\n| `size` | `number` | `240` |\n| `foregroundColor` | `string` | `\"#000000\"` |\n| `backgroundColor` | `string` | `\"#ffffff\"` |\n| `errorCorrectionLevel` | `\"L\" \\| \"M\" \\| \"Q\" \\| \"H\"` | `\"M\"` |\n| `bodyShape` | `\"square\" \\| \"dots\" \\| \"rounded\"` | `\"square\"` |\n| `eyeFrameShape` | `\"square\" \\| \"rounded\" \\| \"extra-rounded\"` | `\"square\"` |\n| `eyeBallShape` | `\"square\" \\| \"dot\" \\| \"rounded\"` | `\"square\"` |\n| `quietZone` | `number` | `4` |\n| `borderRadius` | `number` | `16` |\n| `animated` | `boolean` | `true` |\n| `containerStyle` | `StyleProp<ViewStyle>` | `undefined` |\n\n### `QRCodeWithLogo`\n\nExtends `QRCodeProps` with:\n\n| Prop | Type | Default |\n| --- | --- | --- |\n| `logoSource` | `ImageSourcePropType` | `undefined` |\n| `logoSize` | `number` | `size * 0.17` |\n| `logoPadding` | `number` | `6` |\n| `logoBackgroundColor` | `string` | `\"#ffffff\"` |\n| `logoBorderRadius` | `number` | `8` |\n| `logoContainerStyle` | `StyleProp<ViewStyle>` | `undefined` |\n| `logoStyle` | `StyleProp<ViewStyle>` | `undefined` |\n\n## Scan Reliability Tips\n\n- Use high foreground/background contrast.\n- Use `errorCorrectionLevel=\"H\"` when rendering a logo.\n- Keep logo width at or below ~17% of QR size.\n- Avoid combining low contrast, `bodyShape=\"dots\"`, very small QR size, and a large logo.\n- Test real devices under low light before shipping branded QR codes.\n\n## Exporting or Sharing Logo QR Codes\n\n`QRCodeWithLogo` renders the QR with Skia and the logo with React Native views. If you want to export/share the full QR including the logo, capture the wrapper view using `react-native-view-shot`.\n\n## Exports\n\n```ts\nexport { QRCode, QRCodeWithLogo, createQRCodeMatrix, getRecommendedLogoSize } from \"@dtyptr/rn-skia-qr\";\nexport type {\n  QRBodyShape,\n  QRCodeMatrix,\n  QRCodeProps,\n  QRCodeWithLogoProps,\n  QRErrorCorrectionLevel,\n  QREyeBallShape,\n  QREyeFrameShape,\n} from \"@dtyptr/rn-skia-qr\";\n```\n","readmeFilename":"README.md","_rev":"1-181e1c878baf14e77965235e879f4823"}