{"_id":"@uiw/react-signature","_rev":"13-6cebed0309e7fd12e3163e277fbf71ae","name":"@uiw/react-signature","dist-tags":{"latest":"1.3.5"},"versions":{"0.0.1":{"name":"@uiw/react-signature","version":"0.0.1","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@0.0.1","maintainers":[{"name":"uiwjs","email":"kennyiseeyou@gmail.com"},{"name":"wcjiang","email":"398188662@qq.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"d3df4f978eb4f779acf88cf3a09d42dc1cabf0f2","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-0.0.1.tgz","fileCount":15,"integrity":"sha512-B3Y3h/y54Kcn3nvYEiNKp7BFt9osey+yPvDOLKcCrdZzGWEMcoxb6DYkFmVJCN3Ks2WkyB2FxXztvnMv20r8lw==","signatures":[{"sig":"MEQCICe95+26qQkYxsmQJcx2sMFho3nofUWEVRlz/wm+p4weAiARsbIj4A7m2VVo4mbw537O6geH7Fjlr1a6+N1R7FtyMg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@0.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53234},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","gitHead":"9c274c3bcae6d51053d62f249afc225c15baf7a9","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"9.8.1","description":"A signature board component for react.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"svg-pathdata":"^6.0.3","perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_0.0.1_1700774115248_0.5633369664728018","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@uiw/react-signature","version":"1.0.0","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.0.0","maintainers":[{"name":"uiwjs","email":"kennyiseeyou@gmail.com"},{"name":"wcjiang","email":"398188662@qq.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"f9b67c04fa781110311d60ee86a86be86ac6426a","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.0.0.tgz","fileCount":15,"integrity":"sha512-MsseIu+nwLgLzHeSoza5sXjpXhrg82jx2sR4dRSjQQYJcELliAwD2kVVE0sd+KKv1IrhzRQ1YJPRW4mp0KekYQ==","signatures":[{"sig":"MEYCIQD3va6TSI8v0Nr2Ex+mfhCN4xPuy8lZSamk3GORcl7HxgIhAJbLSU8nUeHfTFG1iAAssxve5VdVgBFriZtJvOQ+zqBL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60041},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","gitHead":"25b1522119648f227a80332bfebb56c508c59acc","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"9.8.1","description":"A signature board component for react.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"svg-pathdata":"^6.0.3","perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.0.0_1700778013065_0.40368210629820434","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@uiw/react-signature","version":"1.1.0","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.1.0","maintainers":[{"name":"uiwjs","email":"kennyiseeyou@gmail.com"},{"name":"wcjiang","email":"398188662@qq.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"2ebb29d05f37edc9264cf047c1aa21f98a10cb54","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.1.0.tgz","fileCount":35,"integrity":"sha512-jFJq/X5B9MJG/wTBVUrIrhUKe1vvowqYfzmWdXXvwJ3uOlHOlNkDJpqm8DhnNa4rSZ9g8BCMFLMTJ3bjj9Fbew==","signatures":[{"sig":"MEQCIAEG7Tkfdkx111XwZWM2OWEfmMf2s9h7ZmPC0c1P/jYZAiBLyi5O/HfjH8qfcLEbtkbtG1c3whfafZorLRVN6Thy5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86593},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","gitHead":"dda23856833f8c26615abf5e113dad8f45566b77","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"9.8.1","description":"A signature board component for react.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"svg-pathdata":"^6.0.3","perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.1.0_1700904980600_0.6432436748309132","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@uiw/react-signature","version":"1.2.0","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.2.0","maintainers":[{"name":"uiwjs","email":"kennyiseeyou@gmail.com"},{"name":"wcjiang","email":"398188662@qq.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"1626218bf80831b8f64d6b9e6ea0f7abe2482bd1","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.2.0.tgz","fileCount":35,"integrity":"sha512-0IcMhEHmLOwjoAcRiIKNmoJzdTySadMGAahuUCEkfqMjKj7QOPak1Ec2gHmfwhXaoIDv2IFAOVUmJ1I8Z9hrAg==","signatures":[{"sig":"MEUCIBM4c67GSrXL0rUbo2Zy9E1ZKG6qOhU7Sy3cXfnsDR3BAiEA7V8uwJYW51LEnH13+4oQjZIQ4wPMIydDb0IWRq0XAvQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90256},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","gitHead":"996e769cb100f7798c6315c709626bdcddf7459d","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"9.8.1","description":"A signature board component for react.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"svg-pathdata":"^6.0.3","perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.2.0_1700908646460_0.9785524947232729","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@uiw/react-signature","version":"1.2.1","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.2.1","maintainers":[{"name":"uiwjs","email":"kennyiseeyou@gmail.com"},{"name":"wcjiang","email":"398188662@qq.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"15431a3e46594f4ff028f90f7797b7469deba13e","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.2.1.tgz","fileCount":35,"integrity":"sha512-qLcVysI0VoIMRdP9KtbTNfbHaSTWPuJjV794BQ3Hu0NMT/DUfU6Vha8d1Ne3ajwv7FTlwuNNZvgrUDSqHZ5Efw==","signatures":[{"sig":"MEQCIGAMqssQPRkVLiFhfQtq7j6bGPwqXtyHJV63QK3R2oU+AiBqgMTZkMcGz2ctnn8WmlpksWYNNvWznWMfWxoO8ZVExg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90311},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","funding":"https://jaywcjlove.github.io/#/sponsor","gitHead":"6913d2783a0e67220776135b297c5e074b19a9bc","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"9.8.1","description":"A signature board component for react.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"svg-pathdata":"^6.0.3","perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.2.1_1701061670443_0.6718095654188965","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@uiw/react-signature","version":"1.2.2","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.2.2","maintainers":[{"name":"uiwjs","email":"kennyiseeyou@gmail.com"},{"name":"wcjiang","email":"398188662@qq.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"b4dbf7388a6f28f884fd6e0f759d0ac406e9d8e5","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.2.2.tgz","fileCount":35,"integrity":"sha512-j6Wu7GvF/k/Ma36jUfpZyST9ywbfI6FY2Yjh0ybfkvNAPl9sSQoEBwlFmQFxJgg/e+M0+noGPMAZkDA/NMTAeQ==","signatures":[{"sig":"MEQCIC/cYYV1TlnJ/IgJFnX2EJR9RYC4ADi/FbM5XMMJJ9jAAiADIJXB20bmZpY4ztX5FcC4dF7Gr6WOJEBmVh70E1eMJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":94174},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","funding":"https://jaywcjlove.github.io/#/sponsor","gitHead":"4e278a7182589004d0506c4353362c4febd1e1ef","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"9.8.1","description":"A signature board component for react.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.2.2_1701077801448_0.6643578715334084","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@uiw/react-signature","version":"1.2.3","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.2.3","maintainers":[{"name":"uiwjs","email":"kennyiseeyou@gmail.com"},{"name":"wcjiang","email":"398188662@qq.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"86ce5091ad894867332a83c7cd24cecb2b96ed30","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.2.3.tgz","fileCount":35,"integrity":"sha512-hvXSRVJCVqVnflrBDYLGnS5cvXCzK/fgNCk08A7fiRcB20irKFNbLywqB/FXZMHEVkZCh9HTYWmHgI+gsxJ5xQ==","signatures":[{"sig":"MEUCIFfJvgRjnGqoA7A1zEHloCna0l6hiFdnTfdxu8yxeBRIAiEAn66EiEMNRIxKfx4d28oq6upoDH0KNtvv+rSUmWZy3gU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":94663},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","funding":"https://jaywcjlove.github.io/#/sponsor","gitHead":"d5f0f9b6f8d3c7f2bb0d9e005efa50bcf21bfb6f","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"9.8.1","description":"A signature board component for react.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.2.3_1701311826476_0.5979196313983228","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@uiw/react-signature","version":"1.3.0","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.3.0","maintainers":[{"name":"uiwjs","email":"kennyiseeyou@gmail.com"},{"name":"wcjiang","email":"398188662@qq.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"e94b60adea5b7f37d1d8915f16e4a73ffdbc6a48","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.3.0.tgz","fileCount":51,"integrity":"sha512-jOJ5iFoNHf6yIRTXp6+Yetb0PhzXVGbNShgaegTIW5RIAuqLDunJgpHk83K7Dv9hiDU7yUZZ5ugtuLwSXFs1rg==","signatures":[{"sig":"MEUCIFKmf67TlLHk4qB4C+jWbnAU+nPXV8/QX4F60JEyT0EfAiEA0A4UliRXTUKX0PZbm2IjY+DucC182u/3wPVqMRcKOQY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124076},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","exports":{".":{"types":"./cjs/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./canvas":{"types":"./cjs/canvas/index.d.ts","import":"./esm/canvas/index.js","require":"./cjs/canvas/index.js"},"./README.md":"./README.md","./package.json":"./package.json"},"funding":"https://jaywcjlove.github.io/#/sponsor","gitHead":"bf2a21327cfc81ba00a5c9a8250a81bad45f44bf","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"9.8.1","description":"A signature board component for react.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.3.0_1701489892673_0.5077410973001688","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"@uiw/react-signature","version":"1.3.1","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.3.1","maintainers":[{"name":"uiwjs","email":"kennyiseeyou@gmail.com"},{"name":"wcjiang","email":"398188662@qq.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"b9cca8860fca636f4ea5fa38ee677e50d8765a39","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.3.1.tgz","fileCount":51,"integrity":"sha512-qmuaXCKc4tRmc+qdysS1vjUBd9dBwLYVjdCOhCAxEExyl9KjgqmGN3rA/bwOteevPXFerHcEcXpNIIgwJjhVhA==","signatures":[{"sig":"MEUCIQDQ9vMcctRtcD4c70wvQtJTi/RaGdA9tJ32hLKhVmQLJgIgfko7U7mVa7jzmsF6Gl/rtvQzjnxy26H27KjqDpNK+QU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":125232},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","exports":{".":{"types":"./cjs/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./canvas":{"types":"./cjs/canvas/index.d.ts","import":"./esm/canvas/index.js","require":"./cjs/canvas/index.js"},"./README.md":"./README.md","./package.json":"./package.json"},"funding":"https://jaywcjlove.github.io/#/sponsor","gitHead":"c678db98cc92bd0c22edfd547e8d0f9230deb9ef","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"10.2.3","description":"A signature board component for react.","directories":{},"_nodeVersion":"18.19.0","dependencies":{"perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.3.1_1705511460278_0.6687621921933717","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"@uiw/react-signature","version":"1.3.2","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.3.2","maintainers":[{"name":"wcjiang","email":"398188662@qq.com"},{"name":"uiwjs","email":"kennyiseeyou@gmail.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"d42bcaf8502617ae32b7aaf5ba44680b1a1248d0","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.3.2.tgz","fileCount":51,"integrity":"sha512-0TRVxJBJVwDPz9MxpEFu2Ina0wGU52/m1ej+Swc2bg+XMIWyqroHn00Slc9BhraFm1lNslwFEzN/FnKl4+JFNA==","signatures":[{"sig":"MEYCIQDVPxxRm/bMI2UGMknfXcgo5jXcHhfJ1FfKuG3GoqifJgIhAKhidfZ9j2anGSE2dQVk+9/lUjfhXG084Yhm+EwlEdWz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":123322},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","exports":{".":{"types":"./cjs/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./canvas":{"types":"./cjs/canvas/index.d.ts","import":"./esm/canvas/index.js","require":"./cjs/canvas/index.js"},"./README.md":"./README.md","./package.json":"./package.json"},"funding":"https://jaywcjlove.github.io/#/sponsor","gitHead":"52c29637925dd5520714d756a940dff456db83da","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"10.8.2","description":"A signature board component for react.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@babel/runtime":"^7.18.9","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.3.2_1746151815520_0.525179560931172","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@uiw/react-signature","version":"1.3.3","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.3.3","maintainers":[{"name":"wcjiang","email":"398188662@qq.com"},{"name":"uiwjs","email":"kennyiseeyou@gmail.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"4c482dda1a0e58d518994a71e094cd1cbc88aba4","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.3.3.tgz","fileCount":51,"integrity":"sha512-TzsMSN6AWgfCMoxmZMMtuDQ9GwlZJ0C5inR3s2qGusV6OKP5s1Nf2QPhdZBjd6ZfTsjA41d16tbFzG6QvWze4g==","signatures":[{"sig":"MEQCICDBVHMtcrnipi0Bb0zh9ry1bGO4N+8ChcSstvGMmS4+AiAkWNpMgyRJVlzURJTxZILFaxZMtFuQBlOvo7BwOXq7+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":129191},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","exports":{".":{"types":"./cjs/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./canvas":{"types":"./cjs/canvas/index.d.ts","import":"./esm/canvas/index.js","require":"./cjs/canvas/index.js"},"./README.md":"./README.md","./package.json":"./package.json"},"funding":"https://jaywcjlove.github.io/#/sponsor","gitHead":"a8775140973ad0019120531d28db795d1405cbe8","_npmUser":{"name":"wcjiang","email":"398188662@qq.com"},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"10.8.2","description":"A signature board component for react.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@babel/runtime":"^7.28.4","perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.3.3_1761367055407_0.5844061411858275","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@uiw/react-signature","version":"1.3.4","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","_id":"@uiw/react-signature@1.3.4","maintainers":[{"name":"wcjiang","email":"398188662@qq.com"},{"name":"uiwjs","email":"kennyiseeyou@gmail.com"}],"homepage":"https://uiwjs.github.io/react-signature","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"dist":{"shasum":"dfbb4cfb5c6745f92703578178b1a1cf6f16598f","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.3.4.tgz","fileCount":51,"integrity":"sha512-jmukgdpHJJMJ5aDYi7ijv85tVc5MADkof6JOoQm8a3wQ37qi3GG34YMTEKjQFXqOnjU0/gnbxrTR4DA+Lp4btg==","signatures":[{"sig":"MEYCIQCQMh2qEE8qo7bvfnp9OH/2ZC9ARhRdgaXPPX0YLFtHRQIhAKpTXm5kXMRYW5JAC8Te/QGwWiNk8NnCTAHXT4tc/Xay","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132147},"main":"./cjs/index.js","types":"./cjs/index.d.ts","module":"./esm/index.js","exports":{".":{"types":"./cjs/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./canvas":{"types":"./cjs/canvas/index.d.ts","import":"./esm/canvas/index.js","require":"./cjs/canvas/index.js"},"./README.md":"./README.md","./package.json":"./package.json"},"funding":"https://jaywcjlove.github.io/#/sponsor","gitHead":"e51ddbd1b3f19d9ca68f44175014ea7387081d7a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2aeea58f-a162-4e09-8a71-d920eea2c183"}},"repository":{"url":"git+https://github.com/uiwjs/react-signature.git","type":"git"},"_npmVersion":"11.6.2","description":"A signature board component for react.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@babel/runtime":"^7.28.4","perfect-freehand":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@types/react":"^18.0.17","@types/react-dom":"^18.0.6"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-signature_1.3.4_1770319586169_0.7394276238985804","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@uiw/react-signature","version":"1.3.5","description":"A signature board component for react.","author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"homepage":"https://uiwjs.github.io/react-signature","funding":"https://jaywcjlove.github.io/#/sponsor","repository":{"type":"git","url":"git+https://github.com/uiwjs/react-signature.git"},"license":"MIT","main":"./cjs/index.js","module":"./esm/index.js","exports":{"./README.md":"./README.md","./package.json":"./package.json",".":{"import":"./esm/index.js","types":"./cjs/index.d.ts","require":"./cjs/index.js"},"./canvas":{"import":"./esm/canvas/index.js","types":"./cjs/canvas/index.d.ts","require":"./cjs/canvas/index.js"}},"publishConfig":{"access":"public"},"keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"dependencies":{"@babel/runtime":"^7.28.4","perfect-freehand":"^1.2.0"},"devDependencies":{"@types/react":"^18.0.17","@types/react-dom":"^18.0.6","react":"^18.2.0","react-dom":"^18.2.0"},"gitHead":"148eccc40d6dd6b8cdb8b6bfa0d44328b10815bc","types":"./cjs/index.d.ts","_id":"@uiw/react-signature@1.3.5","bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-P2UDXflVGlfkMfNjW6xaufypUcMewwiGlY9zaVbD6eozAO9YmAXg3houGRtp0q8e5Rg8qORMzFOXDAXOftiOaQ==","shasum":"7c10a3856666ad36cecc3115bf95290325888dfe","tarball":"https://registry.npmjs.org/@uiw/react-signature/-/react-signature-1.3.5.tgz","fileCount":51,"unpackedSize":132782,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@uiw%2freact-signature@1.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDiOd39hDe52DvmCh0rjxpKGeCMTPtD8EatWwDh/UIgFgIgKO4269DI2FzhKKtX+gkYha6ieVQeK6CryuUdJ6H3ELI="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2aeea58f-a162-4e09-8a71-d920eea2c183"}},"directories":{},"maintainers":[{"name":"wcjiang","email":"398188662@qq.com"},{"name":"uiwjs","email":"kennyiseeyou@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-signature_1.3.5_1777469483250_0.4372238381080338"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-23T21:15:15.114Z","modified":"2026-04-29T13:31:23.814Z","0.0.1":"2023-11-23T21:15:15.412Z","1.0.0":"2023-11-23T22:20:13.263Z","1.1.0":"2023-11-25T09:36:20.799Z","1.2.0":"2023-11-25T10:37:26.669Z","1.2.1":"2023-11-27T05:07:50.644Z","1.2.2":"2023-11-27T09:36:41.617Z","1.2.3":"2023-11-30T02:37:06.937Z","1.3.0":"2023-12-02T04:04:52.891Z","1.3.1":"2024-01-17T17:11:00.409Z","1.3.2":"2025-05-02T02:10:15.721Z","1.3.3":"2025-10-25T04:37:35.630Z","1.3.4":"2026-02-05T19:26:26.322Z","1.3.5":"2026-04-29T13:31:23.452Z"},"bugs":{"url":"https://github.com/uiwjs/react-signature/issues"},"author":{"name":"Kenny Wong","email":"wowohoo@qq.com"},"license":"MIT","homepage":"https://uiwjs.github.io/react-signature","keywords":["react-signature","react.js","react","signature","monorepo","uiw","uiw-react","react-component","component","components","ui","css","uikit","react-ui","framework"],"repository":{"type":"git","url":"git+https://github.com/uiwjs/react-signature.git"},"description":"A signature board component for react.","maintainers":[{"name":"wcjiang","email":"398188662@qq.com"},{"name":"uiwjs","email":"kennyiseeyou@gmail.com"}],"readme":"<div markdown=\"1\">\n  <sup>Using <a href=\"https://wangchujiang.com/#/app\" target=\"_blank\">my app</a> is also a way to <a href=\"https://wangchujiang.com/#/sponsor\" target=\"_blank\">support</a> me:</sup>\n  <br>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6758053530\" title=\"Scap: Screenshot & Markup Edit for macOS\"><img alt=\"Scap: Screenshot & Markup Edit\" height=\"52\" src=\"https://wangchujiang.com/appicon/scap.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6757317079\" title=\"Screen Test for macOS\"><img alt=\"Screen Test\" height=\"52\" src=\"https://wangchujiang.com/appicon/screen-test.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6755948110\" title=\"Deskmark for macOS\"><img alt=\"Deskmark\" height=\"52\" src=\"https://wangchujiang.com/appicon/deskmark.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6500434773\" title=\"Keyzer for macOS\"><img alt=\"Keyzer\" height=\"52\" src=\"https://wangchujiang.com/appicon/keyzer.png\"></a>\n  <a target=\"_blank\" href=\"https://github.com/jaywcjlove/vidwall-hub\" title=\"Vidwall Hub for macOS\"><img alt=\"Vidwall Hub\" height=\"52\" src=\"https://wangchujiang.com/appicon/vidwall-hub.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6752624705\" title=\"VidCrop for macOS\"><img alt=\"VidCrop\" height=\"52\" src=\"https://wangchujiang.com/appicon/vidcrop.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6747587746\" title=\"Vidwall for macOS\"><img alt=\"Vidwall\" height=\"52\" src=\"https://wangchujiang.com/appicon/vidwall.png\"></a>\n  <a target=\"_blank\" href=\"https://wangchujiang.com/mousio-hint/\" title=\"Mousio Hint for macOS\"><img alt=\"Mousio Hint\" height=\"52\" src=\"https://wangchujiang.com/appicon/mousio-hint.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6746747327\" title=\"Mousio for macOS\"><img alt=\"Mousio\" height=\"52\" src=\"https://wangchujiang.com/appicon/mousio.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6745227444\" title=\"Musicer for macOS\"><img alt=\"Musicer\" height=\"52\" src=\"https://wangchujiang.com/appicon/musicer.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6743841447\" title=\"Audioer for macOS\"><img alt=\"Audioer\" height=\"52\" src=\"https://wangchujiang.com/appicon/audioer.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6744690194\" title=\"FileSentinel for macOS\"><img alt=\"FileSentinel\" height=\"52\" src=\"https://wangchujiang.com/appicon/file-sentinel.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6743495172\" title=\"FocusCursor for macOS\"><img alt=\"FocusCursor\" height=\"52\" src=\"https://wangchujiang.com/appicon/focus-cursor.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6742680573\" title=\"Videoer for macOS\"><img alt=\"Videoer\" height=\"52\" src=\"https://wangchujiang.com/appicon/videoer.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6740425504\" title=\"KeyClicker for macOS\"><img alt=\"KeyClicker\" height=\"52\" src=\"https://wangchujiang.com/appicon/key-clicker.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6739052447\" title=\"DayBar for macOS\"><img alt=\"DayBar\" height=\"52\" src=\"https://wangchujiang.com/appicon/daybar.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6739444407\" title=\"Iconed for macOS\"><img alt=\"Iconed\" height=\"52\" src=\"https://wangchujiang.com/appicon/iconed.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6737160756\" title=\"Menuist for macOS\"><img alt=\"Menuist\" height=\"52\" src=\"https://wangchujiang.com/appicon/rightmenu-master.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6723903021\" title=\"Paste Quick for macOS\"><img alt=\"Quick RSS\" height=\"52\" src=\"https://wangchujiang.com/appicon/paste-quick.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6670696072&platform=mac\" title=\"Quick RSS for macOS/iOS\"><img alt=\"Quick RSS\" height=\"52\" src=\"https://wangchujiang.com/appicon/quick-rss.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6670167443\" title=\"Web Serve for macOS\"><img alt=\"Web Serve\" height=\"52\" src=\"https://wangchujiang.com/appicon/web-serve.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6503953628&platform=mac\" title=\"Copybook Generator for macOS/iOS\"><img alt=\"Copybook Generator\" height=\"52\" src=\"https://wangchujiang.com/appicon/copybook-generator.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6471227008&platform=mac\" title=\"DevTutor for macOS/iOS\"><img alt=\"DevTutor for SwiftUI\" height=\"52\" src=\"https://wangchujiang.com/appicon/devtutor.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6479819388&platform=mac\" title=\"RegexMate for macOS/iOS\"><img alt=\"RegexMate\" height=\"52\" src=\"https://wangchujiang.com/appicon/regex-mate.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6479194014&platform=mac\" title=\"Time Passage for macOS/iOS\"><img alt=\"Time Passage\" height=\"52\" src=\"https://wangchujiang.com/appicon/time-passage.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6478772538\" title=\"IconizeFolder for macOS\"><img alt=\"Iconize Folder\" height=\"52\" src=\"https://wangchujiang.com/appicon/iconize-folder.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6478511402&platform=mac\" title=\"Textsound Saver for macOS/iOS\"><img alt=\"Textsound Saver\" height=\"52\" src=\"https://wangchujiang.com/appicon/textsound-saver.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6476924627\" title=\"Create Custom Symbols for macOS\"><img alt=\"Create Custom Symbols\" height=\"52\" src=\"https://wangchujiang.com/appicon/create-custom-symbols.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6476452351\" title=\"DevHub for macOS\"><img alt=\"DevHub\" height=\"52\" src=\"https://wangchujiang.com/appicon/devhub.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6476400184\" title=\"Resume Revise for macOS\"><img alt=\"Resume Revise\" height=\"52\" src=\"https://wangchujiang.com/appicon/resume-revise.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6472593276\" title=\"Palette Genius for macOS\"><img alt=\"Palette Genius\" height=\"52\" src=\"https://wangchujiang.com/appicon/palette-genius.png\"></a>\n  <a target=\"_blank\" href=\"https://jaywcjlove.github.io/maslink/?id=6470879005\" title=\"Symbol Scribe for macOS\"><img alt=\"Symbol Scribe\" height=\"52\" src=\"https://wangchujiang.com/appicon/symbol-scribe.png\"></a>\n</div>\n<hr>\n\nreact-signature\n===\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy_Me_a_Coffee-ffdd00?logo=buy-me-a-coffee&logoColor=black)](https://jaywcjlove.github.io/#/sponsor)\n[![Follow On X](https://img.shields.io/badge/Follow%20on%20X-333333?logo=x&logoColor=white)](https://x.com/jaywcjlove)\n[![Build & Deploy](https://github.com/uiwjs/react-signature/actions/workflows/ci.yml/badge.svg)](https://github.com/uiwjs/react-signature/actions/workflows/ci.yml)\n[![Coverage Status](https://uiwjs.github.io/react-signature/badges.svg)](https://uiwjs.github.io/react-signature/lcov-report/)\n[![npm version](https://img.shields.io/npm/v/@uiw/react-signature.svg)](https://www.npmjs.com/package/@uiw/react-signature)\n\nA signature board component for react.\n\n[![react-signature](https://github.com/uiwjs/react-signature/assets/1680273/85bdb3d3-dfe5-4dc5-a95b-72cde1a9a10c)](https://uiwjs.github.io/react-signature/)\n\n## Quick Start\n\n```bash\nnpm install @uiw/react-signature\n```\n\n```jsx mdx:preview\nimport React, { useRef } from \"react\";\nimport Signature from '@uiw/react-signature';\n\nexport default function App() {\n  const $svg = useRef(null);\n  const handle = (evn) => $svg.current?.clear();\n  return (\n    <>\n      <Signature ref={$svg} />\n      <button onClick={handle}>Clear</button>\n    </>\n  );\n}\n```\n\n## Canvas\n\n**Experimental** components\n\n```jsx mdx:preview\nimport React, { useRef } from \"react\";\nimport Signature from '@uiw/react-signature/canvas';\n\n\nconst points = {\n  \"path-1\": [[83.52734375,63.6015625],[83.22265625,64.02734375],[81.86328125,66.0390625],[78.69140625,70.90625],[72.76171875,80.44140625],[67.01171875,91.421875],[64.5390625,98.19921875],[63.83203125,101.25390625],[63.640625,102.5078125],[63.62109375,102.7109375],[63.96484375,102.22265625],[64.890625,100.87890625],[66.3671875,98.515625]],\n  \"path-2\": [[116.5546875,65.8359375],[117.3125,65.8359375],[119.23046875,65.90625],[122.078125,66.39453125],[125.44140625,67.51171875],[128.33203125,69.2421875],[130.6484375,71.53515625],[131.94140625,73.6796875],[132.28125,75.65234375],[132.0625,77.5],[130.33203125,79.78125],[126.4921875,83.24609375],[120.9375,87.5234375],[114.859375,91.13671875],[108.09765625,93.66796875],[101.8359375,94.7734375],[96.26953125,94.7734375],[92.23828125,94.90625],[89.94921875,94.96484375],[88.234375,95.04296875],[88.03515625,95.08984375],[89.6015625,95.4296875],[94.75,96.640625],[107.55859375,98.640625],[123.6171875,100.09375],[135.5546875,100.734375],[141.140625,101.03515625],[142.2578125,101.08984375]]\n}\n\nexport default function App() {\n  const $canvas = useRef(null);\n  const handle = (evn) => $canvas.current?.clear();\n  return (\n    <>\n      <Signature ref={$canvas} width=\"450\" height=\"230\" defaultPoints={points} />\n      <br />\n      <button onClick={handle}>Clear</button>\n    </>\n  );\n}\n```\n\n## Readonly\n\n```jsx mdx:preview\nimport React, { useRef, useState, useEffect } from \"react\";\nimport Signature from '@uiw/react-signature';\n\nconst points = {\n  \"path-01\": [[81.546875,38.87890625],[82.34375,37.55078125],[84.27734375,35.2265625],[87.73046875,33.2421875],[94.98046875,30.87890625],[106.29296875,28.6796875],[118.23828125,27.71875],[126.6953125,29.45703125],[134.9375,36.22265625],[141.8359375,47.13671875],[143.9765625,59.53515625],[141.8671875,76],[128.1484375,98.9609375],[106.203125,118.87109375],[95.04296875,125.8203125],[94.5859375,125.04296875],[94.7265625,122.04296875],[97.90234375,115.30859375],[109.28515625,102.3046875],[129.75390625,86.796875],[155.27734375,76.14453125],[184.99609375,71.8828125],[218.16015625,73.33984375],[249.26953125,77.8671875],[264.2421875,81.10546875],[266.51171875,82.35546875],[267.69921875,82.99609375],[267.64453125,83.08203125],[267.73046875,82.6875],[267.73828125,80.4921875],[267.83203125,75.4765625],[268.36328125,66.6484375],[268.84765625,56.4609375],[268.421875,46.88671875],[266.9296875,40.86328125],[264.90625,38.4765625],[262.87890625,37.30859375],[258.68359375,39.13671875],[251.265625,43.80078125],[242.21484375,51.79296875],[232.60546875,63.21484375],[222.6484375,78.53125],[213.01171875,94.58984375],[206.3203125,104.57421875],[201.64453125,109.59375],[198.61328125,111.87109375],[197.24609375,111.3671875],[195.421875,109.23828125],[193.87890625,104.91015625],[193.7265625,99.140625],[198.671875,89.87109375],[214.1015625,75.14453125],[243.25390625,54.8671875],[290.3671875,29.3515625],[329.31640625,10.6875],[338.9609375,6.70703125],[338.5234375,9.07421875],[336.8671875,15.4453125],[331.4296875,28.4140625],[323.234375,43.5234375],[312.70703125,57.9609375],[302.296875,66.97265625],[293.85546875,70.734375],[287.6484375,72.25],[283.45703125,70.9453125],[280.51171875,68.09375],[279.5390625,64.13671875],[280.828125,60.0234375],[284.98828125,56.40625],[294.63671875,54.62109375],[307.8984375,56.17578125],[316.7890625,62.65234375],[317.5859375,74.11328125],[309.1640625,92.50390625],[295.12109375,110.55859375],[282.93359375,123.125],[278.58203125,129.00390625],[279.46875,129.80859375],[285.25390625,129.26953125],[299.71484375,125.71875],[321.41015625,118.89453125],[349.296875,108.58203125],[372.53125,98.8671875],[387.57421875,91],[395.23046875,84.53125],[396.7421875,79.3046875],[395.31640625,75.45703125],[389.86328125,73.57421875],[374.875,77.3203125],[347.36328125,88.46875],[310.44140625,107.75],[273.14453125,130.30078125],[252.08984375,145.77734375],[246.2890625,152.421875],[245.4609375,153.8046875],[245.3671875,153.1640625],[245.78515625,148.46875],[247.5859375,136.29296875],[250.55078125,119.38671875],[253.1796875,107.87890625],[255.4765625,102.29296875],[257.40625,99.61328125],[260.58203125,99.8125],[273.9453125,105.66015625],[296.24609375,118.10546875],[326.40234375,138.03125],[355.63671875,158.3515625],[368.66796875,167.1796875],[373.015625,170.12109375],[374.7578125,170.8203125],[374.73046875,169.78125],[374.6953125,167.3203125],[374.765625,161.75],[375.6328125,154.09375],[377.94921875,146.08984375],[380.94921875,140.23046875],[383.6640625,136.3046875],[385.0546875,134.08203125],[385.19140625,133.45703125],[384.81640625,132.41015625]],\n  \"path-02\": [[335.0078125,77.8828125],[335.31640625,77.984375],[336.16796875,78.30078125],[337.640625,79.0546875],[339.65234375,80.44140625],[342.88671875,82.921875],[347.0625,86.28125],[353.9296875,91.546875],[358.88671875,95.125],[359.7734375,95.6875],[360.48828125,96.19921875],[360.2265625,96.42578125]]\n}\n\nexport default function App() {\n  const [readonly, setReadonly] = useState(true)\n  return (\n    <>\n      <Signature defaultPoints={points} readonly={readonly} fill=\"#6b85e4\" />\n      <button onClick={() => setReadonly(!readonly)}>readonly={readonly.toString()}</button>\n    </>\n  );\n}\n```\n\n## Background Color & Text color\n\nBackground transparency can be set with `--w-signature-background: transparent;`\n\n```jsx mdx:preview\nimport React, { useRef } from \"react\";\nimport Signature from '@uiw/react-signature';\n\nexport default function App() {\n  const $svg = useRef(null);\n  const handle = (evn) => $svg.current?.clear();\n  return (\n    <>\n      <Signature ref={$svg} fill=\"red\" style={{ \"--w-signature-background\": \"#e4e6ef\" }} />\n      <button onClick={handle}>Clear</button>\n    </>\n  );\n}\n```\n\n## Create Points\n\n```jsx mdx:preview\nimport React, { useRef, useState, useCallback, useEffect } from \"react\";\nimport Signature from '@uiw/react-signature';\n\nexport default function App() {\n  const $svg = useRef(null);\n  const [points, setPoints] = useState([])\n  const handle = (evn) => {\n    $svg.current?.clear();\n    setPoints([])\n  }\n  const handlePoints = (data) => {\n    if (data.length > 0) {\n      setPoints([ ...points, JSON.stringify(data) ]);\n    }\n  }\n  return (\n    <>\n      <Signature ref={$svg} onPointer={handlePoints} />\n      <button onClick={handle}>Clear</button>\n      {points.map((item, idx) => {\n        return <pre key={idx} style={{ whiteSpace: 'pre-wrap' }}>{item}</pre>\n      })}\n    </>\n  );\n}\n```\n\n## Render Path\n\n```jsx mdx:preview\nimport React, { useRef } from \"react\";\nimport Signature from '@uiw/react-signature';\n\nconst points = {\n  \"path-1\": [[83.52734375,63.6015625],[83.22265625,64.02734375],[81.86328125,66.0390625],[78.69140625,70.90625],[72.76171875,80.44140625],[67.01171875,91.421875],[64.5390625,98.19921875],[63.83203125,101.25390625],[63.640625,102.5078125],[63.62109375,102.7109375],[63.96484375,102.22265625],[64.890625,100.87890625],[66.3671875,98.515625]],\n  \"path-2\": [[116.5546875,65.8359375],[117.3125,65.8359375],[119.23046875,65.90625],[122.078125,66.39453125],[125.44140625,67.51171875],[128.33203125,69.2421875],[130.6484375,71.53515625],[131.94140625,73.6796875],[132.28125,75.65234375],[132.0625,77.5],[130.33203125,79.78125],[126.4921875,83.24609375],[120.9375,87.5234375],[114.859375,91.13671875],[108.09765625,93.66796875],[101.8359375,94.7734375],[96.26953125,94.7734375],[92.23828125,94.90625],[89.94921875,94.96484375],[88.234375,95.04296875],[88.03515625,95.08984375],[89.6015625,95.4296875],[94.75,96.640625],[107.55859375,98.640625],[123.6171875,100.09375],[135.5546875,100.734375],[141.140625,101.03515625],[142.2578125,101.08984375]]\n}\n\nexport default function App() {\n  const $svg = useRef(null);\n  const handle = (evn) => $svg.current?.clear();\n  return (\n    <>\n      <Signature\n        ref={$svg}\n        defaultPoints={points}\n        renderPath={(path, keyName, data, index, container) => {\n          if (keyName === 'path-1' || index === 0) {\n            return <path d={path} fill=\"red\" />\n          }\n          if (keyName === 'path-2' || index === 1) {\n            return <path d={path} fill=\"blue\" />\n          }\n        }}\n      />\n      <button onClick={handle}>Clear</button>\n    </>\n  );\n}\n```\n\n## Stroke\n\n```jsx mdx:preview\nimport React, { useRef } from \"react\";\nimport Signature from '@uiw/react-signature';\n\nconst points = {\n  \"path-1\": [[83.52734375,63.6015625],[83.22265625,64.02734375],[81.86328125,66.0390625],[78.69140625,70.90625],[72.76171875,80.44140625],[67.01171875,91.421875],[64.5390625,98.19921875],[63.83203125,101.25390625],[63.640625,102.5078125],[63.62109375,102.7109375],[63.96484375,102.22265625],[64.890625,100.87890625],[66.3671875,98.515625]],\n  \"path-2\": [[116.5546875,65.8359375],[117.3125,65.8359375],[119.23046875,65.90625],[122.078125,66.39453125],[125.44140625,67.51171875],[128.33203125,69.2421875],[130.6484375,71.53515625],[131.94140625,73.6796875],[132.28125,75.65234375],[132.0625,77.5],[130.33203125,79.78125],[126.4921875,83.24609375],[120.9375,87.5234375],[114.859375,91.13671875],[108.09765625,93.66796875],[101.8359375,94.7734375],[96.26953125,94.7734375],[92.23828125,94.90625],[89.94921875,94.96484375],[88.234375,95.04296875],[88.03515625,95.08984375],[89.6015625,95.4296875],[94.75,96.640625],[107.55859375,98.640625],[123.6171875,100.09375],[135.5546875,100.734375],[141.140625,101.03515625],[142.2578125,101.08984375]]\n}\n\nexport default function App() {\n  const $svg = useRef(null);\n  const handle = (evn) => $svg.current?.clear();\n  return (\n    <>\n      <Signature\n        ref={$svg}\n        defaultPoints={points}\n        options={{\n          size: 6,\n        }}\n        renderPath={(path, keyName) => {\n            return (\n              <>\n                <path\n                  d={path}\n                  strokeWidth=\"3\"\n                  stroke=\"blue\"\n                  fill=\"transparent\"\n                  strokeLinejoin=\"round\"\n                  strokeLinecap=\"round\"\n                  pointerEvents=\"all\"\n                />\n                <path\n                  d={path}\n                  strokeWidth=\"0\"\n                  stroke=\"transparent\"\n                  fill=\"#dadada\"\n                  strokeLinejoin=\"round\"\n                  strokeLinecap=\"round\"\n                  pointerEvents=\"all\"\n                />\n              </>\n            )\n        }}\n      />\n      <button onClick={handle}>Clear</button>\n    </>\n  );\n}\n```\n\n## Props\n\n```ts\nimport React from 'react';\nimport { type StrokeOptions } from 'perfect-freehand';\nimport { type Dispatch } from '@uiw/react-signature';\nexport interface SignatureProps extends React.SVGProps<SVGSVGElement> {\n  prefixCls?: string;\n  options?: StrokeOptions;\n  readonly?: boolean;\n  defaultPoints?: Record<string, number[][]>;\n  renderPath?: (d: string, keyName: string, point: number[][], index: number, container: SVGSVGElement) => JSX.Element;\n  onPointer?: (points: number[][]) => void;\n}\nexport type SignatureRef = {\n  svg: SVGSVGElement | null;\n  dispatch: Dispatch;\n  clear: () => void;\n};\nexport default function Signature(props?: SignatureProps): React.JSX.Element;\n```\n\n## Canvas Props\n\n**Experimental** components props\n\n```ts\nimport React from 'react';\nimport { type StrokeOptions } from 'perfect-freehand';\nimport { type Dispatch } from '@uiw/react-signature/esm/store';\nexport * from 'perfect-freehand';\nexport * from '@uiw/react-signature/esm/utils';\nexport * from '@uiw/react-signature/esm/options';\nexport * from '@uiw/react-signature/esm/store';\nexport interface SignatureProps extends React.CanvasHTMLAttributes<HTMLCanvasElement> {\n  prefixCls?: string;\n  options?: StrokeOptions;\n  readonly?: boolean;\n  defaultPoints?: Record<string, number[][]>;\n  onPointer?: (points: number[][]) => void;\n}\nexport type SignatureCanvasRef = {\n  canvas: HTMLCanvasElement | null;\n  dispatch: Dispatch;\n  clear: () => void;\n};\nconst Signature: React.ForwardRefExoticComponent<SignatureProps & React.RefAttributes<SignatureCanvasRef>>;\nexport default Signature;\n```\n\n### Options\n\nThe options object is optional, as are each of its properties.\n\n| Property           | Type     | Default | Description                                           |\n| ------------------ | -------- | ------- | ----------------------------------------------------- |\n| `size`             | number   | 8       | The base size (diameter) of the stroke.               |\n| `thinning`         | number   | .5      | The effect of pressure on the stroke's size.          |\n| `smoothing`        | number   | .5      | How much to soften the stroke's edges.                |\n| `streamline`       | number   | .5      | How much to streamline the stroke.                    |\n| `simulatePressure` | boolean  | true    | Whether to simulate pressure based on velocity.       |\n| `easing`           | function | t => t  | An easing function to apply to each point's pressure. |\n| `start`            | { }      |         | Tapering options for the start of the line.           |\n| `end`              | { }      |         | Tapering options for the end of the line.             |\n| `last`             | boolean  | false    | Whether the stroke is complete.                       |\n\n**Note:** When the `last` property is `true`, the line's end will be drawn at the last input point, rather than slightly behind it.\n\nThe `start` and `end` options accept an object:\n\n| Property | Type              | Default | Description                                                                              |\n| -------- | ----------------- | ------- | ---------------------------------------------------------------------------------------- |\n| `cap`    | boolean           | true    | Whether to draw a cap.                                                                   |\n| `taper`  | number or boolean | 0       | The distance to taper. If set to true, the taper will be the total length of the stroke. |\n| `easing` | function          | t => t  | An easing function for the tapering effect.                                              |\n\n**Note:** The `cap` property has no effect when `taper` is more than zero.\n\n```js\n<Signature\n  options={{\n    size: 6,\n    smoothing: 0.46,\n    thinning: 0.73,\n    streamline: 0.5,\n    easing: (t) => t,\n    simulatePressure: true,\n    last: true,\n    start: {\n      cap: true,\n      taper: 0,\n      easing: (t) => t,\n    },\n    end: {\n      cap: true,\n      taper: 0,\n      easing: (t) => t,\n    },\n  }}\n/>\n```\n\n> **Tip:** To create a stroke with a steady line, set the `thinning` option to `0`.\n\n> **Tip:** To create a stroke that gets thinner with pressure instead of thicker, use a negative number for the `thinning` option.\n\n## Development\n\n1. Dependencies in the installation package and example\n\n```bash\nnpm run install\n```\n\n2. To develop, run the self-reloading build:\n\n```bash\nnpm run build  # Compile packages      📦 @uiw/react-signature\nnpm run watch  # Real-time compilation 📦 @uiw/react-signature\n```\n\n3. Run Document Website Environment:\n\n```bash\nnpm run start\n```\n\n4. To contribute, please fork repos, add your patch and tests for it (in the `test/` folder) and submit a pull request.\n\n```\nnpm run test\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n<a href=\"https://github.com/uiwjs/react-signature/graphs/contributors\">\n  <img src=\"https://uiwjs.github.io/react-signature/CONTRIBUTORS.svg\" />\n</a>\n\nMade with [contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.","readmeFilename":"README.md"}