{"_id":"vue-sanitize","_rev":"8-1da3fae948a887d0f76a5246b3977c88","name":"vue-sanitize","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"vue-sanitize","version":"0.1.0","keywords":["vue-sanitize","vue","vue-plugin","sanitize"],"author":{"name":"Daichi HIRATA","email":"daichirata@gmail.com"},"license":"MIT","_id":"vue-sanitize@0.1.0","maintainers":[{"name":"daichirata","email":"daichirata@gmail.com"}],"homepage":"https://github.com/daichirata/vue-sanitize","bugs":{"url":"https://github.com/daichirata/vue-sanitize/issues"},"dist":{"shasum":"2c600b3d25640b287956602202ccb241c536d80f","tarball":"https://registry.npmjs.org/vue-sanitize/-/vue-sanitize-0.1.0.tgz","integrity":"sha512-yFDdeayjasGeQYhX4+O8BrSrqePmxYWmyeyJI+TkXwpYOeaZc1FmfhAU2AzSRyVDfl61PJ5a04lEDy15vqFtFQ==","signatures":[{"sig":"MEQCIA7LqmSYI5DZEeD3JIjk8SjFrsKqJfBQDZJuXWLuX/bMAiARBNZL39rYbo91UmJ8puN2kOdnTfIqVMohoDRt2QLK6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/vue-sanitize.js","files":["dist","src"],"gitHead":"32bc048edbe8c957261381e29069ae89cfaf6545","scripts":{"build":"webpack"},"_npmUser":{"name":"daichirata","email":"daichirata@gmail.com"},"repository":{"url":"git+https://github.com/daichirata/vue-sanitize.git","type":"git"},"_npmVersion":"5.5.1","description":"Whitelist-based HTML sanitizer for Vue.js apps.","directories":{},"jsnext:main":"src/index.js","_nodeVersion":"8.5.0","dependencies":{"sanitize-html":"^1.14.1"},"devDependencies":{"webpack":"^3.8.1","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-preset-env":"^1.6.1","clean-webpack-plugin":"^0.1.17"},"_npmOperationalInternal":{"tmp":"tmp/vue-sanitize-0.1.0.tgz_1509458259457_0.06897112028673291","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"vue-sanitize","version":"0.2.0","keywords":["vue-sanitize","vue","vue-plugin","sanitize"],"author":{"name":"Daichi HIRATA","email":"daichirata@gmail.com"},"license":"MIT","_id":"vue-sanitize@0.2.0","maintainers":[{"name":"daichirata","email":"daichirata@gmail.com"}],"homepage":"https://github.com/daichirata/vue-sanitize","bugs":{"url":"https://github.com/daichirata/vue-sanitize/issues"},"dist":{"shasum":"70e3447042d1c528343f438955485630f6728d63","tarball":"https://registry.npmjs.org/vue-sanitize/-/vue-sanitize-0.2.0.tgz","fileCount":10,"integrity":"sha512-scFJ4lR0Zp7qq1no7WXV4UZondCJUGervBuK5pOAo0K3O6JClF8wOeFoZbh6cnwCyM4IafPUOk/kuuCkosPY5Q==","signatures":[{"sig":"MEQCIEKEVebCAShJbfbkTzZANcj1ukjyZ8hEPaVeJWhHa9JPAiAs0H/alBrtPPx1mDkQcjL4sWwqswiUUq/a+LAJ5VZz9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":884009},"main":"dist/vue-sanitize.js","gitHead":"a4f918b8494e240c9d58b9a7bbd7de6131192960","scripts":{"build":"rollup -c --name vue-sanitize --input index.js"},"_npmUser":{"name":"daichirata","email":"daichirata@gmail.com"},"repository":{"url":"git+https://github.com/daichirata/vue-sanitize.git","type":"git"},"_npmVersion":"5.6.0","description":"Whitelist-based HTML sanitizer for Vue.js apps.","directories":{},"jsnext:main":"index.js","_nodeVersion":"9.4.0","dependencies":{"sanitize-html":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^0.57.1","prettier":"^1.12.0","babel-core":"^6.26.0","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^9.1.0","rollup-plugin-node-resolve":"^3.3.0","babel-plugin-external-helpers":"^6.22.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-sanitize_0.2.0_1523635633925_0.16207403558235867","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"vue-sanitize","version":"0.2.1","keywords":["vue-sanitize","vue","vue-plugin","sanitize"],"author":{"name":"Daichi HIRATA","email":"daichirata@gmail.com"},"license":"MIT","_id":"vue-sanitize@0.2.1","maintainers":[{"name":"daichirata","email":"daichirata@gmail.com"}],"homepage":"https://github.com/daichirata/vue-sanitize","bugs":{"url":"https://github.com/daichirata/vue-sanitize/issues"},"dist":{"shasum":"60df0ef1dcd7268b04713e470ce993319cc5ea61","tarball":"https://registry.npmjs.org/vue-sanitize/-/vue-sanitize-0.2.1.tgz","fileCount":9,"integrity":"sha512-MhrfAaAqIQ8JXWfdlhK6f+H2WnZ7KQwkOgLNeUyfACI2bq/3HPZ2zeUQDathnLdsXMXAa8pJehOgPYtlaG9Jew==","signatures":[{"sig":"MEUCIQD4qqKCZgQVzKTk26/HprVc9pk6zFjgJNtLYPmnymE6MAIgKXnJZAvSXu4C0Reb1fLokYFJkwApBeomvCKfuAt7x0g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":837754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfok6tCRA9TVsSAnZWagAAj38QAJvI16FwSmtCmZNSryek\ntxCQYCkvX32VT1jFVs1ECWmxn6z4ZO4uxpSSNb3WSQLZpG4n0YugxHyvb1iq\nvBM0RZ9I/ZBtUOYRET426alKwPu7zXZEyyP0GRpFcDU0Mb+sMcn7wzrZzw5o\n8jRZHlJ8Gnb/dJ+QQWlvX7Orh6T52cZK8h1YJRJhSazIB6hFB7yulLqXVwXm\nlkTkM+N9DLx5jBQXWhKgoLp4mrvRcP6kQZn2EvV3Yae81jr6yBovqe8j+37i\njUWu3C554jHbsMsMbwGFzeR67fW8MHCJ27BWVX+SLJi9QnrSOUu1YWb7zYjV\ne80a3yKI+3i8DsZtlU+sB1Bf+yNBBaujDUL8dLLOr3Mrny5Bl+jMP0J6X/3Y\nYg9s2Cll/VGhXB3hjKc7ejPzIgwTPrwQcW+FEiEKwCb66NkiNClvbRjh+bjx\nw0j+WcjkPUR4MWdXyBQ5r6qna9a14tL59n08orquGsvegXfcp5MZno0So8A0\nQ8h+itop7Hv1If23ynj2kOXy8tFCz69gMQiKcuwmVxGB4v/xdIyI+wc7mjOG\nLHITJLTDQcQfeTl+i0MZKc/UlsHdiL4ko9JUsDnNSPXSiis/JjrfY5UaQRJW\ncRIzt4X6gCg+7Fbqo24pyo1eOXCie4DAsY66PB2ZwAe7qGS7cuYPJNI4MfXM\nWNJP\r\n=Ae0n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/vue-sanitize.js","gitHead":"072621fd17a478a8bdad84b6fdfda1fd01a7149a","scripts":{"build":"rollup -c --name vue-sanitize --input index.js"},"_npmUser":{"name":"daichirata","email":"daichirata@gmail.com"},"repository":{"url":"git+https://github.com/daichirata/vue-sanitize.git","type":"git"},"_npmVersion":"7.0.3","description":"Whitelist-based HTML sanitizer for Vue.js apps.","directories":{},"jsnext:main":"index.js","_nodeVersion":"15.0.1","dependencies":{"sanitize-html":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^0.57.1","prettier":"^1.12.0","babel-core":"^6.26.0","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^9.1.0","rollup-plugin-node-resolve":"^3.3.0","babel-plugin-external-helpers":"^6.22.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-sanitize_0.2.1_1604472493130_0.2744099993061786","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"vue-sanitize","version":"0.2.2","keywords":["vue-sanitize","vue","vue-plugin","sanitize"],"author":{"name":"Daichi HIRATA","email":"daichirata@gmail.com"},"license":"MIT","_id":"vue-sanitize@0.2.2","maintainers":[{"name":"daichirata","email":"bunny.hop.md@gmail.com"}],"homepage":"https://github.com/daichirata/vue-sanitize","bugs":{"url":"https://github.com/daichirata/vue-sanitize/issues"},"dist":{"shasum":"a33bb3c1af7f10bc0966eb85d1290d0c47247819","tarball":"https://registry.npmjs.org/vue-sanitize/-/vue-sanitize-0.2.2.tgz","fileCount":9,"integrity":"sha512-dj4bgP2C1QoNvzRKniOXEpk3fezEGE4bG7AXhnsB351B+iCOw845RWr2qRFjpF+Rs9v7Itn3vU4GIihIjzangg==","signatures":[{"sig":"MEUCIQCnaXfbWNG/hVTMBPhNdnSBRDwEcXx+3NJG595nLlFyPwIgayzhPxR+WZqNHw1okupBZ9d6JF90H5pN9o+II/GoYUE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":837754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJid5tTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrsTA/+O17mh3Z8VMD5QvBBHjZ1cl7crUBwx9150aRqH32/HOgWBJ12\r\nK7itQM/o/DOYLnv96LPgq1fas1MYa9nwourM/aPjSrYGk9FuUpG+Vc9HU2mb\r\nsZmBDJzAoyi81NLdD4LpT1LC19/AybdUI/ArcRBXWykirch1rSoyYLyozKuu\r\nbFBYN+pI39iveAtyZE3s+RJ3+9M/QdOs49Ih+k2xlLVd868gybqXXGn7E4zW\r\n+Z6/Or75zWnSWadrg3Ts3U0mIq81GZxjY4WiBvKvxtMSNerXDl8z/haBcdE8\r\nW+ntCbmJxAaD6r4pyltZphacIkAWMgKub1CFkTMOkQiuWbZbdueSZ1uTFDrm\r\nM80XRKYJxV3O8fh3nULdSAKkkFeOS/pc80/otIA6EnHc5MVvPZHUz2a9nCCE\r\nfAn3fjIEj2eJPO5OYQ8g+fbSkT0Ld5tiDCkk3DvS2cx3bNOaX084aO0VHR5K\r\nKeZzJplWo2dHP7OrbeASXx3xffFuNL+XvIAoCsV4Y7HIRNjkqF2NneCzlh0F\r\nrV3nK+hZHkM65rVwW8qF06v4ZcEZA0yGvKZLH6UsAG/Iah1l3CDUL0qPDL/L\r\n18J4qcRjOjlCcdUzuJtPO22uBT9RTwlKGYADlWHx4S935miJ59VAsWBJ3r9b\r\nBVGScaowwvJt/zXGpOswuPn8zLUogpo+oAU=\r\n=wahx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/vue-sanitize.js","gitHead":"778715fbe3e2960dd9509dce6cfe17b1f68cb88b","scripts":{"build":"rollup -c --name vue-sanitize --input index.js"},"_npmUser":{"name":"daichirata","email":"bunny.hop.md@gmail.com"},"repository":{"url":"git+https://github.com/daichirata/vue-sanitize.git","type":"git"},"_npmVersion":"8.9.0","description":"Whitelist-based HTML sanitizer for Vue.js apps.","directories":{},"jsnext:main":"index.js","_nodeVersion":"18.1.0","dependencies":{"sanitize-html":"^2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^0.57.1","prettier":"^1.12.0","babel-core":"^6.26.0","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^9.1.0","rollup-plugin-node-resolve":"^3.3.0","babel-plugin-external-helpers":"^6.22.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-sanitize_0.2.2_1652005715071_0.32166563965441397","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"vue-sanitize","version":"0.2.3","keywords":["vue-sanitize","vue","vue-plugin","sanitize"],"author":{"name":"Daichi HIRATA","email":"daichirata@gmail.com"},"license":"MIT","_id":"vue-sanitize@0.2.3","maintainers":[{"name":"daichirata","email":"bunny.hop.md@gmail.com"}],"homepage":"https://github.com/daichirata/vue-sanitize","bugs":{"url":"https://github.com/daichirata/vue-sanitize/issues"},"dist":{"shasum":"336266cc0b9d03b50e217c30c6f76421a37ccaa1","tarball":"https://registry.npmjs.org/vue-sanitize/-/vue-sanitize-0.2.3.tgz","fileCount":9,"integrity":"sha512-e4ib6ZO1zvaVTrruLHgMktzpCGSWUxSB4BSVr10xtNOdNM7AMOOeJT3t9rtNx9DA5fLneMQrDo/BYwY/JMEIoA==","signatures":[{"sig":"MEUCICbKpVPQFJ/CSuAs9ntl+3xubpBGI7VgKfnBTKMoseivAiEA1eFZggK0j/5PjdbOYmrxbaoykgBql7XQYX0zfnAmVj0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":837754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxA9OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqd1Q/9F7dY8hxXSGACc36HT7EE+F1ccho14GDvpCpYAmjsr+ea87LE\r\nGYGHiUAe2rAi3Uq3O2Cn+tzWDp87hj4XZK1JXTaD9joI6bFZzQFSEt3t5vFA\r\n3so7BK1u6+EuDK6q35dYQGlN3F0c4bQ4HNcJgagLuFlOBJP0lT0PdCMGuzi1\r\nk8RFinyfNN695nLjiOZkQvz8W8KDGOo45/lhXkUQj+9kjXxRHOlJq8M2zz4R\r\nu5ZT7kbbFFmoV/2XgXI87VcSZKa684VrU/yXeRTA/KUCuGs4bA1xyaMzqhS9\r\nRknIcYKEh4o5SRI2j4mxfrRQNJvRlwrgPbg+TkeIJAaQeEHD+pWKynHWEWgA\r\nQp9NZMoM3fLAlUiFKgPbO/V6OSnaOakfxWuhmJZ93qk4g9FFaqLdAA59Oo2X\r\nIGTmB+W5jE/2dT8RuCXpgenNAugcI6VKTeOe16btL4DXVlgpVH7/x/o6PLF8\r\nB4FfM7IX/KKFZZITU7UcBc1Qlx4xqJbNYmvMnHKcvMrk1F/xqJK7HWjXhoH0\r\nwfGuxIStd2NRiALSd97/PwDGLRgWVzQVdoi9y6pV5LUHv4vh5B5SPS9VX/uq\r\nTH8/uW6lPqiT0sUhTVT3rt1x7om429eYYcleq8OUrb8cKXpN/Mj/1mdnusvM\r\nCM7S1iFbPb7nuIWeSiaHC6IoxdArnfHwt1M=\r\n=FVh1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/vue-sanitize.js","gitHead":"a72f0ed98acaf59f55b5ceb9411f8c1f381e92a0","scripts":{"build":"rollup -c --name vue-sanitize --input index.js"},"_npmUser":{"name":"daichirata","email":"bunny.hop.md@gmail.com"},"repository":{"url":"git+https://github.com/daichirata/vue-sanitize.git","type":"git"},"_npmVersion":"9.2.0","description":"Whitelist-based HTML sanitizer for Vue.js apps.","directories":{},"jsnext:main":"index.js","_nodeVersion":"19.3.0","dependencies":{"sanitize-html":"~2.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^0.57.1","prettier":"^1.12.0","babel-core":"^6.26.0","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^9.1.0","rollup-plugin-node-resolve":"^3.3.0","babel-plugin-external-helpers":"^6.22.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-sanitize_0.2.3_1673793358361_0.8266377314468742","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"vue-sanitize","version":"0.3.0","description":"HTML sanitizer plugin for Vue 3, powered by sanitize-html.","homepage":"https://github.com/daichirata/vue-sanitize","type":"module","main":"./dist/vue-sanitize.cjs","module":"./dist/vue-sanitize.js","types":"./dist/index.d.ts","unpkg":"./dist/vue-sanitize.umd.js","jsdelivr":"./dist/vue-sanitize.umd.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue-sanitize.js","require":"./dist/vue-sanitize.cjs"},"./package.json":"./package.json"},"scripts":{"build":"vite build","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run test && npm run build"},"keywords":["vue","vue3","vue-plugin","sanitize","sanitize-html","xss"],"repository":{"type":"git","url":"git+https://github.com/daichirata/vue-sanitize.git"},"author":{"name":"Daichi HIRATA","email":"daichirata@gmail.com"},"license":"MIT","engines":{"node":">=18"},"peerDependencies":{"vue":"^3.0.0"},"dependencies":{"sanitize-html":"^2.17.4"},"devDependencies":{"@types/sanitize-html":"^2.16.1","@vue/test-utils":"^2.4.10","happy-dom":"^20.9.0","typescript":"^6.0.3","vite":"^8.0.13","vite-plugin-dts":"^5.0.1","vitest":"^4.1.7","vue":"^3.5.34"},"gitHead":"a8a6dbea9201b4879e1782bf2e2539b3b82d30bc","_id":"vue-sanitize@0.3.0","bugs":{"url":"https://github.com/daichirata/vue-sanitize/issues"},"_nodeVersion":"23.7.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-ypZExUFpqHSObDRqQK7/Rx40VLNf/I1ohz7nRt20Aa9j7uxok04kwYsebcefFr32lA0EXvUJqi8zSYpUayjOJA==","shasum":"ccb35b58645b06c55b60010b343180d163b57782","tarball":"https://registry.npmjs.org/vue-sanitize/-/vue-sanitize-0.3.0.tgz","fileCount":11,"unpackedSize":15453,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCHwg3Er/OlHdLI4HTfNdSeV/HrCM02bS7k//5aABnZPQIhAOekvOUX+Dj9SF69iAHjJU2F26J6HTGXOIkswQc3MxEa"}]},"_npmUser":{"name":"daichirata","email":"bunny.hop.md@gmail.com"},"directories":{},"maintainers":[{"name":"daichirata","email":"bunny.hop.md@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue-sanitize_0.3.0_1779339453890_0.2875945392992345"},"_hasShrinkwrap":false}},"time":{"created":"2017-10-31T13:57:39.566Z","modified":"2026-05-21T04:57:34.157Z","0.1.0":"2017-10-31T13:57:39.566Z","0.2.0":"2018-04-13T16:07:14.111Z","0.2.1":"2020-11-04T06:48:13.288Z","0.2.2":"2022-05-08T10:28:35.491Z","0.2.3":"2023-01-15T14:35:58.561Z","0.3.0":"2026-05-21T04:57:34.039Z"},"bugs":{"url":"https://github.com/daichirata/vue-sanitize/issues"},"author":{"name":"Daichi HIRATA","email":"daichirata@gmail.com"},"license":"MIT","homepage":"https://github.com/daichirata/vue-sanitize","keywords":["vue","vue3","vue-plugin","sanitize","sanitize-html","xss"],"repository":{"type":"git","url":"git+https://github.com/daichirata/vue-sanitize.git"},"description":"HTML sanitizer plugin for Vue 3, powered by sanitize-html.","maintainers":[{"name":"daichirata","email":"bunny.hop.md@gmail.com"}],"readme":"# vue-sanitize\n\nHTML sanitizer plugin for [Vue 3](https://vuejs.org/), powered by [sanitize-html](https://github.com/apostrophecms/sanitize-html).\n\n<p align=\"center\">\n  <a href=\"LICENSE\">\n    <img src=\"https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square\" alt=\"Software License\" />\n  </a>\n  <a href=\"https://npmjs.org/package/vue-sanitize\">\n    <img src=\"https://img.shields.io/npm/v/vue-sanitize.svg?style=flat-square\" alt=\"npm\" />\n  </a>\n  <a href=\"https://github.com/daichirata/vue-sanitize/actions/workflows/ci.yml\">\n    <img src=\"https://img.shields.io/github/actions/workflow/status/daichirata/vue-sanitize/ci.yml?branch=master&style=flat-square\" alt=\"CI\" />\n  </a>\n  <a href=\"https://github.com/daichirata/vue-sanitize/issues\">\n    <img src=\"https://img.shields.io/github/issues/daichirata/vue-sanitize.svg?style=flat-square\" alt=\"Issues\" />\n  </a>\n</p>\n\n> **Note**\n> Always sanitize user input on the server. Use this plugin only when client-side sanitization is genuinely needed (e.g. live markdown previews).\n\n## Install\n\n```bash\nnpm install vue-sanitize\n# or\nyarn add vue-sanitize\n# or\npnpm add vue-sanitize\n```\n\n## Usage\n\n### Register the plugin\n\n```ts\nimport { createApp } from \"vue\";\nimport VueSanitize from \"vue-sanitize\";\nimport App from \"./App.vue\";\n\ncreateApp(App).use(VueSanitize).mount(\"#app\");\n```\n\nYou can pass default sanitize-html options:\n\n```ts\nimport VueSanitize from \"vue-sanitize\";\n\nconst defaultOptions = {\n  allowedTags: [\"a\", \"b\"],\n  allowedAttributes: {\n    a: [\"href\"],\n  },\n};\n\ncreateApp(App).use(VueSanitize, defaultOptions).mount(\"#app\");\n```\n\n### Options API (`this.$sanitize`)\n\n```vue\n<template>\n  <div contenteditable=\"true\" @paste=\"onPaste\" />\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  methods: {\n    onPaste(event: ClipboardEvent) {\n      event.preventDefault();\n      const html = this.$sanitize(event.clipboardData?.getData(\"text/html\") ?? \"\");\n      document.execCommand(\"insertHTML\", false, html);\n    },\n  },\n});\n</script>\n```\n\n### Composition API (`useSanitize`)\n\n```vue\n<script setup lang=\"ts\">\nimport { useSanitize } from \"vue-sanitize\";\n\nconst sanitize = useSanitize();\n\nfunction onPaste(event: ClipboardEvent) {\n  event.preventDefault();\n  const html = sanitize(event.clipboardData?.getData(\"text/html\") ?? \"\", {\n    allowedTags: [\"b\", \"br\"],\n  });\n  document.execCommand(\"insertHTML\", false, html);\n}\n</script>\n\n<template>\n  <div contenteditable=\"true\" @paste=\"onPaste\" />\n</template>\n```\n\n## API\n\n### `app.use(VueSanitize, defaultOptions?)`\n\nRegisters the plugin. `defaultOptions` are forwarded to `sanitize-html` and used whenever a call site does not pass its own options. See the [sanitize-html docs](https://github.com/apostrophecms/sanitize-html#default-options) for the full option reference.\n\n### `this.$sanitize(dirty, options?)` / `useSanitize()(dirty, options?)`\n\n| arg       | type     | required | description                                                              |\n| --------- | -------- | -------- | ------------------------------------------------------------------------ |\n| `dirty`   | `string` | yes      | The untrusted HTML to sanitize.                                          |\n| `options` | `object` | no       | Per-call sanitize-html options. Falls back to the plugin defaults.       |\n\nReturns the sanitized HTML string.\n\n### `defaults`\n\nRe-exports `sanitizeHtml.defaults` for inspection or extension.\n\n```ts\nimport { defaults } from \"vue-sanitize\";\nconsole.log(defaults.allowedTags);\n```\n\n## Security\n\nIf you discover a security issue, please email daichirata@gmail.com instead of opening a public issue.\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. `npm install && npm run typecheck && npm test`\n4. Commit and open a pull request\n\n## License\n\nThe MIT License (MIT). See [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}