{"_id":"@buckhamduffy/vue-multiselect","_rev":"4-81d803262fae9418e48e3fdf34fff249","name":"@buckhamduffy/vue-multiselect","dist-tags":{"latest":"2.1.11"},"versions":{"2.1.11":{"name":"@buckhamduffy/vue-multiselect","version":"2.1.11","author":{"name":"Damian Dulisz","email":"damian.dulisz@gmail.com"},"license":"MIT","_id":"@buckhamduffy/vue-multiselect@2.1.11","maintainers":[{"name":"alexbuckham","email":"admin@buckhamduffy.com"},{"name":"aflorey","email":"aaron@buckhamduffy.com"}],"homepage":"https://shentao.github.io/vue-multiselect/","bugs":{"url":"https://github.com/buckhamduffy/vue-multiselect/issues"},"dist":{"shasum":"8d086dcb071839fba53e0e0b098aad5927fd6ffa","tarball":"https://registry.npmjs.org/@buckhamduffy/vue-multiselect/-/vue-multiselect-2.1.11.tgz","fileCount":11,"integrity":"sha512-Qxnf81D7QU/tDuzVl6/lOQdAcBZoDeCV2YZ0+wXWk27E962Sr5yPxHj6hiR0G+qnSPzg4UR2ZqmymIkXP2W23A==","signatures":[{"sig":"MEQCIBtH2pMNuOU8lZ6FAWn6HOWh4Qxo1A1tTl//TlwMsEp7AiAwWnQcupng8ySYjoiPHZaJC9PGLDp/o9mEBgLdhawtYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQQ1+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPIhAAkkVExIg/rxHVA/Ik66soKt2Fl7MynGnp1n91pkbcwunaD3fZ\r\njaXig39djNFW3wD/qH/hI+WpwaHOri950EQSEwbN+SmwhOiTpNpHVsioqQSl\r\n9J12CSmSzrX+ZdUEWwRnbRk/+fhuC5p4msXtdIq74g0FlLYswzsGVCpWYNlm\r\ncEP4bpFpnplBVc5nLTITa7ZERG43ZTDGBJbFqBccMWdp3p+33LKsU8OLxe9q\r\nXYsfLfV9jnVyLo3Vb1IhbWIWybEbCd44zZIWGAWOo3K6/L4k2dwtRTu9Ve8c\r\neakC8c4PRuvrbqkOYOD9KFSD8E7WlyrQCNdhIymU1hLCbTwQRb0X5zOsnzmz\r\nCrgXMtWPF4TKLKEOpgso2GugM/DuoYIHgGOOtFFx+Dw1+bfDBgQDbha0l2VI\r\nj2MlpdXe9JPmBNn2tR+6B+Utb3WCHldpqqPVN0QOw8+UzyzQiGmoW14LY4pP\r\nyMsGOX22t9tvMbngVaBv9MMJiJlxzkzm2lvp0liLXf6NCb4lt8Dd45dodF2o\r\nNSgKmQ+sgERDTmMLyeHiTFEFlmu3nkyhgzrIRzNZsjIt9MsE9n9E/8lKDq9I\r\n6ZjARuyg1ZjGAeyk0oo1QwUfnvZEPSmR4pkP6ZvG/BW9NBHPDsEDI+ul+RjT\r\ngVis123/bLrHCNapY4jeiC9sS18O90hW2RU=\r\n=Xo0X\r\n-----END PGP SIGNATURE-----\r\n"},"jspm":{"main":"dist/vue-multiselect.min.js","format":"esm","registry":"npm"},"main":"dist/vue-multiselect.min.js","types":"index.d.ts","unpkg":"dist/vue-multiselect.min.js","engines":{"npm":">= 3.0.0","node":">= 4.0.0"},"gitHead":"47d1ffb5df6b3fdfbfe1849733213ff871320366","private":false,"scripts":{"dev":"node build/dev-server.js","docs":"rm -rf docs && mkdir docs && node build/build.js","lint":"eslint --ext .js,.vue src tests/unit/specs","test":"vue-cli-service test:unit","unit":"vue-cli-service test:unit --watch","bundle":"node build/bundle.js","finish":"npm run lint && npm test && npm run bundle","prepare":"npm run bundle","bundle:dist":"rm -rf dist && webpack --config build/webpack.bundle.conf.js"},"_npmUser":{"name":"aflorey","email":"aaron@buckhamduffy.com"},"repository":{"url":"git+https://github.com/buckhamduffy/vue-multiselect.git","type":"git"},"_npmVersion":"6.14.15","description":"Multiselect component for vue.js","directories":{},"jsnext:main":"dist/vue-multiselect.min.js","_nodeVersion":"14.18.2","_hasShrinkwrap":false,"devDependencies":{"opn":"^4.0.2","ora":"^4.0.1","pug":"^2.0.0-beta11","vue":"^2.6.14","vuex":"^2.1.1","chalk":"^1.1.3","lolex":"^1.5.2","eslint":"^6.8.0","semver":"^5.3.0","cssnano":"^4.1.7","express":"^4.16.3","shelljs":"^0.8.3","webpack":"^2.2.1","babel-cli":"^6.26.0","cross-env":"^5.2.0","node-sass":"npm:sass@^1.43.4","babel-core":"^7.0.0-0","babel-jest":"^22.0.4","css-loader":"^0.28.11","pug-loader":"^2.3.0","raw-loader":"^0.5.1","url-loader":"^0.5.7","vue-loader":"^13.3.0","es6-promise":"^4.2.4","file-loader":"^0.10.0","html-loader":"^0.5.5","json-loader":"^0.5.4","sass-loader":"^6.0.1","autoprefixer":"^9.6.1","babel-eslint":"^9.0.0","babel-loader":"^7.1.2","eslint-loader":"^2.2.1","function-bind":"^1.1.0","inject-loader":"^4.0.1","webpack-merge":"^4.2.2","babel-register":"^6.26.0","@vue/test-utils":"^1.0.0-beta.25","vue-html-loader":"^1.0.0","@vue/cli-service":"^3.0.4","vue-style-loader":"^4.1.2","eslint-plugin-vue":"^6.2.2","eslint-plugin-html":"^6.0.0","vue-hot-reload-api":"^1.2.0","babel-preset-es2015":"^6.6.0","copy-webpack-plugin":"^4.0.0","html-webpack-plugin":"^2.28.0","babel-preset-stage-2":"^6.22.0","eventsource-polyfill":"^0.9.6","@vue/cli-plugin-babel":"^3.0.4","babel-plugin-istanbul":"^3.1.2","eslint-plugin-promise":"^3.4.0","http-proxy-middleware":"^0.20.0","vue-template-compiler":"^2.6.14","eslint-config-standard":"^6.1.0","eslint-plugin-standard":"^4.0.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.16.1","babel-plugin-syntax-jsx":"^6.13.0","webpack-bundle-analyzer":"^3.5.1","@vue/cli-plugin-unit-jest":"^3.0.4","eslint-friendly-formatter":"^4.0.1","jstransformer-markdown-it":"^2.0.0","extract-text-webpack-plugin":"^2.0.0-rc.3","connect-history-api-fallback":"^1.1.0","vue-template-es2015-compiler":"^1.6.0","babel-plugin-transform-runtime":"^6.0.0","babel-plugin-transform-vue-jsx":"^2.0.2","friendly-errors-webpack-plugin":"^1.1.3","babel-helper-vue-jsx-merge-props":"^2.0.2","optimize-css-assets-webpack-plugin":"^1.3.0","babel-plugin-transform-export-extensions":"^6.8.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-es2015-destructuring":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-multiselect_2.1.11_1648430462337_0.011466815608203396","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-03-28T01:21:02.336Z","modified":"2025-04-08T02:15:47.934Z","2.1.11":"2022-03-28T01:21:02.482Z"},"bugs":{"url":"https://github.com/buckhamduffy/vue-multiselect/issues"},"author":{"name":"Damian Dulisz","email":"damian.dulisz@gmail.com"},"license":"MIT","homepage":"https://shentao.github.io/vue-multiselect/","repository":{"url":"git+https://github.com/buckhamduffy/vue-multiselect.git","type":"git"},"description":"Multiselect component for vue.js","maintainers":[{"email":"admin@buckhamduffy.com","name":"alexbuckham"},{"email":"aaron@buckhamduffy.com","name":"aflorey"},{"email":"nick@buckhamduffy.com","name":"bdnick"}],"readme":"# vue-multiselect ![Build Status](https://circleci.com/gh/shentao/vue-multiselect/tree/2.0.svg?style=shield&circle-token=5c931ff28fd12587610f835472becdd514d09cef)[![Codecov branch](https://img.shields.io/codecov/c/github/shentao/vue-multiselect/2.0.svg)](https://codecov.io/gh/shentao/vue-multiselect/branch/2.0)[![npm](https://img.shields.io/npm/v/vue-multiselect.svg)](https://www.npmjs.com/package/vue-multiselect)\nProbably the most complete *selecting* solution for Vue.js 2.0, without jQuery.\n\n### Vue 3.0 Support\nFor Vue 3.0 compatible version see [`next`](https://github.com/shentao/vue-multiselect/tree/next) branch.\n\n<a href=\"https://vue-multiselect.js.org/\">\n  <img src=\"/multiselect-screen-203.png\" alt=\"Vue-Multiselect Screen\">\n</a>\n\n## Documentation\nVisit: [vue-multiselect.js.org](https://vue-multiselect.js.org/#sub-getting-started)\n\n## Sponsors\n\n### Gold\n\n<p align=\"center\">\n  <a href=\"https://vuejs.amsterdam/?utm_source=newsletter&utm_medium=logo&utm_campaign=vuejs-newsletter\" target=\"_blank\">\n    <img src=\"https://cdn.discordapp.com/attachments/793583797454503976/793583831369646120/vuejsamsterdam.png\" alt=\"Vuejs Amsterdam\" width=\"380px\">\n  </a>\n</p>\n<p align=\"center\">\n  <a href=\"https://theroadtoenterprise.com/?utm_source=newsletter&utm_medium=logo&utm_campaign=vuejs-newsletter\" target=\"_blank\">\n    <img src=\"https://cdn.discordapp.com/attachments/793583797454503976/809062891420123166/logo.png\" alt=\"Vue - The Road To Enterprise\" width=\"380px\">\n  </a>\n</p>\n<p align=\"center\">\n  <a href=\"https://suade.org/\" target=\"_blank\">\n    <img src=\"https://tinyurl.com/suadelogo\" alt=\"Suade Labs\" width=\"200px\">\n  </a>\n</p>\n\n### Silver\n\n<p align=\"center\">\n  <a href=\"https://www.storyblok.com/developers?utm_source=newsletter&utm_medium=logo&utm_campaign=vuejs-newsletter\" target=\"_blank\">\n    <img src=\"https://a.storyblok.com/f/51376/3856x824/fea44d52a9/colored-full.png\" alt=\"Storyblok\" width=\"240px\">\n  </a>\n</p>\n\n### Bronze\n\n<p align=\"center\">\n  <a href=\"https://www.vuemastery.com/\" target=\"_blank\">\n    <img src=\"https://cdn.discordapp.com/attachments/258614093362102272/557267759130607630/Vue-Mastery-Big.png\" alt=\"Vue Mastery logo\" width=\"180px\">\n  </a>\n</p>\n\n## Features & characteristics:\n* NO dependencies\n* Single select\n* Multiple select\n* Tagging\n* Dropdowns\n* Filtering\n* Search with suggestions\n* Logic split into mixins\n* Basic component and support for custom components\n* V-model support\n* Vuex support\n* Async options support\n* \\> 95% test coverage\n* Fully configurable (see props list below)\n\n## Breaking changes:\n* Instead of Vue.partial for custom option templates you can use a custom render function.\n* The `:key` props has changed to `:track-by`, due to conflicts with Vue 2.0.\n* Support for `v-model`\n* `@update` has changed to `@input` to also work with v-model\n* `:selected` has changed to `:value` for the same reason\n* Browserify users: if you wish to import `.vue` files, please add `vueify` transform.\n\n## Install & basic usage\n\n```bash\nnpm install vue-multiselect\n```\n\n```vue\n<template>\n  <div>\n    <multiselect\n      v-model=\"selected\"\n      :options=\"options\">\n    </multiselect>\n  </div>\n</template>\n\n<script>\n  import Multiselect from 'vue-multiselect'\n  export default {\n    components: { Multiselect },\n    data () {\n      return {\n        selected: null,\n        options: ['list', 'of', 'options']\n      }\n    }\n  }\n</script>\n\n<style src=\"vue-multiselect/dist/vue-multiselect.min.css\"></style>\n```\n\n## JSFiddle\n\n[Example JSFiddle](https://jsfiddle.net/shentao/s0ugwmjp/) – Use this for issue reproduction.\n\n## Examples\nin jade-lang/pug-lang\n\n### Single select / dropdown\n``` jade\nmultiselect(\n  :value=\"value\",\n  :options=\"source\",\n  :searchable=\"false\",\n  :close-on-select=\"false\",\n  :allow-empty=\"false\",\n  @input=\"updateSelected\",\n  label=\"name\",\n  placeholder=\"Select one\",\n  track-by=\"name\"\n)\n```\n\n### Single select with search\n``` jade\nmultiselect(\n  v-model=\"value\",\n  :options=\"source\",\n  :close-on-select=\"true\",\n  :clear-on-select=\"false\",\n  placeholder=\"Select one\",\n  label=\"name\",\n  track-by=\"name\"\n)\n```\n\n### Multiple select with search\n``` jade\nmultiselect(\n  v-model=\"multiValue\",\n  :options=\"source\",\n  :multiple=\"true\",\n  :close-on-select=\"true\",\n  placeholder=\"Pick some\",\n  label=\"name\",\n  track-by=\"name\"\n)\n```\n\n### Tagging\nwith `@tag` event\n``` jade\nmultiselect(\n  v-model=\"taggingSelected\",\n  :options=\"taggingOptions\",\n  :multiple=\"true\",\n  :taggable=\"true\",\n  @tag=\"addTag\",\n  tag-placeholder=\"Add this as new tag\",\n  placeholder=\"Type to search or add tag\",\n  label=\"name\",\n  track-by=\"code\"\n)\n```\n\n``` javascript\n\naddTag (newTag) {\n  const tag = {\n    name: newTag,\n    code: newTag.substring(0, 2) + Math.floor((Math.random() * 10000000))\n  }\n  this.taggingOptions.push(tag)\n  this.taggingSelected.push(tag)\n},\n```\n\n### Asynchronous dropdown\n``` jade\nmultiselect(\n  v-model=\"selectedCountries\",\n  :options=\"countries\",\n  :multiple=\"multiple\",\n  :searchable=\"searchable\",\n  @search-change=\"asyncFind\",\n  placeholder=\"Type to search\",\n  label=\"name\"\n  track-by=\"code\"\n)\n  span(slot=\"noResult\").\n    Oops! No elements found. Consider changing the search query.\n```\n\n``` javascript\nmethods: {\n  asyncFind (query) {\n    this.countries = findService(query)\n  }\n}\n```\n\n## Contributing\n\n``` bash\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# distribution build with minification\nnpm run bundle\n\n# build the documentation into docs\nnpm run docs\n\n# run unit tests\nnpm run test\n\n# run unit tests watch\nnpm run unit\n\n```\n\nFor detailed explanation on how things work, checkout the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).\n","readmeFilename":"README.md"}