├── .browserslistrc ├── .editorconfig ├── .envrc ├── .eslintrc.cjs ├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md ├── preview1.gif ├── preview2.gif └── workflows │ ├── main.yml │ └── stale.yml ├── .gitignore ├── .lintstagedrc ├── .nvmrc ├── .prettierrc.json ├── .releaserc.yml ├── .vscode ├── extensions.json └── settings.json ├── CLAUDE.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs ├── .gitignore ├── .vitepress │ ├── components │ │ ├── DemoWrapper.vue │ │ └── demos │ │ │ ├── DragDrop.vue │ │ │ ├── FullDemo.vue │ │ │ ├── Fullscreen.vue │ │ │ ├── LoadingIndicator.vue │ │ │ ├── ScanSameQrcodeMoreThanOnce.vue │ │ │ ├── SwitchCamera.vue │ │ │ ├── Torch.vue │ │ │ ├── Upload.vue │ │ │ └── Validate.vue │ └── config.ts ├── api │ ├── QrcodeCapture.md │ ├── QrcodeDropZone.md │ ├── QrcodeStream.md │ ├── chrome_32x32.png │ ├── edge2019_32x32.png │ ├── edge_32x32.png │ ├── firefox_32x32.png │ ├── ie_32x32.png │ └── safari_32x32.png ├── demos │ ├── DragDrop.md │ ├── FullDemo.md │ ├── Fullscreen.md │ ├── LoadingIndicator.md │ ├── ScanSameQrcodeMoreThanOnce.md │ ├── Simple.md │ ├── SwitchCamera.md │ ├── Torch.md │ ├── Upload.md │ └── Validate.md ├── index.md └── public │ ├── barcode-detector-test.html │ ├── camera-switch.svg │ ├── checkmark.svg │ ├── debug-memory-leak.html │ ├── flash-off.svg │ ├── flash-on.svg │ ├── fullscreen-exit.svg │ ├── fullscreen.svg │ ├── logo.png │ ├── pwa-192x192.png │ ├── pwa-512x512.png │ ├── select-camera-demo.html │ └── simple-demo.html ├── flake.lock ├── flake.nix ├── package.json ├── pnpm-lock.yaml ├── src ├── components │ ├── QrcodeCapture.vue │ ├── QrcodeDropZone.vue │ └── QrcodeStream.vue ├── index.ts ├── misc │ ├── callforth.ts │ ├── camera.ts │ ├── errors.ts │ ├── scanner.ts │ ├── shimGetUserMedia.ts │ └── util.ts └── types │ ├── global.d.ts │ └── types.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | ie >= 10 4 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.editorconfig -------------------------------------------------------------------------------- /.envrc: -------------------------------------------------------------------------------- 1 | use flake 2 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.eslintrc.cjs -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/preview1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.github/preview1.gif -------------------------------------------------------------------------------- /.github/preview2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.github/preview2.gif -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.github/workflows/stale.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.gitignore -------------------------------------------------------------------------------- /.lintstagedrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.lintstagedrc -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 20 2 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /.releaserc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.releaserc.yml -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.defaultFormatter": "esbenp.prettier-vscode" 3 | } 4 | -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/README.md -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.gitignore -------------------------------------------------------------------------------- /docs/.vitepress/components/DemoWrapper.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/DemoWrapper.vue -------------------------------------------------------------------------------- /docs/.vitepress/components/demos/DragDrop.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/demos/DragDrop.vue -------------------------------------------------------------------------------- /docs/.vitepress/components/demos/FullDemo.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/demos/FullDemo.vue -------------------------------------------------------------------------------- /docs/.vitepress/components/demos/Fullscreen.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/demos/Fullscreen.vue -------------------------------------------------------------------------------- /docs/.vitepress/components/demos/LoadingIndicator.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/demos/LoadingIndicator.vue -------------------------------------------------------------------------------- /docs/.vitepress/components/demos/ScanSameQrcodeMoreThanOnce.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/demos/ScanSameQrcodeMoreThanOnce.vue -------------------------------------------------------------------------------- /docs/.vitepress/components/demos/SwitchCamera.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/demos/SwitchCamera.vue -------------------------------------------------------------------------------- /docs/.vitepress/components/demos/Torch.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/demos/Torch.vue -------------------------------------------------------------------------------- /docs/.vitepress/components/demos/Upload.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/demos/Upload.vue -------------------------------------------------------------------------------- /docs/.vitepress/components/demos/Validate.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/components/demos/Validate.vue -------------------------------------------------------------------------------- /docs/.vitepress/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/.vitepress/config.ts -------------------------------------------------------------------------------- /docs/api/QrcodeCapture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/api/QrcodeCapture.md -------------------------------------------------------------------------------- /docs/api/QrcodeDropZone.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/api/QrcodeDropZone.md -------------------------------------------------------------------------------- /docs/api/QrcodeStream.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/api/QrcodeStream.md -------------------------------------------------------------------------------- /docs/api/chrome_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/api/chrome_32x32.png -------------------------------------------------------------------------------- /docs/api/edge2019_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/api/edge2019_32x32.png -------------------------------------------------------------------------------- /docs/api/edge_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/api/edge_32x32.png -------------------------------------------------------------------------------- /docs/api/firefox_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/api/firefox_32x32.png -------------------------------------------------------------------------------- /docs/api/ie_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/api/ie_32x32.png -------------------------------------------------------------------------------- /docs/api/safari_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/api/safari_32x32.png -------------------------------------------------------------------------------- /docs/demos/DragDrop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/DragDrop.md -------------------------------------------------------------------------------- /docs/demos/FullDemo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/FullDemo.md -------------------------------------------------------------------------------- /docs/demos/Fullscreen.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/Fullscreen.md -------------------------------------------------------------------------------- /docs/demos/LoadingIndicator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/LoadingIndicator.md -------------------------------------------------------------------------------- /docs/demos/ScanSameQrcodeMoreThanOnce.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/ScanSameQrcodeMoreThanOnce.md -------------------------------------------------------------------------------- /docs/demos/Simple.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/Simple.md -------------------------------------------------------------------------------- /docs/demos/SwitchCamera.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/SwitchCamera.md -------------------------------------------------------------------------------- /docs/demos/Torch.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/Torch.md -------------------------------------------------------------------------------- /docs/demos/Upload.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/Upload.md -------------------------------------------------------------------------------- /docs/demos/Validate.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/demos/Validate.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/public/barcode-detector-test.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/barcode-detector-test.html -------------------------------------------------------------------------------- /docs/public/camera-switch.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/camera-switch.svg -------------------------------------------------------------------------------- /docs/public/checkmark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/checkmark.svg -------------------------------------------------------------------------------- /docs/public/debug-memory-leak.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/debug-memory-leak.html -------------------------------------------------------------------------------- /docs/public/flash-off.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/flash-off.svg -------------------------------------------------------------------------------- /docs/public/flash-on.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/flash-on.svg -------------------------------------------------------------------------------- /docs/public/fullscreen-exit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/fullscreen-exit.svg -------------------------------------------------------------------------------- /docs/public/fullscreen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/fullscreen.svg -------------------------------------------------------------------------------- /docs/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/logo.png -------------------------------------------------------------------------------- /docs/public/pwa-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/pwa-192x192.png -------------------------------------------------------------------------------- /docs/public/pwa-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/pwa-512x512.png -------------------------------------------------------------------------------- /docs/public/select-camera-demo.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/select-camera-demo.html -------------------------------------------------------------------------------- /docs/public/simple-demo.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/docs/public/simple-demo.html -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/flake.lock -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/flake.nix -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /src/components/QrcodeCapture.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/components/QrcodeCapture.vue -------------------------------------------------------------------------------- /src/components/QrcodeDropZone.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/components/QrcodeDropZone.vue -------------------------------------------------------------------------------- /src/components/QrcodeStream.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/components/QrcodeStream.vue -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/misc/callforth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/misc/callforth.ts -------------------------------------------------------------------------------- /src/misc/camera.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/misc/camera.ts -------------------------------------------------------------------------------- /src/misc/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/misc/errors.ts -------------------------------------------------------------------------------- /src/misc/scanner.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/misc/scanner.ts -------------------------------------------------------------------------------- /src/misc/shimGetUserMedia.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/misc/shimGetUserMedia.ts -------------------------------------------------------------------------------- /src/misc/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/misc/util.ts -------------------------------------------------------------------------------- /src/types/global.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/types/global.d.ts -------------------------------------------------------------------------------- /src/types/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/src/types/types.ts -------------------------------------------------------------------------------- /tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/tsconfig.app.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/tsconfig.node.json -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/HEAD/vite.config.ts --------------------------------------------------------------------------------