├── .babelrc ├── .circleci └── config.yml ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE.md ├── dependabot.yml ├── funding.yml ├── stale.yml └── workflows │ └── gh-pages.yml ├── .gitignore ├── .npmignore ├── .npmrc ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── dist ├── vue-multiselect.common.js ├── vue-multiselect.common.js.map ├── vue-multiselect.css ├── vue-multiselect.esm.css ├── vue-multiselect.esm.js ├── vue-multiselect.js ├── vue-multiselect.min.css ├── vue-multiselect.ssr.css ├── vue-multiselect.ssr.js ├── vue-multiselect.umd.js ├── vue-multiselect.umd.js.map ├── vue-multiselect.umd.min.js └── vue-multiselect.umd.min.js.map ├── docs ├── CNAME ├── assets │ ├── ActionDispatcher-09ad388b.js │ ├── ActionDispatcher-0c0e0899.js │ ├── ActionDispatcher-21faea41.js │ ├── ActionDispatcher-6680ff08.js │ ├── ActionDispatcher-6e189b3d.js │ ├── ActionDispatcher-77692c6e.js │ ├── ActionDispatcher-896613a7.js │ ├── ActionDispatcher-9194a759.js │ ├── ActionDispatcher-b9fb39ab.js │ ├── ActionDispatcher-c013336e.js │ ├── ActionDispatcher-c6a30a98.js │ ├── ActionDispatcher-f1b4b8f6.js │ ├── AjaxSearch-1b467aa0.js │ ├── AjaxSearch-1c37f29f.js │ ├── AjaxSearch-1eda7357.js │ ├── AjaxSearch-57ae35a4.js │ ├── AjaxSearch-951047cd.js │ ├── AjaxSearch-9f910007.js │ ├── AjaxSearch-a6d42cab.js │ ├── AjaxSearch-c38b9774.js │ ├── AjaxSearch-ced94ba8.js │ ├── AjaxSearch-d09df4ab.js │ ├── AjaxSearch-ecd8b93e.js │ ├── AjaxSearch-f83342fd.css │ ├── CustomConfiguration-19a9713d.js │ ├── CustomConfiguration-50bb04e4.js │ ├── CustomConfiguration-538aa747.js │ ├── CustomConfiguration-6ee5b9d7.js │ ├── CustomConfiguration-7952697f.js │ ├── CustomConfiguration-8f779e88.js │ ├── CustomConfiguration-afeca2d2.js │ ├── CustomConfiguration-c3881403.js │ ├── CustomConfiguration-dc1e1243.js │ ├── CustomConfiguration-f5ac0620.js │ ├── CustomConfiguration-fa415d56.js │ ├── CustomConfiguration-fe8ab3cf.js │ ├── CustomOptions-0768cd7a.js │ ├── CustomOptions-393f0c69.css │ ├── CustomOptions-5a65bc46.js │ ├── CustomOptions-60209bdc.js │ ├── CustomOptions-6450c41a.js │ ├── CustomOptions-777eabd8.js │ ├── CustomOptions-8f47a91d.js │ ├── CustomOptions-b001269f.js │ ├── CustomOptions-b2251d36.js │ ├── CustomOptions-b9756934.js │ ├── CustomOptions-c9e0a8da.js │ ├── CustomOptions-da5d5c82.js │ ├── CustomOptions-fce25469.js │ ├── MultiSelect-01d9b5fe.js │ ├── MultiSelect-0be3462f.js │ ├── MultiSelect-18d7be05.js │ ├── MultiSelect-4842849b.js │ ├── MultiSelect-8274f1bd.js │ ├── MultiSelect-8811e8b4.css │ ├── MultiSelect-9328907a.js │ ├── MultiSelect-95240acd.js │ ├── MultiSelect-ad1fa82a.js │ ├── MultiSelect-b3bbd40c.css │ ├── MultiSelect-bbc96ce6.js │ ├── MultiSelect-def5ba3e.js │ ├── MultiSelect-f066b6c5.js │ ├── MultiSelect-f3ee81a6.js │ ├── OptionGroups-4d859fca.js │ ├── OptionGroups-7cfbdd3c.js │ ├── OptionGroups-961817a3.js │ ├── OptionGroups-a3f79c40.js │ ├── OptionGroups-affe8b01.js │ ├── OptionGroups-b84db960.js │ ├── OptionGroups-babbb990.js │ ├── OptionGroups-babed101.js │ ├── OptionGroups-bac33757.js │ ├── OptionGroups-bbfc3081.js │ ├── OptionGroups-c092965e.js │ ├── OptionGroups-c4a9687b.js │ ├── OptionGroups-efd89188.js │ ├── ProgrammaticControl-11efd23a.js │ ├── ProgrammaticControl-1b81c94f.js │ ├── ProgrammaticControl-2fd7dac4.js │ ├── ProgrammaticControl-399248e0.js │ ├── ProgrammaticControl-3e7f79fb.js │ ├── ProgrammaticControl-4026b96b.js │ ├── ProgrammaticControl-778a1194.js │ ├── ProgrammaticControl-84a353ca.js │ ├── ProgrammaticControl-b0f51234.js │ ├── ProgrammaticControl-b512e354.js │ ├── ProgrammaticControl-cccd4fc7.js │ ├── ProgrammaticControl-fa16491f.js │ ├── SingleSelectObject-4830d340.js │ ├── SingleSelectObject-4e4452ef.js │ ├── SingleSelectObject-4f11241a.js │ ├── SingleSelectObject-79ec3ce4.js │ ├── SingleSelectObject-93755a10.js │ ├── SingleSelectObject-9a2d17ec.js │ ├── SingleSelectObject-9dc2a538.js │ ├── SingleSelectObject-a54c0ffe.js │ ├── SingleSelectObject-b7fdeebc.js │ ├── SingleSelectObject-cd33dc39.js │ ├── SingleSelectObject-d434f6e9.js │ ├── SingleSelectObject-ef8000c9.js │ ├── SingleSelectObject-f0788f35.js │ ├── SingleSelectPrimitive-2889c563.js │ ├── SingleSelectPrimitive-3039593f.js │ ├── SingleSelectPrimitive-385096ab.js │ ├── SingleSelectPrimitive-42e42473.js │ ├── SingleSelectPrimitive-48b55078.js │ ├── SingleSelectPrimitive-4b2b9215.js │ ├── SingleSelectPrimitive-5c136666.js │ ├── SingleSelectPrimitive-62aeae1b.js │ ├── SingleSelectPrimitive-6aae7f50.js │ ├── SingleSelectPrimitive-83e99fe0.js │ ├── SingleSelectPrimitive-aad14b1a.js │ ├── SingleSelectPrimitive-d5936036.js │ ├── SingleSelectSearch-08ee8e26.js │ ├── SingleSelectSearch-490efd15.js │ ├── SingleSelectSearch-7e12fdf5.js │ ├── SingleSelectSearch-845c4c4a.js │ ├── SingleSelectSearch-9078ce31.js │ ├── SingleSelectSearch-b7cf6217.js │ ├── SingleSelectSearch-c228e798.js │ ├── SingleSelectSearch-c43b578e.js │ ├── SingleSelectSearch-e5e2d767.js │ ├── SingleSelectSearch-ef56aae4.js │ ├── SingleSelectSearch-fab8a3ea.js │ ├── SingleSelectSearch-fb5cedad.js │ ├── Tagging-13f66db2.js │ ├── Tagging-4a26960e.js │ ├── Tagging-4f00f82d.js │ ├── Tagging-6095f9d7.js │ ├── Tagging-7a307b26.js │ ├── Tagging-ab8258b2.js │ ├── Tagging-afd1559f.js │ ├── Tagging-c24a12ae.js │ ├── Tagging-c359e125.js │ ├── Tagging-c8c7db33.js │ ├── Tagging-e1e450c3.js │ ├── Tagging-ff2750c5.js │ ├── VuexSupport-184e80ad.js │ ├── VuexSupport-200c7e3a.js │ ├── VuexSupport-299c3928.js │ ├── VuexSupport-39a4e8e5.js │ ├── VuexSupport-3d6e7df2.js │ ├── VuexSupport-5edf0661.js │ ├── VuexSupport-76ce23eb.js │ ├── VuexSupport-84ced047.js │ ├── VuexSupport-8c588e53.js │ ├── VuexSupport-c19a8bb9.js │ ├── VuexSupport-cee09e9f.js │ ├── VuexSupport-e282fa8f.js │ ├── github-e02b8f2a.svg │ ├── index-07e71f3a.js │ ├── index-0e0be9db.css │ ├── index-32a5b539.js │ ├── index-3a50609c.js │ ├── index-4e40acdf.js │ ├── index-579ece85.js │ ├── index-733d20a5.js │ ├── index-7e48bb96.css │ ├── index-8204e237.js │ ├── index-9408c43d.js │ ├── index-c639dfe9.js │ ├── index-e4726db5.css │ ├── index-ef824b6a.js │ └── vue-logo-bb2438f9.png ├── index.html ├── public │ └── CNAME ├── shiki │ ├── dist │ │ ├── chunks │ │ │ └── onig-56b7efa9.mjs │ │ ├── index.browser.mjs │ │ ├── index.d.ts │ │ ├── index.esm.js │ │ ├── index.js │ │ ├── index.jsdelivr.iife.js │ │ ├── index.mjs │ │ ├── index.unpkg.iife.js │ │ ├── languages │ │ │ ├── abap.tmLanguage-23f03be6.mjs │ │ │ ├── actionscript-3.tmLanguage-cef213c4.mjs │ │ │ ├── ada.tmLanguage-c812cbb3.mjs │ │ │ ├── apache.tmLanguage-13ae24f7.mjs │ │ │ ├── apex.tmLanguage-59f98cba.mjs │ │ │ ├── apl.tmLanguage-d5366ebc.mjs │ │ │ ├── applescript.tmLanguage-0e0bae3b.mjs │ │ │ ├── ara.tmLanguage-071907fd.mjs │ │ │ ├── asm.tmLanguage-60f817f7.mjs │ │ │ ├── astro.tmLanguage-0d6ab168.mjs │ │ │ ├── awk.tmLanguage-036854f7.mjs │ │ │ ├── ballerina.tmLanguage-7d3b71ff.mjs │ │ │ ├── bat.tmLanguage-8fbec8c3.mjs │ │ │ ├── beancount.tmLanguage-45642e1a.mjs │ │ │ ├── berry.tmLanguage-9b5533c7.mjs │ │ │ ├── bibtex.tmLanguage-fc598e52.mjs │ │ │ ├── bicep.tmLanguage-dc7a40ff.mjs │ │ │ ├── blade.tmLanguage-d9190bfa.mjs │ │ │ ├── c.tmLanguage-1ff9dcec.mjs │ │ │ ├── cadence.tmLanguage-d7be92e6.mjs │ │ │ ├── clarity.tmLanguage-cefd551b.mjs │ │ │ ├── clojure.tmLanguage-29296e29.mjs │ │ │ ├── cmake.tmLanguage-3ea35bc8.mjs │ │ │ ├── cobol.tmLanguage-1aadb5b9.mjs │ │ │ ├── codeql.tmLanguage-3b632bd5.mjs │ │ │ ├── coffee.tmLanguage-6ed3b28c.mjs │ │ │ ├── cpp.tmLanguage-815420ff.mjs │ │ │ ├── crystal.tmLanguage-1023ff70.mjs │ │ │ ├── csharp.tmLanguage-35a94c19.mjs │ │ │ ├── css.tmLanguage-ddae7075.mjs │ │ │ ├── cue.tmLanguage-b8fcbc33.mjs │ │ │ ├── cypher.tmLanguage-a0179e48.mjs │ │ │ ├── d.tmLanguage-b9012936.mjs │ │ │ ├── dart.tmLanguage-6958809a.mjs │ │ │ ├── dax.tmLanguage-553d206a.mjs │ │ │ ├── diff.tmLanguage-a69d9982.mjs │ │ │ ├── docker.tmLanguage-4487995b.mjs │ │ │ ├── dream-maker.tmLanguage-ab035a00.mjs │ │ │ ├── elixir.tmLanguage-564a40b9.mjs │ │ │ ├── elm.tmLanguage-a3a9b164.mjs │ │ │ ├── erb.tmLanguage-35e5b435.mjs │ │ │ ├── erlang.tmLanguage-48bcb023.mjs │ │ │ ├── fish.tmLanguage-f2d0541b.mjs │ │ │ ├── fsharp.tmLanguage-50c72119.mjs │ │ │ ├── gdresource.tmLanguage-6a1b651d.mjs │ │ │ ├── gdscript.tmLanguage-ba0811cb.mjs │ │ │ ├── gdshader.tmLanguage-2e198d22.mjs │ │ │ ├── gherkin.tmLanguage-00b58be8.mjs │ │ │ ├── git-commit.tmLanguage-f01d6710.mjs │ │ │ ├── git-rebase.tmLanguage-e0ede1eb.mjs │ │ │ ├── glimmer-js.tmLanguage-f699a380.mjs │ │ │ ├── glimmer-ts.tmLanguage-4277041e.mjs │ │ │ ├── glsl.tmLanguage-440339e8.mjs │ │ │ ├── gnuplot.tmLanguage-10be0b3e.mjs │ │ │ ├── go.tmLanguage-290090a5.mjs │ │ │ ├── graphql.tmLanguage-6f080657.mjs │ │ │ ├── groovy.tmLanguage-0a0bc1de.mjs │ │ │ ├── hack.tmLanguage-b0111193.mjs │ │ │ ├── haml.tmLanguage-21841d45.mjs │ │ │ ├── handlebars.tmLanguage-a7c0a82b.mjs │ │ │ ├── haskell.tmLanguage-46e87b26.mjs │ │ │ ├── hcl.tmLanguage-cce67ae8.mjs │ │ │ ├── hjson.tmLanguage-fe57d2df.mjs │ │ │ ├── hlsl.tmLanguage-baf1ea76.mjs │ │ │ ├── html.tmLanguage-7bee90a8.mjs │ │ │ ├── http.tmLanguage-ddfca291.mjs │ │ │ ├── imba.tmLanguage-0a2d3e2e.mjs │ │ │ ├── ini.tmLanguage-dfc7b333.mjs │ │ │ ├── java.tmLanguage-348e34fc.mjs │ │ │ ├── javascript.tmLanguage-c53ede72.mjs │ │ │ ├── jinja-html.tmLanguage-138ee912.mjs │ │ │ ├── jison.tmLanguage-dc776b31.mjs │ │ │ ├── json.tmLanguage-f0a34dd6.mjs │ │ │ ├── json5.tmLanguage-647a087f.mjs │ │ │ ├── jsonc.tmLanguage-23a8af9f.mjs │ │ │ ├── jsonl.tmLanguage-949e3102.mjs │ │ │ ├── jsonnet.tmLanguage-a6bacf25.mjs │ │ │ ├── jssm.tmLanguage-5df9ad58.mjs │ │ │ ├── jsx.tmLanguage-8607c961.mjs │ │ │ ├── julia.tmLanguage-40aad3fa.mjs │ │ │ ├── kotlin.tmLanguage-5cfeec6d.mjs │ │ │ ├── kusto.tmLanguage-e4114bbf.mjs │ │ │ ├── latex.tmLanguage-284c1242.mjs │ │ │ ├── less.tmLanguage-3e196c19.mjs │ │ │ ├── liquid.tmLanguage-498c87c1.mjs │ │ │ ├── lisp.tmLanguage-59b3584d.mjs │ │ │ ├── logo.tmLanguage-5c644d2d.mjs │ │ │ ├── lua.tmLanguage-3826d711.mjs │ │ │ ├── make.tmLanguage-5934b3d3.mjs │ │ │ ├── markdown.tmLanguage-76bd4831.mjs │ │ │ ├── marko.tmLanguage-f7cdd412.mjs │ │ │ ├── matlab.tmLanguage-bbd592ac.mjs │ │ │ ├── mdx.tmLanguage-0e09f242.mjs │ │ │ ├── mermaid.tmLanguage-5db1f6a2.mjs │ │ │ ├── mojo.tmLanguage-ce449c28.mjs │ │ │ ├── narrat.tmLanguage-2646344e.mjs │ │ │ ├── nextflow.tmLanguage-7bff6c0e.mjs │ │ │ ├── nginx.tmLanguage-d7d0f70f.mjs │ │ │ ├── nim.tmLanguage-95389e93.mjs │ │ │ ├── nix.tmLanguage-ce2318ba.mjs │ │ │ ├── objective-c.tmLanguage-f57e891e.mjs │ │ │ ├── objective-cpp.tmLanguage-f80072f8.mjs │ │ │ ├── ocaml.tmLanguage-d9b75886.mjs │ │ │ ├── pascal.tmLanguage-1d94501b.mjs │ │ │ ├── perl.tmLanguage-9ababd67.mjs │ │ │ ├── php.tmLanguage-11848870.mjs │ │ │ ├── plsql.tmLanguage-7b7b1b95.mjs │ │ │ ├── postcss.tmLanguage-e1ce9483.mjs │ │ │ ├── powerquery.tmLanguage-5e63151a.mjs │ │ │ ├── powershell.tmLanguage-0b9e2100.mjs │ │ │ ├── prisma.tmLanguage-c4dcb630.mjs │ │ │ ├── prolog.tmLanguage-cf9cb4e0.mjs │ │ │ ├── proto.tmLanguage-791e2569.mjs │ │ │ ├── pug.tmLanguage-a02607f0.mjs │ │ │ ├── puppet.tmLanguage-f4a3eca0.mjs │ │ │ ├── purescript.tmLanguage-a543cff2.mjs │ │ │ ├── python.tmLanguage-1cba37cc.mjs │ │ │ ├── r.tmLanguage-d2ebe5ba.mjs │ │ │ ├── raku.tmLanguage-21107e05.mjs │ │ │ ├── razor.tmLanguage-00b7c492.mjs │ │ │ ├── reg.tmLanguage-c66b7785.mjs │ │ │ ├── rel.tmLanguage-ec666bfd.mjs │ │ │ ├── riscv.tmLanguage-3f2cee90.mjs │ │ │ ├── rst.tmLanguage-ef4c4c8c.mjs │ │ │ ├── ruby.tmLanguage-15dc1407.mjs │ │ │ ├── rust.tmLanguage-7f99b044.mjs │ │ │ ├── sas.tmLanguage-7595cb9a.mjs │ │ │ ├── sass.tmLanguage-cfe72fe3.mjs │ │ │ ├── scala.tmLanguage-78b9a846.mjs │ │ │ ├── scheme.tmLanguage-d7ec01c9.mjs │ │ │ ├── scss.tmLanguage-3e3c6b2d.mjs │ │ │ ├── shaderlab.tmLanguage-21a55f92.mjs │ │ │ ├── shellscript.tmLanguage-c9d85e8e.mjs │ │ │ ├── shellsession.tmLanguage-4020d968.mjs │ │ │ ├── smalltalk.tmLanguage-d20d7968.mjs │ │ │ ├── solidity.tmLanguage-5eda4445.mjs │ │ │ ├── sparql.tmLanguage-e2d30fe9.mjs │ │ │ ├── splunk.tmLanguage-334fbd1e.mjs │ │ │ ├── sql.tmLanguage-e83fef9a.mjs │ │ │ ├── ssh-config.tmLanguage-2afa8259.mjs │ │ │ ├── stata.tmLanguage-ef6f2eba.mjs │ │ │ ├── stylus.tmLanguage-0e5d68da.mjs │ │ │ ├── svelte.tmLanguage-6f52fc6f.mjs │ │ │ ├── swift.tmLanguage-0bb34705.mjs │ │ │ ├── system-verilog.tmLanguage-5011d5c2.mjs │ │ │ ├── tasl.tmLanguage-7f0a372b.mjs │ │ │ ├── tcl.tmLanguage-c8c905c3.mjs │ │ │ ├── tex.tmLanguage-6bcf6d22.mjs │ │ │ ├── toml.tmLanguage-1b8531c7.mjs │ │ │ ├── tsx.tmLanguage-267e2f5a.mjs │ │ │ ├── turtle.tmLanguage-030a353f.mjs │ │ │ ├── twig.tmLanguage-b8077558.mjs │ │ │ ├── typescript.tmLanguage-de4b3b68.mjs │ │ │ ├── v.tmLanguage-53fdea6f.mjs │ │ │ ├── vb.tmLanguage-a3ae732c.mjs │ │ │ ├── verilog.tmLanguage-c4c95c8d.mjs │ │ │ ├── vhdl.tmLanguage-f7adf5df.mjs │ │ │ ├── viml.tmLanguage-7f1108c7.mjs │ │ │ ├── vue-html.tmLanguage-5594a20c.mjs │ │ │ ├── vue.tmLanguage-d5fd1824.mjs │ │ │ ├── vyper.tmLanguage-e575ccf0.mjs │ │ │ ├── wasm.tmLanguage-54c35f12.mjs │ │ │ ├── wenyan.tmLanguage-7d801efd.mjs │ │ │ ├── wgsl.tmLanguage-06067c64.mjs │ │ │ ├── wolfram.tmLanguage-e933012c.mjs │ │ │ ├── xml.tmLanguage-42b5ff0e.mjs │ │ │ ├── xsl.tmLanguage-b431c449.mjs │ │ │ ├── yaml.tmLanguage-875d6de7.mjs │ │ │ ├── zenscript.tmLanguage-46b17e39.mjs │ │ │ └── zig.tmLanguage-f1960962.mjs │ │ ├── onig.wasm │ │ └── themes │ │ │ ├── css-variables-05f06e1d.mjs │ │ │ ├── dark-plus-3b14211e.mjs │ │ │ ├── dracula-22fc157d.mjs │ │ │ ├── dracula-soft-ab0a6f08.mjs │ │ │ ├── github-dark-45d4d058.mjs │ │ │ ├── github-dark-dimmed-2886658b.mjs │ │ │ ├── github-light-1abdeeba.mjs │ │ │ ├── hc_light-866656c0.mjs │ │ │ ├── light-plus-c4a6acc7.mjs │ │ │ ├── material-theme-8c7cb8cf.mjs │ │ │ ├── material-theme-darker-121e11cb.mjs │ │ │ ├── material-theme-lighter-67dbb5c6.mjs │ │ │ ├── material-theme-ocean-4c5f4079.mjs │ │ │ ├── material-theme-palenight-b570e313.mjs │ │ │ ├── min-dark-222484e0.mjs │ │ │ ├── min-light-76cd360d.mjs │ │ │ ├── monokai-cdbd8f53.mjs │ │ │ ├── nord-5cc6e909.mjs │ │ │ ├── one-dark-pro-25b24aee.mjs │ │ │ ├── poimandres-67d1631f.mjs │ │ │ ├── rose-pine-82cbccbd.mjs │ │ │ ├── rose-pine-dawn-c3c73070.mjs │ │ │ ├── rose-pine-moon-eff88722.mjs │ │ │ ├── slack-dark-b21eb9a6.mjs │ │ │ ├── slack-ochin-56e5a657.mjs │ │ │ ├── solarized-dark-dc3ec4c3.mjs │ │ │ ├── solarized-light-b414084a.mjs │ │ │ ├── vitesse-dark-255f0bad.mjs │ │ │ └── vitesse-light-93fe28eb.mjs │ ├── languages │ │ ├── abap.tmLanguage.json │ │ ├── actionscript-3.tmLanguage.json │ │ ├── ada.tmLanguage.json │ │ ├── apache.tmLanguage.json │ │ ├── apex.tmLanguage.json │ │ ├── apl.tmLanguage.json │ │ ├── applescript.tmLanguage.json │ │ ├── ara.tmLanguage.json │ │ ├── asm.tmLanguage.json │ │ ├── astro.tmLanguage.json │ │ ├── awk.tmLanguage.json │ │ ├── ballerina.tmLanguage.json │ │ ├── bat.tmLanguage.json │ │ ├── beancount.tmLanguage.json │ │ ├── berry.tmLanguage.json │ │ ├── bibtex.tmLanguage.json │ │ ├── bicep.tmLanguage.json │ │ ├── blade.tmLanguage.json │ │ ├── c.tmLanguage.json │ │ ├── cadence.tmLanguage.json │ │ ├── clarity.tmLanguage.json │ │ ├── clojure.tmLanguage.json │ │ ├── cmake.tmLanguage.json │ │ ├── cobol.tmLanguage.json │ │ ├── codeql.tmLanguage.json │ │ ├── coffee.tmLanguage.json │ │ ├── cpp-macro.tmLanguage.json │ │ ├── cpp.tmLanguage.json │ │ ├── crystal.tmLanguage.json │ │ ├── csharp.tmLanguage.json │ │ ├── css.tmLanguage.json │ │ ├── csv.tmLanguage.json │ │ ├── cue.tmLanguage.json │ │ ├── cypher.tmLanguage.json │ │ ├── d.tmLanguage.json │ │ ├── dart.tmLanguage.json │ │ ├── dax.tmLanguage.json │ │ ├── diff.tmLanguage.json │ │ ├── docker.tmLanguage.json │ │ ├── dream-maker.tmLanguage.json │ │ ├── elixir.tmLanguage.json │ │ ├── elm.tmLanguage.json │ │ ├── erb.tmLanguage.json │ │ ├── erlang.tmLanguage.json │ │ ├── fish.tmLanguage.json │ │ ├── fsharp.tmLanguage.json │ │ ├── gdresource.tmLanguage.json │ │ ├── gdscript.tmLanguage.json │ │ ├── gdshader.tmLanguage.json │ │ ├── gherkin.tmLanguage.json │ │ ├── git-commit.tmLanguage.json │ │ ├── git-rebase.tmLanguage.json │ │ ├── glimmer-js.tmLanguage.json │ │ ├── glimmer-ts.tmLanguage.json │ │ ├── glsl.tmLanguage.json │ │ ├── gnuplot.tmLanguage.json │ │ ├── go.tmLanguage.json │ │ ├── graphql.tmLanguage.json │ │ ├── groovy.tmLanguage.json │ │ ├── hack.tmLanguage.json │ │ ├── haml.tmLanguage.json │ │ ├── handlebars.tmLanguage.json │ │ ├── haskell.tmLanguage.json │ │ ├── hcl.tmLanguage.json │ │ ├── hjson.tmLanguage.json │ │ ├── hlsl.tmLanguage.json │ │ ├── html.tmLanguage.json │ │ ├── http.tmLanguage.json │ │ ├── imba.tmLanguage.json │ │ ├── ini.tmLanguage.json │ │ ├── java.tmLanguage.json │ │ ├── javascript.tmLanguage.json │ │ ├── jinja-html.tmLanguage.json │ │ ├── jinja.tmLanguage.json │ │ ├── jison.tmLanguage.json │ │ ├── json.tmLanguage.json │ │ ├── json5.tmLanguage.json │ │ ├── jsonc.tmLanguage.json │ │ ├── jsonl.tmLanguage.json │ │ ├── jsonnet.tmLanguage.json │ │ ├── jssm.tmLanguage.json │ │ ├── jsx.tmLanguage.json │ │ ├── julia.tmLanguage.json │ │ ├── kotlin.tmLanguage.json │ │ ├── kusto.tmLanguage.json │ │ ├── latex.tmLanguage.json │ │ ├── less.tmLanguage.json │ │ ├── liquid.tmLanguage.json │ │ ├── lisp.tmLanguage.json │ │ ├── logo.tmLanguage.json │ │ ├── lua.tmLanguage.json │ │ ├── make.tmLanguage.json │ │ ├── markdown.tmLanguage.json │ │ ├── marko.tmLanguage.json │ │ ├── matlab.tmLanguage.json │ │ ├── mdc.tmLanguage.json │ │ ├── mdx.tmLanguage.json │ │ ├── mermaid.tmLanguage.json │ │ ├── mojo.tmLanguage.json │ │ ├── narrat.tmLanguage.json │ │ ├── nextflow.tmLanguage.json │ │ ├── nginx.tmLanguage.json │ │ ├── nim.tmLanguage.json │ │ ├── nix.tmLanguage.json │ │ ├── nushell.tmLanguage.json │ │ ├── objective-c.tmLanguage.json │ │ ├── objective-cpp.tmLanguage.json │ │ ├── ocaml.tmLanguage.json │ │ ├── pascal.tmLanguage.json │ │ ├── perl.tmLanguage.json │ │ ├── php-html.tmLanguage.json │ │ ├── php.tmLanguage.json │ │ ├── plsql.tmLanguage.json │ │ ├── postcss.tmLanguage.json │ │ ├── powerquery.tmLanguage.json │ │ ├── powershell.tmLanguage.json │ │ ├── prisma.tmLanguage.json │ │ ├── prolog.tmLanguage.json │ │ ├── proto.tmLanguage.json │ │ ├── pug.tmLanguage.json │ │ ├── puppet.tmLanguage.json │ │ ├── purescript.tmLanguage.json │ │ ├── python.tmLanguage.json │ │ ├── r.tmLanguage.json │ │ ├── raku.tmLanguage.json │ │ ├── razor.tmLanguage.json │ │ ├── reg.tmLanguage.json │ │ ├── rel.tmLanguage.json │ │ ├── riscv.tmLanguage.json │ │ ├── rst.tmLanguage.json │ │ ├── ruby.tmLanguage.json │ │ ├── rust.tmLanguage.json │ │ ├── sas.tmLanguage.json │ │ ├── sass.tmLanguage.json │ │ ├── scala.tmLanguage.json │ │ ├── scheme.tmLanguage.json │ │ ├── scss.tmLanguage.json │ │ ├── shaderlab.tmLanguage.json │ │ ├── shellscript.tmLanguage.json │ │ ├── shellsession.tmLanguage.json │ │ ├── smalltalk.tmLanguage.json │ │ ├── solidity.tmLanguage.json │ │ ├── sparql.tmLanguage.json │ │ ├── splunk.tmLanguage.json │ │ ├── sql.tmLanguage.json │ │ ├── ssh-config.tmLanguage.json │ │ ├── stata.tmLanguage.json │ │ ├── stylus.tmLanguage.json │ │ ├── svelte.tmLanguage.json │ │ ├── swift.tmLanguage.json │ │ ├── system-verilog.tmLanguage.json │ │ ├── tasl.tmLanguage.json │ │ ├── tcl.tmLanguage.json │ │ ├── tex.tmLanguage.json │ │ ├── toml.tmLanguage.json │ │ ├── tsx.tmLanguage.json │ │ ├── turtle.tmLanguage.json │ │ ├── twig.tmLanguage.json │ │ ├── typescript.tmLanguage.json │ │ ├── v.tmLanguage.json │ │ ├── vb.tmLanguage.json │ │ ├── verilog.tmLanguage.json │ │ ├── vhdl.tmLanguage.json │ │ ├── viml.tmLanguage.json │ │ ├── vue-html.tmLanguage.json │ │ ├── vue.tmLanguage.json │ │ ├── vyper.tmLanguage.json │ │ ├── wasm.tmLanguage.json │ │ ├── wenyan.tmLanguage.json │ │ ├── wgsl.tmLanguage.json │ │ ├── wolfram.tmLanguage.json │ │ ├── xml.tmLanguage.json │ │ ├── xsl.tmLanguage.json │ │ ├── yaml.tmLanguage.json │ │ ├── zenscript.tmLanguage.json │ │ └── zig.tmLanguage.json │ └── themes │ │ ├── css-variables.json │ │ ├── dark-plus.json │ │ ├── dracula-soft.json │ │ ├── dracula.json │ │ ├── github-dark-dimmed.json │ │ ├── github-dark.json │ │ ├── github-light.json │ │ ├── hc_light.json │ │ ├── light-plus.json │ │ ├── material-theme-darker.json │ │ ├── material-theme-lighter.json │ │ ├── material-theme-ocean.json │ │ ├── material-theme-palenight.json │ │ ├── material-theme.json │ │ ├── min-dark.json │ │ ├── min-light.json │ │ ├── monokai.json │ │ ├── nord.json │ │ ├── one-dark-pro.json │ │ ├── poimandres.json │ │ ├── rose-pine-dawn.json │ │ ├── rose-pine-moon.json │ │ ├── rose-pine.json │ │ ├── slack-dark.json │ │ ├── slack-ochin.json │ │ ├── solarized-dark.json │ │ ├── solarized-light.json │ │ ├── vitesse-black.json │ │ ├── vitesse-dark.json │ │ └── vitesse-light.json ├── v1 │ ├── index.html │ └── static │ │ ├── css │ │ ├── app.ec9eee29ef751295f0bcd7cf82528ce8.css │ │ └── app.ec9eee29ef751295f0bcd7cf82528ce8.css.map │ │ ├── js │ │ ├── app.afd354496e6743d6c34f.js │ │ └── app.afd354496e6743d6c34f.js.map │ │ ├── monterail-logo.png │ │ ├── posters │ │ ├── creatures.png │ │ ├── fleet.png │ │ ├── resource_lab.png │ │ └── trading_post.png │ │ ├── prism.js │ │ └── vue-logo.png └── v2 │ ├── index.html │ └── static │ ├── .gitkeep │ ├── css │ ├── app.785fdcfba171d7f1dd8db2283193eb6f.css │ └── app.785fdcfba171d7f1dd8db2283193eb6f.css.map │ ├── img │ └── vue-logo.e1ea82c.png │ ├── js │ ├── app.4264536f4c748a4003cd.js │ ├── app.4264536f4c748a4003cd.js.map │ ├── app.8389de226372cbfdda24.js │ ├── app.8389de226372cbfdda24.js.map │ ├── app.d5f70c4a7a04cc78e0cb.js │ ├── app.d5f70c4a7a04cc78e0cb.js.map │ ├── manifest.9f896b10a82de255c300.js │ ├── manifest.9f896b10a82de255c300.js.map │ ├── manifest.c3d04e40b09005a54be2.js │ ├── manifest.c3d04e40b09005a54be2.js.map │ ├── manifest.e00a1d912ecf097e9856.js │ ├── manifest.e00a1d912ecf097e9856.js.map │ ├── vendor.d93ab027bb590d46d94a.js │ └── vendor.d93ab027bb590d46d94a.js.map │ ├── monterail-logo.png │ ├── posters │ ├── creatures.png │ ├── fleet.png │ ├── resource_lab.png │ └── trading_post.png │ ├── prism.js │ └── vue-logo.png ├── documentation ├── assets │ ├── _functions.sass │ ├── base │ │ ├── _animations.sass │ │ ├── _functions.sass │ │ ├── _global.sass │ │ ├── _media.sass │ │ ├── _mixins.sass │ │ ├── _typo.sass │ │ ├── _z-stack.scss │ │ └── normalize.scss │ ├── components │ │ ├── _buttons.sass │ │ ├── _dropdown.sass │ │ ├── _flex_grid.sass │ │ ├── _grid.sass │ │ ├── _inputs.sass │ │ ├── _lists.sass │ │ ├── _panels.sass │ │ ├── _table.sass │ │ └── _tabs.sass │ ├── github.svg │ ├── logo.png │ ├── multiselect.sass │ ├── posters │ │ ├── creatures.png │ │ ├── fleet.png │ │ ├── resource_lab.png │ │ └── trading_post.png │ ├── utils │ │ ├── _utils.sass │ │ └── _visibility.sass │ └── vue-logo.png ├── docs.scss ├── index.html ├── main.js ├── src │ ├── App.vue │ ├── GettingStarted.vue │ ├── components │ │ ├── CodeDemoAndExample.vue │ │ ├── Events.vue │ │ ├── MultiselectExample.vue │ │ ├── NavMenu.vue │ │ ├── Props.vue │ │ ├── Slots.vue │ │ ├── _start.vue │ │ ├── example-code │ │ │ ├── ActionDispatcher.vue │ │ │ ├── AjaxSearch.vue │ │ │ ├── CustomConfiguration.vue │ │ │ ├── CustomOptions.vue │ │ │ ├── MultiSelect.vue │ │ │ ├── OptionGroups.vue │ │ │ ├── ProgrammaticControl.vue │ │ │ ├── SingleSelectObject.vue │ │ │ ├── SingleSelectPrimitive.vue │ │ │ ├── SingleSelectSearch.vue │ │ │ ├── Tagging.vue │ │ │ ├── VuexSupport.vue │ │ │ └── js │ │ │ │ ├── countries.json │ │ │ │ └── countriesApi.js │ │ └── example-sections │ │ │ ├── ActionDispatcher.vue │ │ │ ├── AsynchronousSelect.vue │ │ │ ├── CustomConfiguration.vue │ │ │ ├── CustomOptionTemplate.vue │ │ │ ├── Examples.vue │ │ │ ├── MultipleSelect.vue │ │ │ ├── OptionGroups.vue │ │ │ ├── ProgrammaticControl.vue │ │ │ ├── SelectWithSearch.vue │ │ │ ├── SingleSelectObject.vue │ │ │ ├── SingleSelectPrimitive.vue │ │ │ ├── Tagging.vue │ │ │ └── VuexSupport.vue │ └── getting-started-code │ │ ├── HTMLInstallCode.vue │ │ └── basicUsageCode.html ├── v1 │ ├── index.html │ └── static │ │ ├── css │ │ ├── app.ec9eee29ef751295f0bcd7cf82528ce8.css │ │ └── app.ec9eee29ef751295f0bcd7cf82528ce8.css.map │ │ ├── js │ │ ├── app.afd354496e6743d6c34f.js │ │ └── app.afd354496e6743d6c34f.js.map │ │ ├── monterail-logo.png │ │ ├── posters │ │ ├── creatures.png │ │ ├── fleet.png │ │ ├── resource_lab.png │ │ └── trading_post.png │ │ ├── prism.js │ │ └── vue-logo.png ├── v2 │ ├── index.html │ └── static │ │ ├── .gitkeep │ │ ├── css │ │ ├── app.785fdcfba171d7f1dd8db2283193eb6f.css │ │ └── app.785fdcfba171d7f1dd8db2283193eb6f.css.map │ │ ├── img │ │ └── vue-logo.e1ea82c.png │ │ ├── js │ │ ├── app.4264536f4c748a4003cd.js │ │ ├── app.4264536f4c748a4003cd.js.map │ │ ├── app.8389de226372cbfdda24.js │ │ ├── app.8389de226372cbfdda24.js.map │ │ ├── app.d5f70c4a7a04cc78e0cb.js │ │ ├── app.d5f70c4a7a04cc78e0cb.js.map │ │ ├── manifest.9f896b10a82de255c300.js │ │ ├── manifest.9f896b10a82de255c300.js.map │ │ ├── manifest.c3d04e40b09005a54be2.js │ │ ├── manifest.c3d04e40b09005a54be2.js.map │ │ ├── manifest.e00a1d912ecf097e9856.js │ │ ├── manifest.e00a1d912ecf097e9856.js.map │ │ ├── vendor.d93ab027bb590d46d94a.js │ │ └── vendor.d93ab027bb590d46d94a.js.map │ │ ├── monterail-logo.png │ │ ├── posters │ │ ├── creatures.png │ │ ├── fleet.png │ │ ├── resource_lab.png │ │ └── trading_post.png │ │ ├── prism.js │ │ └── vue-logo.png └── vite.config.js ├── index.d.ts ├── index.html ├── jest.config.js ├── package-lock.json ├── package.json ├── public └── CNAME ├── rollup.config.js ├── src ├── Multiselect.vue ├── index.js ├── multiselectMixin.js └── pointerMixin.js ├── svg ├── getform.svg ├── suade.svg └── vuemastery.svg ├── tests └── unit │ ├── .eslintrc │ └── Multiselect.spec.js └── vue.config.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@vue/cli-plugin-babel/preset" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | jobs: 3 | build: 4 | docker: 5 | # specify the version you desire here 6 | - image: cimg/node:22.4.0 7 | 8 | # Specify service dependencies here if necessary 9 | # CircleCI maintains a library of pre-built images 10 | # documented at https://circleci.com/docs/2.0/circleci-images/ 11 | # - image: circleci/mongo:3.4.4 12 | 13 | working_directory: ~/repo 14 | 15 | steps: 16 | - checkout 17 | 18 | # Download and cache dependencies 19 | - restore_cache: 20 | keys: 21 | - v1-dependencies-{{ checksum "package.json" }} 22 | # fallback to using the latest cache if no exact match is found 23 | - v1-dependencies- 24 | 25 | - run: 26 | command: npm ci -d 27 | 28 | - save_cache: 29 | paths: 30 | - node_modules 31 | key: v1-dependencies-{{ checksum "package.json" }} 32 | 33 | # run tests! 34 | - run: npm run test 35 | 36 | # To reeneable that the lib needs an account on codecov 37 | # - run: 38 | # name: Send code coverage 39 | # command: './node_modules/.bin/codecov' 40 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | src/prism.js 2 | config/*.js 3 | *.pug 4 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style 4 | extends: [ 5 | 'standard', 6 | 'plugin:vue/essential' 7 | ], 8 | parserOptions: { 9 | ecmaVersion: 2017, 10 | sourceType: 'module', 11 | parser: '@babel/eslint-parser' 12 | }, 13 | // required to lint *.vue files 14 | plugins: ['html'], 15 | // add your custom rules here 16 | rules: { 17 | // allow paren-less arrow functions 18 | 'arrow-parens': 0, 19 | // allow debugger during development 20 | 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0 21 | }, 22 | globals: { 23 | env: false 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | ### Reproduction Link 20 | 21 | ### Steps to reproduce 22 | 23 | ### Expected behaviour 24 | 25 | ### Actual behaviour 26 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: npm 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | time: "04:00" 8 | open-pull-requests-limit: 10 9 | ignore: 10 | - dependency-name: "@vue/cli-plugin-babel" 11 | versions: 12 | - 4.5.11 13 | - dependency-name: webpack-bundle-analyzer 14 | versions: 15 | - 4.4.0 16 | - dependency-name: semver 17 | versions: 18 | - 7.3.4 19 | - dependency-name: cssnano 20 | versions: 21 | - 4.1.10 22 | -------------------------------------------------------------------------------- /.github/funding.yml: -------------------------------------------------------------------------------- 1 | github: [shentao, akki-jat, mattelen] 2 | -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Number of days of inactivity before an issue becomes stale 2 | daysUntilStale: 30 3 | # Number of days of inactivity before a stale issue is closed 4 | daysUntilClose: 7 5 | # Issues with these labels will never be considered stale 6 | exemptLabels: 7 | - pinned 8 | - security 9 | - enhancement 10 | # Label to use when marking an issue as stale 11 | staleLabel: wontfix 12 | # Comment to post when marking an issue as stale. Set to `false` to disable 13 | markComment: > 14 | This issue has been automatically marked as stale because it has not had 15 | recent activity. It will be closed if no further activity occurs. Thank you 16 | for your contributions. 17 | # Comment to post when closing a stale issue. Set to `false` to disable 18 | closeComment: false 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | npm-debug.log 4 | selenium-debug.log 5 | tests/unit/coverage 6 | tests/e2e/reports 7 | .idea/ 8 | /documentation/shiki/ 9 | /docs/shiki/samples/ 10 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | npm-debug.log 4 | selenium-debug.log 5 | test/unit/coverage 6 | test/e2e/reports 7 | .babelrc 8 | .editorconfig 9 | .eslintrc.js 10 | .gitignore 11 | .tern-project 12 | docs/ 13 | documentation/ 14 | gh-pages/ 15 | static/ 16 | test/ 17 | build/ 18 | .eslintignore 19 | index.html 20 | config.js 21 | bower.json 22 | v1/ 23 | .idea/ 24 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmjs.com 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | When contributing to this repository, please first discuss the change you wish to make via issues or discussions, with the maintainers of this repository before making a change. 4 | 5 | ## System Requirements 6 | - Node Version: 22.4 7 | - Package Manager: NPM 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Damian Dulisz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | vue-multiselect.js.org -------------------------------------------------------------------------------- /docs/assets/ActionDispatcher-09ad388b.js: -------------------------------------------------------------------------------- 1 | const e=` 7 | 8 | 37 | -------------------------------------------------------------------------------- /documentation/src/components/example-code/CustomConfiguration.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 43 | 44 | -------------------------------------------------------------------------------- /documentation/src/components/example-code/OptionGroups.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 47 | -------------------------------------------------------------------------------- /documentation/src/components/example-code/ProgrammaticControl.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 45 | -------------------------------------------------------------------------------- /documentation/src/components/example-code/SingleSelectObject.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 34 | 35 | 37 | -------------------------------------------------------------------------------- /documentation/src/components/example-code/SingleSelectPrimitive.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 24 | -------------------------------------------------------------------------------- /documentation/src/components/example-code/SingleSelectSearch.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 35 | -------------------------------------------------------------------------------- /documentation/src/components/example-code/Tagging.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 40 | -------------------------------------------------------------------------------- /documentation/src/components/example-code/VuexSupport.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 44 | -------------------------------------------------------------------------------- /documentation/src/components/example-code/js/countriesApi.js: -------------------------------------------------------------------------------- 1 | import countries from './countries.json' 2 | 3 | export function ajaxFindCountry (query) { 4 | return new Promise((resolve, reject) => { 5 | setTimeout(() => { 6 | const results = countries.filter((element, index, array) => { 7 | return element.name.toLowerCase().includes(query.toLowerCase()) 8 | }) 9 | resolve(results) 10 | }, 1000) 11 | }) 12 | } 13 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/ActionDispatcher.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 26 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/CustomConfiguration.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 27 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/CustomOptionTemplate.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 25 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/Examples.vue: -------------------------------------------------------------------------------- 1 | 17 | 49 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/MultipleSelect.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/OptionGroups.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 21 | 22 | 25 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/ProgrammaticControl.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 24 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/SelectWithSearch.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 23 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/SingleSelectObject.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 30 | 31 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/SingleSelectPrimitive.vue: -------------------------------------------------------------------------------- 1 | 15 | 23 | -------------------------------------------------------------------------------- /documentation/src/components/example-sections/VuexSupport.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 25 | -------------------------------------------------------------------------------- /documentation/src/getting-started-code/HTMLInstallCode.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /documentation/src/getting-started-code/basicUsageCode.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shentao/vue-multiselect/9607a4725fc3b028d8f3d68b9b88f5f975a984c3/documentation/src/getting-started-code/basicUsageCode.html -------------------------------------------------------------------------------- /documentation/v1/static/monterail-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shentao/vue-multiselect/9607a4725fc3b028d8f3d68b9b88f5f975a984c3/documentation/v1/static/monterail-logo.png -------------------------------------------------------------------------------- /documentation/v1/static/posters/creatures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shentao/vue-multiselect/9607a4725fc3b028d8f3d68b9b88f5f975a984c3/documentation/v1/static/posters/creatures.png -------------------------------------------------------------------------------- /documentation/v1/static/posters/fleet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shentao/vue-multiselect/9607a4725fc3b028d8f3d68b9b88f5f975a984c3/documentation/v1/static/posters/fleet.png -------------------------------------------------------------------------------- /documentation/v1/static/posters/resource_lab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shentao/vue-multiselect/9607a4725fc3b028d8f3d68b9b88f5f975a984c3/documentation/v1/static/posters/resource_lab.png -------------------------------------------------------------------------------- /documentation/v1/static/posters/trading_post.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shentao/vue-multiselect/9607a4725fc3b028d8f3d68b9b88f5f975a984c3/documentation/v1/static/posters/trading_post.png -------------------------------------------------------------------------------- /documentation/v1/static/vue-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shentao/vue-multiselect/9607a4725fc3b028d8f3d68b9b88f5f975a984c3/documentation/v1/static/vue-logo.png -------------------------------------------------------------------------------- /documentation/v2/static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shentao/vue-multiselect/9607a4725fc3b028d8f3d68b9b88f5f975a984c3/documentation/v2/static/.gitkeep -------------------------------------------------------------------------------- /documentation/v2/static/img/vue-logo.e1ea82c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shentao/vue-multiselect/9607a4725fc3b028d8f3d68b9b88f5f975a984c3/documentation/v2/static/img/vue-logo.e1ea82c.png -------------------------------------------------------------------------------- /documentation/v2/static/js/manifest.9f896b10a82de255c300.js: -------------------------------------------------------------------------------- 1 | !function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var i,u,f,s=0,l=[];s 2 | 3 | 4 | 5 | 6 | Vue-Multiselect | A Vue.js library 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: '@vue/cli-plugin-unit-jest' 3 | } 4 | -------------------------------------------------------------------------------- /public/CNAME: -------------------------------------------------------------------------------- 1 | vue-multiselect.js.org -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import vue from 'rollup-plugin-vue' 2 | import css from 'rollup-plugin-css-only' 3 | 4 | import fs from 'fs' 5 | import { minify } from 'csso' 6 | 7 | export default [ 8 | // ESM build to be used with webpack/rollup. 9 | { 10 | input: 'src/index.js', 11 | output: { 12 | format: 'esm', 13 | file: 'dist/vue-multiselect.esm.js' 14 | }, 15 | plugins: [ 16 | css({ output: 'vue-multiselect.esm.css' }), 17 | vue() 18 | ] 19 | }, 20 | // SSR build. 21 | { 22 | input: 'src/index.js', 23 | output: { 24 | format: 'cjs', 25 | file: 'dist/vue-multiselect.ssr.js' 26 | }, 27 | plugins: [ 28 | css({ output: 'vue-multiselect.ssr.css' }), 29 | vue({ template: { optimizeSSR: true } }) 30 | ] 31 | }, 32 | // Browser build. 33 | { 34 | input: 'src/index.js', 35 | output: { 36 | format: 'iife', 37 | file: 'dist/vue-multiselect.js', 38 | name: 'VueMultiselect', 39 | external: ['vue'], 40 | globals: { 41 | vue: 'Vue' 42 | } 43 | }, 44 | plugins: [ 45 | css({ 46 | output: function (styles) { 47 | fs.writeFileSync('dist/vue-multiselect.css', styles) 48 | fs.writeFileSync('dist/vue-multiselect.min.css', minify(styles).css) 49 | } 50 | }), 51 | vue() 52 | ] 53 | } 54 | ] 55 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import Multiselect from './Multiselect.vue' 2 | import multiselectMixin from './multiselectMixin.js' 3 | import pointerMixin from './pointerMixin.js' 4 | 5 | export default Multiselect 6 | 7 | export { Multiselect, multiselectMixin, pointerMixin } 8 | -------------------------------------------------------------------------------- /tests/unit/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jest": true 4 | }, 5 | "rules": { 6 | "import/no-extraneous-dependencies": "off" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | 3 | module.exports = { 4 | configureWebpack: { 5 | resolve: { 6 | alias: { 7 | 'vue-multiselect': path.resolve(__dirname, 'src/') 8 | } 9 | } 10 | } 11 | } 12 | --------------------------------------------------------------------------------