{"_id":"@dazzadev/vue-sheet-mapper","_rev":"6-556fe4485d113453d990027c513e4c0f","name":"@dazzadev/vue-sheet-mapper","dist-tags":{"latest":"3.1.0"},"versions":{"0.1.0":{"name":"@dazzadev/vue-sheet-mapper","version":"0.1.0","keywords":["vue","vue3","excel","csv","xlsx","import","column-mapper"],"license":"MIT","_id":"@dazzadev/vue-sheet-mapper@0.1.0","maintainers":[{"name":"dazza-dev","email":"adaza90@outlook.com"}],"dist":{"shasum":"5641267eecddfc076976cfd97261850668143ce0","tarball":"https://registry.npmjs.org/@dazzadev/vue-sheet-mapper/-/vue-sheet-mapper-0.1.0.tgz","fileCount":26,"integrity":"sha512-cgE6pv8ueg18w7kbcI9T4vbUrjZgtnx/7poK5ECl4QlmRM4DlKhJsaJQ0mbg3pkq+fna5hkZNl97Vu9YmvnPEw==","signatures":[{"sig":"MEUCIElE2VEEQWY6ngIGdXS3tniGKB08WN/0uYdyuceCI1PBAiEA4g4qW0Cu32eQAAgL9KarIWscbdu7zdt/PMIBJAfJfFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107006},"main":"./dist/vue-sheet-mapper.cjs","type":"module","_from":"file:dazzadev-vue-sheet-mapper-0.1.0.tgz","types":"./dist/src/index.d.ts","module":"./dist/vue-sheet-mapper.js","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/vue-sheet-mapper.js","require":"./dist/vue-sheet-mapper.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","test":"vitest run","build":"vue-tsc --noEmit && vite build","build:demo":"vite build --config vite.demo.config.ts","test:watch":"vitest"},"_npmUser":{"name":"dazza-dev","email":"adaza90@outlook.com"},"_resolved":"/private/var/folders/2w/sbnl5bg54dx04vlk07rdgt040000gn/T/26673bb998cb47638ef33b9aa25a33ed/dazzadev-vue-sheet-mapper-0.1.0.tgz","_integrity":"sha512-cgE6pv8ueg18w7kbcI9T4vbUrjZgtnx/7poK5ECl4QlmRM4DlKhJsaJQ0mbg3pkq+fna5hkZNl97Vu9YmvnPEw==","_npmVersion":"11.6.2","description":"Vue 3 component for mapping Excel/CSV columns to a schema","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.38","vite":"^8.0.16","xlsx":"^0.18.5","vitest":"^4.1.8","vue-tsc":"^3.3.5","happy-dom":"^20.10.3","typescript":"^6.0.3","@vue/test-utils":"^2.4.11","vite-plugin-dts":"^5.0.2","@vue/compiler-sfc":"^3.5.38","@vitejs/plugin-vue":"^6.0.7","@vue/language-core":"^3.3.5"},"peerDependencies":{"vue":">=3.3.0","xlsx":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-sheet-mapper_0.1.0_1781398755958_0.5222395763596261","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@dazzadev/vue-sheet-mapper","version":"1.0.0","keywords":["vue","vue3","excel","csv","xlsx","import","column-mapper"],"license":"MIT","_id":"@dazzadev/vue-sheet-mapper@1.0.0","maintainers":[{"name":"dazza-dev","email":"adaza90@outlook.com"}],"dist":{"shasum":"a69a84c8765c80f912def64ad4ae95ad24fd1577","tarball":"https://registry.npmjs.org/@dazzadev/vue-sheet-mapper/-/vue-sheet-mapper-1.0.0.tgz","fileCount":26,"integrity":"sha512-CXqZfq4MfN/kAb4ZYbolcF52yuF+dWeCu1iRIuHgF9EhZ0detZojJqNO9cUDpj8/WUPHnUX7F6qJhVGCfcN10Q==","signatures":[{"sig":"MEYCIQCZW9iv6jv6MQBLrEWW+2vGFpp25y1VsHdr+n/Dpx+JRQIhAIZvVgfEya/JZyJuwYt+vQagDAxrDdR8jXS1VBpc6XUe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107006},"main":"./dist/vue-sheet-mapper.cjs","type":"module","_from":"file:dazzadev-vue-sheet-mapper-1.0.0.tgz","types":"./dist/src/index.d.ts","module":"./dist/vue-sheet-mapper.js","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/vue-sheet-mapper.js","require":"./dist/vue-sheet-mapper.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","test":"vitest run","build":"vue-tsc --noEmit && vite build","build:demo":"vite build --config vite.demo.config.ts","test:watch":"vitest"},"_npmUser":{"name":"dazza-dev","email":"adaza90@outlook.com"},"_resolved":"/private/var/folders/2w/sbnl5bg54dx04vlk07rdgt040000gn/T/8d80d75b9c513cf7add68402d419b1cd/dazzadev-vue-sheet-mapper-1.0.0.tgz","_integrity":"sha512-CXqZfq4MfN/kAb4ZYbolcF52yuF+dWeCu1iRIuHgF9EhZ0detZojJqNO9cUDpj8/WUPHnUX7F6qJhVGCfcN10Q==","_npmVersion":"11.6.2","description":"Vue 3 component for mapping Excel/CSV columns to a schema","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.38","vite":"^8.0.16","xlsx":"^0.18.5","vitest":"^4.1.8","vue-tsc":"^3.3.5","happy-dom":"^20.10.3","typescript":"^6.0.3","@vue/test-utils":"^2.4.11","vite-plugin-dts":"^5.0.2","@vue/compiler-sfc":"^3.5.38","@vitejs/plugin-vue":"^6.0.7","@vue/language-core":"^3.3.5"},"peerDependencies":{"vue":">=3.3.0","xlsx":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-sheet-mapper_1.0.0_1781399033361_0.39018426616338897","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@dazzadev/vue-sheet-mapper","version":"2.0.0","keywords":["vue","vue3","excel","csv","xlsx","import","column-mapper"],"license":"MIT","_id":"@dazzadev/vue-sheet-mapper@2.0.0","maintainers":[{"name":"dazza-dev","email":"adaza90@outlook.com"}],"dist":{"shasum":"4cd85f0c0bb80ed4463aa720e9b7a448bff7e15a","tarball":"https://registry.npmjs.org/@dazzadev/vue-sheet-mapper/-/vue-sheet-mapper-2.0.0.tgz","fileCount":26,"integrity":"sha512-UD34s5rlOIBEcUW0Fg2NaxQ0n+QlFWYNhSWOcIy09VxqpwTy6cXxwr6SuJnJAjCZJJwv1QSmpcuFVpE9+LC8+Q==","signatures":[{"sig":"MEUCIQCNhB72a2847wFlp9xMB5JJIWSFHnIQFzDbq/qPpFXAwQIgfBCU1NBCk3BpmF4Ua+Aoq/zFVY9g8iEd/bDGA3fj7x8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126583},"main":"./dist/vue-sheet-mapper.cjs","type":"module","types":"./dist/src/index.d.ts","module":"./dist/vue-sheet-mapper.js","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/vue-sheet-mapper.js","require":"./dist/vue-sheet-mapper.cjs"},"./style.css":"./dist/style.css"},"gitHead":"c5b2a41de0ab87dc8aa6d59cf16022efef97dfd9","scripts":{"dev":"vite","test":"vitest run","build":"vue-tsc --noEmit && vite build","build:demo":"vite build --config vite.demo.config.ts","test:watch":"vitest"},"_npmUser":{"name":"dazza-dev","email":"adaza90@outlook.com"},"_npmVersion":"11.16.0","description":"Vue 3 component for mapping Excel/CSV columns to a schema","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.3","devDependencies":{"vue":"^3.5.38","vite":"^8.0.16","xlsx":"^0.18.5","vitest":"^4.1.8","vue-tsc":"^3.3.5","happy-dom":"^20.10.3","typescript":"^6.0.3","@vue/test-utils":"^2.4.11","vite-plugin-dts":"^5.0.2","@vue/compiler-sfc":"^3.5.38","@vitejs/plugin-vue":"^6.0.7","@vue/language-core":"^3.3.5"},"peerDependencies":{"vue":">=3.3.0","xlsx":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-sheet-mapper_2.0.0_1787781060590_0.8148297348131444","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@dazzadev/vue-sheet-mapper","version":"2.0.1","keywords":["vue","vue3","excel","csv","xlsx","import","column-mapper"],"author":{"url":"https://github.com/dazza-dev","name":"Andres Daza"},"license":"MIT","_id":"@dazzadev/vue-sheet-mapper@2.0.1","maintainers":[{"name":"dazza-dev","email":"adaza90@outlook.com"}],"homepage":"https://dazza-dev.github.io/vue-sheet-mapper/","bugs":{"url":"https://github.com/dazza-dev/vue-sheet-mapper/issues"},"dist":{"shasum":"1955d789e57d3d16dbe666a92d05a42d6b9e774e","tarball":"https://registry.npmjs.org/@dazzadev/vue-sheet-mapper/-/vue-sheet-mapper-2.0.1.tgz","fileCount":26,"integrity":"sha512-mwI7gMOlBw6k88EbuNkCwquUXoTHYGJVsgiZrD2CzFPh6rVNHdrD8qNUivsTedusIvqvM1oUIdesTjXgBiWMWQ==","signatures":[{"sig":"MEYCIQCh9N1u7tyyC10MFrdT+qfRO6BF4WC9gIrnvWp0f+dsgQIhAOlUYj2aP5hUQwUr9JhCYQjU9KT7MybjzyG0ijdTiIdt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127094},"main":"./dist/vue-sheet-mapper.cjs","type":"module","types":"./dist/src/index.d.ts","module":"./dist/vue-sheet-mapper.js","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/vue-sheet-mapper.js","require":"./dist/vue-sheet-mapper.cjs"},"./style.css":"./dist/style.css"},"gitHead":"4e5a6b6099d8d6e0f4f5a8d925fc0b7825dace9b","scripts":{"dev":"vite","test":"vitest run","build":"vue-tsc --noEmit && vite build","build:demo":"vite build --config vite.demo.config.ts","test:watch":"vitest"},"_npmUser":{"name":"dazza-dev","email":"adaza90@outlook.com"},"repository":{"url":"git+https://github.com/dazza-dev/vue-sheet-mapper.git","type":"git"},"_npmVersion":"11.16.0","description":"Vue 3 component for mapping Excel/CSV columns to a schema","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.3","devDependencies":{"vue":"^3.5.38","vite":"^8.0.16","xlsx":"^0.18.5","vitest":"^4.1.8","vue-tsc":"^3.3.5","happy-dom":"^20.10.3","typescript":"^6.0.3","@vue/test-utils":"^2.4.11","vite-plugin-dts":"^5.0.2","@vue/compiler-sfc":"^3.5.38","@vitejs/plugin-vue":"^6.0.7","@vue/language-core":"^3.3.5"},"peerDependencies":{"vue":">=3.3.0","xlsx":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-sheet-mapper_2.0.1_1787782503173_0.7768701671099154","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@dazzadev/vue-sheet-mapper","version":"3.0.0","keywords":["vue","vue3","excel","csv","xlsx","import","column-mapper"],"author":{"url":"https://github.com/dazza-dev","name":"Andres Daza"},"license":"MIT","_id":"@dazzadev/vue-sheet-mapper@3.0.0","maintainers":[{"name":"dazza-dev","email":"adaza90@outlook.com"}],"homepage":"https://dazza-dev.github.io/vue-sheet-mapper/","bugs":{"url":"https://github.com/dazza-dev/vue-sheet-mapper/issues"},"dist":{"shasum":"aa188bd739e54389db013ae0847944eac2b7532f","tarball":"https://registry.npmjs.org/@dazzadev/vue-sheet-mapper/-/vue-sheet-mapper-3.0.0.tgz","fileCount":26,"integrity":"sha512-lU3AFXllDjYNrmR3SQT317YKVdty9V9Dm7df/TRzMeWGhPTVElfniCZR/sNywZt62qMlyHdKSjXcmW6On7cNEA==","signatures":[{"sig":"MEYCIQClVxH9DpMtsKGWLn6UGtbnNg/TdbgjEJdZm3+5EKy8aQIhAJCtsOVoZ4PrreWA3EkjKCUrOj5MJAirrwQUayebDln8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134337},"main":"./dist/vue-sheet-mapper.cjs","type":"module","types":"./dist/src/index.d.ts","module":"./dist/vue-sheet-mapper.js","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/vue-sheet-mapper.js","require":"./dist/vue-sheet-mapper.cjs"},"./style.css":"./dist/style.css"},"gitHead":"b13f707488f47e600ddf499663ed6b24e10c8c10","scripts":{"dev":"vite","test":"vitest run","build":"vue-tsc --noEmit && vite build","build:demo":"vite build --config vite.demo.config.ts","test:watch":"vitest"},"_npmUser":{"name":"dazza-dev","email":"adaza90@outlook.com"},"repository":{"url":"git+https://github.com/dazza-dev/vue-sheet-mapper.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 component for mapping Excel/CSV columns to a schema","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.3","devDependencies":{"vue":"^3.5.38","vite":"^8.0.16","xlsx":"^0.18.5","vitest":"^4.1.8","vue-tsc":"^3.3.5","axe-core":"^4.13.0","happy-dom":"^20.10.3","typescript":"^6.0.3","highlight.js":"^11.12.0","@vue/test-utils":"^2.4.11","vite-plugin-dts":"^5.0.2","@vue/compiler-sfc":"^3.5.38","@vitejs/plugin-vue":"^6.0.7","@vue/language-core":"^3.3.5"},"peerDependencies":{"vue":">=3.3.0","xlsx":">=0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-sheet-mapper_3.0.0_1787856176630_0.2575506471841924","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@dazzadev/vue-sheet-mapper","version":"3.1.0","description":"Vue 3 component for Excel and CSV imports: users match each column of their file to one of your fields","author":{"name":"Andres Daza","url":"https://github.com/dazza-dev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/dazza-dev/vue-sheet-mapper.git"},"homepage":"https://dazza-dev.github.io/vue-sheet-mapper/","bugs":{"url":"https://github.com/dazza-dev/vue-sheet-mapper/issues"},"type":"module","main":"./dist/vue-sheet-mapper.cjs","module":"./dist/vue-sheet-mapper.js","types":"./dist/src/index.d.ts","exports":{".":{"import":"./dist/vue-sheet-mapper.js","require":"./dist/vue-sheet-mapper.cjs","types":"./dist/src/index.d.ts"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","build":"vue-tsc --noEmit && vite build","build:demo":"vite build --config vite.demo.config.ts","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","docs:preview":"vitepress preview docs","test":"vitest run","test:watch":"vitest"},"peerDependencies":{"vue":">=3.3.0","xlsx":">=0.18.0"},"devDependencies":{"@vitejs/plugin-vue":"^6.0.7","@vue/compiler-sfc":"^3.5.38","@vue/language-core":"^3.3.5","@vue/test-utils":"^2.4.11","axe-core":"^4.13.0","happy-dom":"^20.10.3","highlight.js":"^11.12.0","typescript":"^6.0.3","vite":"^8.0.16","vite-plugin-dts":"^5.0.2","vitepress":"^1.6.4","vitest":"^4.1.8","vue":"^3.5.38","vue-tsc":"^3.3.5","xlsx":"^0.18.5"},"keywords":["vue","vue3","excel","csv","xlsx","import","column-mapper"],"packageManager":"pnpm@10.33.3","gitHead":"bf41e1cb732050d43259ef425fc2c928a5f972d0","_id":"@dazzadev/vue-sheet-mapper@3.1.0","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-GTdNCKc0VKIFyxLgkscrYai+pqbDW8fMN3qaidX4H3Isd4JvOrkrGXrIcakiFGdVt9SQStNY/UX3GOhFIQ92dg==","shasum":"ff8ccb85d5a89512ad6b9e2bc1591c2069287c42","tarball":"https://registry.npmjs.org/@dazzadev/vue-sheet-mapper/-/vue-sheet-mapper-3.1.0.tgz","fileCount":26,"unpackedSize":109078,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFGot/MWwk66/auTRtKNLDV6QwWaEk6jMDXEU1G/J8vIAiEAkm1M4vK7Z1UhsKezciU7GebtL11N7dsDwRKztSKBNBI="}]},"_npmUser":{"name":"dazza-dev","email":"adaza90@outlook.com"},"directories":{},"maintainers":[{"name":"dazza-dev","email":"adaza90@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue-sheet-mapper_3.1.0_1787863758011_0.9839911079391737"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-14T00:59:15.845Z","modified":"2026-08-27T20:49:18.317Z","0.1.0":"2026-06-14T00:59:16.082Z","1.0.0":"2026-06-14T01:03:53.519Z","2.0.0":"2026-08-26T21:51:00.741Z","2.0.1":"2026-08-26T22:15:03.339Z","3.0.0":"2026-08-27T18:42:56.768Z","3.1.0":"2026-08-27T20:49:18.154Z"},"bugs":{"url":"https://github.com/dazza-dev/vue-sheet-mapper/issues"},"author":{"name":"Andres Daza","url":"https://github.com/dazza-dev"},"license":"MIT","homepage":"https://dazza-dev.github.io/vue-sheet-mapper/","keywords":["vue","vue3","excel","csv","xlsx","import","column-mapper"],"repository":{"type":"git","url":"git+https://github.com/dazza-dev/vue-sheet-mapper.git"},"description":"Vue 3 component for Excel and CSV imports: users match each column of their file to one of your fields","maintainers":[{"name":"dazza-dev","email":"adaza90@outlook.com"}],"readme":"<p align=\"center\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/dazza-dev/vue-sheet-mapper/main/demo/public/logo-wordmark-dark.svg\">\n    <img src=\"https://raw.githubusercontent.com/dazza-dev/vue-sheet-mapper/main/demo/public/logo-wordmark.svg\" alt=\"vue-sheet-mapper\" width=\"340\">\n  </picture>\n</p>\n\n<p align=\"center\">\n  Your users upload a spreadsheet and say which column is which.<br>\n  You get the data in the shape your app expects.<br><br>\n  Give it your field list and it handles the upload, the column preview,<br>\n  the auto-matching, the validation and the output.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@dazzadev/vue-sheet-mapper\"><img src=\"https://img.shields.io/npm/v/@dazzadev/vue-sheet-mapper?color=42b883&label=npm\" alt=\"npm\"></a>\n  <a href=\"https://www.npmjs.com/package/@dazzadev/vue-sheet-mapper\"><img src=\"https://img.shields.io/bundlephobia/minzip/@dazzadev/vue-sheet-mapper?color=35495e&label=gzip\" alt=\"bundle size\"></a>\n  <img src=\"https://img.shields.io/npm/l/@dazzadev/vue-sheet-mapper?color=35495e\" alt=\"license\">\n</p>\n\n<p align=\"center\">\n  <strong><a href=\"https://dazza-dev.github.io/vue-sheet-mapper/\">Live demo →</a></strong>\n  &nbsp;·&nbsp;\n  <a href=\"CHANGELOG.md\">Changelog</a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/dazza-dev/vue-sheet-mapper/main/demo/public/screenshot.png\" alt=\"Column mapping screen: each spreadsheet column is a card with a data preview — matched columns in green, an ignored column in orange, and an unmatched one waiting for the user to pick a field\" width=\"900\">\n</p>\n\n## Features\n\n- **Excel & CSV** — reads `.xlsx`, `.xls` and `.csv`, detecting the text encoding\n- **Auto-match** — maps columns to fields by key, label or aliases, accent-insensitive\n- **Reactive schemas** — pass a `ref`, `computed` or getter; fields may arrive from your API after the file is picked\n- **Two output modes** — the mapped rows, or the raw file plus a mapping dictionary for server-side imports\n- **Bring your own validation** — one hook hands you every row; zod, yup, your own function or your backend\n- **i18n** — 5 built-in locales (en, es, fr, pt, nl) with per-key overrides\n- **Themeable** — every visual property is a CSS custom property; icons and strings are replaceable\n- **Headless** — `useSheetMapper` carries the whole flow with no markup\n- **TypeScript** — full type declarations included\n\n## Installation\n\n```bash\nnpm install @dazzadev/vue-sheet-mapper xlsx\n```\n\n> `xlsx` is a peer dependency. **Read [Security](https://dazza-dev.github.io/vue-sheet-mapper/docs/guide/installation#security) before choosing a version** — the copy published on npm is stale and carries unfixed advisories.\n\n## Quick start\n\n```vue\n<script setup lang=\"ts\">\nimport { SheetMapper } from \"@dazzadev/vue-sheet-mapper\";\nimport \"@dazzadev/vue-sheet-mapper/style.css\";\nimport type { MappedResult, SchemaField } from \"@dazzadev/vue-sheet-mapper\";\n\nconst fields: SchemaField[] = [\n  { key: \"name\", label: \"Name\", requireColumn: true },\n  { key: \"email\", label: \"Email\", requireColumn: true },\n];\n\nfunction onMapped(results: MappedResult[]) {\n  // one entry per assigned column\n}\n</script>\n\n<template>\n  <SheetMapper\n    :fields=\"fields\"\n    @mapped=\"(results) => onMapped(results as MappedResult[])\"\n  />\n</template>\n```\n\n## Documentation\n\nEverything else lives in the docs:\n\n| | |\n| --- | --- |\n| [Guide](https://dazza-dev.github.io/vue-sheet-mapper/docs/guide/installation) | Installation, security, validation, output modes, file handling, headless usage |\n| [Customization](https://dazza-dev.github.io/vue-sheet-mapper/docs/customization/i18n) | i18n, icons, matcher, transform, slots, CSS theming |\n| [API](https://dazza-dev.github.io/vue-sheet-mapper/docs/api/props) | Props, events, TypeScript types, exports |\n| [Changelog](CHANGELOG.md) | Every release, with migration notes |\n\n## Contributing\n\n```bash\npnpm install\npnpm dev          # the demo, with hot reload\npnpm docs:dev     # the documentation site\npnpm test         # the suite\npnpm build        # typecheck + library build\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}