From 1f5f38f9bad71cd2f5e871910b428b5d7ea45c1d Mon Sep 17 00:00:00 2001 From: shentao Date: Mon, 3 May 2021 16:19:31 +0200 Subject: [PATCH] Release: 3.0.0-alpha.1 --- README.md | 108 +- dist/dist/vue-multiselect.css | 467 ++++++ dist/dist/vue-multiselect.esm.css | 467 ++++++ dist/dist/vue-multiselect.ssr.css | 467 ++++++ ...ct.common.js => vue-multiselect.common.js} | 48 +- dist/vue-multiselect.common.js.map | 1 + ...e3-multiselect.css => vue-multiselect.css} | 0 dist/vue-multiselect.esm.js | 1324 ++++++++++++++++ dist/vue-multiselect.js | 1333 +++++++++++++++++ dist/vue-multiselect.ssr.js | 1330 ++++++++++++++++ ...tiselect.umd.js => vue-multiselect.umd.js} | 52 +- dist/vue-multiselect.umd.js.map | 1 + dist/vue-multiselect.umd.min.js | 2 + dist/vue-multiselect.umd.min.js.map | 1 + dist/vue3-multiselect.common.js.map | 1 - dist/vue3-multiselect.umd.js.map | 1 - dist/vue3-multiselect.umd.min.js | 2 - dist/vue3-multiselect.umd.min.js.map | 1 - package-lock.json | 238 ++- package.json | 29 +- rollup.config.js | 41 + src/Multiselect.vue | 6 +- src/index.js | 6 +- vue.config.js | 2 +- 24 files changed, 5739 insertions(+), 189 deletions(-) create mode 100644 dist/dist/vue-multiselect.css create mode 100644 dist/dist/vue-multiselect.esm.css create mode 100644 dist/dist/vue-multiselect.ssr.css rename dist/{vue3-multiselect.common.js => vue-multiselect.common.js} (98%) create mode 100644 dist/vue-multiselect.common.js.map rename dist/{vue3-multiselect.css => vue-multiselect.css} (100%) create mode 100644 dist/vue-multiselect.esm.js create mode 100644 dist/vue-multiselect.js create mode 100644 dist/vue-multiselect.ssr.js rename dist/{vue3-multiselect.umd.js => vue-multiselect.umd.js} (98%) create mode 100644 dist/vue-multiselect.umd.js.map create mode 100644 dist/vue-multiselect.umd.min.js create mode 100644 dist/vue-multiselect.umd.min.js.map delete mode 100644 dist/vue3-multiselect.common.js.map delete mode 100644 dist/vue3-multiselect.umd.js.map delete mode 100644 dist/vue3-multiselect.umd.min.js delete mode 100644 dist/vue3-multiselect.umd.min.js.map create mode 100644 rollup.config.js diff --git a/README.md b/README.md index 6185aaa0..782066ea 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,41 @@ -# vue3-multiselect -A Vue 3 upgrade of [@shentao's](https://github.com/shentao) [vue-mulitselect](https://github.com/shentao/vue-multiselect) component. -The idea is that when you upgrade to Vue 3, you can swap the two components out, and everything should simply work. +# vue-multiselect -Feel free to check out our story of how we upgraded our product to Vue 3 on our blog at [suade.org](https://suade.org/dev/a-products-vue-3-migration-a-real-life-story/) +## Documentation + +> Documentation for v3.0.0 is the same as for v2.x as it is mostly backward compatible. + +Visit: [vue-multiselect.js.org](https://vue-multiselect.js.org/#sub-getting-started) + +## Sponsors + +### Gold + +

+ + Vuejs Amsterdam + +

+

+ + Vue - The Road To Enterprise + +

+ +### Silver + +

+ + Storyblok + +

+ +### Bronze + +

+ + Vue Mastery logo + +

## Features & characteristics: * NO dependencies @@ -23,41 +56,41 @@ Feel free to check out our story of how we upgraded our product to Vue 3 on our ## Install & basic usage ```bash -npm install @suadelabs/vue3-multiselect +npm install vue-multiselect@next ``` ```vue - + ``` ## Examples -in jade-lang/pug-lang +inhtml-lang/pug-lang ### Single select / dropdown -``` jade -multiselect( +```vue + ``` ### Single select with search -``` jade -multiselect( +```vue + ``` ### Multiple select with search -``` jade -multiselect( +```vue + ``` ### Tagging with `@tag` event -``` jade -multiselect( +```vue + ``` ``` javascript @@ -125,8 +158,8 @@ addTag (newTag) { ``` ### Asynchronous dropdown -``` jade -multiselect( +```vue + + Oops! No elements found. Consider changing the search query. + + ``` ``` javascript @@ -148,6 +183,12 @@ methods: { } ``` +## Special Thanks + +Thanks to Matt Elen for contributing this version! + +> A Vue 3 upgrade of [@shentao's](https://github.com/shentao) [vue-mulitselect](https://github.com/shentao/vue-multiselect) component. The idea is that when you upgrade to Vue 3, you can swap the two components out, and everything should simply work. Feel free to check out our story of how we upgraded our product to Vue 3 on our blog at [suade.org](https://suade.org/dev/a-products-vue-3-migration-a-real-life-story/) + ## Contributing ``` bash @@ -158,4 +199,3 @@ npm run bundle npm run test ``` - diff --git a/dist/dist/vue-multiselect.css b/dist/dist/vue-multiselect.css new file mode 100644 index 00000000..2095aaa1 --- /dev/null +++ b/dist/dist/vue-multiselect.css @@ -0,0 +1,467 @@ + + + fieldset[disabled] .multiselect { + pointer-events: none; + } + + .multiselect__spinner { + position: absolute; + right: 1px; + top: 1px; + width: 48px; + height: 35px; + background: #fff; + display: block; + } + + .multiselect__spinner::before, + .multiselect__spinner::after { + position: absolute; + content: ""; + top: 50%; + left: 50%; + margin: -8px 0 0 -8px; + width: 16px; + height: 16px; + border-radius: 100%; + border-color: #41b883 transparent transparent; + border-style: solid; + border-width: 2px; + box-shadow: 0 0 0 1px transparent; + } + + .multiselect__spinner::before { + animation: spinning 2.4s cubic-bezier(0.41, 0.26, 0.2, 0.62); + animation-iteration-count: infinite; + } + + .multiselect__spinner::after { + animation: spinning 2.4s cubic-bezier(0.51, 0.09, 0.21, 0.8); + animation-iteration-count: infinite; + } + + .multiselect__loading-enter-active, + .multiselect__loading-leave-active { + transition: opacity 0.4s ease-in-out; + opacity: 1; + } + + .multiselect__loading-enter, + .multiselect__loading-leave-active { + opacity: 0; + } + + .multiselect, + .multiselect__input, + .multiselect__single { + font-family: inherit; + font-size: 16px; + touch-action: manipulation; + } + + .multiselect { + box-sizing: content-box; + display: block; + position: relative; + width: 100%; + min-height: 40px; + text-align: left; + color: #35495e; + } + + .multiselect * { + box-sizing: border-box; + } + + .multiselect:focus { + outline: none; + } + + .multiselect--disabled { + background: #ededed; + pointer-events: none; + opacity: 0.6; + } + + .multiselect--active { + z-index: 50; + } + + .multiselect--active:not(.multiselect--above) .multiselect__current, + .multiselect--active:not(.multiselect--above) .multiselect__input, + .multiselect--active:not(.multiselect--above) .multiselect__tags { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + + .multiselect--active .multiselect__select { + transform: rotateZ(180deg); + } + + .multiselect--above.multiselect--active .multiselect__current, + .multiselect--above.multiselect--active .multiselect__input, + .multiselect--above.multiselect--active .multiselect__tags { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + .multiselect__input, + .multiselect__single { + position: relative; + display: inline-block; + min-height: 20px; + line-height: 20px; + border: none; + border-radius: 5px; + background: #fff; + padding: 0 0 0 5px; + width: calc(100%); + transition: border 0.1s ease; + box-sizing: border-box; + margin-bottom: 8px; + vertical-align: top; + } + + .multiselect__input::placeholder { + color: #35495e; + } + + .multiselect__tag ~ .multiselect__input, + .multiselect__tag ~ .multiselect__single { + width: auto; + } + + .multiselect__input:hover, + .multiselect__single:hover { + border-color: #cfcfcf; + } + + .multiselect__input:focus, + .multiselect__single:focus { + border-color: #a8a8a8; + outline: none; + } + + .multiselect__single { + padding-left: 5px; + margin-bottom: 8px; + } + + .multiselect__tags-wrap { + display: inline; + } + + .multiselect__tags { + min-height: 40px; + display: block; + padding: 8px 40px 0 8px; + border-radius: 5px; + border: 1px solid #e8e8e8; + background: #fff; + font-size: 14px; + } + + .multiselect__tag { + position: relative; + display: inline-block; + padding: 4px 26px 4px 10px; + border-radius: 5px; + margin-right: 10px; + color: #fff; + line-height: 1; + background: #41b883; + margin-bottom: 5px; + white-space: nowrap; + overflow: hidden; + max-width: 100%; + text-overflow: ellipsis; + } + + .multiselect__tag-icon { + cursor: pointer; + margin-left: 7px; + position: absolute; + right: 0; + top: 0; + bottom: 0; + font-weight: 700; + font-style: initial; + width: 22px; + text-align: center; + line-height: 22px; + transition: all 0.2s ease; + border-radius: 5px; + } + + .multiselect__tag-icon::after { + content: "×"; + color: #266d4d; + font-size: 14px; + } + + /* // Remove these lines to avoid green closing button + //.multiselect__tag-icon:focus, + //.multiselect__tag-icon:hover { + // background: #369a6e; + //} */ + + .multiselect__tag-icon:focus::after, + .multiselect__tag-icon:hover::after { + color: white; + } + + .multiselect__current { + line-height: 16px; + min-height: 40px; + box-sizing: border-box; + display: block; + overflow: hidden; + padding: 8px 12px 0; + padding-right: 30px; + white-space: nowrap; + margin: 0; + text-decoration: none; + border-radius: 5px; + border: 1px solid #e8e8e8; + cursor: pointer; + } + + .multiselect__select { + line-height: 16px; + display: block; + position: absolute; + box-sizing: border-box; + width: 40px; + height: 38px; + right: 1px; + top: 1px; + padding: 4px 8px; + margin: 0; + text-decoration: none; + text-align: center; + cursor: pointer; + transition: transform 0.2s ease; + } + + .multiselect__select::before { + position: relative; + right: 0; + top: 65%; + color: #999; + margin-top: 4px; + border-style: solid; + border-width: 5px 5px 0 5px; + border-color: #999 transparent transparent transparent; + content: ""; + } + + .multiselect__placeholder { + color: #adadad; + display: inline-block; + margin-bottom: 10px; + padding-top: 2px; + } + + .multiselect--active .multiselect__placeholder { + display: none; + } + + .multiselect__content-wrapper { + position: absolute; + display: block; + background: #fff; + width: 100%; + max-height: 240px; + overflow: auto; + border: 1px solid #e8e8e8; + border-top: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + z-index: 50; + -webkit-overflow-scrolling: touch; + } + + .multiselect__content { + list-style: none; + display: inline-block; + padding: 0; + margin: 0; + min-width: 100%; + vertical-align: top; + } + + .multiselect--above .multiselect__content-wrapper { + bottom: 100%; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + border-bottom: none; + border-top: 1px solid #e8e8e8; + } + + .multiselect__content::-webkit-scrollbar { + display: none; + } + + .multiselect__element { + display: block; + } + + .multiselect__option { + display: block; + padding: 12px; + min-height: 40px; + line-height: 16px; + text-decoration: none; + text-transform: none; + vertical-align: middle; + position: relative; + cursor: pointer; + white-space: nowrap; + } + + .multiselect__option::after { + top: 0; + right: 0; + position: absolute; + line-height: 40px; + padding-right: 12px; + padding-left: 20px; + font-size: 13px; + } + + .multiselect__option--highlight { + background: #41b883; + outline: none; + color: white; + } + + .multiselect__option--highlight::after { + content: attr(data-select); + background: #41b883; + color: white; + } + + .multiselect__option--selected { + background: #f3f3f3; + color: #35495e; + font-weight: bold; + } + + .multiselect__option--selected::after { + content: attr(data-selected); + color: silver; + } + + .multiselect__option--selected.multiselect__option--highlight { + background: #ff6a6a; + color: #fff; + } + + .multiselect__option--selected.multiselect__option--highlight::after { + background: #ff6a6a; + content: attr(data-deselect); + color: #fff; + } + + .multiselect--disabled .multiselect__current, + .multiselect--disabled .multiselect__select { + background: #ededed; + color: #a6a6a6; + } + + .multiselect__option--disabled { + background: #ededed !important; + color: #a6a6a6 !important; + cursor: text; + pointer-events: none; + } + + .multiselect__option--group { + background: #ededed; + color: #35495e; + } + + .multiselect__option--group.multiselect__option--highlight { + background: #35495e; + color: #fff; + } + + .multiselect__option--group.multiselect__option--highlight::after { + background: #35495e; + } + + .multiselect__option--disabled.multiselect__option--highlight { + background: #dedede; + } + + .multiselect__option--group-selected.multiselect__option--highlight { + background: #ff6a6a; + color: #fff; + } + + .multiselect__option--group-selected.multiselect__option--highlight::after { + background: #ff6a6a; + content: attr(data-deselect); + color: #fff; + } + + .multiselect-enter-active, + .multiselect-leave-active { + transition: all 0.15s ease; + } + + .multiselect-enter, + .multiselect-leave-active { + opacity: 0; + } + + .multiselect__strong { + margin-bottom: 8px; + line-height: 20px; + display: inline-block; + vertical-align: top; + } + + *[dir="rtl"] .multiselect { + text-align: right; + } + + *[dir="rtl"] .multiselect__select { + right: auto; + left: 1px; + } + + *[dir="rtl"] .multiselect__tags { + padding: 8px 8px 0 40px; + } + + *[dir="rtl"] .multiselect__content { + text-align: right; + } + + *[dir="rtl"] .multiselect__option::after { + right: auto; + left: 0; + } + + *[dir="rtl"] .multiselect__clear { + right: auto; + left: 12px; + } + + *[dir="rtl"] .multiselect__spinner { + right: auto; + left: 1px; + } + + @keyframes spinning { + from { + transform: rotate(0); + } + + to { + transform: rotate(2turn); + } + } diff --git a/dist/dist/vue-multiselect.esm.css b/dist/dist/vue-multiselect.esm.css new file mode 100644 index 00000000..2095aaa1 --- /dev/null +++ b/dist/dist/vue-multiselect.esm.css @@ -0,0 +1,467 @@ + + + fieldset[disabled] .multiselect { + pointer-events: none; + } + + .multiselect__spinner { + position: absolute; + right: 1px; + top: 1px; + width: 48px; + height: 35px; + background: #fff; + display: block; + } + + .multiselect__spinner::before, + .multiselect__spinner::after { + position: absolute; + content: ""; + top: 50%; + left: 50%; + margin: -8px 0 0 -8px; + width: 16px; + height: 16px; + border-radius: 100%; + border-color: #41b883 transparent transparent; + border-style: solid; + border-width: 2px; + box-shadow: 0 0 0 1px transparent; + } + + .multiselect__spinner::before { + animation: spinning 2.4s cubic-bezier(0.41, 0.26, 0.2, 0.62); + animation-iteration-count: infinite; + } + + .multiselect__spinner::after { + animation: spinning 2.4s cubic-bezier(0.51, 0.09, 0.21, 0.8); + animation-iteration-count: infinite; + } + + .multiselect__loading-enter-active, + .multiselect__loading-leave-active { + transition: opacity 0.4s ease-in-out; + opacity: 1; + } + + .multiselect__loading-enter, + .multiselect__loading-leave-active { + opacity: 0; + } + + .multiselect, + .multiselect__input, + .multiselect__single { + font-family: inherit; + font-size: 16px; + touch-action: manipulation; + } + + .multiselect { + box-sizing: content-box; + display: block; + position: relative; + width: 100%; + min-height: 40px; + text-align: left; + color: #35495e; + } + + .multiselect * { + box-sizing: border-box; + } + + .multiselect:focus { + outline: none; + } + + .multiselect--disabled { + background: #ededed; + pointer-events: none; + opacity: 0.6; + } + + .multiselect--active { + z-index: 50; + } + + .multiselect--active:not(.multiselect--above) .multiselect__current, + .multiselect--active:not(.multiselect--above) .multiselect__input, + .multiselect--active:not(.multiselect--above) .multiselect__tags { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + + .multiselect--active .multiselect__select { + transform: rotateZ(180deg); + } + + .multiselect--above.multiselect--active .multiselect__current, + .multiselect--above.multiselect--active .multiselect__input, + .multiselect--above.multiselect--active .multiselect__tags { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + .multiselect__input, + .multiselect__single { + position: relative; + display: inline-block; + min-height: 20px; + line-height: 20px; + border: none; + border-radius: 5px; + background: #fff; + padding: 0 0 0 5px; + width: calc(100%); + transition: border 0.1s ease; + box-sizing: border-box; + margin-bottom: 8px; + vertical-align: top; + } + + .multiselect__input::placeholder { + color: #35495e; + } + + .multiselect__tag ~ .multiselect__input, + .multiselect__tag ~ .multiselect__single { + width: auto; + } + + .multiselect__input:hover, + .multiselect__single:hover { + border-color: #cfcfcf; + } + + .multiselect__input:focus, + .multiselect__single:focus { + border-color: #a8a8a8; + outline: none; + } + + .multiselect__single { + padding-left: 5px; + margin-bottom: 8px; + } + + .multiselect__tags-wrap { + display: inline; + } + + .multiselect__tags { + min-height: 40px; + display: block; + padding: 8px 40px 0 8px; + border-radius: 5px; + border: 1px solid #e8e8e8; + background: #fff; + font-size: 14px; + } + + .multiselect__tag { + position: relative; + display: inline-block; + padding: 4px 26px 4px 10px; + border-radius: 5px; + margin-right: 10px; + color: #fff; + line-height: 1; + background: #41b883; + margin-bottom: 5px; + white-space: nowrap; + overflow: hidden; + max-width: 100%; + text-overflow: ellipsis; + } + + .multiselect__tag-icon { + cursor: pointer; + margin-left: 7px; + position: absolute; + right: 0; + top: 0; + bottom: 0; + font-weight: 700; + font-style: initial; + width: 22px; + text-align: center; + line-height: 22px; + transition: all 0.2s ease; + border-radius: 5px; + } + + .multiselect__tag-icon::after { + content: "×"; + color: #266d4d; + font-size: 14px; + } + + /* // Remove these lines to avoid green closing button + //.multiselect__tag-icon:focus, + //.multiselect__tag-icon:hover { + // background: #369a6e; + //} */ + + .multiselect__tag-icon:focus::after, + .multiselect__tag-icon:hover::after { + color: white; + } + + .multiselect__current { + line-height: 16px; + min-height: 40px; + box-sizing: border-box; + display: block; + overflow: hidden; + padding: 8px 12px 0; + padding-right: 30px; + white-space: nowrap; + margin: 0; + text-decoration: none; + border-radius: 5px; + border: 1px solid #e8e8e8; + cursor: pointer; + } + + .multiselect__select { + line-height: 16px; + display: block; + position: absolute; + box-sizing: border-box; + width: 40px; + height: 38px; + right: 1px; + top: 1px; + padding: 4px 8px; + margin: 0; + text-decoration: none; + text-align: center; + cursor: pointer; + transition: transform 0.2s ease; + } + + .multiselect__select::before { + position: relative; + right: 0; + top: 65%; + color: #999; + margin-top: 4px; + border-style: solid; + border-width: 5px 5px 0 5px; + border-color: #999 transparent transparent transparent; + content: ""; + } + + .multiselect__placeholder { + color: #adadad; + display: inline-block; + margin-bottom: 10px; + padding-top: 2px; + } + + .multiselect--active .multiselect__placeholder { + display: none; + } + + .multiselect__content-wrapper { + position: absolute; + display: block; + background: #fff; + width: 100%; + max-height: 240px; + overflow: auto; + border: 1px solid #e8e8e8; + border-top: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + z-index: 50; + -webkit-overflow-scrolling: touch; + } + + .multiselect__content { + list-style: none; + display: inline-block; + padding: 0; + margin: 0; + min-width: 100%; + vertical-align: top; + } + + .multiselect--above .multiselect__content-wrapper { + bottom: 100%; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + border-bottom: none; + border-top: 1px solid #e8e8e8; + } + + .multiselect__content::-webkit-scrollbar { + display: none; + } + + .multiselect__element { + display: block; + } + + .multiselect__option { + display: block; + padding: 12px; + min-height: 40px; + line-height: 16px; + text-decoration: none; + text-transform: none; + vertical-align: middle; + position: relative; + cursor: pointer; + white-space: nowrap; + } + + .multiselect__option::after { + top: 0; + right: 0; + position: absolute; + line-height: 40px; + padding-right: 12px; + padding-left: 20px; + font-size: 13px; + } + + .multiselect__option--highlight { + background: #41b883; + outline: none; + color: white; + } + + .multiselect__option--highlight::after { + content: attr(data-select); + background: #41b883; + color: white; + } + + .multiselect__option--selected { + background: #f3f3f3; + color: #35495e; + font-weight: bold; + } + + .multiselect__option--selected::after { + content: attr(data-selected); + color: silver; + } + + .multiselect__option--selected.multiselect__option--highlight { + background: #ff6a6a; + color: #fff; + } + + .multiselect__option--selected.multiselect__option--highlight::after { + background: #ff6a6a; + content: attr(data-deselect); + color: #fff; + } + + .multiselect--disabled .multiselect__current, + .multiselect--disabled .multiselect__select { + background: #ededed; + color: #a6a6a6; + } + + .multiselect__option--disabled { + background: #ededed !important; + color: #a6a6a6 !important; + cursor: text; + pointer-events: none; + } + + .multiselect__option--group { + background: #ededed; + color: #35495e; + } + + .multiselect__option--group.multiselect__option--highlight { + background: #35495e; + color: #fff; + } + + .multiselect__option--group.multiselect__option--highlight::after { + background: #35495e; + } + + .multiselect__option--disabled.multiselect__option--highlight { + background: #dedede; + } + + .multiselect__option--group-selected.multiselect__option--highlight { + background: #ff6a6a; + color: #fff; + } + + .multiselect__option--group-selected.multiselect__option--highlight::after { + background: #ff6a6a; + content: attr(data-deselect); + color: #fff; + } + + .multiselect-enter-active, + .multiselect-leave-active { + transition: all 0.15s ease; + } + + .multiselect-enter, + .multiselect-leave-active { + opacity: 0; + } + + .multiselect__strong { + margin-bottom: 8px; + line-height: 20px; + display: inline-block; + vertical-align: top; + } + + *[dir="rtl"] .multiselect { + text-align: right; + } + + *[dir="rtl"] .multiselect__select { + right: auto; + left: 1px; + } + + *[dir="rtl"] .multiselect__tags { + padding: 8px 8px 0 40px; + } + + *[dir="rtl"] .multiselect__content { + text-align: right; + } + + *[dir="rtl"] .multiselect__option::after { + right: auto; + left: 0; + } + + *[dir="rtl"] .multiselect__clear { + right: auto; + left: 12px; + } + + *[dir="rtl"] .multiselect__spinner { + right: auto; + left: 1px; + } + + @keyframes spinning { + from { + transform: rotate(0); + } + + to { + transform: rotate(2turn); + } + } diff --git a/dist/dist/vue-multiselect.ssr.css b/dist/dist/vue-multiselect.ssr.css new file mode 100644 index 00000000..2095aaa1 --- /dev/null +++ b/dist/dist/vue-multiselect.ssr.css @@ -0,0 +1,467 @@ + + + fieldset[disabled] .multiselect { + pointer-events: none; + } + + .multiselect__spinner { + position: absolute; + right: 1px; + top: 1px; + width: 48px; + height: 35px; + background: #fff; + display: block; + } + + .multiselect__spinner::before, + .multiselect__spinner::after { + position: absolute; + content: ""; + top: 50%; + left: 50%; + margin: -8px 0 0 -8px; + width: 16px; + height: 16px; + border-radius: 100%; + border-color: #41b883 transparent transparent; + border-style: solid; + border-width: 2px; + box-shadow: 0 0 0 1px transparent; + } + + .multiselect__spinner::before { + animation: spinning 2.4s cubic-bezier(0.41, 0.26, 0.2, 0.62); + animation-iteration-count: infinite; + } + + .multiselect__spinner::after { + animation: spinning 2.4s cubic-bezier(0.51, 0.09, 0.21, 0.8); + animation-iteration-count: infinite; + } + + .multiselect__loading-enter-active, + .multiselect__loading-leave-active { + transition: opacity 0.4s ease-in-out; + opacity: 1; + } + + .multiselect__loading-enter, + .multiselect__loading-leave-active { + opacity: 0; + } + + .multiselect, + .multiselect__input, + .multiselect__single { + font-family: inherit; + font-size: 16px; + touch-action: manipulation; + } + + .multiselect { + box-sizing: content-box; + display: block; + position: relative; + width: 100%; + min-height: 40px; + text-align: left; + color: #35495e; + } + + .multiselect * { + box-sizing: border-box; + } + + .multiselect:focus { + outline: none; + } + + .multiselect--disabled { + background: #ededed; + pointer-events: none; + opacity: 0.6; + } + + .multiselect--active { + z-index: 50; + } + + .multiselect--active:not(.multiselect--above) .multiselect__current, + .multiselect--active:not(.multiselect--above) .multiselect__input, + .multiselect--active:not(.multiselect--above) .multiselect__tags { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + + .multiselect--active .multiselect__select { + transform: rotateZ(180deg); + } + + .multiselect--above.multiselect--active .multiselect__current, + .multiselect--above.multiselect--active .multiselect__input, + .multiselect--above.multiselect--active .multiselect__tags { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + .multiselect__input, + .multiselect__single { + position: relative; + display: inline-block; + min-height: 20px; + line-height: 20px; + border: none; + border-radius: 5px; + background: #fff; + padding: 0 0 0 5px; + width: calc(100%); + transition: border 0.1s ease; + box-sizing: border-box; + margin-bottom: 8px; + vertical-align: top; + } + + .multiselect__input::placeholder { + color: #35495e; + } + + .multiselect__tag ~ .multiselect__input, + .multiselect__tag ~ .multiselect__single { + width: auto; + } + + .multiselect__input:hover, + .multiselect__single:hover { + border-color: #cfcfcf; + } + + .multiselect__input:focus, + .multiselect__single:focus { + border-color: #a8a8a8; + outline: none; + } + + .multiselect__single { + padding-left: 5px; + margin-bottom: 8px; + } + + .multiselect__tags-wrap { + display: inline; + } + + .multiselect__tags { + min-height: 40px; + display: block; + padding: 8px 40px 0 8px; + border-radius: 5px; + border: 1px solid #e8e8e8; + background: #fff; + font-size: 14px; + } + + .multiselect__tag { + position: relative; + display: inline-block; + padding: 4px 26px 4px 10px; + border-radius: 5px; + margin-right: 10px; + color: #fff; + line-height: 1; + background: #41b883; + margin-bottom: 5px; + white-space: nowrap; + overflow: hidden; + max-width: 100%; + text-overflow: ellipsis; + } + + .multiselect__tag-icon { + cursor: pointer; + margin-left: 7px; + position: absolute; + right: 0; + top: 0; + bottom: 0; + font-weight: 700; + font-style: initial; + width: 22px; + text-align: center; + line-height: 22px; + transition: all 0.2s ease; + border-radius: 5px; + } + + .multiselect__tag-icon::after { + content: "×"; + color: #266d4d; + font-size: 14px; + } + + /* // Remove these lines to avoid green closing button + //.multiselect__tag-icon:focus, + //.multiselect__tag-icon:hover { + // background: #369a6e; + //} */ + + .multiselect__tag-icon:focus::after, + .multiselect__tag-icon:hover::after { + color: white; + } + + .multiselect__current { + line-height: 16px; + min-height: 40px; + box-sizing: border-box; + display: block; + overflow: hidden; + padding: 8px 12px 0; + padding-right: 30px; + white-space: nowrap; + margin: 0; + text-decoration: none; + border-radius: 5px; + border: 1px solid #e8e8e8; + cursor: pointer; + } + + .multiselect__select { + line-height: 16px; + display: block; + position: absolute; + box-sizing: border-box; + width: 40px; + height: 38px; + right: 1px; + top: 1px; + padding: 4px 8px; + margin: 0; + text-decoration: none; + text-align: center; + cursor: pointer; + transition: transform 0.2s ease; + } + + .multiselect__select::before { + position: relative; + right: 0; + top: 65%; + color: #999; + margin-top: 4px; + border-style: solid; + border-width: 5px 5px 0 5px; + border-color: #999 transparent transparent transparent; + content: ""; + } + + .multiselect__placeholder { + color: #adadad; + display: inline-block; + margin-bottom: 10px; + padding-top: 2px; + } + + .multiselect--active .multiselect__placeholder { + display: none; + } + + .multiselect__content-wrapper { + position: absolute; + display: block; + background: #fff; + width: 100%; + max-height: 240px; + overflow: auto; + border: 1px solid #e8e8e8; + border-top: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + z-index: 50; + -webkit-overflow-scrolling: touch; + } + + .multiselect__content { + list-style: none; + display: inline-block; + padding: 0; + margin: 0; + min-width: 100%; + vertical-align: top; + } + + .multiselect--above .multiselect__content-wrapper { + bottom: 100%; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + border-bottom: none; + border-top: 1px solid #e8e8e8; + } + + .multiselect__content::-webkit-scrollbar { + display: none; + } + + .multiselect__element { + display: block; + } + + .multiselect__option { + display: block; + padding: 12px; + min-height: 40px; + line-height: 16px; + text-decoration: none; + text-transform: none; + vertical-align: middle; + position: relative; + cursor: pointer; + white-space: nowrap; + } + + .multiselect__option::after { + top: 0; + right: 0; + position: absolute; + line-height: 40px; + padding-right: 12px; + padding-left: 20px; + font-size: 13px; + } + + .multiselect__option--highlight { + background: #41b883; + outline: none; + color: white; + } + + .multiselect__option--highlight::after { + content: attr(data-select); + background: #41b883; + color: white; + } + + .multiselect__option--selected { + background: #f3f3f3; + color: #35495e; + font-weight: bold; + } + + .multiselect__option--selected::after { + content: attr(data-selected); + color: silver; + } + + .multiselect__option--selected.multiselect__option--highlight { + background: #ff6a6a; + color: #fff; + } + + .multiselect__option--selected.multiselect__option--highlight::after { + background: #ff6a6a; + content: attr(data-deselect); + color: #fff; + } + + .multiselect--disabled .multiselect__current, + .multiselect--disabled .multiselect__select { + background: #ededed; + color: #a6a6a6; + } + + .multiselect__option--disabled { + background: #ededed !important; + color: #a6a6a6 !important; + cursor: text; + pointer-events: none; + } + + .multiselect__option--group { + background: #ededed; + color: #35495e; + } + + .multiselect__option--group.multiselect__option--highlight { + background: #35495e; + color: #fff; + } + + .multiselect__option--group.multiselect__option--highlight::after { + background: #35495e; + } + + .multiselect__option--disabled.multiselect__option--highlight { + background: #dedede; + } + + .multiselect__option--group-selected.multiselect__option--highlight { + background: #ff6a6a; + color: #fff; + } + + .multiselect__option--group-selected.multiselect__option--highlight::after { + background: #ff6a6a; + content: attr(data-deselect); + color: #fff; + } + + .multiselect-enter-active, + .multiselect-leave-active { + transition: all 0.15s ease; + } + + .multiselect-enter, + .multiselect-leave-active { + opacity: 0; + } + + .multiselect__strong { + margin-bottom: 8px; + line-height: 20px; + display: inline-block; + vertical-align: top; + } + + *[dir="rtl"] .multiselect { + text-align: right; + } + + *[dir="rtl"] .multiselect__select { + right: auto; + left: 1px; + } + + *[dir="rtl"] .multiselect__tags { + padding: 8px 8px 0 40px; + } + + *[dir="rtl"] .multiselect__content { + text-align: right; + } + + *[dir="rtl"] .multiselect__option::after { + right: auto; + left: 0; + } + + *[dir="rtl"] .multiselect__clear { + right: auto; + left: 12px; + } + + *[dir="rtl"] .multiselect__spinner { + right: auto; + left: 1px; + } + + @keyframes spinning { + from { + transform: rotate(0); + } + + to { + transform: rotate(2turn); + } + } diff --git a/dist/vue3-multiselect.common.js b/dist/vue-multiselect.common.js similarity index 98% rename from dist/vue3-multiselect.common.js rename to dist/vue-multiselect.common.js index f27c44a6..1eff075a 100644 --- a/dist/vue3-multiselect.common.js +++ b/dist/vue-multiselect.common.js @@ -199,17 +199,6 @@ if (new Date(NaN) + '' != INVALID_DATE) { } -/***/ }), - -/***/ "0dd4": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_1adbf360_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("302e"); -/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_1adbf360_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_1adbf360_lang_scss__WEBPACK_IMPORTED_MODULE_0__); -/* unused harmony reexport * */ - - /***/ }), /***/ "129f": @@ -512,13 +501,6 @@ if (v8) { module.exports = version && +version; -/***/ }), - -/***/ "302e": -/***/ (function(module, exports, __webpack_require__) { - -// extracted by mini-css-extract-plugin - /***/ }), /***/ "342f": @@ -1066,6 +1048,17 @@ module.exports = function ($this, dummy, Wrapper) { }; +/***/ }), + +/***/ "71eb": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_008768af_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fefd"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_008768af_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_008768af_lang_css__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + /***/ }), /***/ "7418": @@ -2725,7 +2718,7 @@ var es_function_name = __webpack_require__("b0c0"); // EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/Multiselect.vue?vue&type=template&id=1adbf360 +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/Multiselect.vue?vue&type=template&id=008768af @@ -2973,7 +2966,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { _: 3 })], 42, ["tabindex", "aria-owns"]); } -// CONCATENATED MODULE: ./src/Multiselect.vue?vue&type=template&id=1adbf360 +// CONCATENATED MODULE: ./src/Multiselect.vue?vue&type=template&id=008768af // EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js var es_number_constructor = __webpack_require__("a9e3"); @@ -3981,7 +3974,7 @@ var flow = function flow() { } } }); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/Multiselect.vue?vue&type=script&lang=js +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/Multiselect.vue?vue&type=script&lang=js @@ -4218,8 +4211,8 @@ var flow = function flow() { }); // CONCATENATED MODULE: ./src/Multiselect.vue?vue&type=script&lang=js -// EXTERNAL MODULE: ./src/Multiselect.vue?vue&type=style&index=0&id=1adbf360&lang=scss -var Multiselectvue_type_style_index_0_id_1adbf360_lang_scss = __webpack_require__("0dd4"); +// EXTERNAL MODULE: ./src/Multiselect.vue?vue&type=style&index=0&id=008768af&lang=css +var Multiselectvue_type_style_index_0_id_008768af_lang_css = __webpack_require__("71eb"); // CONCATENATED MODULE: ./src/Multiselect.vue @@ -4325,7 +4318,14 @@ module.exports = NATIVE_SYMBOL && typeof Symbol.iterator == 'symbol'; +/***/ }), + +/***/ "fefd": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + /***/ }) /******/ }); -//# sourceMappingURL=vue3-multiselect.common.js.map \ No newline at end of file +//# sourceMappingURL=vue-multiselect.common.js.map \ No newline at end of file diff --git a/dist/vue-multiselect.common.js.map b/dist/vue-multiselect.common.js.map new file mode 100644 index 00000000..a111cc75 --- /dev/null +++ b/dist/vue-multiselect.common.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://vue-multiselect/webpack/bootstrap","webpack://vue-multiselect/./node_modules/core-js/internals/to-string-tag-support.js","webpack://vue-multiselect/./node_modules/core-js/internals/function-bind-context.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://vue-multiselect/./node_modules/core-js/internals/ie8-dom-define.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.date.to-string.js","webpack://vue-multiselect/./node_modules/core-js/internals/same-value.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.reduce.js","webpack://vue-multiselect/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://vue-multiselect/./node_modules/core-js/internals/html.js","webpack://vue-multiselect/./node_modules/core-js/internals/a-function.js","webpack://vue-multiselect/./node_modules/core-js/internals/require-object-coercible.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-absolute-index.js","webpack://vue-multiselect/./node_modules/core-js/internals/export.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.is-array.js","webpack://vue-multiselect/./node_modules/core-js/internals/engine-v8-version.js","webpack://vue-multiselect/./node_modules/core-js/internals/engine-user-agent.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-define-properties.js","webpack://vue-multiselect/./node_modules/core-js/internals/a-possible-prototype.js","webpack://vue-multiselect/./node_modules/core-js/internals/path.js","webpack://vue-multiselect/./node_modules/core-js/internals/indexed-object.js","webpack://vue-multiselect/./node_modules/core-js/internals/add-to-unscopables.js","webpack://vue-multiselect/./node_modules/core-js/internals/native-symbol.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.string.trim.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-includes.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.filter.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.sort.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-length.js","webpack://vue-multiselect/./node_modules/core-js/internals/has.js","webpack://vue-multiselect/./node_modules/core-js/internals/shared.js","webpack://vue-multiselect/./node_modules/core-js/internals/own-keys.js","webpack://vue-multiselect/./node_modules/core-js/internals/whitespaces.js","webpack://vue-multiselect/./node_modules/core-js/internals/string-trim.js","webpack://vue-multiselect/./node_modules/core-js/internals/create-property-descriptor.js","webpack://vue-multiselect/./node_modules/core-js/internals/engine-is-node.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-species-create.js","webpack://vue-multiselect/./node_modules/core-js/internals/internal-state.js","webpack://vue-multiselect/./node_modules/core-js/internals/redefine.js","webpack://vue-multiselect/./node_modules/core-js/internals/inherit-if-required.js","webpack://vue-multiselect/./src/Multiselect.vue?95e8","webpack://vue-multiselect/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://vue-multiselect/./node_modules/core-js/internals/enum-bug-keys.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-object.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-create.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.find.js","webpack://vue-multiselect/./node_modules/core-js/internals/native-weak-map.js","webpack://vue-multiselect/./node_modules/core-js/internals/an-object.js","webpack://vue-multiselect/./node_modules/core-js/internals/descriptors.js","webpack://vue-multiselect/./node_modules/core-js/internals/create-property.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.string.search.js","webpack://vue-multiselect/./node_modules/core-js/internals/is-object.js","webpack://vue-multiselect/./node_modules/@soda/get-current-script/index.js","webpack://vue-multiselect/./node_modules/core-js/internals/inspect-source.js","webpack://vue-multiselect/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue-multiselect/./node_modules/core-js/internals/uid.js","webpack://vue-multiselect/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://vue-multiselect/./node_modules/core-js/internals/regexp-exec.js","webpack://vue-multiselect/./node_modules/core-js/internals/is-forced.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.concat.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-define-property.js","webpack://vue-multiselect/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.every.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-method-is-strict.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-integer.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.number.constructor.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.regexp.exec.js","webpack://vue-multiselect/./node_modules/core-js/internals/regexp-flags.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-to-string.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.function.name.js","webpack://vue-multiselect/./node_modules/core-js/internals/well-known-symbol.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-iteration.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-primitive.js","webpack://vue-multiselect/./node_modules/core-js/internals/is-pure.js","webpack://vue-multiselect/./node_modules/core-js/internals/classof-raw.js","webpack://vue-multiselect/./node_modules/core-js/internals/shared-store.js","webpack://vue-multiselect/(webpack)/buildin/global.js","webpack://vue-multiselect/./node_modules/core-js/internals/string-trim-forced.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.index-of.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-keys-internal.js","webpack://vue-multiselect/./node_modules/core-js/internals/document-create-element.js","webpack://vue-multiselect/./node_modules/core-js/internals/set-global.js","webpack://vue-multiselect/./node_modules/core-js/internals/hidden-keys.js","webpack://vue-multiselect/./node_modules/core-js/internals/fails.js","webpack://vue-multiselect/./node_modules/core-js/internals/get-built-in.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.object.to-string.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-reduce.js","webpack://vue-multiselect/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.map.js","webpack://vue-multiselect/./node_modules/core-js/internals/global.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-keys.js","webpack://vue-multiselect/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://vue-multiselect/./node_modules/core-js/internals/is-array.js","webpack://vue-multiselect/./node_modules/core-js/internals/classof.js","webpack://vue-multiselect/./node_modules/core-js/internals/shared-key.js","webpack://vue-multiselect/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-multiselect/./src/Multiselect.vue","webpack://vue-multiselect/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vue-multiselect/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vue-multiselect/./src/multiselectMixin.js","webpack://vue-multiselect/./src/pointerMixin.js","webpack://vue-multiselect/./src/Multiselect.vue?b537","webpack://vue-multiselect/./src/Multiselect.vue?8fb6","webpack://vue-multiselect/./src/index.js","webpack://vue-multiselect/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.slice.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-indexed-object.js","webpack://vue-multiselect/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://vue-multiselect/./src/Multiselect.vue?bd70"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","isEmpty","opt","Array","isArray","length","not","fun","includes","str","query","undefined","text","toString","toLowerCase","indexOf","trim","filterOptions","options","search","label","customLabel","filter","option","sort","a","b","stripGroups","$isLabel","flattenOptions","values","reduce","prev","curr","push","$groupLabel","concat","filterGroups","groupLabel","groups","map","group","console","warn","groupOptions","flow","fns","x","v","f","data","isOpen","preferredOpenDirection","optimizedHeight","maxHeight","props","internalSearch","type","Boolean","required","multiple","trackBy","String","searchable","clearOnSelect","hideSelected","placeholder","allowEmpty","resetAfter","closeOnSelect","Function","taggable","tagPlaceholder","tagPosition","max","Number","id","optionsLimit","groupValues","groupSelect","blockKeys","preserveSearch","preselectFirst","mounted","internalValue","select","filteredOptions","computed","modelValue","normalizedSearch","filterAndFlat","isSelected","isExistingOption","isTag","unshift","slice","valueKeys","element","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","watch","$emit","emits","methods","getValue","updateSearch","isOptionDisabled","$isDisabled","selectGroup","disabled","pointerDirty","deactivate","removeElement","selectedGroup","find","wholeGroupSelected","newValue","optionsToAdd","every","wholeGroupDisabled","shouldClose","index","removeLastElement","activate","adjustPosition","pointer","$nextTick","$refs","focus","$el","blur","toggle","window","spaceAbove","getBoundingClientRect","top","spaceBelow","innerHeight","bottom","hasEnoughSpaceBelow","openDirection","Math","min","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","setAttribute","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","list","scrollTop","pointerBackward","pointerSet","Multiselect"],"mappings":"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;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,UAAU,mBAAO,CAAC,MAAkB;AACpC,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACvCD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBA;AAAA;AAAA;;;;;;;;ACAA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;AACA;AACA;;;;;;;;ACNA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,uBAAuB,mBAAO,CAAC,MAAuC;AACtE,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,WAAW,mBAAO,CAAC,MAAmB;AACtC,4BAA4B,mBAAO,CAAC,MAAsC;AAC1E,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;AC7Ea;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA8B;AAClD,uBAAuB,mBAAO,CAAC,MAAiC;;AAEhE;AACA;;AAEA;AACA,4CAA4C,qBAAqB,EAAE;;AAEnE;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;ACpBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;;AAEA;;;;;;;;ACLA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;ACLY;AACb,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACjCD;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;AC9ED,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACXA,gC;;;;;;;ACAA;AACA;;AAEA;AACA;AACA;;;;;;;;ACLA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;ACTa;AACb,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,oBAAoB,mBAAO,CAAC,MAAyB;;AAErD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACvFA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;;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;AAC/C,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvBD,4BAA4B,mBAAO,CAAC,MAAoC;AACxE,eAAe,mBAAO,CAAC,MAAuB;AAC9C,eAAe,mBAAO,CAAC,MAA+B;;AAEtD;AACA;AACA;AACA,oDAAoD,eAAe;AACnE;;;;;;;;ACRA,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;;AAE/C,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,uCAAuC;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvCa;AACb;AACA,mBAAO,CAAC,MAA2B;AACnC,eAAe,mBAAO,CAAC,MAAuB;AAC9C,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;;AAEA,2BAA2B,m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","file":"vue-multiselect.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (new Date(NaN) + '' != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n /* global Symbol -- required for testing */\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? nativeSort.call(toObject(this))\n : nativeSort.call(toObject(this), aFunction(comparefn));\n }\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.9.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=style&index=0&id=008768af&lang=css\"","exports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n\n\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function isEmpty (opt) {\n if (opt === 0) return false\n if (Array.isArray(opt) && opt.length === 0) return true\n return !opt\n}\n\nfunction not (fun) {\n return (...params) => !fun(...params)\n}\n\nfunction includes (str, query) {\n /* istanbul ignore else */\n if (str === undefined) str = 'undefined'\n if (str === null) str = 'null'\n if (str === false) str = 'false'\n const text = str.toString().toLowerCase()\n return text.indexOf(query.trim()) !== -1\n}\n\nfunction filterOptions (options, search, label, customLabel) {\n return search ? options\n .filter((option) => includes(customLabel(option, label), search))\n .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options\n}\n\nfunction stripGroups (options) {\n return options.filter((option) => !option.$isLabel)\n}\n\nfunction flattenOptions (values, label) {\n return (options) =>\n options.reduce((prev, curr) => {\n /* istanbul ignore else */\n if (curr[values] && curr[values].length) {\n prev.push({\n $groupLabel: curr[label],\n $isLabel: true\n })\n return prev.concat(curr[values])\n }\n return prev\n }, [])\n}\n\nfunction filterGroups (search, label, values, groupLabel, customLabel) {\n return (groups) =>\n groups.map((group) => {\n /* istanbul ignore else */\n if (!group[values]) {\n console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`)\n return []\n }\n const groupOptions = filterOptions(group[values], search, label, customLabel)\n\n return groupOptions.length\n ? {\n [groupLabel]: group[groupLabel],\n [values]: groupOptions\n }\n : []\n })\n}\n\nconst flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x)\n\nexport default {\n data () {\n return {\n search: '',\n isOpen: false,\n preferredOpenDirection: 'below',\n optimizedHeight: this.maxHeight\n }\n },\n props: {\n /**\n * Decide whether to filter the results based on search query.\n * Useful for async filtering, where we search through more complex data.\n * @type {Boolean}\n */\n internalSearch: {\n type: Boolean,\n default: true\n },\n /**\n * Array of available options: Objects, Strings or Integers.\n * If array of objects, visible label will default to option.label.\n * If `labal` prop is passed, label will equal option['label']\n * @type {Array}\n */\n options: {\n type: Array,\n required: true\n },\n /**\n * Equivalent to the `multiple` attribute on a `` input.\n * @default 'Select option'\n * @type {String}\n */\n placeholder: {\n type: String,\n default: 'Select option'\n },\n /**\n * Allow to remove all selected values\n * @default true\n * @type {Boolean}\n */\n allowEmpty: {\n type: Boolean,\n default: true\n },\n /**\n * Reset this.internalValue, this.search after this.internalValue changes.\n * Useful if want to create a stateless dropdown.\n * @default false\n * @type {Boolean}\n */\n resetAfter: {\n type: Boolean,\n default: false\n },\n /**\n * Enable/disable closing after selecting an option\n * @default true\n * @type {Boolean}\n */\n closeOnSelect: {\n type: Boolean,\n default: true\n },\n /**\n * Function to interpolate the custom label\n * @default false\n * @type {Function}\n */\n customLabel: {\n type: Function,\n default (option, label) {\n if (isEmpty(option)) return ''\n return label ? option[label] : option\n }\n },\n /**\n * Disable / Enable tagging\n * @default false\n * @type {Boolean}\n */\n taggable: {\n type: Boolean,\n default: false\n },\n /**\n * String to show when highlighting a potential tag\n * @default 'Press enter to create a tag'\n * @type {String}\n */\n tagPlaceholder: {\n type: String,\n default: 'Press enter to create a tag'\n },\n /**\n * By default new tags will appear above the search results.\n * Changing to 'bottom' will revert this behaviour\n * and will proritize the search results\n * @default 'top'\n * @type {String}\n */\n tagPosition: {\n type: String,\n default: 'top'\n },\n /**\n * Number of allowed selected options. No limit if 0.\n * @default 0\n * @type {Number}\n */\n max: {\n type: [Number, Boolean],\n default: false\n },\n /**\n * Will be passed with all events as second param.\n * Useful for identifying events origin.\n * @default null\n * @type {String|Integer}\n */\n id: {\n default: null\n },\n /**\n * Limits the options displayed in the dropdown\n * to the first X options.\n * @default 1000\n * @type {Integer}\n */\n optionsLimit: {\n type: Number,\n default: 1000\n },\n /**\n * Name of the property containing\n * the group values\n * @default 1000\n * @type {String}\n */\n groupValues: {\n type: String\n },\n /**\n * Name of the property containing\n * the group label\n * @default 1000\n * @type {String}\n */\n groupLabel: {\n type: String\n },\n /**\n * Allow to select all group values\n * by selecting the group label\n * @default false\n * @type {Boolean}\n */\n groupSelect: {\n type: Boolean,\n default: false\n },\n /**\n * Array of keyboard keys to block\n * when selecting\n * @default 1000\n * @type {String}\n */\n blockKeys: {\n type: Array,\n default () {\n return []\n }\n },\n /**\n * Prevent from wiping up the search value\n * @default false\n * @type {Boolean}\n */\n preserveSearch: {\n type: Boolean,\n default: false\n },\n /**\n * Select 1st options if value is empty\n * @default false\n * @type {Boolean}\n */\n preselectFirst: {\n type: Boolean,\n default: false\n }\n },\n mounted () {\n /* istanbul ignore else */\n if (!this.multiple && this.max) {\n console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.')\n }\n if (\n this.preselectFirst &&\n !this.internalValue.length &&\n this.options.length\n ) {\n this.select(this.filteredOptions[0])\n }\n },\n computed: {\n internalValue () {\n return this.modelValue || this.modelValue === 0\n ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]\n : []\n },\n filteredOptions () {\n const search = this.search || ''\n const normalizedSearch = search.toLowerCase().trim()\n\n let options = this.options.concat()\n\n /* istanbul ignore else */\n if (this.internalSearch) {\n options = this.groupValues\n ? this.filterAndFlat(options, normalizedSearch, this.label)\n : filterOptions(options, normalizedSearch, this.label, this.customLabel)\n } else {\n options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options\n }\n\n options = this.hideSelected\n ? options.filter(not(this.isSelected))\n : options\n\n /* istanbul ignore else */\n if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {\n if (this.tagPosition === 'bottom') {\n options.push({isTag: true, label: search})\n } else {\n options.unshift({isTag: true, label: search})\n }\n }\n\n return options.slice(0, this.optionsLimit)\n },\n valueKeys () {\n if (this.trackBy) {\n return this.internalValue.map((element) => element[this.trackBy])\n } else {\n return this.internalValue\n }\n },\n optionKeys () {\n const options = this.groupValues ? this.flatAndStrip(this.options) : this.options\n return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase())\n },\n currentOptionLabel () {\n return this.multiple\n ? this.searchable ? '' : this.placeholder\n : this.internalValue.length\n ? this.getOptionLabel(this.internalValue[0])\n : this.searchable ? '' : this.placeholder\n }\n },\n watch: {\n internalValue () {\n /* istanbul ignore else */\n if (this.resetAfter && this.internalValue.length) {\n this.search = ''\n this.$emit('update:modelValue', this.multiple ? [] : null)\n }\n },\n search () {\n this.$emit('search-change', this.search)\n }\n },\n emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'],\n methods: {\n /**\n * Returns the internalValue in a way it can be emited to the parent\n * @returns {Object||Array||String||Integer}\n */\n getValue () {\n return this.multiple\n ? this.internalValue\n : this.internalValue.length === 0\n ? null\n : this.internalValue[0]\n },\n /**\n * Filters and then flattens the options list\n * @param {Array}\n * @return {Array} returns a filtered and flat options list\n */\n filterAndFlat (options, search, label) {\n return flow(\n filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),\n flattenOptions(this.groupValues, this.groupLabel)\n )(options)\n },\n /**\n * Flattens and then strips the group labels from the options list\n * @param {Array}\n * @return {Array} returns a flat options list without group labels\n */\n flatAndStrip (options) {\n return flow(\n flattenOptions(this.groupValues, this.groupLabel),\n stripGroups\n )(options)\n },\n /**\n * Updates the search value\n * @param {String}\n */\n updateSearch (query) {\n this.search = query\n },\n /**\n * Finds out if the given query is already present\n * in the available options\n * @param {String}\n * @return {Boolean} returns true if element is available\n */\n isExistingOption (query) {\n return !this.options\n ? false\n : this.optionKeys.indexOf(query) > -1\n },\n /**\n * Finds out if the given element is already present\n * in the result value\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is selected\n */\n isSelected (option) {\n const opt = this.trackBy\n ? option[this.trackBy]\n : option\n return this.valueKeys.indexOf(opt) > -1\n },\n /**\n * Finds out if the given option is disabled\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is disabled\n */\n isOptionDisabled (option) {\n return !!option.$isDisabled\n },\n /**\n * Returns empty string when options is null/undefined\n * Returns tag query if option is tag.\n * Returns the customLabel() results and casts it to string.\n *\n * @param {Object||String||Integer} Passed option\n * @returns {Object||String}\n */\n getOptionLabel (option) {\n if (isEmpty(option)) return ''\n /* istanbul ignore else */\n if (option.isTag) return option.label\n /* istanbul ignore else */\n if (option.$isLabel) return option.$groupLabel\n\n const label = this.customLabel(option, this.label)\n /* istanbul ignore else */\n if (isEmpty(label)) return ''\n return label\n },\n /**\n * Add the given option to the list of selected options\n * or sets the option as the selected option.\n * If option is already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} option to select/deselect\n * @param {Boolean} block removing\n */\n select (option, key) {\n /* istanbul ignore else */\n if (option.$isLabel && this.groupSelect) {\n this.selectGroup(option)\n return\n }\n if (this.blockKeys.indexOf(key) !== -1 ||\n this.disabled ||\n option.$isDisabled ||\n option.$isLabel\n ) return\n /* istanbul ignore else */\n if (this.max && this.multiple && this.internalValue.length === this.max) return\n /* istanbul ignore else */\n if (key === 'Tab' && !this.pointerDirty) return\n if (option.isTag) {\n this.$emit('tag', option.label, this.id)\n this.search = ''\n if (this.closeOnSelect && !this.multiple) this.deactivate()\n } else {\n const isSelected = this.isSelected(option)\n\n if (isSelected) {\n if (key !== 'Tab') this.removeElement(option)\n return\n }\n\n this.$emit('select', option, this.id)\n\n if (this.multiple) {\n this.$emit('update:modelValue', this.internalValue.concat([option]))\n } else {\n this.$emit('update:modelValue', option)\n }\n\n /* istanbul ignore else */\n if (this.clearOnSelect) this.search = ''\n }\n /* istanbul ignore else */\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Add the given group options to the list of selected options\n * If all group optiona are already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} group to select/deselect\n */\n selectGroup (selectedGroup) {\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n if (!group) return\n\n if (this.wholeGroupSelected(group)) {\n this.$emit('remove', group[this.groupValues], this.id)\n\n const newValue = this.internalValue.filter(\n (option) => group[this.groupValues].indexOf(option) === -1\n )\n\n this.$emit('update:modelValue', newValue)\n } else {\n const optionsToAdd = group[this.groupValues].filter(\n (option) => !(this.isOptionDisabled(option) || this.isSelected(option))\n )\n\n this.$emit('select', optionsToAdd, this.id)\n this.$emit(\n 'update:modelValue',\n this.internalValue.concat(optionsToAdd)\n )\n }\n\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Helper to identify if all values in a group are selected\n *\n * @param {Object} group to validated selected values against\n */\n wholeGroupSelected (group) {\n return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option)\n )\n },\n /**\n * Helper to identify if all values in a group are disabled\n *\n * @param {Object} group to check for disabled values\n */\n wholeGroupDisabled (group) {\n return group[this.groupValues].every(this.isOptionDisabled)\n },\n /**\n * Removes the given option from the selected options.\n * Additionally checks this.allowEmpty prop if option can be removed when\n * it is the last selected option.\n *\n * @param {type} option description\n * @return {type} description\n */\n removeElement (option, shouldClose = true) {\n /* istanbul ignore else */\n if (this.disabled) return\n /* istanbul ignore else */\n if (option.$isDisabled) return\n /* istanbul ignore else */\n if (!this.allowEmpty && this.internalValue.length <= 1) {\n this.deactivate()\n return\n }\n\n const index = typeof option === 'object'\n ? this.valueKeys.indexOf(option[this.trackBy])\n : this.valueKeys.indexOf(option)\n\n this.$emit('remove', option, this.id)\n if (this.multiple) {\n const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1))\n this.$emit('update:modelValue', newValue)\n } else {\n this.$emit('update:modelValue', null)\n }\n\n /* istanbul ignore else */\n if (this.closeOnSelect && shouldClose) this.deactivate()\n },\n /**\n * Calls this.removeElement() with the last element\n * from this.internalValue (selected element Array)\n *\n * @fires this#removeElement\n */\n removeLastElement () {\n /* istanbul ignore else */\n if (this.blockKeys.indexOf('Delete') !== -1) return\n /* istanbul ignore else */\n if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {\n this.removeElement(this.internalValue[this.internalValue.length - 1], false)\n }\n },\n /**\n * Opens the multiselect’s dropdown.\n * Sets this.isOpen to TRUE\n */\n activate () {\n /* istanbul ignore else */\n if (this.isOpen || this.disabled) return\n\n this.adjustPosition()\n /* istanbul ignore else */\n if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {\n this.pointer = 1\n }\n\n this.isOpen = true\n /* istanbul ignore else */\n if (this.searchable) {\n if (!this.preserveSearch) this.search = ''\n this.$nextTick(() => this.$refs.search && this.$refs.search.focus())\n } else {\n this.$el.focus()\n }\n this.$emit('open', this.id)\n },\n /**\n * Closes the multiselect’s dropdown.\n * Sets this.isOpen to FALSE\n */\n deactivate () {\n /* istanbul ignore else */\n if (!this.isOpen) return\n\n this.isOpen = false\n /* istanbul ignore else */\n if (this.searchable) {\n this.$refs.search && this.$refs.search.blur()\n } else {\n this.$el.blur()\n }\n if (!this.preserveSearch) this.search = ''\n this.$emit('close', this.getValue(), this.id)\n },\n /**\n * Call this.activate() or this.deactivate()\n * depending on this.isOpen value.\n *\n * @fires this#activate || this#deactivate\n * @property {Boolean} isOpen indicates if dropdown is open\n */\n toggle () {\n this.isOpen\n ? this.deactivate()\n : this.activate()\n },\n /**\n * Updates the hasEnoughSpace variable used for\n * detecting where to expand the dropdown\n */\n adjustPosition () {\n if (typeof window === 'undefined') return\n\n const spaceAbove = this.$el.getBoundingClientRect().top\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom\n const hasEnoughSpaceBelow = spaceBelow > this.maxHeight\n\n if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') {\n this.preferredOpenDirection = 'below'\n this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight)\n } else {\n this.preferredOpenDirection = 'above'\n this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight)\n }\n }\n }\n}\n","export default {\n data () {\n return {\n pointer: 0,\n pointerDirty: false\n }\n },\n props: {\n /**\n * Enable/disable highlighting of the pointed value.\n * @type {Boolean}\n * @default true\n */\n showPointer: {\n type: Boolean,\n default: true\n },\n optionHeight: {\n type: Number,\n default: 40\n }\n },\n computed: {\n pointerPosition () {\n return this.pointer * this.optionHeight\n },\n visibleElements () {\n return this.optimizedHeight / this.optionHeight\n }\n },\n watch: {\n filteredOptions () {\n this.pointerAdjust()\n },\n isOpen () {\n this.pointerDirty = false\n },\n pointer () {\n this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString())\n }\n },\n methods: {\n optionHighlight (index, option) {\n return {\n 'multiselect__option--highlight': index === this.pointer && this.showPointer,\n 'multiselect__option--selected': this.isSelected(option)\n }\n },\n groupHighlight (index, selectedGroup) {\n if (!this.groupSelect) {\n return [\n 'multiselect__option--disabled',\n {'multiselect__option--group': selectedGroup.$isLabel}\n ]\n }\n\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n return group && !this.wholeGroupDisabled(group) ? [\n 'multiselect__option--group',\n {'multiselect__option--highlight': index === this.pointer && this.showPointer},\n {'multiselect__option--group-selected': this.wholeGroupSelected(group)}\n ] : 'multiselect__option--disabled'\n },\n addPointerElement ({key} = 'Enter') {\n /* istanbul ignore else */\n if (this.filteredOptions.length > 0) {\n this.select(this.filteredOptions[this.pointer], key)\n }\n this.pointerReset()\n },\n pointerForward () {\n /* istanbul ignore else */\n if (this.pointer < this.filteredOptions.length - 1) {\n this.pointer++\n /* istanbul ignore next */\n if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {\n this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerBackward () {\n if (this.pointer > 0) {\n this.pointer--\n /* istanbul ignore else */\n if (this.$refs.list.scrollTop >= this.pointerPosition) {\n this.$refs.list.scrollTop = this.pointerPosition\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerBackward()\n } else {\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[0].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerReset () {\n /* istanbul ignore else */\n if (!this.closeOnSelect) return\n this.pointer = 0\n /* istanbul ignore else */\n if (this.$refs.list) {\n this.$refs.list.scrollTop = 0\n }\n },\n pointerAdjust () {\n /* istanbul ignore else */\n if (this.pointer >= this.filteredOptions.length - 1) {\n this.pointer = this.filteredOptions.length\n ? this.filteredOptions.length - 1\n : 0\n }\n\n if (this.filteredOptions.length > 0 &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) {\n this.pointerForward()\n }\n },\n pointerSet (index) {\n this.pointer = index\n this.pointerDirty = true\n }\n }\n}\n","export { default } from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=script&lang=js\"; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=script&lang=js\"","import { render } from \"./Multiselect.vue?vue&type=template&id=008768af\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js\"\n\nimport \"./Multiselect.vue?vue&type=style&index=0&id=008768af&lang=css\"\nscript.render = render\n\nexport default script","import Multiselect from './Multiselect.vue'\nimport multiselectMixin from './multiselectMixin.js'\nimport pointerMixin from './pointerMixin.js'\n\nexport default Multiselect\n\nexport {Multiselect, multiselectMixin, pointerMixin}\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n /* global Symbol -- safe */\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","// extracted by mini-css-extract-plugin"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue3-multiselect.css b/dist/vue-multiselect.css similarity index 100% rename from dist/vue3-multiselect.css rename to dist/vue-multiselect.css diff --git a/dist/vue-multiselect.esm.js b/dist/vue-multiselect.esm.js new file mode 100644 index 00000000..12c9efdc --- /dev/null +++ b/dist/vue-multiselect.esm.js @@ -0,0 +1,1324 @@ +import { openBlock, createBlock, withKeys, withModifiers, renderSlot, createVNode, withDirectives, Fragment, renderList, toDisplayString, vShow, createCommentVNode, Transition, withCtx, createTextVNode } from 'vue'; + +function isEmpty (opt) { + if (opt === 0) return false + if (Array.isArray(opt) && opt.length === 0) return true + return !opt +} + +function not (fun) { + return (...params) => !fun(...params) +} + +function includes (str, query) { + /* istanbul ignore else */ + if (str === undefined) str = 'undefined'; + if (str === null) str = 'null'; + if (str === false) str = 'false'; + const text = str.toString().toLowerCase(); + return text.indexOf(query.trim()) !== -1 +} + +function filterOptions (options, search, label, customLabel) { + return search ? options + .filter((option) => includes(customLabel(option, label), search)) + .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options +} + +function stripGroups (options) { + return options.filter((option) => !option.$isLabel) +} + +function flattenOptions (values, label) { + return (options) => + options.reduce((prev, curr) => { + /* istanbul ignore else */ + if (curr[values] && curr[values].length) { + prev.push({ + $groupLabel: curr[label], + $isLabel: true + }); + return prev.concat(curr[values]) + } + return prev + }, []) +} + +function filterGroups (search, label, values, groupLabel, customLabel) { + return (groups) => + groups.map((group) => { + /* istanbul ignore else */ + if (!group[values]) { + console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`); + return [] + } + const groupOptions = filterOptions(group[values], search, label, customLabel); + + return groupOptions.length + ? { + [groupLabel]: group[groupLabel], + [values]: groupOptions + } + : [] + }) +} + +const flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x); + +var multiselectMixin = { + data () { + return { + search: '', + isOpen: false, + preferredOpenDirection: 'below', + optimizedHeight: this.maxHeight + } + }, + props: { + /** + * Decide whether to filter the results based on search query. + * Useful for async filtering, where we search through more complex data. + * @type {Boolean} + */ + internalSearch: { + type: Boolean, + default: true + }, + /** + * Array of available options: Objects, Strings or Integers. + * If array of objects, visible label will default to option.label. + * If `labal` prop is passed, label will equal option['label'] + * @type {Array} + */ + options: { + type: Array, + required: true + }, + /** + * Equivalent to the `multiple` attribute on a `` input. + * @default 'Select option' + * @type {String} + */ + placeholder: { + type: String, + default: 'Select option' + }, + /** + * Allow to remove all selected values + * @default true + * @type {Boolean} + */ + allowEmpty: { + type: Boolean, + default: true + }, + /** + * Reset this.internalValue, this.search after this.internalValue changes. + * Useful if want to create a stateless dropdown. + * @default false + * @type {Boolean} + */ + resetAfter: { + type: Boolean, + default: false + }, + /** + * Enable/disable closing after selecting an option + * @default true + * @type {Boolean} + */ + closeOnSelect: { + type: Boolean, + default: true + }, + /** + * Function to interpolate the custom label + * @default false + * @type {Function} + */ + customLabel: { + type: Function, + default (option, label) { + if (isEmpty(option)) return '' + return label ? option[label] : option + } + }, + /** + * Disable / Enable tagging + * @default false + * @type {Boolean} + */ + taggable: { + type: Boolean, + default: false + }, + /** + * String to show when highlighting a potential tag + * @default 'Press enter to create a tag' + * @type {String} + */ + tagPlaceholder: { + type: String, + default: 'Press enter to create a tag' + }, + /** + * By default new tags will appear above the search results. + * Changing to 'bottom' will revert this behaviour + * and will proritize the search results + * @default 'top' + * @type {String} + */ + tagPosition: { + type: String, + default: 'top' + }, + /** + * Number of allowed selected options. No limit if 0. + * @default 0 + * @type {Number} + */ + max: { + type: [Number, Boolean], + default: false + }, + /** + * Will be passed with all events as second param. + * Useful for identifying events origin. + * @default null + * @type {String|Integer} + */ + id: { + default: null + }, + /** + * Limits the options displayed in the dropdown + * to the first X options. + * @default 1000 + * @type {Integer} + */ + optionsLimit: { + type: Number, + default: 1000 + }, + /** + * Name of the property containing + * the group values + * @default 1000 + * @type {String} + */ + groupValues: { + type: String + }, + /** + * Name of the property containing + * the group label + * @default 1000 + * @type {String} + */ + groupLabel: { + type: String + }, + /** + * Allow to select all group values + * by selecting the group label + * @default false + * @type {Boolean} + */ + groupSelect: { + type: Boolean, + default: false + }, + /** + * Array of keyboard keys to block + * when selecting + * @default 1000 + * @type {String} + */ + blockKeys: { + type: Array, + default () { + return [] + } + }, + /** + * Prevent from wiping up the search value + * @default false + * @type {Boolean} + */ + preserveSearch: { + type: Boolean, + default: false + }, + /** + * Select 1st options if value is empty + * @default false + * @type {Boolean} + */ + preselectFirst: { + type: Boolean, + default: false + } + }, + mounted () { + /* istanbul ignore else */ + if (!this.multiple && this.max) { + console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.'); + } + if ( + this.preselectFirst && + !this.internalValue.length && + this.options.length + ) { + this.select(this.filteredOptions[0]); + } + }, + computed: { + internalValue () { + return this.modelValue || this.modelValue === 0 + ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue] + : [] + }, + filteredOptions () { + const search = this.search || ''; + const normalizedSearch = search.toLowerCase().trim(); + + let options = this.options.concat(); + + /* istanbul ignore else */ + if (this.internalSearch) { + options = this.groupValues + ? this.filterAndFlat(options, normalizedSearch, this.label) + : filterOptions(options, normalizedSearch, this.label, this.customLabel); + } else { + options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options; + } + + options = this.hideSelected + ? options.filter(not(this.isSelected)) + : options; + + /* istanbul ignore else */ + if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) { + if (this.tagPosition === 'bottom') { + options.push({isTag: true, label: search}); + } else { + options.unshift({isTag: true, label: search}); + } + } + + return options.slice(0, this.optionsLimit) + }, + valueKeys () { + if (this.trackBy) { + return this.internalValue.map((element) => element[this.trackBy]) + } else { + return this.internalValue + } + }, + optionKeys () { + const options = this.groupValues ? this.flatAndStrip(this.options) : this.options; + return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase()) + }, + currentOptionLabel () { + return this.multiple + ? this.searchable ? '' : this.placeholder + : this.internalValue.length + ? this.getOptionLabel(this.internalValue[0]) + : this.searchable ? '' : this.placeholder + } + }, + watch: { + internalValue () { + /* istanbul ignore else */ + if (this.resetAfter && this.internalValue.length) { + this.search = ''; + this.$emit('update:modelValue', this.multiple ? [] : null); + } + }, + search () { + this.$emit('search-change', this.search); + } + }, + emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'], + methods: { + /** + * Returns the internalValue in a way it can be emited to the parent + * @returns {Object||Array||String||Integer} + */ + getValue () { + return this.multiple + ? this.internalValue + : this.internalValue.length === 0 + ? null + : this.internalValue[0] + }, + /** + * Filters and then flattens the options list + * @param {Array} + * @return {Array} returns a filtered and flat options list + */ + filterAndFlat (options, search, label) { + return flow( + filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel), + flattenOptions(this.groupValues, this.groupLabel) + )(options) + }, + /** + * Flattens and then strips the group labels from the options list + * @param {Array} + * @return {Array} returns a flat options list without group labels + */ + flatAndStrip (options) { + return flow( + flattenOptions(this.groupValues, this.groupLabel), + stripGroups + )(options) + }, + /** + * Updates the search value + * @param {String} + */ + updateSearch (query) { + this.search = query; + }, + /** + * Finds out if the given query is already present + * in the available options + * @param {String} + * @return {Boolean} returns true if element is available + */ + isExistingOption (query) { + return !this.options + ? false + : this.optionKeys.indexOf(query) > -1 + }, + /** + * Finds out if the given element is already present + * in the result value + * @param {Object||String||Integer} option passed element to check + * @returns {Boolean} returns true if element is selected + */ + isSelected (option) { + const opt = this.trackBy + ? option[this.trackBy] + : option; + return this.valueKeys.indexOf(opt) > -1 + }, + /** + * Finds out if the given option is disabled + * @param {Object||String||Integer} option passed element to check + * @returns {Boolean} returns true if element is disabled + */ + isOptionDisabled (option) { + return !!option.$isDisabled + }, + /** + * Returns empty string when options is null/undefined + * Returns tag query if option is tag. + * Returns the customLabel() results and casts it to string. + * + * @param {Object||String||Integer} Passed option + * @returns {Object||String} + */ + getOptionLabel (option) { + if (isEmpty(option)) return '' + /* istanbul ignore else */ + if (option.isTag) return option.label + /* istanbul ignore else */ + if (option.$isLabel) return option.$groupLabel + + const label = this.customLabel(option, this.label); + /* istanbul ignore else */ + if (isEmpty(label)) return '' + return label + }, + /** + * Add the given option to the list of selected options + * or sets the option as the selected option. + * If option is already selected -> remove it from the results. + * + * @param {Object||String||Integer} option to select/deselect + * @param {Boolean} block removing + */ + select (option, key) { + /* istanbul ignore else */ + if (option.$isLabel && this.groupSelect) { + this.selectGroup(option); + return + } + if (this.blockKeys.indexOf(key) !== -1 || + this.disabled || + option.$isDisabled || + option.$isLabel + ) return + /* istanbul ignore else */ + if (this.max && this.multiple && this.internalValue.length === this.max) return + /* istanbul ignore else */ + if (key === 'Tab' && !this.pointerDirty) return + if (option.isTag) { + this.$emit('tag', option.label, this.id); + this.search = ''; + if (this.closeOnSelect && !this.multiple) this.deactivate(); + } else { + const isSelected = this.isSelected(option); + + if (isSelected) { + if (key !== 'Tab') this.removeElement(option); + return + } + + this.$emit('select', option, this.id); + + if (this.multiple) { + this.$emit('update:modelValue', this.internalValue.concat([option])); + } else { + this.$emit('update:modelValue', option); + } + + /* istanbul ignore else */ + if (this.clearOnSelect) this.search = ''; + } + /* istanbul ignore else */ + if (this.closeOnSelect) this.deactivate(); + }, + /** + * Add the given group options to the list of selected options + * If all group optiona are already selected -> remove it from the results. + * + * @param {Object||String||Integer} group to select/deselect + */ + selectGroup (selectedGroup) { + const group = this.options.find((option) => { + return option[this.groupLabel] === selectedGroup.$groupLabel + }); + + if (!group) return + + if (this.wholeGroupSelected(group)) { + this.$emit('remove', group[this.groupValues], this.id); + + const newValue = this.internalValue.filter( + (option) => group[this.groupValues].indexOf(option) === -1 + ); + + this.$emit('update:modelValue', newValue); + } else { + const optionsToAdd = group[this.groupValues].filter( + (option) => !(this.isOptionDisabled(option) || this.isSelected(option)) + ); + + this.$emit('select', optionsToAdd, this.id); + this.$emit( + 'update:modelValue', + this.internalValue.concat(optionsToAdd) + ); + } + + if (this.closeOnSelect) this.deactivate(); + }, + /** + * Helper to identify if all values in a group are selected + * + * @param {Object} group to validated selected values against + */ + wholeGroupSelected (group) { + return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option) + ) + }, + /** + * Helper to identify if all values in a group are disabled + * + * @param {Object} group to check for disabled values + */ + wholeGroupDisabled (group) { + return group[this.groupValues].every(this.isOptionDisabled) + }, + /** + * Removes the given option from the selected options. + * Additionally checks this.allowEmpty prop if option can be removed when + * it is the last selected option. + * + * @param {type} option description + * @return {type} description + */ + removeElement (option, shouldClose = true) { + /* istanbul ignore else */ + if (this.disabled) return + /* istanbul ignore else */ + if (option.$isDisabled) return + /* istanbul ignore else */ + if (!this.allowEmpty && this.internalValue.length <= 1) { + this.deactivate(); + return + } + + const index = typeof option === 'object' + ? this.valueKeys.indexOf(option[this.trackBy]) + : this.valueKeys.indexOf(option); + + this.$emit('remove', option, this.id); + if (this.multiple) { + const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1)); + this.$emit('update:modelValue', newValue); + } else { + this.$emit('update:modelValue', null); + } + + /* istanbul ignore else */ + if (this.closeOnSelect && shouldClose) this.deactivate(); + }, + /** + * Calls this.removeElement() with the last element + * from this.internalValue (selected element Array) + * + * @fires this#removeElement + */ + removeLastElement () { + /* istanbul ignore else */ + if (this.blockKeys.indexOf('Delete') !== -1) return + /* istanbul ignore else */ + if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) { + this.removeElement(this.internalValue[this.internalValue.length - 1], false); + } + }, + /** + * Opens the multiselect’s dropdown. + * Sets this.isOpen to TRUE + */ + activate () { + /* istanbul ignore else */ + if (this.isOpen || this.disabled) return + + this.adjustPosition(); + /* istanbul ignore else */ + if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) { + this.pointer = 1; + } + + this.isOpen = true; + /* istanbul ignore else */ + if (this.searchable) { + if (!this.preserveSearch) this.search = ''; + this.$nextTick(() => this.$refs.search && this.$refs.search.focus()); + } else { + this.$el.focus(); + } + this.$emit('open', this.id); + }, + /** + * Closes the multiselect’s dropdown. + * Sets this.isOpen to FALSE + */ + deactivate () { + /* istanbul ignore else */ + if (!this.isOpen) return + + this.isOpen = false; + /* istanbul ignore else */ + if (this.searchable) { + this.$refs.search && this.$refs.search.blur(); + } else { + this.$el.blur(); + } + if (!this.preserveSearch) this.search = ''; + this.$emit('close', this.getValue(), this.id); + }, + /** + * Call this.activate() or this.deactivate() + * depending on this.isOpen value. + * + * @fires this#activate || this#deactivate + * @property {Boolean} isOpen indicates if dropdown is open + */ + toggle () { + this.isOpen + ? this.deactivate() + : this.activate(); + }, + /** + * Updates the hasEnoughSpace variable used for + * detecting where to expand the dropdown + */ + adjustPosition () { + if (typeof window === 'undefined') return + + const spaceAbove = this.$el.getBoundingClientRect().top; + const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom; + const hasEnoughSpaceBelow = spaceBelow > this.maxHeight; + + if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') { + this.preferredOpenDirection = 'below'; + this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight); + } else { + this.preferredOpenDirection = 'above'; + this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight); + } + } + } +}; + +var pointerMixin = { + data () { + return { + pointer: 0, + pointerDirty: false + } + }, + props: { + /** + * Enable/disable highlighting of the pointed value. + * @type {Boolean} + * @default true + */ + showPointer: { + type: Boolean, + default: true + }, + optionHeight: { + type: Number, + default: 40 + } + }, + computed: { + pointerPosition () { + return this.pointer * this.optionHeight + }, + visibleElements () { + return this.optimizedHeight / this.optionHeight + } + }, + watch: { + filteredOptions () { + this.pointerAdjust(); + }, + isOpen () { + this.pointerDirty = false; + }, + pointer () { + this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString()); + } + }, + methods: { + optionHighlight (index, option) { + return { + 'multiselect__option--highlight': index === this.pointer && this.showPointer, + 'multiselect__option--selected': this.isSelected(option) + } + }, + groupHighlight (index, selectedGroup) { + if (!this.groupSelect) { + return [ + 'multiselect__option--disabled', + {'multiselect__option--group': selectedGroup.$isLabel} + ] + } + + const group = this.options.find((option) => { + return option[this.groupLabel] === selectedGroup.$groupLabel + }); + + return group && !this.wholeGroupDisabled(group) ? [ + 'multiselect__option--group', + {'multiselect__option--highlight': index === this.pointer && this.showPointer}, + {'multiselect__option--group-selected': this.wholeGroupSelected(group)} + ] : 'multiselect__option--disabled' + }, + addPointerElement ({key} = 'Enter') { + /* istanbul ignore else */ + if (this.filteredOptions.length > 0) { + this.select(this.filteredOptions[this.pointer], key); + } + this.pointerReset(); + }, + pointerForward () { + /* istanbul ignore else */ + if (this.pointer < this.filteredOptions.length - 1) { + this.pointer++; + /* istanbul ignore next */ + if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) { + this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight; + } + /* istanbul ignore else */ + if ( + this.filteredOptions[this.pointer] && + this.filteredOptions[this.pointer].$isLabel && + !this.groupSelect + ) this.pointerForward(); + } + this.pointerDirty = true; + }, + pointerBackward () { + if (this.pointer > 0) { + this.pointer--; + /* istanbul ignore else */ + if (this.$refs.list.scrollTop >= this.pointerPosition) { + this.$refs.list.scrollTop = this.pointerPosition; + } + /* istanbul ignore else */ + if ( + this.filteredOptions[this.pointer] && + this.filteredOptions[this.pointer].$isLabel && + !this.groupSelect + ) this.pointerBackward(); + } else { + /* istanbul ignore else */ + if ( + this.filteredOptions[this.pointer] && + this.filteredOptions[0].$isLabel && + !this.groupSelect + ) this.pointerForward(); + } + this.pointerDirty = true; + }, + pointerReset () { + /* istanbul ignore else */ + if (!this.closeOnSelect) return + this.pointer = 0; + /* istanbul ignore else */ + if (this.$refs.list) { + this.$refs.list.scrollTop = 0; + } + }, + pointerAdjust () { + /* istanbul ignore else */ + if (this.pointer >= this.filteredOptions.length - 1) { + this.pointer = this.filteredOptions.length + ? this.filteredOptions.length - 1 + : 0; + } + + if (this.filteredOptions.length > 0 && + this.filteredOptions[this.pointer].$isLabel && + !this.groupSelect + ) { + this.pointerForward(); + } + }, + pointerSet (index) { + this.pointer = index; + this.pointerDirty = true; + } + } +}; + +var script = { + name: 'vue-multiselect', + mixins: [multiselectMixin, pointerMixin], + props: { + /** + * name attribute to match optional label element + * @default '' + * @type {String} + */ + name: { + type: String, + default: '' + }, + /** + * Presets the selected options value. + * @type {Object||Array||String||Integer} + */ + modelValue: { + type: null, + default () { + return [] + } + }, + /** + * String to show when pointing to an option + * @default 'Press enter to select' + * @type {String} + */ + selectLabel: { + type: String, + default: 'Press enter to select' + }, + /** + * String to show when pointing to an option + * @default 'Press enter to select' + * @type {String} + */ + selectGroupLabel: { + type: String, + default: 'Press enter to select group' + }, + /** + * String to show next to selected option + * @default 'Selected' + * @type {String} + */ + selectedLabel: { + type: String, + default: 'Selected' + }, + /** + * String to show when pointing to an already selected option + * @default 'Press enter to remove' + * @type {String} + */ + deselectLabel: { + type: String, + default: 'Press enter to remove' + }, + /** + * String to show when pointing to an already selected option + * @default 'Press enter to remove' + * @type {String} + */ + deselectGroupLabel: { + type: String, + default: 'Press enter to deselect group' + }, + /** + * Decide whether to show pointer labels + * @default true + * @type {Boolean} + */ + showLabels: { + type: Boolean, + default: true + }, + /** + * Limit the display of selected options. The rest will be hidden within the limitText string. + * @default 99999 + * @type {Integer} + */ + limit: { + type: Number, + default: 99999 + }, + /** + * Sets maxHeight style value of the dropdown + * @default 300 + * @type {Integer} + */ + maxHeight: { + type: Number, + default: 300 + }, + /** + * Function that process the message shown when selected + * elements pass the defined limit. + * @default 'and * more' + * @param {Int} count Number of elements more than limit + * @type {Function} + */ + limitText: { + type: Function, + default: (count) => `and ${count} more` + }, + /** + * Set true to trigger the loading spinner. + * @default False + * @type {Boolean} + */ + loading: { + type: Boolean, + default: false + }, + /** + * Disables the multiselect if true. + * @default false + * @type {Boolean} + */ + disabled: { + type: Boolean, + default: false + }, + /** + * Fixed opening direction + * @default '' + * @type {String} + */ + openDirection: { + type: String, + default: '' + }, + /** + * Shows slot with message about empty options + * @default true + * @type {Boolean} + */ + showNoOptions: { + type: Boolean, + default: true + }, + showNoResults: { + type: Boolean, + default: true + }, + tabindex: { + type: Number, + default: 0 + } + }, + computed: { + isSingleLabelVisible () { + return ( + (this.singleValue || this.singleValue === 0) && + (!this.isOpen || !this.searchable) && + !this.visibleValues.length + ) + }, + isPlaceholderVisible () { + return !this.internalValue.length && (!this.searchable || !this.isOpen) + }, + visibleValues () { + return this.multiple ? this.internalValue.slice(0, this.limit) : [] + }, + singleValue () { + return this.internalValue[0] + }, + deselectLabelText () { + return this.showLabels ? this.deselectLabel : '' + }, + deselectGroupLabelText () { + return this.showLabels ? this.deselectGroupLabel : '' + }, + selectLabelText () { + return this.showLabels ? this.selectLabel : '' + }, + selectGroupLabelText () { + return this.showLabels ? this.selectGroupLabel : '' + }, + selectedLabelText () { + return this.showLabels ? this.selectedLabel : '' + }, + inputStyle () { + if ( + this.searchable || + (this.multiple && this.modelValue && this.modelValue.length) + ) { + // Hide input by setting the width to 0 allowing it to receive focus + return this.isOpen + ? {width: '100%'} + : {width: '0', position: 'absolute', padding: '0'} + } + return '' + }, + contentStyle () { + return this.options.length + ? {display: 'inline-block'} + : {display: 'block'} + }, + isAbove () { + if (this.openDirection === 'above' || this.openDirection === 'top') { + return true + } else if ( + this.openDirection === 'below' || + this.openDirection === 'bottom' + ) { + return false + } else { + return this.preferredOpenDirection === 'above' + } + }, + showSearchInput () { + return ( + this.searchable && + (this.hasSingleSelectedSlot && + (this.visibleSingleValue || this.visibleSingleValue === 0) + ? this.isOpen + : true) + ) + } + } +}; + +const _hoisted_1 = { + ref: "tags", + class: "multiselect__tags" +}; +const _hoisted_2 = { class: "multiselect__tags-wrap" }; +const _hoisted_3 = { class: "multiselect__spinner" }; +const _hoisted_4 = { key: 0 }; +const _hoisted_5 = { class: "multiselect__option" }; +const _hoisted_6 = { class: "multiselect__option" }; +const _hoisted_7 = /*#__PURE__*/createTextVNode("No elements found. Consider changing the search query."); +const _hoisted_8 = { class: "multiselect__option" }; +const _hoisted_9 = /*#__PURE__*/createTextVNode("List is empty."); + +function render(_ctx, _cache, $props, $setup, $data, $options) { + return (openBlock(), createBlock("div", { + tabindex: _ctx.searchable ? -1 : $props.tabindex, + class: [{ 'multiselect--active': _ctx.isOpen, 'multiselect--disabled': $props.disabled, 'multiselect--above': $options.isAbove }, "multiselect"], + onFocus: _cache[14] || (_cache[14] = $event => (_ctx.activate())), + onBlur: _cache[15] || (_cache[15] = $event => (_ctx.searchable ? false : _ctx.deactivate())), + onKeydown: [ + _cache[16] || (_cache[16] = withKeys(withModifiers($event => (_ctx.pointerForward()), ["self","prevent"]), ["down"])), + _cache[17] || (_cache[17] = withKeys(withModifiers($event => (_ctx.pointerBackward()), ["self","prevent"]), ["up"])) + ], + onKeypress: _cache[18] || (_cache[18] = withKeys(withModifiers($event => (_ctx.addPointerElement($event)), ["stop","self"]), ["enter","tab"])), + onKeyup: _cache[19] || (_cache[19] = withKeys($event => (_ctx.deactivate()), ["esc"])), + role: "combobox", + "aria-owns": 'listbox-'+_ctx.id + }, [ + renderSlot(_ctx.$slots, "caret", { toggle: _ctx.toggle }, () => [ + createVNode("div", { + onMousedown: _cache[1] || (_cache[1] = withModifiers($event => (_ctx.toggle()), ["prevent","stop"])), + class: "multiselect__select" + }, null, 32 /* HYDRATE_EVENTS */) + ]), + renderSlot(_ctx.$slots, "clear", { search: _ctx.search }), + createVNode("div", _hoisted_1, [ + renderSlot(_ctx.$slots, "selection", { + search: _ctx.search, + remove: _ctx.removeElement, + values: $options.visibleValues, + isOpen: _ctx.isOpen + }, () => [ + withDirectives(createVNode("div", _hoisted_2, [ + (openBlock(true), createBlock(Fragment, null, renderList($options.visibleValues, (option, index) => { + return renderSlot(_ctx.$slots, "tag", { + option: option, + search: _ctx.search, + remove: _ctx.removeElement + }, () => [ + (openBlock(), createBlock("span", { + class: "multiselect__tag", + key: index + }, [ + createVNode("span", { + textContent: toDisplayString(_ctx.getOptionLabel(option)) + }, null, 8 /* PROPS */, ["textContent"]), + createVNode("i", { + tabindex: "1", + onKeypress: withKeys(withModifiers($event => (_ctx.removeElement(option)), ["prevent"]), ["enter"]), + onMousedown: withModifiers($event => (_ctx.removeElement(option)), ["prevent"]), + class: "multiselect__tag-icon" + }, null, 40 /* PROPS, HYDRATE_EVENTS */, ["onKeypress", "onMousedown"]) + ])) + ]) + }), 256 /* UNKEYED_FRAGMENT */)) + ], 512 /* NEED_PATCH */), [ + [vShow, $options.visibleValues.length > 0] + ]), + (_ctx.internalValue && _ctx.internalValue.length > $props.limit) + ? renderSlot(_ctx.$slots, "limit", { key: 0 }, () => [ + createVNode("strong", { + class: "multiselect__strong", + textContent: toDisplayString($props.limitText(_ctx.internalValue.length - $props.limit)) + }, null, 8 /* PROPS */, ["textContent"]) + ]) + : createCommentVNode("v-if", true) + ]), + createVNode(Transition, { name: "multiselect__loading" }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "loading", {}, () => [ + withDirectives(createVNode("div", _hoisted_3, null, 512 /* NEED_PATCH */), [ + [vShow, $props.loading] + ]) + ]) + ]), + _: 3 /* FORWARDED */ + }), + (_ctx.searchable) + ? (openBlock(), createBlock("input", { + key: 0, + ref: "search", + name: $props.name, + id: _ctx.id, + type: "text", + autocomplete: "off", + spellcheck: "false", + placeholder: _ctx.placeholder, + style: $options.inputStyle, + value: _ctx.search, + disabled: $props.disabled, + tabindex: $props.tabindex, + onInput: _cache[2] || (_cache[2] = $event => (_ctx.updateSearch($event.target.value))), + onFocus: _cache[3] || (_cache[3] = withModifiers($event => (_ctx.activate()), ["prevent"])), + onBlur: _cache[4] || (_cache[4] = withModifiers($event => (_ctx.deactivate()), ["prevent"])), + onKeyup: _cache[5] || (_cache[5] = withKeys($event => (_ctx.deactivate()), ["esc"])), + onKeydown: [ + _cache[6] || (_cache[6] = withKeys(withModifiers($event => (_ctx.pointerForward()), ["prevent"]), ["down"])), + _cache[7] || (_cache[7] = withKeys(withModifiers($event => (_ctx.pointerBackward()), ["prevent"]), ["up"])), + _cache[9] || (_cache[9] = withKeys(withModifiers($event => (_ctx.removeLastElement()), ["stop"]), ["delete"])) + ], + onKeypress: _cache[8] || (_cache[8] = withKeys(withModifiers($event => (_ctx.addPointerElement($event)), ["prevent","stop","self"]), ["enter"])), + class: "multiselect__input", + "aria-controls": 'listbox-'+_ctx.id + }, null, 44 /* STYLE, PROPS, HYDRATE_EVENTS */, ["name", "id", "placeholder", "value", "disabled", "tabindex", "aria-controls"])) + : createCommentVNode("v-if", true), + ($options.isSingleLabelVisible) + ? (openBlock(), createBlock("span", { + key: 1, + class: "multiselect__single", + onMousedown: _cache[10] || (_cache[10] = withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), ["prevent"])) + }, [ + renderSlot(_ctx.$slots, "singleLabel", { option: $options.singleValue }, () => [ + createTextVNode(toDisplayString(_ctx.currentOptionLabel), 1 /* TEXT */) + ]) + ], 32 /* HYDRATE_EVENTS */)) + : createCommentVNode("v-if", true), + ($options.isPlaceholderVisible) + ? (openBlock(), createBlock("span", { + key: 2, + class: "multiselect__placeholder", + onMousedown: _cache[11] || (_cache[11] = withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), ["prevent"])) + }, [ + renderSlot(_ctx.$slots, "placeholder", {}, () => [ + createTextVNode(toDisplayString(_ctx.placeholder), 1 /* TEXT */) + ]) + ], 32 /* HYDRATE_EVENTS */)) + : createCommentVNode("v-if", true) + ], 512 /* NEED_PATCH */), + createVNode(Transition, { name: "multiselect" }, { + default: withCtx(() => [ + withDirectives(createVNode("div", { + class: "multiselect__content-wrapper", + onFocus: _cache[12] || (_cache[12] = (...args) => (_ctx.activate && _ctx.activate(...args))), + tabindex: "-1", + onMousedown: _cache[13] || (_cache[13] = withModifiers(() => {}, ["prevent"])), + style: { maxHeight: _ctx.optimizedHeight + 'px' }, + ref: "list" + }, [ + createVNode("ul", { + class: "multiselect__content", + style: $options.contentStyle, + role: "listbox", + id: 'listbox-'+_ctx.id + }, [ + renderSlot(_ctx.$slots, "beforeList"), + (_ctx.multiple && _ctx.max === _ctx.internalValue.length) + ? (openBlock(), createBlock("li", _hoisted_4, [ + createVNode("span", _hoisted_5, [ + renderSlot(_ctx.$slots, "maxElements", {}, () => [ + createTextVNode("Maximum of " + toDisplayString(_ctx.max) + " options selected. First remove a selected option to select another.", 1 /* TEXT */) + ]) + ]) + ])) + : createCommentVNode("v-if", true), + (!_ctx.max || _ctx.internalValue.length < _ctx.max) + ? (openBlock(true), createBlock(Fragment, { key: 1 }, renderList(_ctx.filteredOptions, (option, index) => { + return (openBlock(), createBlock("li", { + class: "multiselect__element", + key: index, + id: _ctx.id + '-' + index, + role: !(option && (option.$isLabel || option.$isDisabled)) ? 'option' : null + }, [ + (!(option && (option.$isLabel || option.$isDisabled))) + ? (openBlock(), createBlock("span", { + key: 0, + class: [_ctx.optionHighlight(index, option), "multiselect__option"], + onClick: withModifiers($event => (_ctx.select(option)), ["stop"]), + onMouseenter: withModifiers($event => (_ctx.pointerSet(index)), ["self"]), + "data-select": option && option.isTag ? _ctx.tagPlaceholder : $options.selectLabelText, + "data-selected": $options.selectedLabelText, + "data-deselect": $options.deselectLabelText + }, [ + renderSlot(_ctx.$slots, "option", { + option: option, + search: _ctx.search, + index: index + }, () => [ + createVNode("span", null, toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */) + ]) + ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, ["onClick", "onMouseenter", "data-select", "data-selected", "data-deselect"])) + : createCommentVNode("v-if", true), + (option && (option.$isLabel || option.$isDisabled)) + ? (openBlock(), createBlock("span", { + key: 1, + "data-select": _ctx.groupSelect && $options.selectGroupLabelText, + "data-deselect": _ctx.groupSelect && $options.deselectGroupLabelText, + class: [_ctx.groupHighlight(index, option), "multiselect__option"], + onMouseenter: withModifiers($event => (_ctx.groupSelect && _ctx.pointerSet(index)), ["self"]), + onMousedown: withModifiers($event => (_ctx.selectGroup(option)), ["prevent"]) + }, [ + renderSlot(_ctx.$slots, "option", { + option: option, + search: _ctx.search, + index: index + }, () => [ + createVNode("span", null, toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */) + ]) + ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, ["data-select", "data-deselect", "onMouseenter", "onMousedown"])) + : createCommentVNode("v-if", true) + ], 8 /* PROPS */, ["id", "role"])) + }), 128 /* KEYED_FRAGMENT */)) + : createCommentVNode("v-if", true), + withDirectives(createVNode("li", null, [ + createVNode("span", _hoisted_6, [ + renderSlot(_ctx.$slots, "noResult", { search: _ctx.search }, () => [ + _hoisted_7 + ]) + ]) + ], 512 /* NEED_PATCH */), [ + [vShow, $props.showNoResults && (_ctx.filteredOptions.length === 0 && _ctx.search && !$props.loading)] + ]), + withDirectives(createVNode("li", null, [ + createVNode("span", _hoisted_8, [ + renderSlot(_ctx.$slots, "noOptions", {}, () => [ + _hoisted_9 + ]) + ]) + ], 512 /* NEED_PATCH */), [ + [vShow, $props.showNoOptions && (_ctx.options.length === 0 && !_ctx.search && !$props.loading)] + ]), + renderSlot(_ctx.$slots, "afterList") + ], 12 /* STYLE, PROPS */, ["id"]) + ], 36 /* STYLE, HYDRATE_EVENTS */), [ + [vShow, _ctx.isOpen] + ]) + ]), + _: 3 /* FORWARDED */ + }) + ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, ["tabindex", "aria-owns"])) +} + +script.render = render; + +export default script; +export { script as Multiselect, multiselectMixin, pointerMixin }; diff --git a/dist/vue-multiselect.js b/dist/vue-multiselect.js new file mode 100644 index 00000000..4a5171a2 --- /dev/null +++ b/dist/vue-multiselect.js @@ -0,0 +1,1333 @@ +(function (exports, vue) { + 'use strict'; + + function isEmpty (opt) { + if (opt === 0) return false + if (Array.isArray(opt) && opt.length === 0) return true + return !opt + } + + function not (fun) { + return (...params) => !fun(...params) + } + + function includes (str, query) { + /* istanbul ignore else */ + if (str === undefined) str = 'undefined'; + if (str === null) str = 'null'; + if (str === false) str = 'false'; + const text = str.toString().toLowerCase(); + return text.indexOf(query.trim()) !== -1 + } + + function filterOptions (options, search, label, customLabel) { + return search ? options + .filter((option) => includes(customLabel(option, label), search)) + .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options + } + + function stripGroups (options) { + return options.filter((option) => !option.$isLabel) + } + + function flattenOptions (values, label) { + return (options) => + options.reduce((prev, curr) => { + /* istanbul ignore else */ + if (curr[values] && curr[values].length) { + prev.push({ + $groupLabel: curr[label], + $isLabel: true + }); + return prev.concat(curr[values]) + } + return prev + }, []) + } + + function filterGroups (search, label, values, groupLabel, customLabel) { + return (groups) => + groups.map((group) => { + /* istanbul ignore else */ + if (!group[values]) { + console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`); + return [] + } + const groupOptions = filterOptions(group[values], search, label, customLabel); + + return groupOptions.length + ? { + [groupLabel]: group[groupLabel], + [values]: groupOptions + } + : [] + }) + } + + const flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x); + + var multiselectMixin = { + data () { + return { + search: '', + isOpen: false, + preferredOpenDirection: 'below', + optimizedHeight: this.maxHeight + } + }, + props: { + /** + * Decide whether to filter the results based on search query. + * Useful for async filtering, where we search through more complex data. + * @type {Boolean} + */ + internalSearch: { + type: Boolean, + default: true + }, + /** + * Array of available options: Objects, Strings or Integers. + * If array of objects, visible label will default to option.label. + * If `labal` prop is passed, label will equal option['label'] + * @type {Array} + */ + options: { + type: Array, + required: true + }, + /** + * Equivalent to the `multiple` attribute on a `` input. + * @default 'Select option' + * @type {String} + */ + placeholder: { + type: String, + default: 'Select option' + }, + /** + * Allow to remove all selected values + * @default true + * @type {Boolean} + */ + allowEmpty: { + type: Boolean, + default: true + }, + /** + * Reset this.internalValue, this.search after this.internalValue changes. + * Useful if want to create a stateless dropdown. + * @default false + * @type {Boolean} + */ + resetAfter: { + type: Boolean, + default: false + }, + /** + * Enable/disable closing after selecting an option + * @default true + * @type {Boolean} + */ + closeOnSelect: { + type: Boolean, + default: true + }, + /** + * Function to interpolate the custom label + * @default false + * @type {Function} + */ + customLabel: { + type: Function, + default (option, label) { + if (isEmpty(option)) return '' + return label ? option[label] : option + } + }, + /** + * Disable / Enable tagging + * @default false + * @type {Boolean} + */ + taggable: { + type: Boolean, + default: false + }, + /** + * String to show when highlighting a potential tag + * @default 'Press enter to create a tag' + * @type {String} + */ + tagPlaceholder: { + type: String, + default: 'Press enter to create a tag' + }, + /** + * By default new tags will appear above the search results. + * Changing to 'bottom' will revert this behaviour + * and will proritize the search results + * @default 'top' + * @type {String} + */ + tagPosition: { + type: String, + default: 'top' + }, + /** + * Number of allowed selected options. No limit if 0. + * @default 0 + * @type {Number} + */ + max: { + type: [Number, Boolean], + default: false + }, + /** + * Will be passed with all events as second param. + * Useful for identifying events origin. + * @default null + * @type {String|Integer} + */ + id: { + default: null + }, + /** + * Limits the options displayed in the dropdown + * to the first X options. + * @default 1000 + * @type {Integer} + */ + optionsLimit: { + type: Number, + default: 1000 + }, + /** + * Name of the property containing + * the group values + * @default 1000 + * @type {String} + */ + groupValues: { + type: String + }, + /** + * Name of the property containing + * the group label + * @default 1000 + * @type {String} + */ + groupLabel: { + type: String + }, + /** + * Allow to select all group values + * by selecting the group label + * @default false + * @type {Boolean} + */ + groupSelect: { + type: Boolean, + default: false + }, + /** + * Array of keyboard keys to block + * when selecting + * @default 1000 + * @type {String} + */ + blockKeys: { + type: Array, + default () { + return [] + } + }, + /** + * Prevent from wiping up the search value + * @default false + * @type {Boolean} + */ + preserveSearch: { + type: Boolean, + default: false + }, + /** + * Select 1st options if value is empty + * @default false + * @type {Boolean} + */ + preselectFirst: { + type: Boolean, + default: false + } + }, + mounted () { + /* istanbul ignore else */ + if (!this.multiple && this.max) { + console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.'); + } + if ( + this.preselectFirst && + !this.internalValue.length && + this.options.length + ) { + this.select(this.filteredOptions[0]); + } + }, + computed: { + internalValue () { + return this.modelValue || this.modelValue === 0 + ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue] + : [] + }, + filteredOptions () { + const search = this.search || ''; + const normalizedSearch = search.toLowerCase().trim(); + + let options = this.options.concat(); + + /* istanbul ignore else */ + if (this.internalSearch) { + options = this.groupValues + ? this.filterAndFlat(options, normalizedSearch, this.label) + : filterOptions(options, normalizedSearch, this.label, this.customLabel); + } else { + options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options; + } + + options = this.hideSelected + ? options.filter(not(this.isSelected)) + : options; + + /* istanbul ignore else */ + if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) { + if (this.tagPosition === 'bottom') { + options.push({isTag: true, label: search}); + } else { + options.unshift({isTag: true, label: search}); + } + } + + return options.slice(0, this.optionsLimit) + }, + valueKeys () { + if (this.trackBy) { + return this.internalValue.map((element) => element[this.trackBy]) + } else { + return this.internalValue + } + }, + optionKeys () { + const options = this.groupValues ? this.flatAndStrip(this.options) : this.options; + return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase()) + }, + currentOptionLabel () { + return this.multiple + ? this.searchable ? '' : this.placeholder + : this.internalValue.length + ? this.getOptionLabel(this.internalValue[0]) + : this.searchable ? '' : this.placeholder + } + }, + watch: { + internalValue () { + /* istanbul ignore else */ + if (this.resetAfter && this.internalValue.length) { + this.search = ''; + this.$emit('update:modelValue', this.multiple ? [] : null); + } + }, + search () { + this.$emit('search-change', this.search); + } + }, + emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'], + methods: { + /** + * Returns the internalValue in a way it can be emited to the parent + * @returns {Object||Array||String||Integer} + */ + getValue () { + return this.multiple + ? this.internalValue + : this.internalValue.length === 0 + ? null + : this.internalValue[0] + }, + /** + * Filters and then flattens the options list + * @param {Array} + * @return {Array} returns a filtered and flat options list + */ + filterAndFlat (options, search, label) { + return flow( + filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel), + flattenOptions(this.groupValues, this.groupLabel) + )(options) + }, + /** + * Flattens and then strips the group labels from the options list + * @param {Array} + * @return {Array} returns a flat options list without group labels + */ + flatAndStrip (options) { + return flow( + flattenOptions(this.groupValues, this.groupLabel), + stripGroups + )(options) + }, + /** + * Updates the search value + * @param {String} + */ + updateSearch (query) { + this.search = query; + }, + /** + * Finds out if the given query is already present + * in the available options + * @param {String} + * @return {Boolean} returns true if element is available + */ + isExistingOption (query) { + return !this.options + ? false + : this.optionKeys.indexOf(query) > -1 + }, + /** + * Finds out if the given element is already present + * in the result value + * @param {Object||String||Integer} option passed element to check + * @returns {Boolean} returns true if element is selected + */ + isSelected (option) { + const opt = this.trackBy + ? option[this.trackBy] + : option; + return this.valueKeys.indexOf(opt) > -1 + }, + /** + * Finds out if the given option is disabled + * @param {Object||String||Integer} option passed element to check + * @returns {Boolean} returns true if element is disabled + */ + isOptionDisabled (option) { + return !!option.$isDisabled + }, + /** + * Returns empty string when options is null/undefined + * Returns tag query if option is tag. + * Returns the customLabel() results and casts it to string. + * + * @param {Object||String||Integer} Passed option + * @returns {Object||String} + */ + getOptionLabel (option) { + if (isEmpty(option)) return '' + /* istanbul ignore else */ + if (option.isTag) return option.label + /* istanbul ignore else */ + if (option.$isLabel) return option.$groupLabel + + const label = this.customLabel(option, this.label); + /* istanbul ignore else */ + if (isEmpty(label)) return '' + return label + }, + /** + * Add the given option to the list of selected options + * or sets the option as the selected option. + * If option is already selected -> remove it from the results. + * + * @param {Object||String||Integer} option to select/deselect + * @param {Boolean} block removing + */ + select (option, key) { + /* istanbul ignore else */ + if (option.$isLabel && this.groupSelect) { + this.selectGroup(option); + return + } + if (this.blockKeys.indexOf(key) !== -1 || + this.disabled || + option.$isDisabled || + option.$isLabel + ) return + /* istanbul ignore else */ + if (this.max && this.multiple && this.internalValue.length === this.max) return + /* istanbul ignore else */ + if (key === 'Tab' && !this.pointerDirty) return + if (option.isTag) { + this.$emit('tag', option.label, this.id); + this.search = ''; + if (this.closeOnSelect && !this.multiple) this.deactivate(); + } else { + const isSelected = this.isSelected(option); + + if (isSelected) { + if (key !== 'Tab') this.removeElement(option); + return + } + + this.$emit('select', option, this.id); + + if (this.multiple) { + this.$emit('update:modelValue', this.internalValue.concat([option])); + } else { + this.$emit('update:modelValue', option); + } + + /* istanbul ignore else */ + if (this.clearOnSelect) this.search = ''; + } + /* istanbul ignore else */ + if (this.closeOnSelect) this.deactivate(); + }, + /** + * Add the given group options to the list of selected options + * If all group optiona are already selected -> remove it from the results. + * + * @param {Object||String||Integer} group to select/deselect + */ + selectGroup (selectedGroup) { + const group = this.options.find((option) => { + return option[this.groupLabel] === selectedGroup.$groupLabel + }); + + if (!group) return + + if (this.wholeGroupSelected(group)) { + this.$emit('remove', group[this.groupValues], this.id); + + const newValue = this.internalValue.filter( + (option) => group[this.groupValues].indexOf(option) === -1 + ); + + this.$emit('update:modelValue', newValue); + } else { + const optionsToAdd = group[this.groupValues].filter( + (option) => !(this.isOptionDisabled(option) || this.isSelected(option)) + ); + + this.$emit('select', optionsToAdd, this.id); + this.$emit( + 'update:modelValue', + this.internalValue.concat(optionsToAdd) + ); + } + + if (this.closeOnSelect) this.deactivate(); + }, + /** + * Helper to identify if all values in a group are selected + * + * @param {Object} group to validated selected values against + */ + wholeGroupSelected (group) { + return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option) + ) + }, + /** + * Helper to identify if all values in a group are disabled + * + * @param {Object} group to check for disabled values + */ + wholeGroupDisabled (group) { + return group[this.groupValues].every(this.isOptionDisabled) + }, + /** + * Removes the given option from the selected options. + * Additionally checks this.allowEmpty prop if option can be removed when + * it is the last selected option. + * + * @param {type} option description + * @return {type} description + */ + removeElement (option, shouldClose = true) { + /* istanbul ignore else */ + if (this.disabled) return + /* istanbul ignore else */ + if (option.$isDisabled) return + /* istanbul ignore else */ + if (!this.allowEmpty && this.internalValue.length <= 1) { + this.deactivate(); + return + } + + const index = typeof option === 'object' + ? this.valueKeys.indexOf(option[this.trackBy]) + : this.valueKeys.indexOf(option); + + this.$emit('remove', option, this.id); + if (this.multiple) { + const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1)); + this.$emit('update:modelValue', newValue); + } else { + this.$emit('update:modelValue', null); + } + + /* istanbul ignore else */ + if (this.closeOnSelect && shouldClose) this.deactivate(); + }, + /** + * Calls this.removeElement() with the last element + * from this.internalValue (selected element Array) + * + * @fires this#removeElement + */ + removeLastElement () { + /* istanbul ignore else */ + if (this.blockKeys.indexOf('Delete') !== -1) return + /* istanbul ignore else */ + if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) { + this.removeElement(this.internalValue[this.internalValue.length - 1], false); + } + }, + /** + * Opens the multiselect’s dropdown. + * Sets this.isOpen to TRUE + */ + activate () { + /* istanbul ignore else */ + if (this.isOpen || this.disabled) return + + this.adjustPosition(); + /* istanbul ignore else */ + if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) { + this.pointer = 1; + } + + this.isOpen = true; + /* istanbul ignore else */ + if (this.searchable) { + if (!this.preserveSearch) this.search = ''; + this.$nextTick(() => this.$refs.search && this.$refs.search.focus()); + } else { + this.$el.focus(); + } + this.$emit('open', this.id); + }, + /** + * Closes the multiselect’s dropdown. + * Sets this.isOpen to FALSE + */ + deactivate () { + /* istanbul ignore else */ + if (!this.isOpen) return + + this.isOpen = false; + /* istanbul ignore else */ + if (this.searchable) { + this.$refs.search && this.$refs.search.blur(); + } else { + this.$el.blur(); + } + if (!this.preserveSearch) this.search = ''; + this.$emit('close', this.getValue(), this.id); + }, + /** + * Call this.activate() or this.deactivate() + * depending on this.isOpen value. + * + * @fires this#activate || this#deactivate + * @property {Boolean} isOpen indicates if dropdown is open + */ + toggle () { + this.isOpen + ? this.deactivate() + : this.activate(); + }, + /** + * Updates the hasEnoughSpace variable used for + * detecting where to expand the dropdown + */ + adjustPosition () { + if (typeof window === 'undefined') return + + const spaceAbove = this.$el.getBoundingClientRect().top; + const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom; + const hasEnoughSpaceBelow = spaceBelow > this.maxHeight; + + if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') { + this.preferredOpenDirection = 'below'; + this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight); + } else { + this.preferredOpenDirection = 'above'; + this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight); + } + } + } + }; + + var pointerMixin = { + data () { + return { + pointer: 0, + pointerDirty: false + } + }, + props: { + /** + * Enable/disable highlighting of the pointed value. + * @type {Boolean} + * @default true + */ + showPointer: { + type: Boolean, + default: true + }, + optionHeight: { + type: Number, + default: 40 + } + }, + computed: { + pointerPosition () { + return this.pointer * this.optionHeight + }, + visibleElements () { + return this.optimizedHeight / this.optionHeight + } + }, + watch: { + filteredOptions () { + this.pointerAdjust(); + }, + isOpen () { + this.pointerDirty = false; + }, + pointer () { + this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString()); + } + }, + methods: { + optionHighlight (index, option) { + return { + 'multiselect__option--highlight': index === this.pointer && this.showPointer, + 'multiselect__option--selected': this.isSelected(option) + } + }, + groupHighlight (index, selectedGroup) { + if (!this.groupSelect) { + return [ + 'multiselect__option--disabled', + {'multiselect__option--group': selectedGroup.$isLabel} + ] + } + + const group = this.options.find((option) => { + return option[this.groupLabel] === selectedGroup.$groupLabel + }); + + return group && !this.wholeGroupDisabled(group) ? [ + 'multiselect__option--group', + {'multiselect__option--highlight': index === this.pointer && this.showPointer}, + {'multiselect__option--group-selected': this.wholeGroupSelected(group)} + ] : 'multiselect__option--disabled' + }, + addPointerElement ({key} = 'Enter') { + /* istanbul ignore else */ + if (this.filteredOptions.length > 0) { + this.select(this.filteredOptions[this.pointer], key); + } + this.pointerReset(); + }, + pointerForward () { + /* istanbul ignore else */ + if (this.pointer < this.filteredOptions.length - 1) { + this.pointer++; + /* istanbul ignore next */ + if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) { + this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight; + } + /* istanbul ignore else */ + if ( + this.filteredOptions[this.pointer] && + this.filteredOptions[this.pointer].$isLabel && + !this.groupSelect + ) this.pointerForward(); + } + this.pointerDirty = true; + }, + pointerBackward () { + if (this.pointer > 0) { + this.pointer--; + /* istanbul ignore else */ + if (this.$refs.list.scrollTop >= this.pointerPosition) { + this.$refs.list.scrollTop = this.pointerPosition; + } + /* istanbul ignore else */ + if ( + this.filteredOptions[this.pointer] && + this.filteredOptions[this.pointer].$isLabel && + !this.groupSelect + ) this.pointerBackward(); + } else { + /* istanbul ignore else */ + if ( + this.filteredOptions[this.pointer] && + this.filteredOptions[0].$isLabel && + !this.groupSelect + ) this.pointerForward(); + } + this.pointerDirty = true; + }, + pointerReset () { + /* istanbul ignore else */ + if (!this.closeOnSelect) return + this.pointer = 0; + /* istanbul ignore else */ + if (this.$refs.list) { + this.$refs.list.scrollTop = 0; + } + }, + pointerAdjust () { + /* istanbul ignore else */ + if (this.pointer >= this.filteredOptions.length - 1) { + this.pointer = this.filteredOptions.length + ? this.filteredOptions.length - 1 + : 0; + } + + if (this.filteredOptions.length > 0 && + this.filteredOptions[this.pointer].$isLabel && + !this.groupSelect + ) { + this.pointerForward(); + } + }, + pointerSet (index) { + this.pointer = index; + this.pointerDirty = true; + } + } + }; + + var script = { + name: 'vue-multiselect', + mixins: [multiselectMixin, pointerMixin], + props: { + /** + * name attribute to match optional label element + * @default '' + * @type {String} + */ + name: { + type: String, + default: '' + }, + /** + * Presets the selected options value. + * @type {Object||Array||String||Integer} + */ + modelValue: { + type: null, + default () { + return [] + } + }, + /** + * String to show when pointing to an option + * @default 'Press enter to select' + * @type {String} + */ + selectLabel: { + type: String, + default: 'Press enter to select' + }, + /** + * String to show when pointing to an option + * @default 'Press enter to select' + * @type {String} + */ + selectGroupLabel: { + type: String, + default: 'Press enter to select group' + }, + /** + * String to show next to selected option + * @default 'Selected' + * @type {String} + */ + selectedLabel: { + type: String, + default: 'Selected' + }, + /** + * String to show when pointing to an already selected option + * @default 'Press enter to remove' + * @type {String} + */ + deselectLabel: { + type: String, + default: 'Press enter to remove' + }, + /** + * String to show when pointing to an already selected option + * @default 'Press enter to remove' + * @type {String} + */ + deselectGroupLabel: { + type: String, + default: 'Press enter to deselect group' + }, + /** + * Decide whether to show pointer labels + * @default true + * @type {Boolean} + */ + showLabels: { + type: Boolean, + default: true + }, + /** + * Limit the display of selected options. The rest will be hidden within the limitText string. + * @default 99999 + * @type {Integer} + */ + limit: { + type: Number, + default: 99999 + }, + /** + * Sets maxHeight style value of the dropdown + * @default 300 + * @type {Integer} + */ + maxHeight: { + type: Number, + default: 300 + }, + /** + * Function that process the message shown when selected + * elements pass the defined limit. + * @default 'and * more' + * @param {Int} count Number of elements more than limit + * @type {Function} + */ + limitText: { + type: Function, + default: (count) => `and ${count} more` + }, + /** + * Set true to trigger the loading spinner. + * @default False + * @type {Boolean} + */ + loading: { + type: Boolean, + default: false + }, + /** + * Disables the multiselect if true. + * @default false + * @type {Boolean} + */ + disabled: { + type: Boolean, + default: false + }, + /** + * Fixed opening direction + * @default '' + * @type {String} + */ + openDirection: { + type: String, + default: '' + }, + /** + * Shows slot with message about empty options + * @default true + * @type {Boolean} + */ + showNoOptions: { + type: Boolean, + default: true + }, + showNoResults: { + type: Boolean, + default: true + }, + tabindex: { + type: Number, + default: 0 + } + }, + computed: { + isSingleLabelVisible () { + return ( + (this.singleValue || this.singleValue === 0) && + (!this.isOpen || !this.searchable) && + !this.visibleValues.length + ) + }, + isPlaceholderVisible () { + return !this.internalValue.length && (!this.searchable || !this.isOpen) + }, + visibleValues () { + return this.multiple ? this.internalValue.slice(0, this.limit) : [] + }, + singleValue () { + return this.internalValue[0] + }, + deselectLabelText () { + return this.showLabels ? this.deselectLabel : '' + }, + deselectGroupLabelText () { + return this.showLabels ? this.deselectGroupLabel : '' + }, + selectLabelText () { + return this.showLabels ? this.selectLabel : '' + }, + selectGroupLabelText () { + return this.showLabels ? this.selectGroupLabel : '' + }, + selectedLabelText () { + return this.showLabels ? this.selectedLabel : '' + }, + inputStyle () { + if ( + this.searchable || + (this.multiple && this.modelValue && this.modelValue.length) + ) { + // Hide input by setting the width to 0 allowing it to receive focus + return this.isOpen + ? {width: '100%'} + : {width: '0', position: 'absolute', padding: '0'} + } + return '' + }, + contentStyle () { + return this.options.length + ? {display: 'inline-block'} + : {display: 'block'} + }, + isAbove () { + if (this.openDirection === 'above' || this.openDirection === 'top') { + return true + } else if ( + this.openDirection === 'below' || + this.openDirection === 'bottom' + ) { + return false + } else { + return this.preferredOpenDirection === 'above' + } + }, + showSearchInput () { + return ( + this.searchable && + (this.hasSingleSelectedSlot && + (this.visibleSingleValue || this.visibleSingleValue === 0) + ? this.isOpen + : true) + ) + } + } + }; + + const _hoisted_1 = { + ref: "tags", + class: "multiselect__tags" + }; + const _hoisted_2 = { class: "multiselect__tags-wrap" }; + const _hoisted_3 = { class: "multiselect__spinner" }; + const _hoisted_4 = { key: 0 }; + const _hoisted_5 = { class: "multiselect__option" }; + const _hoisted_6 = { class: "multiselect__option" }; + const _hoisted_7 = /*#__PURE__*/vue.createTextVNode("No elements found. Consider changing the search query."); + const _hoisted_8 = { class: "multiselect__option" }; + const _hoisted_9 = /*#__PURE__*/vue.createTextVNode("List is empty."); + + function render(_ctx, _cache, $props, $setup, $data, $options) { + return (vue.openBlock(), vue.createBlock("div", { + tabindex: _ctx.searchable ? -1 : $props.tabindex, + class: [{ 'multiselect--active': _ctx.isOpen, 'multiselect--disabled': $props.disabled, 'multiselect--above': $options.isAbove }, "multiselect"], + onFocus: _cache[14] || (_cache[14] = $event => (_ctx.activate())), + onBlur: _cache[15] || (_cache[15] = $event => (_ctx.searchable ? false : _ctx.deactivate())), + onKeydown: [ + _cache[16] || (_cache[16] = vue.withKeys(vue.withModifiers($event => (_ctx.pointerForward()), ["self","prevent"]), ["down"])), + _cache[17] || (_cache[17] = vue.withKeys(vue.withModifiers($event => (_ctx.pointerBackward()), ["self","prevent"]), ["up"])) + ], + onKeypress: _cache[18] || (_cache[18] = vue.withKeys(vue.withModifiers($event => (_ctx.addPointerElement($event)), ["stop","self"]), ["enter","tab"])), + onKeyup: _cache[19] || (_cache[19] = vue.withKeys($event => (_ctx.deactivate()), ["esc"])), + role: "combobox", + "aria-owns": 'listbox-'+_ctx.id + }, [ + vue.renderSlot(_ctx.$slots, "caret", { toggle: _ctx.toggle }, () => [ + vue.createVNode("div", { + onMousedown: _cache[1] || (_cache[1] = vue.withModifiers($event => (_ctx.toggle()), ["prevent","stop"])), + class: "multiselect__select" + }, null, 32 /* HYDRATE_EVENTS */) + ]), + vue.renderSlot(_ctx.$slots, "clear", { search: _ctx.search }), + vue.createVNode("div", _hoisted_1, [ + vue.renderSlot(_ctx.$slots, "selection", { + search: _ctx.search, + remove: _ctx.removeElement, + values: $options.visibleValues, + isOpen: _ctx.isOpen + }, () => [ + vue.withDirectives(vue.createVNode("div", _hoisted_2, [ + (vue.openBlock(true), vue.createBlock(vue.Fragment, null, vue.renderList($options.visibleValues, (option, index) => { + return vue.renderSlot(_ctx.$slots, "tag", { + option: option, + search: _ctx.search, + remove: _ctx.removeElement + }, () => [ + (vue.openBlock(), vue.createBlock("span", { + class: "multiselect__tag", + key: index + }, [ + vue.createVNode("span", { + textContent: vue.toDisplayString(_ctx.getOptionLabel(option)) + }, null, 8 /* PROPS */, ["textContent"]), + vue.createVNode("i", { + tabindex: "1", + onKeypress: vue.withKeys(vue.withModifiers($event => (_ctx.removeElement(option)), ["prevent"]), ["enter"]), + onMousedown: vue.withModifiers($event => (_ctx.removeElement(option)), ["prevent"]), + class: "multiselect__tag-icon" + }, null, 40 /* PROPS, HYDRATE_EVENTS */, ["onKeypress", "onMousedown"]) + ])) + ]) + }), 256 /* UNKEYED_FRAGMENT */)) + ], 512 /* NEED_PATCH */), [ + [vue.vShow, $options.visibleValues.length > 0] + ]), + (_ctx.internalValue && _ctx.internalValue.length > $props.limit) + ? vue.renderSlot(_ctx.$slots, "limit", { key: 0 }, () => [ + vue.createVNode("strong", { + class: "multiselect__strong", + textContent: vue.toDisplayString($props.limitText(_ctx.internalValue.length - $props.limit)) + }, null, 8 /* PROPS */, ["textContent"]) + ]) + : vue.createCommentVNode("v-if", true) + ]), + vue.createVNode(vue.Transition, { name: "multiselect__loading" }, { + default: vue.withCtx(() => [ + vue.renderSlot(_ctx.$slots, "loading", {}, () => [ + vue.withDirectives(vue.createVNode("div", _hoisted_3, null, 512 /* NEED_PATCH */), [ + [vue.vShow, $props.loading] + ]) + ]) + ]), + _: 3 /* FORWARDED */ + }), + (_ctx.searchable) + ? (vue.openBlock(), vue.createBlock("input", { + key: 0, + ref: "search", + name: $props.name, + id: _ctx.id, + type: "text", + autocomplete: "off", + spellcheck: "false", + placeholder: _ctx.placeholder, + style: $options.inputStyle, + value: _ctx.search, + disabled: $props.disabled, + tabindex: $props.tabindex, + onInput: _cache[2] || (_cache[2] = $event => (_ctx.updateSearch($event.target.value))), + onFocus: _cache[3] || (_cache[3] = vue.withModifiers($event => (_ctx.activate()), ["prevent"])), + onBlur: _cache[4] || (_cache[4] = vue.withModifiers($event => (_ctx.deactivate()), ["prevent"])), + onKeyup: _cache[5] || (_cache[5] = vue.withKeys($event => (_ctx.deactivate()), ["esc"])), + onKeydown: [ + _cache[6] || (_cache[6] = vue.withKeys(vue.withModifiers($event => (_ctx.pointerForward()), ["prevent"]), ["down"])), + _cache[7] || (_cache[7] = vue.withKeys(vue.withModifiers($event => (_ctx.pointerBackward()), ["prevent"]), ["up"])), + _cache[9] || (_cache[9] = vue.withKeys(vue.withModifiers($event => (_ctx.removeLastElement()), ["stop"]), ["delete"])) + ], + onKeypress: _cache[8] || (_cache[8] = vue.withKeys(vue.withModifiers($event => (_ctx.addPointerElement($event)), ["prevent","stop","self"]), ["enter"])), + class: "multiselect__input", + "aria-controls": 'listbox-'+_ctx.id + }, null, 44 /* STYLE, PROPS, HYDRATE_EVENTS */, ["name", "id", "placeholder", "value", "disabled", "tabindex", "aria-controls"])) + : vue.createCommentVNode("v-if", true), + ($options.isSingleLabelVisible) + ? (vue.openBlock(), vue.createBlock("span", { + key: 1, + class: "multiselect__single", + onMousedown: _cache[10] || (_cache[10] = vue.withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), ["prevent"])) + }, [ + vue.renderSlot(_ctx.$slots, "singleLabel", { option: $options.singleValue }, () => [ + vue.createTextVNode(vue.toDisplayString(_ctx.currentOptionLabel), 1 /* TEXT */) + ]) + ], 32 /* HYDRATE_EVENTS */)) + : vue.createCommentVNode("v-if", true), + ($options.isPlaceholderVisible) + ? (vue.openBlock(), vue.createBlock("span", { + key: 2, + class: "multiselect__placeholder", + onMousedown: _cache[11] || (_cache[11] = vue.withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), ["prevent"])) + }, [ + vue.renderSlot(_ctx.$slots, "placeholder", {}, () => [ + vue.createTextVNode(vue.toDisplayString(_ctx.placeholder), 1 /* TEXT */) + ]) + ], 32 /* HYDRATE_EVENTS */)) + : vue.createCommentVNode("v-if", true) + ], 512 /* NEED_PATCH */), + vue.createVNode(vue.Transition, { name: "multiselect" }, { + default: vue.withCtx(() => [ + vue.withDirectives(vue.createVNode("div", { + class: "multiselect__content-wrapper", + onFocus: _cache[12] || (_cache[12] = (...args) => (_ctx.activate && _ctx.activate(...args))), + tabindex: "-1", + onMousedown: _cache[13] || (_cache[13] = vue.withModifiers(() => {}, ["prevent"])), + style: { maxHeight: _ctx.optimizedHeight + 'px' }, + ref: "list" + }, [ + vue.createVNode("ul", { + class: "multiselect__content", + style: $options.contentStyle, + role: "listbox", + id: 'listbox-'+_ctx.id + }, [ + vue.renderSlot(_ctx.$slots, "beforeList"), + (_ctx.multiple && _ctx.max === _ctx.internalValue.length) + ? (vue.openBlock(), vue.createBlock("li", _hoisted_4, [ + vue.createVNode("span", _hoisted_5, [ + vue.renderSlot(_ctx.$slots, "maxElements", {}, () => [ + vue.createTextVNode("Maximum of " + vue.toDisplayString(_ctx.max) + " options selected. First remove a selected option to select another.", 1 /* TEXT */) + ]) + ]) + ])) + : vue.createCommentVNode("v-if", true), + (!_ctx.max || _ctx.internalValue.length < _ctx.max) + ? (vue.openBlock(true), vue.createBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.filteredOptions, (option, index) => { + return (vue.openBlock(), vue.createBlock("li", { + class: "multiselect__element", + key: index, + id: _ctx.id + '-' + index, + role: !(option && (option.$isLabel || option.$isDisabled)) ? 'option' : null + }, [ + (!(option && (option.$isLabel || option.$isDisabled))) + ? (vue.openBlock(), vue.createBlock("span", { + key: 0, + class: [_ctx.optionHighlight(index, option), "multiselect__option"], + onClick: vue.withModifiers($event => (_ctx.select(option)), ["stop"]), + onMouseenter: vue.withModifiers($event => (_ctx.pointerSet(index)), ["self"]), + "data-select": option && option.isTag ? _ctx.tagPlaceholder : $options.selectLabelText, + "data-selected": $options.selectedLabelText, + "data-deselect": $options.deselectLabelText + }, [ + vue.renderSlot(_ctx.$slots, "option", { + option: option, + search: _ctx.search, + index: index + }, () => [ + vue.createVNode("span", null, vue.toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */) + ]) + ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, ["onClick", "onMouseenter", "data-select", "data-selected", "data-deselect"])) + : vue.createCommentVNode("v-if", true), + (option && (option.$isLabel || option.$isDisabled)) + ? (vue.openBlock(), vue.createBlock("span", { + key: 1, + "data-select": _ctx.groupSelect && $options.selectGroupLabelText, + "data-deselect": _ctx.groupSelect && $options.deselectGroupLabelText, + class: [_ctx.groupHighlight(index, option), "multiselect__option"], + onMouseenter: vue.withModifiers($event => (_ctx.groupSelect && _ctx.pointerSet(index)), ["self"]), + onMousedown: vue.withModifiers($event => (_ctx.selectGroup(option)), ["prevent"]) + }, [ + vue.renderSlot(_ctx.$slots, "option", { + option: option, + search: _ctx.search, + index: index + }, () => [ + vue.createVNode("span", null, vue.toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */) + ]) + ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, ["data-select", "data-deselect", "onMouseenter", "onMousedown"])) + : vue.createCommentVNode("v-if", true) + ], 8 /* PROPS */, ["id", "role"])) + }), 128 /* KEYED_FRAGMENT */)) + : vue.createCommentVNode("v-if", true), + vue.withDirectives(vue.createVNode("li", null, [ + vue.createVNode("span", _hoisted_6, [ + vue.renderSlot(_ctx.$slots, "noResult", { search: _ctx.search }, () => [ + _hoisted_7 + ]) + ]) + ], 512 /* NEED_PATCH */), [ + [vue.vShow, $props.showNoResults && (_ctx.filteredOptions.length === 0 && _ctx.search && !$props.loading)] + ]), + vue.withDirectives(vue.createVNode("li", null, [ + vue.createVNode("span", _hoisted_8, [ + vue.renderSlot(_ctx.$slots, "noOptions", {}, () => [ + _hoisted_9 + ]) + ]) + ], 512 /* NEED_PATCH */), [ + [vue.vShow, $props.showNoOptions && (_ctx.options.length === 0 && !_ctx.search && !$props.loading)] + ]), + vue.renderSlot(_ctx.$slots, "afterList") + ], 12 /* STYLE, PROPS */, ["id"]) + ], 36 /* STYLE, HYDRATE_EVENTS */), [ + [vue.vShow, _ctx.isOpen] + ]) + ]), + _: 3 /* FORWARDED */ + }) + ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, ["tabindex", "aria-owns"])) + } + + script.render = render; + + exports.Multiselect = script; + exports.default = script; + exports.multiselectMixin = multiselectMixin; + exports.pointerMixin = pointerMixin; + + Object.defineProperty(exports, '__esModule', { value: true }); + + return exports; + +}({}, vue)); diff --git a/dist/vue-multiselect.ssr.js b/dist/vue-multiselect.ssr.js new file mode 100644 index 00000000..e218cb15 --- /dev/null +++ b/dist/vue-multiselect.ssr.js @@ -0,0 +1,1330 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var vue = require('vue'); + +function isEmpty (opt) { + if (opt === 0) return false + if (Array.isArray(opt) && opt.length === 0) return true + return !opt +} + +function not (fun) { + return (...params) => !fun(...params) +} + +function includes (str, query) { + /* istanbul ignore else */ + if (str === undefined) str = 'undefined'; + if (str === null) str = 'null'; + if (str === false) str = 'false'; + const text = str.toString().toLowerCase(); + return text.indexOf(query.trim()) !== -1 +} + +function filterOptions (options, search, label, customLabel) { + return search ? options + .filter((option) => includes(customLabel(option, label), search)) + .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options +} + +function stripGroups (options) { + return options.filter((option) => !option.$isLabel) +} + +function flattenOptions (values, label) { + return (options) => + options.reduce((prev, curr) => { + /* istanbul ignore else */ + if (curr[values] && curr[values].length) { + prev.push({ + $groupLabel: curr[label], + $isLabel: true + }); + return prev.concat(curr[values]) + } + return prev + }, []) +} + +function filterGroups (search, label, values, groupLabel, customLabel) { + return (groups) => + groups.map((group) => { + /* istanbul ignore else */ + if (!group[values]) { + console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`); + return [] + } + const groupOptions = filterOptions(group[values], search, label, customLabel); + + return groupOptions.length + ? { + [groupLabel]: group[groupLabel], + [values]: groupOptions + } + : [] + }) +} + +const flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x); + +var multiselectMixin = { + data () { + return { + search: '', + isOpen: false, + preferredOpenDirection: 'below', + optimizedHeight: this.maxHeight + } + }, + props: { + /** + * Decide whether to filter the results based on search query. + * Useful for async filtering, where we search through more complex data. + * @type {Boolean} + */ + internalSearch: { + type: Boolean, + default: true + }, + /** + * Array of available options: Objects, Strings or Integers. + * If array of objects, visible label will default to option.label. + * If `labal` prop is passed, label will equal option['label'] + * @type {Array} + */ + options: { + type: Array, + required: true + }, + /** + * Equivalent to the `multiple` attribute on a `` input. + * @default 'Select option' + * @type {String} + */ + placeholder: { + type: String, + default: 'Select option' + }, + /** + * Allow to remove all selected values + * @default true + * @type {Boolean} + */ + allowEmpty: { + type: Boolean, + default: true + }, + /** + * Reset this.internalValue, this.search after this.internalValue changes. + * Useful if want to create a stateless dropdown. + * @default false + * @type {Boolean} + */ + resetAfter: { + type: Boolean, + default: false + }, + /** + * Enable/disable closing after selecting an option + * @default true + * @type {Boolean} + */ + closeOnSelect: { + type: Boolean, + default: true + }, + /** + * Function to interpolate the custom label + * @default false + * @type {Function} + */ + customLabel: { + type: Function, + default (option, label) { + if (isEmpty(option)) return '' + return label ? option[label] : option + } + }, + /** + * Disable / Enable tagging + * @default false + * @type {Boolean} + */ + taggable: { + type: Boolean, + default: false + }, + /** + * String to show when highlighting a potential tag + * @default 'Press enter to create a tag' + * @type {String} + */ + tagPlaceholder: { + type: String, + default: 'Press enter to create a tag' + }, + /** + * By default new tags will appear above the search results. + * Changing to 'bottom' will revert this behaviour + * and will proritize the search results + * @default 'top' + * @type {String} + */ + tagPosition: { + type: String, + default: 'top' + }, + /** + * Number of allowed selected options. No limit if 0. + * @default 0 + * @type {Number} + */ + max: { + type: [Number, Boolean], + default: false + }, + /** + * Will be passed with all events as second param. + * Useful for identifying events origin. + * @default null + * @type {String|Integer} + */ + id: { + default: null + }, + /** + * Limits the options displayed in the dropdown + * to the first X options. + * @default 1000 + * @type {Integer} + */ + optionsLimit: { + type: Number, + default: 1000 + }, + /** + * Name of the property containing + * the group values + * @default 1000 + * @type {String} + */ + groupValues: { + type: String + }, + /** + * Name of the property containing + * the group label + * @default 1000 + * @type {String} + */ + groupLabel: { + type: String + }, + /** + * Allow to select all group values + * by selecting the group label + * @default false + * @type {Boolean} + */ + groupSelect: { + type: Boolean, + default: false + }, + /** + * Array of keyboard keys to block + * when selecting + * @default 1000 + * @type {String} + */ + blockKeys: { + type: Array, + default () { + return [] + } + }, + /** + * Prevent from wiping up the search value + * @default false + * @type {Boolean} + */ + preserveSearch: { + type: Boolean, + default: false + }, + /** + * Select 1st options if value is empty + * @default false + * @type {Boolean} + */ + preselectFirst: { + type: Boolean, + default: false + } + }, + mounted () { + /* istanbul ignore else */ + if (!this.multiple && this.max) { + console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.'); + } + if ( + this.preselectFirst && + !this.internalValue.length && + this.options.length + ) { + this.select(this.filteredOptions[0]); + } + }, + computed: { + internalValue () { + return this.modelValue || this.modelValue === 0 + ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue] + : [] + }, + filteredOptions () { + const search = this.search || ''; + const normalizedSearch = search.toLowerCase().trim(); + + let options = this.options.concat(); + + /* istanbul ignore else */ + if (this.internalSearch) { + options = this.groupValues + ? this.filterAndFlat(options, normalizedSearch, this.label) + : filterOptions(options, normalizedSearch, this.label, this.customLabel); + } else { + options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options; + } + + options = this.hideSelected + ? options.filter(not(this.isSelected)) + : options; + + /* istanbul ignore else */ + if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) { + if (this.tagPosition === 'bottom') { + options.push({isTag: true, label: search}); + } else { + options.unshift({isTag: true, label: search}); + } + } + + return options.slice(0, this.optionsLimit) + }, + valueKeys () { + if (this.trackBy) { + return this.internalValue.map((element) => element[this.trackBy]) + } else { + return this.internalValue + } + }, + optionKeys () { + const options = this.groupValues ? this.flatAndStrip(this.options) : this.options; + return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase()) + }, + currentOptionLabel () { + return this.multiple + ? this.searchable ? '' : this.placeholder + : this.internalValue.length + ? this.getOptionLabel(this.internalValue[0]) + : this.searchable ? '' : this.placeholder + } + }, + watch: { + internalValue () { + /* istanbul ignore else */ + if (this.resetAfter && this.internalValue.length) { + this.search = ''; + this.$emit('update:modelValue', this.multiple ? [] : null); + } + }, + search () { + this.$emit('search-change', this.search); + } + }, + emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'], + methods: { + /** + * Returns the internalValue in a way it can be emited to the parent + * @returns {Object||Array||String||Integer} + */ + getValue () { + return this.multiple + ? this.internalValue + : this.internalValue.length === 0 + ? null + : this.internalValue[0] + }, + /** + * Filters and then flattens the options list + * @param {Array} + * @return {Array} returns a filtered and flat options list + */ + filterAndFlat (options, search, label) { + return flow( + filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel), + flattenOptions(this.groupValues, this.groupLabel) + )(options) + }, + /** + * Flattens and then strips the group labels from the options list + * @param {Array} + * @return {Array} returns a flat options list without group labels + */ + flatAndStrip (options) { + return flow( + flattenOptions(this.groupValues, this.groupLabel), + stripGroups + )(options) + }, + /** + * Updates the search value + * @param {String} + */ + updateSearch (query) { + this.search = query; + }, + /** + * Finds out if the given query is already present + * in the available options + * @param {String} + * @return {Boolean} returns true if element is available + */ + isExistingOption (query) { + return !this.options + ? false + : this.optionKeys.indexOf(query) > -1 + }, + /** + * Finds out if the given element is already present + * in the result value + * @param {Object||String||Integer} option passed element to check + * @returns {Boolean} returns true if element is selected + */ + isSelected (option) { + const opt = this.trackBy + ? option[this.trackBy] + : option; + return this.valueKeys.indexOf(opt) > -1 + }, + /** + * Finds out if the given option is disabled + * @param {Object||String||Integer} option passed element to check + * @returns {Boolean} returns true if element is disabled + */ + isOptionDisabled (option) { + return !!option.$isDisabled + }, + /** + * Returns empty string when options is null/undefined + * Returns tag query if option is tag. + * Returns the customLabel() results and casts it to string. + * + * @param {Object||String||Integer} Passed option + * @returns {Object||String} + */ + getOptionLabel (option) { + if (isEmpty(option)) return '' + /* istanbul ignore else */ + if (option.isTag) return option.label + /* istanbul ignore else */ + if (option.$isLabel) return option.$groupLabel + + const label = this.customLabel(option, this.label); + /* istanbul ignore else */ + if (isEmpty(label)) return '' + return label + }, + /** + * Add the given option to the list of selected options + * or sets the option as the selected option. + * If option is already selected -> remove it from the results. + * + * @param {Object||String||Integer} option to select/deselect + * @param {Boolean} block removing + */ + select (option, key) { + /* istanbul ignore else */ + if (option.$isLabel && this.groupSelect) { + this.selectGroup(option); + return + } + if (this.blockKeys.indexOf(key) !== -1 || + this.disabled || + option.$isDisabled || + option.$isLabel + ) return + /* istanbul ignore else */ + if (this.max && this.multiple && this.internalValue.length === this.max) return + /* istanbul ignore else */ + if (key === 'Tab' && !this.pointerDirty) return + if (option.isTag) { + this.$emit('tag', option.label, this.id); + this.search = ''; + if (this.closeOnSelect && !this.multiple) this.deactivate(); + } else { + const isSelected = this.isSelected(option); + + if (isSelected) { + if (key !== 'Tab') this.removeElement(option); + return + } + + this.$emit('select', option, this.id); + + if (this.multiple) { + this.$emit('update:modelValue', this.internalValue.concat([option])); + } else { + this.$emit('update:modelValue', option); + } + + /* istanbul ignore else */ + if (this.clearOnSelect) this.search = ''; + } + /* istanbul ignore else */ + if (this.closeOnSelect) this.deactivate(); + }, + /** + * Add the given group options to the list of selected options + * If all group optiona are already selected -> remove it from the results. + * + * @param {Object||String||Integer} group to select/deselect + */ + selectGroup (selectedGroup) { + const group = this.options.find((option) => { + return option[this.groupLabel] === selectedGroup.$groupLabel + }); + + if (!group) return + + if (this.wholeGroupSelected(group)) { + this.$emit('remove', group[this.groupValues], this.id); + + const newValue = this.internalValue.filter( + (option) => group[this.groupValues].indexOf(option) === -1 + ); + + this.$emit('update:modelValue', newValue); + } else { + const optionsToAdd = group[this.groupValues].filter( + (option) => !(this.isOptionDisabled(option) || this.isSelected(option)) + ); + + this.$emit('select', optionsToAdd, this.id); + this.$emit( + 'update:modelValue', + this.internalValue.concat(optionsToAdd) + ); + } + + if (this.closeOnSelect) this.deactivate(); + }, + /** + * Helper to identify if all values in a group are selected + * + * @param {Object} group to validated selected values against + */ + wholeGroupSelected (group) { + return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option) + ) + }, + /** + * Helper to identify if all values in a group are disabled + * + * @param {Object} group to check for disabled values + */ + wholeGroupDisabled (group) { + return group[this.groupValues].every(this.isOptionDisabled) + }, + /** + * Removes the given option from the selected options. + * Additionally checks this.allowEmpty prop if option can be removed when + * it is the last selected option. + * + * @param {type} option description + * @return {type} description + */ + removeElement (option, shouldClose = true) { + /* istanbul ignore else */ + if (this.disabled) return + /* istanbul ignore else */ + if (option.$isDisabled) return + /* istanbul ignore else */ + if (!this.allowEmpty && this.internalValue.length <= 1) { + this.deactivate(); + return + } + + const index = typeof option === 'object' + ? this.valueKeys.indexOf(option[this.trackBy]) + : this.valueKeys.indexOf(option); + + this.$emit('remove', option, this.id); + if (this.multiple) { + const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1)); + this.$emit('update:modelValue', newValue); + } else { + this.$emit('update:modelValue', null); + } + + /* istanbul ignore else */ + if (this.closeOnSelect && shouldClose) this.deactivate(); + }, + /** + * Calls this.removeElement() with the last element + * from this.internalValue (selected element Array) + * + * @fires this#removeElement + */ + removeLastElement () { + /* istanbul ignore else */ + if (this.blockKeys.indexOf('Delete') !== -1) return + /* istanbul ignore else */ + if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) { + this.removeElement(this.internalValue[this.internalValue.length - 1], false); + } + }, + /** + * Opens the multiselect’s dropdown. + * Sets this.isOpen to TRUE + */ + activate () { + /* istanbul ignore else */ + if (this.isOpen || this.disabled) return + + this.adjustPosition(); + /* istanbul ignore else */ + if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) { + this.pointer = 1; + } + + this.isOpen = true; + /* istanbul ignore else */ + if (this.searchable) { + if (!this.preserveSearch) this.search = ''; + this.$nextTick(() => this.$refs.search && this.$refs.search.focus()); + } else { + this.$el.focus(); + } + this.$emit('open', this.id); + }, + /** + * Closes the multiselect’s dropdown. + * Sets this.isOpen to FALSE + */ + deactivate () { + /* istanbul ignore else */ + if (!this.isOpen) return + + this.isOpen = false; + /* istanbul ignore else */ + if (this.searchable) { + this.$refs.search && this.$refs.search.blur(); + } else { + this.$el.blur(); + } + if (!this.preserveSearch) this.search = ''; + this.$emit('close', this.getValue(), this.id); + }, + /** + * Call this.activate() or this.deactivate() + * depending on this.isOpen value. + * + * @fires this#activate || this#deactivate + * @property {Boolean} isOpen indicates if dropdown is open + */ + toggle () { + this.isOpen + ? this.deactivate() + : this.activate(); + }, + /** + * Updates the hasEnoughSpace variable used for + * detecting where to expand the dropdown + */ + adjustPosition () { + if (typeof window === 'undefined') return + + const spaceAbove = this.$el.getBoundingClientRect().top; + const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom; + const hasEnoughSpaceBelow = spaceBelow > this.maxHeight; + + if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') { + this.preferredOpenDirection = 'below'; + this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight); + } else { + this.preferredOpenDirection = 'above'; + this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight); + } + } + } +}; + +var pointerMixin = { + data () { + return { + pointer: 0, + pointerDirty: false + } + }, + props: { + /** + * Enable/disable highlighting of the pointed value. + * @type {Boolean} + * @default true + */ + showPointer: { + type: Boolean, + default: true + }, + optionHeight: { + type: Number, + default: 40 + } + }, + computed: { + pointerPosition () { + return this.pointer * this.optionHeight + }, + visibleElements () { + return this.optimizedHeight / this.optionHeight + } + }, + watch: { + filteredOptions () { + this.pointerAdjust(); + }, + isOpen () { + this.pointerDirty = false; + }, + pointer () { + this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString()); + } + }, + methods: { + optionHighlight (index, option) { + return { + 'multiselect__option--highlight': index === this.pointer && this.showPointer, + 'multiselect__option--selected': this.isSelected(option) + } + }, + groupHighlight (index, selectedGroup) { + if (!this.groupSelect) { + return [ + 'multiselect__option--disabled', + {'multiselect__option--group': selectedGroup.$isLabel} + ] + } + + const group = this.options.find((option) => { + return option[this.groupLabel] === selectedGroup.$groupLabel + }); + + return group && !this.wholeGroupDisabled(group) ? [ + 'multiselect__option--group', + {'multiselect__option--highlight': index === this.pointer && this.showPointer}, + {'multiselect__option--group-selected': this.wholeGroupSelected(group)} + ] : 'multiselect__option--disabled' + }, + addPointerElement ({key} = 'Enter') { + /* istanbul ignore else */ + if (this.filteredOptions.length > 0) { + this.select(this.filteredOptions[this.pointer], key); + } + this.pointerReset(); + }, + pointerForward () { + /* istanbul ignore else */ + if (this.pointer < this.filteredOptions.length - 1) { + this.pointer++; + /* istanbul ignore next */ + if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) { + this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight; + } + /* istanbul ignore else */ + if ( + this.filteredOptions[this.pointer] && + this.filteredOptions[this.pointer].$isLabel && + !this.groupSelect + ) this.pointerForward(); + } + this.pointerDirty = true; + }, + pointerBackward () { + if (this.pointer > 0) { + this.pointer--; + /* istanbul ignore else */ + if (this.$refs.list.scrollTop >= this.pointerPosition) { + this.$refs.list.scrollTop = this.pointerPosition; + } + /* istanbul ignore else */ + if ( + this.filteredOptions[this.pointer] && + this.filteredOptions[this.pointer].$isLabel && + !this.groupSelect + ) this.pointerBackward(); + } else { + /* istanbul ignore else */ + if ( + this.filteredOptions[this.pointer] && + this.filteredOptions[0].$isLabel && + !this.groupSelect + ) this.pointerForward(); + } + this.pointerDirty = true; + }, + pointerReset () { + /* istanbul ignore else */ + if (!this.closeOnSelect) return + this.pointer = 0; + /* istanbul ignore else */ + if (this.$refs.list) { + this.$refs.list.scrollTop = 0; + } + }, + pointerAdjust () { + /* istanbul ignore else */ + if (this.pointer >= this.filteredOptions.length - 1) { + this.pointer = this.filteredOptions.length + ? this.filteredOptions.length - 1 + : 0; + } + + if (this.filteredOptions.length > 0 && + this.filteredOptions[this.pointer].$isLabel && + !this.groupSelect + ) { + this.pointerForward(); + } + }, + pointerSet (index) { + this.pointer = index; + this.pointerDirty = true; + } + } +}; + +var script = { + name: 'vue-multiselect', + mixins: [multiselectMixin, pointerMixin], + props: { + /** + * name attribute to match optional label element + * @default '' + * @type {String} + */ + name: { + type: String, + default: '' + }, + /** + * Presets the selected options value. + * @type {Object||Array||String||Integer} + */ + modelValue: { + type: null, + default () { + return [] + } + }, + /** + * String to show when pointing to an option + * @default 'Press enter to select' + * @type {String} + */ + selectLabel: { + type: String, + default: 'Press enter to select' + }, + /** + * String to show when pointing to an option + * @default 'Press enter to select' + * @type {String} + */ + selectGroupLabel: { + type: String, + default: 'Press enter to select group' + }, + /** + * String to show next to selected option + * @default 'Selected' + * @type {String} + */ + selectedLabel: { + type: String, + default: 'Selected' + }, + /** + * String to show when pointing to an already selected option + * @default 'Press enter to remove' + * @type {String} + */ + deselectLabel: { + type: String, + default: 'Press enter to remove' + }, + /** + * String to show when pointing to an already selected option + * @default 'Press enter to remove' + * @type {String} + */ + deselectGroupLabel: { + type: String, + default: 'Press enter to deselect group' + }, + /** + * Decide whether to show pointer labels + * @default true + * @type {Boolean} + */ + showLabels: { + type: Boolean, + default: true + }, + /** + * Limit the display of selected options. The rest will be hidden within the limitText string. + * @default 99999 + * @type {Integer} + */ + limit: { + type: Number, + default: 99999 + }, + /** + * Sets maxHeight style value of the dropdown + * @default 300 + * @type {Integer} + */ + maxHeight: { + type: Number, + default: 300 + }, + /** + * Function that process the message shown when selected + * elements pass the defined limit. + * @default 'and * more' + * @param {Int} count Number of elements more than limit + * @type {Function} + */ + limitText: { + type: Function, + default: (count) => `and ${count} more` + }, + /** + * Set true to trigger the loading spinner. + * @default False + * @type {Boolean} + */ + loading: { + type: Boolean, + default: false + }, + /** + * Disables the multiselect if true. + * @default false + * @type {Boolean} + */ + disabled: { + type: Boolean, + default: false + }, + /** + * Fixed opening direction + * @default '' + * @type {String} + */ + openDirection: { + type: String, + default: '' + }, + /** + * Shows slot with message about empty options + * @default true + * @type {Boolean} + */ + showNoOptions: { + type: Boolean, + default: true + }, + showNoResults: { + type: Boolean, + default: true + }, + tabindex: { + type: Number, + default: 0 + } + }, + computed: { + isSingleLabelVisible () { + return ( + (this.singleValue || this.singleValue === 0) && + (!this.isOpen || !this.searchable) && + !this.visibleValues.length + ) + }, + isPlaceholderVisible () { + return !this.internalValue.length && (!this.searchable || !this.isOpen) + }, + visibleValues () { + return this.multiple ? this.internalValue.slice(0, this.limit) : [] + }, + singleValue () { + return this.internalValue[0] + }, + deselectLabelText () { + return this.showLabels ? this.deselectLabel : '' + }, + deselectGroupLabelText () { + return this.showLabels ? this.deselectGroupLabel : '' + }, + selectLabelText () { + return this.showLabels ? this.selectLabel : '' + }, + selectGroupLabelText () { + return this.showLabels ? this.selectGroupLabel : '' + }, + selectedLabelText () { + return this.showLabels ? this.selectedLabel : '' + }, + inputStyle () { + if ( + this.searchable || + (this.multiple && this.modelValue && this.modelValue.length) + ) { + // Hide input by setting the width to 0 allowing it to receive focus + return this.isOpen + ? {width: '100%'} + : {width: '0', position: 'absolute', padding: '0'} + } + return '' + }, + contentStyle () { + return this.options.length + ? {display: 'inline-block'} + : {display: 'block'} + }, + isAbove () { + if (this.openDirection === 'above' || this.openDirection === 'top') { + return true + } else if ( + this.openDirection === 'below' || + this.openDirection === 'bottom' + ) { + return false + } else { + return this.preferredOpenDirection === 'above' + } + }, + showSearchInput () { + return ( + this.searchable && + (this.hasSingleSelectedSlot && + (this.visibleSingleValue || this.visibleSingleValue === 0) + ? this.isOpen + : true) + ) + } + } +}; + +const _hoisted_1 = { + ref: "tags", + class: "multiselect__tags" +}; +const _hoisted_2 = { class: "multiselect__tags-wrap" }; +const _hoisted_3 = { class: "multiselect__spinner" }; +const _hoisted_4 = { key: 0 }; +const _hoisted_5 = { class: "multiselect__option" }; +const _hoisted_6 = { class: "multiselect__option" }; +const _hoisted_7 = /*#__PURE__*/vue.createTextVNode("No elements found. Consider changing the search query."); +const _hoisted_8 = { class: "multiselect__option" }; +const _hoisted_9 = /*#__PURE__*/vue.createTextVNode("List is empty."); + +function render(_ctx, _cache, $props, $setup, $data, $options) { + return (vue.openBlock(), vue.createBlock("div", { + tabindex: _ctx.searchable ? -1 : $props.tabindex, + class: [{ 'multiselect--active': _ctx.isOpen, 'multiselect--disabled': $props.disabled, 'multiselect--above': $options.isAbove }, "multiselect"], + onFocus: _cache[14] || (_cache[14] = $event => (_ctx.activate())), + onBlur: _cache[15] || (_cache[15] = $event => (_ctx.searchable ? false : _ctx.deactivate())), + onKeydown: [ + _cache[16] || (_cache[16] = vue.withKeys(vue.withModifiers($event => (_ctx.pointerForward()), ["self","prevent"]), ["down"])), + _cache[17] || (_cache[17] = vue.withKeys(vue.withModifiers($event => (_ctx.pointerBackward()), ["self","prevent"]), ["up"])) + ], + onKeypress: _cache[18] || (_cache[18] = vue.withKeys(vue.withModifiers($event => (_ctx.addPointerElement($event)), ["stop","self"]), ["enter","tab"])), + onKeyup: _cache[19] || (_cache[19] = vue.withKeys($event => (_ctx.deactivate()), ["esc"])), + role: "combobox", + "aria-owns": 'listbox-'+_ctx.id + }, [ + vue.renderSlot(_ctx.$slots, "caret", { toggle: _ctx.toggle }, () => [ + vue.createVNode("div", { + onMousedown: _cache[1] || (_cache[1] = vue.withModifiers($event => (_ctx.toggle()), ["prevent","stop"])), + class: "multiselect__select" + }, null, 32 /* HYDRATE_EVENTS */) + ]), + vue.renderSlot(_ctx.$slots, "clear", { search: _ctx.search }), + vue.createVNode("div", _hoisted_1, [ + vue.renderSlot(_ctx.$slots, "selection", { + search: _ctx.search, + remove: _ctx.removeElement, + values: $options.visibleValues, + isOpen: _ctx.isOpen + }, () => [ + vue.withDirectives(vue.createVNode("div", _hoisted_2, [ + (vue.openBlock(true), vue.createBlock(vue.Fragment, null, vue.renderList($options.visibleValues, (option, index) => { + return vue.renderSlot(_ctx.$slots, "tag", { + option: option, + search: _ctx.search, + remove: _ctx.removeElement + }, () => [ + (vue.openBlock(), vue.createBlock("span", { + class: "multiselect__tag", + key: index + }, [ + vue.createVNode("span", { + textContent: vue.toDisplayString(_ctx.getOptionLabel(option)) + }, null, 8 /* PROPS */, ["textContent"]), + vue.createVNode("i", { + tabindex: "1", + onKeypress: vue.withKeys(vue.withModifiers($event => (_ctx.removeElement(option)), ["prevent"]), ["enter"]), + onMousedown: vue.withModifiers($event => (_ctx.removeElement(option)), ["prevent"]), + class: "multiselect__tag-icon" + }, null, 40 /* PROPS, HYDRATE_EVENTS */, ["onKeypress", "onMousedown"]) + ])) + ]) + }), 256 /* UNKEYED_FRAGMENT */)) + ], 512 /* NEED_PATCH */), [ + [vue.vShow, $options.visibleValues.length > 0] + ]), + (_ctx.internalValue && _ctx.internalValue.length > $props.limit) + ? vue.renderSlot(_ctx.$slots, "limit", { key: 0 }, () => [ + vue.createVNode("strong", { + class: "multiselect__strong", + textContent: vue.toDisplayString($props.limitText(_ctx.internalValue.length - $props.limit)) + }, null, 8 /* PROPS */, ["textContent"]) + ]) + : vue.createCommentVNode("v-if", true) + ]), + vue.createVNode(vue.Transition, { name: "multiselect__loading" }, { + default: vue.withCtx(() => [ + vue.renderSlot(_ctx.$slots, "loading", {}, () => [ + vue.withDirectives(vue.createVNode("div", _hoisted_3, null, 512 /* NEED_PATCH */), [ + [vue.vShow, $props.loading] + ]) + ]) + ]), + _: 3 /* FORWARDED */ + }), + (_ctx.searchable) + ? (vue.openBlock(), vue.createBlock("input", { + key: 0, + ref: "search", + name: $props.name, + id: _ctx.id, + type: "text", + autocomplete: "off", + spellcheck: "false", + placeholder: _ctx.placeholder, + style: $options.inputStyle, + value: _ctx.search, + disabled: $props.disabled, + tabindex: $props.tabindex, + onInput: _cache[2] || (_cache[2] = $event => (_ctx.updateSearch($event.target.value))), + onFocus: _cache[3] || (_cache[3] = vue.withModifiers($event => (_ctx.activate()), ["prevent"])), + onBlur: _cache[4] || (_cache[4] = vue.withModifiers($event => (_ctx.deactivate()), ["prevent"])), + onKeyup: _cache[5] || (_cache[5] = vue.withKeys($event => (_ctx.deactivate()), ["esc"])), + onKeydown: [ + _cache[6] || (_cache[6] = vue.withKeys(vue.withModifiers($event => (_ctx.pointerForward()), ["prevent"]), ["down"])), + _cache[7] || (_cache[7] = vue.withKeys(vue.withModifiers($event => (_ctx.pointerBackward()), ["prevent"]), ["up"])), + _cache[9] || (_cache[9] = vue.withKeys(vue.withModifiers($event => (_ctx.removeLastElement()), ["stop"]), ["delete"])) + ], + onKeypress: _cache[8] || (_cache[8] = vue.withKeys(vue.withModifiers($event => (_ctx.addPointerElement($event)), ["prevent","stop","self"]), ["enter"])), + class: "multiselect__input", + "aria-controls": 'listbox-'+_ctx.id + }, null, 44 /* STYLE, PROPS, HYDRATE_EVENTS */, ["name", "id", "placeholder", "value", "disabled", "tabindex", "aria-controls"])) + : vue.createCommentVNode("v-if", true), + ($options.isSingleLabelVisible) + ? (vue.openBlock(), vue.createBlock("span", { + key: 1, + class: "multiselect__single", + onMousedown: _cache[10] || (_cache[10] = vue.withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), ["prevent"])) + }, [ + vue.renderSlot(_ctx.$slots, "singleLabel", { option: $options.singleValue }, () => [ + vue.createTextVNode(vue.toDisplayString(_ctx.currentOptionLabel), 1 /* TEXT */) + ]) + ], 32 /* HYDRATE_EVENTS */)) + : vue.createCommentVNode("v-if", true), + ($options.isPlaceholderVisible) + ? (vue.openBlock(), vue.createBlock("span", { + key: 2, + class: "multiselect__placeholder", + onMousedown: _cache[11] || (_cache[11] = vue.withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), ["prevent"])) + }, [ + vue.renderSlot(_ctx.$slots, "placeholder", {}, () => [ + vue.createTextVNode(vue.toDisplayString(_ctx.placeholder), 1 /* TEXT */) + ]) + ], 32 /* HYDRATE_EVENTS */)) + : vue.createCommentVNode("v-if", true) + ], 512 /* NEED_PATCH */), + vue.createVNode(vue.Transition, { name: "multiselect" }, { + default: vue.withCtx(() => [ + vue.withDirectives(vue.createVNode("div", { + class: "multiselect__content-wrapper", + onFocus: _cache[12] || (_cache[12] = (...args) => (_ctx.activate && _ctx.activate(...args))), + tabindex: "-1", + onMousedown: _cache[13] || (_cache[13] = vue.withModifiers(() => {}, ["prevent"])), + style: { maxHeight: _ctx.optimizedHeight + 'px' }, + ref: "list" + }, [ + vue.createVNode("ul", { + class: "multiselect__content", + style: $options.contentStyle, + role: "listbox", + id: 'listbox-'+_ctx.id + }, [ + vue.renderSlot(_ctx.$slots, "beforeList"), + (_ctx.multiple && _ctx.max === _ctx.internalValue.length) + ? (vue.openBlock(), vue.createBlock("li", _hoisted_4, [ + vue.createVNode("span", _hoisted_5, [ + vue.renderSlot(_ctx.$slots, "maxElements", {}, () => [ + vue.createTextVNode("Maximum of " + vue.toDisplayString(_ctx.max) + " options selected. First remove a selected option to select another.", 1 /* TEXT */) + ]) + ]) + ])) + : vue.createCommentVNode("v-if", true), + (!_ctx.max || _ctx.internalValue.length < _ctx.max) + ? (vue.openBlock(true), vue.createBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.filteredOptions, (option, index) => { + return (vue.openBlock(), vue.createBlock("li", { + class: "multiselect__element", + key: index, + id: _ctx.id + '-' + index, + role: !(option && (option.$isLabel || option.$isDisabled)) ? 'option' : null + }, [ + (!(option && (option.$isLabel || option.$isDisabled))) + ? (vue.openBlock(), vue.createBlock("span", { + key: 0, + class: [_ctx.optionHighlight(index, option), "multiselect__option"], + onClick: vue.withModifiers($event => (_ctx.select(option)), ["stop"]), + onMouseenter: vue.withModifiers($event => (_ctx.pointerSet(index)), ["self"]), + "data-select": option && option.isTag ? _ctx.tagPlaceholder : $options.selectLabelText, + "data-selected": $options.selectedLabelText, + "data-deselect": $options.deselectLabelText + }, [ + vue.renderSlot(_ctx.$slots, "option", { + option: option, + search: _ctx.search, + index: index + }, () => [ + vue.createVNode("span", null, vue.toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */) + ]) + ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, ["onClick", "onMouseenter", "data-select", "data-selected", "data-deselect"])) + : vue.createCommentVNode("v-if", true), + (option && (option.$isLabel || option.$isDisabled)) + ? (vue.openBlock(), vue.createBlock("span", { + key: 1, + "data-select": _ctx.groupSelect && $options.selectGroupLabelText, + "data-deselect": _ctx.groupSelect && $options.deselectGroupLabelText, + class: [_ctx.groupHighlight(index, option), "multiselect__option"], + onMouseenter: vue.withModifiers($event => (_ctx.groupSelect && _ctx.pointerSet(index)), ["self"]), + onMousedown: vue.withModifiers($event => (_ctx.selectGroup(option)), ["prevent"]) + }, [ + vue.renderSlot(_ctx.$slots, "option", { + option: option, + search: _ctx.search, + index: index + }, () => [ + vue.createVNode("span", null, vue.toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */) + ]) + ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, ["data-select", "data-deselect", "onMouseenter", "onMousedown"])) + : vue.createCommentVNode("v-if", true) + ], 8 /* PROPS */, ["id", "role"])) + }), 128 /* KEYED_FRAGMENT */)) + : vue.createCommentVNode("v-if", true), + vue.withDirectives(vue.createVNode("li", null, [ + vue.createVNode("span", _hoisted_6, [ + vue.renderSlot(_ctx.$slots, "noResult", { search: _ctx.search }, () => [ + _hoisted_7 + ]) + ]) + ], 512 /* NEED_PATCH */), [ + [vue.vShow, $props.showNoResults && (_ctx.filteredOptions.length === 0 && _ctx.search && !$props.loading)] + ]), + vue.withDirectives(vue.createVNode("li", null, [ + vue.createVNode("span", _hoisted_8, [ + vue.renderSlot(_ctx.$slots, "noOptions", {}, () => [ + _hoisted_9 + ]) + ]) + ], 512 /* NEED_PATCH */), [ + [vue.vShow, $props.showNoOptions && (_ctx.options.length === 0 && !_ctx.search && !$props.loading)] + ]), + vue.renderSlot(_ctx.$slots, "afterList") + ], 12 /* STYLE, PROPS */, ["id"]) + ], 36 /* STYLE, HYDRATE_EVENTS */), [ + [vue.vShow, _ctx.isOpen] + ]) + ]), + _: 3 /* FORWARDED */ + }) + ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, ["tabindex", "aria-owns"])) +} + +script.render = render; + +exports.Multiselect = script; +exports.default = script; +exports.multiselectMixin = multiselectMixin; +exports.pointerMixin = pointerMixin; diff --git a/dist/vue3-multiselect.umd.js b/dist/vue-multiselect.umd.js similarity index 98% rename from dist/vue3-multiselect.umd.js rename to dist/vue-multiselect.umd.js index e1cf4701..3ce1bdda 100644 --- a/dist/vue3-multiselect.umd.js +++ b/dist/vue-multiselect.umd.js @@ -4,9 +4,9 @@ else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') - exports["vue3-multiselect"] = factory(require("vue")); + exports["vue-multiselect"] = factory(require("vue")); else - root["vue3-multiselect"] = factory(root["Vue"]); + root["vue-multiselect"] = factory(root["Vue"]); })((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache @@ -208,17 +208,6 @@ if (new Date(NaN) + '' != INVALID_DATE) { } -/***/ }), - -/***/ "0dd4": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_1adbf360_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("302e"); -/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_1adbf360_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_1adbf360_lang_scss__WEBPACK_IMPORTED_MODULE_0__); -/* unused harmony reexport * */ - - /***/ }), /***/ "129f": @@ -521,13 +510,6 @@ if (v8) { module.exports = version && +version; -/***/ }), - -/***/ "302e": -/***/ (function(module, exports, __webpack_require__) { - -// extracted by mini-css-extract-plugin - /***/ }), /***/ "342f": @@ -1075,6 +1057,17 @@ module.exports = function ($this, dummy, Wrapper) { }; +/***/ }), + +/***/ "71eb": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_008768af_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fefd"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_008768af_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Multiselect_vue_vue_type_style_index_0_id_008768af_lang_css__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + /***/ }), /***/ "7418": @@ -2734,7 +2727,7 @@ var es_function_name = __webpack_require__("b0c0"); // EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/Multiselect.vue?vue&type=template&id=1adbf360 +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/Multiselect.vue?vue&type=template&id=008768af @@ -2982,7 +2975,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { _: 3 })], 42, ["tabindex", "aria-owns"]); } -// CONCATENATED MODULE: ./src/Multiselect.vue?vue&type=template&id=1adbf360 +// CONCATENATED MODULE: ./src/Multiselect.vue?vue&type=template&id=008768af // EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js var es_number_constructor = __webpack_require__("a9e3"); @@ -3990,7 +3983,7 @@ var flow = function flow() { } } }); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./src/Multiselect.vue?vue&type=script&lang=js +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/Multiselect.vue?vue&type=script&lang=js @@ -4227,8 +4220,8 @@ var flow = function flow() { }); // CONCATENATED MODULE: ./src/Multiselect.vue?vue&type=script&lang=js -// EXTERNAL MODULE: ./src/Multiselect.vue?vue&type=style&index=0&id=1adbf360&lang=scss -var Multiselectvue_type_style_index_0_id_1adbf360_lang_scss = __webpack_require__("0dd4"); +// EXTERNAL MODULE: ./src/Multiselect.vue?vue&type=style&index=0&id=008768af&lang=css +var Multiselectvue_type_style_index_0_id_008768af_lang_css = __webpack_require__("71eb"); // CONCATENATED MODULE: ./src/Multiselect.vue @@ -4334,8 +4327,15 @@ module.exports = NATIVE_SYMBOL && typeof Symbol.iterator == 'symbol'; +/***/ }), + +/***/ "fefd": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + /***/ }) /******/ }); }); -//# sourceMappingURL=vue3-multiselect.umd.js.map \ No newline at end of file +//# sourceMappingURL=vue-multiselect.umd.js.map \ No newline at end of file diff --git a/dist/vue-multiselect.umd.js.map b/dist/vue-multiselect.umd.js.map new file mode 100644 index 00000000..bb89ff2c --- /dev/null +++ b/dist/vue-multiselect.umd.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://vue-multiselect/webpack/universalModuleDefinition","webpack://vue-multiselect/webpack/bootstrap","webpack://vue-multiselect/./node_modules/core-js/internals/to-string-tag-support.js","webpack://vue-multiselect/./node_modules/core-js/internals/function-bind-context.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://vue-multiselect/./node_modules/core-js/internals/ie8-dom-define.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.date.to-string.js","webpack://vue-multiselect/./node_modules/core-js/internals/same-value.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.reduce.js","webpack://vue-multiselect/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://vue-multiselect/./node_modules/core-js/internals/html.js","webpack://vue-multiselect/./node_modules/core-js/internals/a-function.js","webpack://vue-multiselect/./node_modules/core-js/internals/require-object-coercible.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-absolute-index.js","webpack://vue-multiselect/./node_modules/core-js/internals/export.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.is-array.js","webpack://vue-multiselect/./node_modules/core-js/internals/engine-v8-version.js","webpack://vue-multiselect/./node_modules/core-js/internals/engine-user-agent.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-define-properties.js","webpack://vue-multiselect/./node_modules/core-js/internals/a-possible-prototype.js","webpack://vue-multiselect/./node_modules/core-js/internals/path.js","webpack://vue-multiselect/./node_modules/core-js/internals/indexed-object.js","webpack://vue-multiselect/./node_modules/core-js/internals/add-to-unscopables.js","webpack://vue-multiselect/./node_modules/core-js/internals/native-symbol.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.string.trim.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-includes.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.filter.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.sort.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-length.js","webpack://vue-multiselect/./node_modules/core-js/internals/has.js","webpack://vue-multiselect/./node_modules/core-js/internals/shared.js","webpack://vue-multiselect/./node_modules/core-js/internals/own-keys.js","webpack://vue-multiselect/./node_modules/core-js/internals/whitespaces.js","webpack://vue-multiselect/./node_modules/core-js/internals/string-trim.js","webpack://vue-multiselect/./node_modules/core-js/internals/create-property-descriptor.js","webpack://vue-multiselect/./node_modules/core-js/internals/engine-is-node.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-species-create.js","webpack://vue-multiselect/./node_modules/core-js/internals/internal-state.js","webpack://vue-multiselect/./node_modules/core-js/internals/redefine.js","webpack://vue-multiselect/./node_modules/core-js/internals/inherit-if-required.js","webpack://vue-multiselect/./src/Multiselect.vue?95e8","webpack://vue-multiselect/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://vue-multiselect/./node_modules/core-js/internals/enum-bug-keys.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-object.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-create.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.find.js","webpack://vue-multiselect/./node_modules/core-js/internals/native-weak-map.js","webpack://vue-multiselect/./node_modules/core-js/internals/an-object.js","webpack://vue-multiselect/./node_modules/core-js/internals/descriptors.js","webpack://vue-multiselect/./node_modules/core-js/internals/create-property.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.string.search.js","webpack://vue-multiselect/./node_modules/core-js/internals/is-object.js","webpack://vue-multiselect/./node_modules/@soda/get-current-script/index.js","webpack://vue-multiselect/./node_modules/core-js/internals/inspect-source.js","webpack://vue-multiselect/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue-multiselect/./node_modules/core-js/internals/uid.js","webpack://vue-multiselect/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://vue-multiselect/./node_modules/core-js/internals/regexp-exec.js","webpack://vue-multiselect/./node_modules/core-js/internals/is-forced.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.concat.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-define-property.js","webpack://vue-multiselect/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.every.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-method-is-strict.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-integer.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.number.constructor.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.regexp.exec.js","webpack://vue-multiselect/./node_modules/core-js/internals/regexp-flags.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-to-string.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.function.name.js","webpack://vue-multiselect/./node_modules/core-js/internals/well-known-symbol.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-iteration.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-primitive.js","webpack://vue-multiselect/./node_modules/core-js/internals/is-pure.js","webpack://vue-multiselect/./node_modules/core-js/internals/classof-raw.js","webpack://vue-multiselect/./node_modules/core-js/internals/shared-store.js","webpack://vue-multiselect/(webpack)/buildin/global.js","webpack://vue-multiselect/./node_modules/core-js/internals/string-trim-forced.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.index-of.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-keys-internal.js","webpack://vue-multiselect/./node_modules/core-js/internals/document-create-element.js","webpack://vue-multiselect/./node_modules/core-js/internals/set-global.js","webpack://vue-multiselect/./node_modules/core-js/internals/hidden-keys.js","webpack://vue-multiselect/./node_modules/core-js/internals/fails.js","webpack://vue-multiselect/./node_modules/core-js/internals/get-built-in.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.object.to-string.js","webpack://vue-multiselect/./node_modules/core-js/internals/array-reduce.js","webpack://vue-multiselect/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.map.js","webpack://vue-multiselect/./node_modules/core-js/internals/global.js","webpack://vue-multiselect/./node_modules/core-js/internals/object-keys.js","webpack://vue-multiselect/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://vue-multiselect/./node_modules/core-js/internals/is-array.js","webpack://vue-multiselect/./node_modules/core-js/internals/classof.js","webpack://vue-multiselect/./node_modules/core-js/internals/shared-key.js","webpack://vue-multiselect/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-multiselect/./src/Multiselect.vue","webpack://vue-multiselect/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vue-multiselect/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vue-multiselect/./src/multiselectMixin.js","webpack://vue-multiselect/./src/pointerMixin.js","webpack://vue-multiselect/./src/Multiselect.vue?b537","webpack://vue-multiselect/./src/Multiselect.vue?8fb6","webpack://vue-multiselect/./src/index.js","webpack://vue-multiselect/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://vue-multiselect/./node_modules/core-js/modules/es.array.slice.js","webpack://vue-multiselect/./node_modules/core-js/internals/to-indexed-object.js","webpack://vue-multiselect/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://vue-multiselect/./src/Multiselect.vue?bd70"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","isEmpty","opt","Array","isArray","length","not","fun","includes","str","query","undefined","text","toString","toLowerCase","indexOf","trim","filterOptions","options","search","label","customLabel","filter","option","sort","a","b","stripGroups","$isLabel","flattenOptions","values","reduce","prev","curr","push","$groupLabel","concat","filterGroups","groupLabel","groups","map","group","console","warn","groupOptions","flow","fns","x","v","f","data","isOpen","preferredOpenDirection","optimizedHeight","maxHeight","props","internalSearch","type","Boolean","required","multiple","trackBy","String","searchable","clearOnSelect","hideSelected","placeholder","allowEmpty","resetAfter","closeOnSelect","Function","taggable","tagPlaceholder","tagPosition","max","Number","id","optionsLimit","groupValues","groupSelect","blockKeys","preserveSearch","preselectFirst","mounted","internalValue","select","filteredOptions","computed","modelValue","normalizedSearch","filterAndFlat","isSelected","isExistingOption","isTag","unshift","slice","valueKeys","element","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","watch","$emit","emits","methods","getValue","updateSearch","isOptionDisabled","$isDisabled","selectGroup","disabled","pointerDirty","deactivate","removeElement","selectedGroup","find","wholeGroupSelected","newValue","optionsToAdd","every","wholeGroupDisabled","shouldClose","index","removeLastElement","activate","adjustPosition","pointer","$nextTick","$refs","focus","$el","blur","toggle","window","spaceAbove","getBoundingClientRect","top","spaceBelow","innerHeight","bottom","hasEnoughSpaceBelow","openDirection","Math","min","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","setAttribute","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","list","scrollTop","pointerBackward","pointerSet","Multiselect"],"mappings":"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AC,MAA0B;;AAEnD;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,UAAU,mBAAO,CAAC,MAAkB;AACpC,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACvCD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBA;AAAA;AAAA;;;;;;;;ACAA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;AACA;AACA;;;;;;;;ACNA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,uBAAuB,mBAAO,CAAC,MAAuC;AACtE,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,WAAW,mBAAO,CAAC,MAAmB;AACtC,4BAA4B,mBAAO,CAAC,MAAsC;AAC1E,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;AC7Ea;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA8B;AAClD,uBAAuB,mBAAO,CAAC,MAAiC;;AAEhE;AACA;;AAEA;AACA,4CAA4C,qBAAqB,EAAE;;AAEnE;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;ACpBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;;AAEA;;;;;;;;ACLA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;ACLY;AACb,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACjCD;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;AC9ED,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACXA,mD;;;;;;;ACAA;AACA;;AAEA;AACA;AACA;;;;;;;;ACLA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;ACTa;AACb,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,oBAAoB,mBAAO,CAAC,MAAyB;;AAErD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACvFA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACpBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAAgC;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG,+CAA+C;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC5DD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAA6B;AAC1D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;;AAErD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACtBY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAA8B;AACnD,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;;AAEA;AACA;AACA,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA,CAAC;;;;;;;;;ACbY;AACb,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA,+CAA+C,SAAS,EAAE;AAC1D,GAAG;AACH;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,UAAU,mBAAO,CAAC,MAAkB;AACpC,cAAc,mBAAO,CAAC,MAA0B;AAChD,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAA4B;AACjD,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,qCAAqC,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/Ea;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;;ACRY;AACb,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACfa;AACb,4BAA4B,mBAAO,CAAC,MAAoC;AACxE,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;AACA,2CAA2C;AAC3C;AACA;;;;;;;;ACRA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACrBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAAqB;AAC1C,UAAU,mBAAO,CAAC,MAAkB;AACpC,UAAU,mBAAO,CAAC,MAAkB;AACpC,oBAAoB,mBAAO,CAAC,MAA4B;AACxD,wBAAwB,mBAAO,CAAC,MAAgC;;AAEhE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;;;;;;;ACnBA,WAAW,mBAAO,CAAC,MAAoC;AACvD,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;;AAEA,qBAAqB,gEAAgE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,2CAA2C;AAC3C,SAAS;AACT,+BAA+B;AAC/B,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvEA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;;;;;;;;ACAA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;ACJA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;ACNA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;ACnBA,YAAY,mBAAO,CAAC,MAAoB;AACxC,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACXa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,eAAe,mBAAO,CAAC,MAA6B;AACpD,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;;AAEA;AACA;;AAEA;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnBD,UAAU,mBAAO,CAAC,MAAkB;AACpC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAA6B;AACnD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;ACTA;;;;;;;;ACAA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,WAAW,mBAAO,CAAC,MAAmB;AACtC,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,mCAAmC;AACnC;;AAEA;AACA,gFAAgF,OAAO;;AAEvF;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACZD;AACA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvBD,4BAA4B,mBAAO,CAAC,MAAoC;AACxE,eAAe,mBAAO,CAAC,MAAuB;AAC9C,eAAe,mBAAO,CAAC,MAA+B;;AAEtD;AACA;AACA;AACA,oDAAoD,eAAe;AACnE;;;;;;;;ACRA,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;;AAE/C,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,uCAAuC;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvCa;AACb;AACA,mBAAO,CAAC,MAA2B;AACnC,eAAe,mBAAO,CAAC,MAAuB;AAC9C,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AA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","file":"vue-multiselect.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-multiselect\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-multiselect\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (new Date(NaN) + '' != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n /* global Symbol -- required for testing */\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? nativeSort.call(toObject(this))\n : nativeSort.call(toObject(this), aFunction(comparefn));\n }\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.9.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=style&index=0&id=008768af&lang=css\"","exports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n\n\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function isEmpty (opt) {\n if (opt === 0) return false\n if (Array.isArray(opt) && opt.length === 0) return true\n return !opt\n}\n\nfunction not (fun) {\n return (...params) => !fun(...params)\n}\n\nfunction includes (str, query) {\n /* istanbul ignore else */\n if (str === undefined) str = 'undefined'\n if (str === null) str = 'null'\n if (str === false) str = 'false'\n const text = str.toString().toLowerCase()\n return text.indexOf(query.trim()) !== -1\n}\n\nfunction filterOptions (options, search, label, customLabel) {\n return search ? options\n .filter((option) => includes(customLabel(option, label), search))\n .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options\n}\n\nfunction stripGroups (options) {\n return options.filter((option) => !option.$isLabel)\n}\n\nfunction flattenOptions (values, label) {\n return (options) =>\n options.reduce((prev, curr) => {\n /* istanbul ignore else */\n if (curr[values] && curr[values].length) {\n prev.push({\n $groupLabel: curr[label],\n $isLabel: true\n })\n return prev.concat(curr[values])\n }\n return prev\n }, [])\n}\n\nfunction filterGroups (search, label, values, groupLabel, customLabel) {\n return (groups) =>\n groups.map((group) => {\n /* istanbul ignore else */\n if (!group[values]) {\n console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`)\n return []\n }\n const groupOptions = filterOptions(group[values], search, label, customLabel)\n\n return groupOptions.length\n ? {\n [groupLabel]: group[groupLabel],\n [values]: groupOptions\n }\n : []\n })\n}\n\nconst flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x)\n\nexport default {\n data () {\n return {\n search: '',\n isOpen: false,\n preferredOpenDirection: 'below',\n optimizedHeight: this.maxHeight\n }\n },\n props: {\n /**\n * Decide whether to filter the results based on search query.\n * Useful for async filtering, where we search through more complex data.\n * @type {Boolean}\n */\n internalSearch: {\n type: Boolean,\n default: true\n },\n /**\n * Array of available options: Objects, Strings or Integers.\n * If array of objects, visible label will default to option.label.\n * If `labal` prop is passed, label will equal option['label']\n * @type {Array}\n */\n options: {\n type: Array,\n required: true\n },\n /**\n * Equivalent to the `multiple` attribute on a `` input.\n * @default 'Select option'\n * @type {String}\n */\n placeholder: {\n type: String,\n default: 'Select option'\n },\n /**\n * Allow to remove all selected values\n * @default true\n * @type {Boolean}\n */\n allowEmpty: {\n type: Boolean,\n default: true\n },\n /**\n * Reset this.internalValue, this.search after this.internalValue changes.\n * Useful if want to create a stateless dropdown.\n * @default false\n * @type {Boolean}\n */\n resetAfter: {\n type: Boolean,\n default: false\n },\n /**\n * Enable/disable closing after selecting an option\n * @default true\n * @type {Boolean}\n */\n closeOnSelect: {\n type: Boolean,\n default: true\n },\n /**\n * Function to interpolate the custom label\n * @default false\n * @type {Function}\n */\n customLabel: {\n type: Function,\n default (option, label) {\n if (isEmpty(option)) return ''\n return label ? option[label] : option\n }\n },\n /**\n * Disable / Enable tagging\n * @default false\n * @type {Boolean}\n */\n taggable: {\n type: Boolean,\n default: false\n },\n /**\n * String to show when highlighting a potential tag\n * @default 'Press enter to create a tag'\n * @type {String}\n */\n tagPlaceholder: {\n type: String,\n default: 'Press enter to create a tag'\n },\n /**\n * By default new tags will appear above the search results.\n * Changing to 'bottom' will revert this behaviour\n * and will proritize the search results\n * @default 'top'\n * @type {String}\n */\n tagPosition: {\n type: String,\n default: 'top'\n },\n /**\n * Number of allowed selected options. No limit if 0.\n * @default 0\n * @type {Number}\n */\n max: {\n type: [Number, Boolean],\n default: false\n },\n /**\n * Will be passed with all events as second param.\n * Useful for identifying events origin.\n * @default null\n * @type {String|Integer}\n */\n id: {\n default: null\n },\n /**\n * Limits the options displayed in the dropdown\n * to the first X options.\n * @default 1000\n * @type {Integer}\n */\n optionsLimit: {\n type: Number,\n default: 1000\n },\n /**\n * Name of the property containing\n * the group values\n * @default 1000\n * @type {String}\n */\n groupValues: {\n type: String\n },\n /**\n * Name of the property containing\n * the group label\n * @default 1000\n * @type {String}\n */\n groupLabel: {\n type: String\n },\n /**\n * Allow to select all group values\n * by selecting the group label\n * @default false\n * @type {Boolean}\n */\n groupSelect: {\n type: Boolean,\n default: false\n },\n /**\n * Array of keyboard keys to block\n * when selecting\n * @default 1000\n * @type {String}\n */\n blockKeys: {\n type: Array,\n default () {\n return []\n }\n },\n /**\n * Prevent from wiping up the search value\n * @default false\n * @type {Boolean}\n */\n preserveSearch: {\n type: Boolean,\n default: false\n },\n /**\n * Select 1st options if value is empty\n * @default false\n * @type {Boolean}\n */\n preselectFirst: {\n type: Boolean,\n default: false\n }\n },\n mounted () {\n /* istanbul ignore else */\n if (!this.multiple && this.max) {\n console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.')\n }\n if (\n this.preselectFirst &&\n !this.internalValue.length &&\n this.options.length\n ) {\n this.select(this.filteredOptions[0])\n }\n },\n computed: {\n internalValue () {\n return this.modelValue || this.modelValue === 0\n ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]\n : []\n },\n filteredOptions () {\n const search = this.search || ''\n const normalizedSearch = search.toLowerCase().trim()\n\n let options = this.options.concat()\n\n /* istanbul ignore else */\n if (this.internalSearch) {\n options = this.groupValues\n ? this.filterAndFlat(options, normalizedSearch, this.label)\n : filterOptions(options, normalizedSearch, this.label, this.customLabel)\n } else {\n options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options\n }\n\n options = this.hideSelected\n ? options.filter(not(this.isSelected))\n : options\n\n /* istanbul ignore else */\n if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {\n if (this.tagPosition === 'bottom') {\n options.push({isTag: true, label: search})\n } else {\n options.unshift({isTag: true, label: search})\n }\n }\n\n return options.slice(0, this.optionsLimit)\n },\n valueKeys () {\n if (this.trackBy) {\n return this.internalValue.map((element) => element[this.trackBy])\n } else {\n return this.internalValue\n }\n },\n optionKeys () {\n const options = this.groupValues ? this.flatAndStrip(this.options) : this.options\n return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase())\n },\n currentOptionLabel () {\n return this.multiple\n ? this.searchable ? '' : this.placeholder\n : this.internalValue.length\n ? this.getOptionLabel(this.internalValue[0])\n : this.searchable ? '' : this.placeholder\n }\n },\n watch: {\n internalValue () {\n /* istanbul ignore else */\n if (this.resetAfter && this.internalValue.length) {\n this.search = ''\n this.$emit('update:modelValue', this.multiple ? [] : null)\n }\n },\n search () {\n this.$emit('search-change', this.search)\n }\n },\n emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'],\n methods: {\n /**\n * Returns the internalValue in a way it can be emited to the parent\n * @returns {Object||Array||String||Integer}\n */\n getValue () {\n return this.multiple\n ? this.internalValue\n : this.internalValue.length === 0\n ? null\n : this.internalValue[0]\n },\n /**\n * Filters and then flattens the options list\n * @param {Array}\n * @return {Array} returns a filtered and flat options list\n */\n filterAndFlat (options, search, label) {\n return flow(\n filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),\n flattenOptions(this.groupValues, this.groupLabel)\n )(options)\n },\n /**\n * Flattens and then strips the group labels from the options list\n * @param {Array}\n * @return {Array} returns a flat options list without group labels\n */\n flatAndStrip (options) {\n return flow(\n flattenOptions(this.groupValues, this.groupLabel),\n stripGroups\n )(options)\n },\n /**\n * Updates the search value\n * @param {String}\n */\n updateSearch (query) {\n this.search = query\n },\n /**\n * Finds out if the given query is already present\n * in the available options\n * @param {String}\n * @return {Boolean} returns true if element is available\n */\n isExistingOption (query) {\n return !this.options\n ? false\n : this.optionKeys.indexOf(query) > -1\n },\n /**\n * Finds out if the given element is already present\n * in the result value\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is selected\n */\n isSelected (option) {\n const opt = this.trackBy\n ? option[this.trackBy]\n : option\n return this.valueKeys.indexOf(opt) > -1\n },\n /**\n * Finds out if the given option is disabled\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is disabled\n */\n isOptionDisabled (option) {\n return !!option.$isDisabled\n },\n /**\n * Returns empty string when options is null/undefined\n * Returns tag query if option is tag.\n * Returns the customLabel() results and casts it to string.\n *\n * @param {Object||String||Integer} Passed option\n * @returns {Object||String}\n */\n getOptionLabel (option) {\n if (isEmpty(option)) return ''\n /* istanbul ignore else */\n if (option.isTag) return option.label\n /* istanbul ignore else */\n if (option.$isLabel) return option.$groupLabel\n\n const label = this.customLabel(option, this.label)\n /* istanbul ignore else */\n if (isEmpty(label)) return ''\n return label\n },\n /**\n * Add the given option to the list of selected options\n * or sets the option as the selected option.\n * If option is already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} option to select/deselect\n * @param {Boolean} block removing\n */\n select (option, key) {\n /* istanbul ignore else */\n if (option.$isLabel && this.groupSelect) {\n this.selectGroup(option)\n return\n }\n if (this.blockKeys.indexOf(key) !== -1 ||\n this.disabled ||\n option.$isDisabled ||\n option.$isLabel\n ) return\n /* istanbul ignore else */\n if (this.max && this.multiple && this.internalValue.length === this.max) return\n /* istanbul ignore else */\n if (key === 'Tab' && !this.pointerDirty) return\n if (option.isTag) {\n this.$emit('tag', option.label, this.id)\n this.search = ''\n if (this.closeOnSelect && !this.multiple) this.deactivate()\n } else {\n const isSelected = this.isSelected(option)\n\n if (isSelected) {\n if (key !== 'Tab') this.removeElement(option)\n return\n }\n\n this.$emit('select', option, this.id)\n\n if (this.multiple) {\n this.$emit('update:modelValue', this.internalValue.concat([option]))\n } else {\n this.$emit('update:modelValue', option)\n }\n\n /* istanbul ignore else */\n if (this.clearOnSelect) this.search = ''\n }\n /* istanbul ignore else */\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Add the given group options to the list of selected options\n * If all group optiona are already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} group to select/deselect\n */\n selectGroup (selectedGroup) {\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n if (!group) return\n\n if (this.wholeGroupSelected(group)) {\n this.$emit('remove', group[this.groupValues], this.id)\n\n const newValue = this.internalValue.filter(\n (option) => group[this.groupValues].indexOf(option) === -1\n )\n\n this.$emit('update:modelValue', newValue)\n } else {\n const optionsToAdd = group[this.groupValues].filter(\n (option) => !(this.isOptionDisabled(option) || this.isSelected(option))\n )\n\n this.$emit('select', optionsToAdd, this.id)\n this.$emit(\n 'update:modelValue',\n this.internalValue.concat(optionsToAdd)\n )\n }\n\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Helper to identify if all values in a group are selected\n *\n * @param {Object} group to validated selected values against\n */\n wholeGroupSelected (group) {\n return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option)\n )\n },\n /**\n * Helper to identify if all values in a group are disabled\n *\n * @param {Object} group to check for disabled values\n */\n wholeGroupDisabled (group) {\n return group[this.groupValues].every(this.isOptionDisabled)\n },\n /**\n * Removes the given option from the selected options.\n * Additionally checks this.allowEmpty prop if option can be removed when\n * it is the last selected option.\n *\n * @param {type} option description\n * @return {type} description\n */\n removeElement (option, shouldClose = true) {\n /* istanbul ignore else */\n if (this.disabled) return\n /* istanbul ignore else */\n if (option.$isDisabled) return\n /* istanbul ignore else */\n if (!this.allowEmpty && this.internalValue.length <= 1) {\n this.deactivate()\n return\n }\n\n const index = typeof option === 'object'\n ? this.valueKeys.indexOf(option[this.trackBy])\n : this.valueKeys.indexOf(option)\n\n this.$emit('remove', option, this.id)\n if (this.multiple) {\n const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1))\n this.$emit('update:modelValue', newValue)\n } else {\n this.$emit('update:modelValue', null)\n }\n\n /* istanbul ignore else */\n if (this.closeOnSelect && shouldClose) this.deactivate()\n },\n /**\n * Calls this.removeElement() with the last element\n * from this.internalValue (selected element Array)\n *\n * @fires this#removeElement\n */\n removeLastElement () {\n /* istanbul ignore else */\n if (this.blockKeys.indexOf('Delete') !== -1) return\n /* istanbul ignore else */\n if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {\n this.removeElement(this.internalValue[this.internalValue.length - 1], false)\n }\n },\n /**\n * Opens the multiselect’s dropdown.\n * Sets this.isOpen to TRUE\n */\n activate () {\n /* istanbul ignore else */\n if (this.isOpen || this.disabled) return\n\n this.adjustPosition()\n /* istanbul ignore else */\n if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {\n this.pointer = 1\n }\n\n this.isOpen = true\n /* istanbul ignore else */\n if (this.searchable) {\n if (!this.preserveSearch) this.search = ''\n this.$nextTick(() => this.$refs.search && this.$refs.search.focus())\n } else {\n this.$el.focus()\n }\n this.$emit('open', this.id)\n },\n /**\n * Closes the multiselect’s dropdown.\n * Sets this.isOpen to FALSE\n */\n deactivate () {\n /* istanbul ignore else */\n if (!this.isOpen) return\n\n this.isOpen = false\n /* istanbul ignore else */\n if (this.searchable) {\n this.$refs.search && this.$refs.search.blur()\n } else {\n this.$el.blur()\n }\n if (!this.preserveSearch) this.search = ''\n this.$emit('close', this.getValue(), this.id)\n },\n /**\n * Call this.activate() or this.deactivate()\n * depending on this.isOpen value.\n *\n * @fires this#activate || this#deactivate\n * @property {Boolean} isOpen indicates if dropdown is open\n */\n toggle () {\n this.isOpen\n ? this.deactivate()\n : this.activate()\n },\n /**\n * Updates the hasEnoughSpace variable used for\n * detecting where to expand the dropdown\n */\n adjustPosition () {\n if (typeof window === 'undefined') return\n\n const spaceAbove = this.$el.getBoundingClientRect().top\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom\n const hasEnoughSpaceBelow = spaceBelow > this.maxHeight\n\n if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') {\n this.preferredOpenDirection = 'below'\n this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight)\n } else {\n this.preferredOpenDirection = 'above'\n this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight)\n }\n }\n }\n}\n","export default {\n data () {\n return {\n pointer: 0,\n pointerDirty: false\n }\n },\n props: {\n /**\n * Enable/disable highlighting of the pointed value.\n * @type {Boolean}\n * @default true\n */\n showPointer: {\n type: Boolean,\n default: true\n },\n optionHeight: {\n type: Number,\n default: 40\n }\n },\n computed: {\n pointerPosition () {\n return this.pointer * this.optionHeight\n },\n visibleElements () {\n return this.optimizedHeight / this.optionHeight\n }\n },\n watch: {\n filteredOptions () {\n this.pointerAdjust()\n },\n isOpen () {\n this.pointerDirty = false\n },\n pointer () {\n this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString())\n }\n },\n methods: {\n optionHighlight (index, option) {\n return {\n 'multiselect__option--highlight': index === this.pointer && this.showPointer,\n 'multiselect__option--selected': this.isSelected(option)\n }\n },\n groupHighlight (index, selectedGroup) {\n if (!this.groupSelect) {\n return [\n 'multiselect__option--disabled',\n {'multiselect__option--group': selectedGroup.$isLabel}\n ]\n }\n\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n return group && !this.wholeGroupDisabled(group) ? [\n 'multiselect__option--group',\n {'multiselect__option--highlight': index === this.pointer && this.showPointer},\n {'multiselect__option--group-selected': this.wholeGroupSelected(group)}\n ] : 'multiselect__option--disabled'\n },\n addPointerElement ({key} = 'Enter') {\n /* istanbul ignore else */\n if (this.filteredOptions.length > 0) {\n this.select(this.filteredOptions[this.pointer], key)\n }\n this.pointerReset()\n },\n pointerForward () {\n /* istanbul ignore else */\n if (this.pointer < this.filteredOptions.length - 1) {\n this.pointer++\n /* istanbul ignore next */\n if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {\n this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerBackward () {\n if (this.pointer > 0) {\n this.pointer--\n /* istanbul ignore else */\n if (this.$refs.list.scrollTop >= this.pointerPosition) {\n this.$refs.list.scrollTop = this.pointerPosition\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerBackward()\n } else {\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[0].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerReset () {\n /* istanbul ignore else */\n if (!this.closeOnSelect) return\n this.pointer = 0\n /* istanbul ignore else */\n if (this.$refs.list) {\n this.$refs.list.scrollTop = 0\n }\n },\n pointerAdjust () {\n /* istanbul ignore else */\n if (this.pointer >= this.filteredOptions.length - 1) {\n this.pointer = this.filteredOptions.length\n ? this.filteredOptions.length - 1\n : 0\n }\n\n if (this.filteredOptions.length > 0 &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) {\n this.pointerForward()\n }\n },\n pointerSet (index) {\n this.pointer = index\n this.pointerDirty = true\n }\n }\n}\n","export { default } from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=script&lang=js\"; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=script&lang=js\"","import { render } from \"./Multiselect.vue?vue&type=template&id=008768af\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js\"\n\nimport \"./Multiselect.vue?vue&type=style&index=0&id=008768af&lang=css\"\nscript.render = render\n\nexport default script","import Multiselect from './Multiselect.vue'\nimport multiselectMixin from './multiselectMixin.js'\nimport pointerMixin from './pointerMixin.js'\n\nexport default Multiselect\n\nexport {Multiselect, multiselectMixin, pointerMixin}\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n /* global Symbol -- safe */\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","// extracted by mini-css-extract-plugin"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-multiselect.umd.min.js b/dist/vue-multiselect.umd.min.js new file mode 100644 index 00000000..c8af44b4 --- /dev/null +++ b/dist/vue-multiselect.umd.min.js @@ -0,0 +1,2 @@ +(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["vue-multiselect"]=t(require("vue")):e["vue-multiselect"]=t(e["Vue"])})("undefined"!==typeof self?self:this,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="fb15")}({"00ee":function(e,t,n){var r=n("b622"),i=r("toStringTag"),o={};o[i]="z",e.exports="[object z]"===String(o)},"0366":function(e,t,n){var r=n("1c0b");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},"06cf":function(e,t,n){var r=n("83ab"),i=n("d1e7"),o=n("5c6c"),c=n("fc6a"),s=n("c04e"),a=n("5135"),l=n("0cfb"),u=Object.getOwnPropertyDescriptor;t.f=r?u:function(e,t){if(e=c(e),t=s(t,!0),l)try{return u(e,t)}catch(n){}if(a(e,t))return o(!i.f.call(e,t),e[t])}},"0cfb":function(e,t,n){var r=n("83ab"),i=n("d039"),o=n("cc12");e.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},"0d03":function(e,t,n){var r=n("6eeb"),i=Date.prototype,o="Invalid Date",c="toString",s=i[c],a=i.getTime;new Date(NaN)+""!=o&&r(i,c,(function(){var e=a.call(this);return e===e?s.call(this):o}))},"129f":function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e===1/t:e!=e&&t!=t}},"13d5":function(e,t,n){"use strict";var r=n("23e7"),i=n("d58f").left,o=n("a640"),c=n("2d00"),s=n("605d"),a=o("reduce"),l=!s&&c>79&&c<83;r({target:"Array",proto:!0,forced:!a||l},{reduce:function(e){return i(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(e,t,n){var r=n("c6b6"),i=n("9263");e.exports=function(e,t){var n=e.exec;if("function"===typeof n){var o=n.call(e,t);if("object"!==typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(e,t)}},"1be4":function(e,t,n){var r=n("d066");e.exports=r("document","documentElement")},"1c0b":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},"1d80":function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"1dde":function(e,t,n){var r=n("d039"),i=n("b622"),o=n("2d00"),c=i("species");e.exports=function(e){return o>=51||!r((function(){var t=[],n=t.constructor={};return n[c]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},"23cb":function(e,t,n){var r=n("a691"),i=Math.max,o=Math.min;e.exports=function(e,t){var n=r(e);return n<0?i(n+t,0):o(n,t)}},"23e7":function(e,t,n){var r=n("da84"),i=n("06cf").f,o=n("9112"),c=n("6eeb"),s=n("ce4e"),a=n("e893"),l=n("94ca");e.exports=function(e,t){var n,u,f,p,d,h,b=e.target,g=e.global,v=e.stat;if(u=g?r:v?r[b]||s(b,{}):(r[b]||{}).prototype,u)for(f in t){if(d=t[f],e.noTargetGet?(h=i(u,f),p=h&&h.value):p=u[f],n=l(g?f:b+(v?".":"#")+f,e.forced),!n&&void 0!==p){if(typeof d===typeof p)continue;a(d,p)}(e.sham||p&&p.sham)&&o(d,"sham",!0),c(u,f,d,e)}}},"241c":function(e,t,n){var r=n("ca84"),i=n("7839"),o=i.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},"25f0":function(e,t,n){"use strict";var r=n("6eeb"),i=n("825a"),o=n("d039"),c=n("ad6d"),s="toString",a=RegExp.prototype,l=a[s],u=o((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),f=l.name!=s;(u||f)&&r(RegExp.prototype,s,(function(){var e=i(this),t=String(e.source),n=e.flags,r=String(void 0===n&&e instanceof RegExp&&!("flags"in a)?c.call(e):n);return"/"+t+"/"+r}),{unsafe:!0})},"277d":function(e,t,n){var r=n("23e7"),i=n("e8b5");r({target:"Array",stat:!0},{isArray:i})},"2d00":function(e,t,n){var r,i,o=n("da84"),c=n("342f"),s=o.process,a=s&&s.versions,l=a&&a.v8;l?(r=l.split("."),i=r[0]+r[1]):c&&(r=c.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=c.match(/Chrome\/(\d+)/),r&&(i=r[1]))),e.exports=i&&+i},"342f":function(e,t,n){var r=n("d066");e.exports=r("navigator","userAgent")||""},"37e8":function(e,t,n){var r=n("83ab"),i=n("9bf2"),o=n("825a"),c=n("df75");e.exports=r?Object.defineProperties:function(e,t){o(e);var n,r=c(t),s=r.length,a=0;while(s>a)i.f(e,n=r[a++],t[n]);return e}},"3bbe":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},"428f":function(e,t,n){var r=n("da84");e.exports=r},"44ad":function(e,t,n){var r=n("d039"),i=n("c6b6"),o="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?o.call(e,""):Object(e)}:Object},"44d2":function(e,t,n){var r=n("b622"),i=n("7c73"),o=n("9bf2"),c=r("unscopables"),s=Array.prototype;void 0==s[c]&&o.f(s,c,{configurable:!0,value:i(null)}),e.exports=function(e){s[c][e]=!0}},4930:function(e,t,n){var r=n("605d"),i=n("2d00"),o=n("d039");e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!Symbol.sham&&(r?38===i:i>37&&i<41)}))},"498a":function(e,t,n){"use strict";var r=n("23e7"),i=n("58a8").trim,o=n("c8d2");r({target:"String",proto:!0,forced:o("trim")},{trim:function(){return i(this)}})},"4d64":function(e,t,n){var r=n("fc6a"),i=n("50c4"),o=n("23cb"),c=function(e){return function(t,n,c){var s,a=r(t),l=i(a.length),u=o(c,l);if(e&&n!=n){while(l>u)if(s=a[u++],s!=s)return!0}else for(;l>u;u++)if((e||u in a)&&a[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(e,t,n){"use strict";var r=n("23e7"),i=n("b727").filter,o=n("1dde"),c=o("filter");r({target:"Array",proto:!0,forced:!c},{filter:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},"4e82":function(e,t,n){"use strict";var r=n("23e7"),i=n("1c0b"),o=n("7b0b"),c=n("d039"),s=n("a640"),a=[],l=a.sort,u=c((function(){a.sort(void 0)})),f=c((function(){a.sort(null)})),p=s("sort"),d=u||!f||!p;r({target:"Array",proto:!0,forced:d},{sort:function(e){return void 0===e?l.call(o(this)):l.call(o(this),i(e))}})},"50c4":function(e,t,n){var r=n("a691"),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},5135:function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},5692:function(e,t,n){var r=n("c430"),i=n("c6cd");(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.9.1",mode:r?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,t,n){var r=n("d066"),i=n("241c"),o=n("7418"),c=n("825a");e.exports=r("Reflect","ownKeys")||function(e){var t=i.f(c(e)),n=o.f;return n?t.concat(n(e)):t}},5899:function(e,t){e.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},"58a8":function(e,t,n){var r=n("1d80"),i=n("5899"),o="["+i+"]",c=RegExp("^"+o+o+"*"),s=RegExp(o+o+"*$"),a=function(e){return function(t){var n=String(r(t));return 1&e&&(n=n.replace(c,"")),2&e&&(n=n.replace(s,"")),n}};e.exports={start:a(1),end:a(2),trim:a(3)}},"5c6c":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"605d":function(e,t,n){var r=n("c6b6"),i=n("da84");e.exports="process"==r(i.process)},"65f0":function(e,t,n){var r=n("861d"),i=n("e8b5"),o=n("b622"),c=o("species");e.exports=function(e,t){var n;return i(e)&&(n=e.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)?r(n)&&(n=n[c],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},"69f3":function(e,t,n){var r,i,o,c=n("7f9a"),s=n("da84"),a=n("861d"),l=n("9112"),u=n("5135"),f=n("c6cd"),p=n("f772"),d=n("d012"),h=s.WeakMap,b=function(e){return o(e)?i(e):r(e,{})},g=function(e){return function(t){var n;if(!a(t)||(n=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}};if(c){var v=f.state||(f.state=new h),m=v.get,y=v.has,O=v.set;r=function(e,t){return t.facade=e,O.call(v,e,t),t},i=function(e){return m.call(v,e)||{}},o=function(e){return y.call(v,e)}}else{var x=p("state");d[x]=!0,r=function(e,t){return t.facade=e,l(e,x,t),t},i=function(e){return u(e,x)?e[x]:{}},o=function(e){return u(e,x)}}e.exports={set:r,get:i,has:o,enforce:b,getterFor:g}},"6eeb":function(e,t,n){var r=n("da84"),i=n("9112"),o=n("5135"),c=n("ce4e"),s=n("8925"),a=n("69f3"),l=a.get,u=a.enforce,f=String(String).split("String");(e.exports=function(e,t,n,s){var a,l=!!s&&!!s.unsafe,p=!!s&&!!s.enumerable,d=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof t||o(n,"name")||i(n,"name",t),a=u(n),a.source||(a.source=f.join("string"==typeof t?t:""))),e!==r?(l?!d&&e[t]&&(p=!0):delete e[t],p?e[t]=n:i(e,t,n)):p?e[t]=n:c(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&l(this).source||s(this)}))},7156:function(e,t,n){var r=n("861d"),i=n("d2bb");e.exports=function(e,t,n){var o,c;return i&&"function"==typeof(o=t.constructor)&&o!==n&&r(c=o.prototype)&&c!==n.prototype&&i(e,c),e}},"71eb":function(e,t,n){"use strict";n("fefd")},7418:function(e,t){t.f=Object.getOwnPropertySymbols},7839:function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(e,t,n){var r=n("1d80");e.exports=function(e){return Object(r(e))}},"7c73":function(e,t,n){var r,i=n("825a"),o=n("37e8"),c=n("7839"),s=n("d012"),a=n("1be4"),l=n("cc12"),u=n("f772"),f=">",p="<",d="prototype",h="script",b=u("IE_PROTO"),g=function(){},v=function(e){return p+h+f+e+p+"/"+h+f},m=function(e){e.write(v("")),e.close();var t=e.parentWindow.Object;return e=null,t},y=function(){var e,t=l("iframe"),n="java"+h+":";return t.style.display="none",a.appendChild(t),t.src=String(n),e=t.contentWindow.document,e.open(),e.write(v("document.F=Object")),e.close(),e.F},O=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}O=r?m(r):y();var e=c.length;while(e--)delete O[d][c[e]];return O()};s[b]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(g[d]=i(e),n=new g,g[d]=null,n[b]=e):n=O(),void 0===t?n:o(n,t)}},"7db0":function(e,t,n){"use strict";var r=n("23e7"),i=n("b727").find,o=n("44d2"),c="find",s=!0;c in[]&&Array(1)[c]((function(){s=!1})),r({target:"Array",proto:!0,forced:s},{find:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),o(c)},"7f9a":function(e,t,n){var r=n("da84"),i=n("8925"),o=r.WeakMap;e.exports="function"===typeof o&&/native code/.test(i(o))},"825a":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},"83ab":function(e,t,n){var r=n("d039");e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(e,t,n){"use strict";var r=n("c04e"),i=n("9bf2"),o=n("5c6c");e.exports=function(e,t,n){var c=r(t);c in e?i.f(e,c,o(0,n)):e[c]=n}},"841c":function(e,t,n){"use strict";var r=n("d784"),i=n("825a"),o=n("1d80"),c=n("129f"),s=n("14c3");r("search",1,(function(e,t,n){return[function(t){var n=o(this),r=void 0==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var o=i(e),a=String(this),l=o.lastIndex;c(l,0)||(o.lastIndex=0);var u=s(o,a);return c(o.lastIndex,l)||(o.lastIndex=l),null===u?-1:u.index}]}))},"861d":function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},8875:function(e,t,n){var r,i,o;(function(n,c){i=[],r=c,o="function"===typeof r?r.apply(t,i):r,void 0===o||(e.exports=o)})("undefined"!==typeof self&&self,(function(){function e(){var t=Object.getOwnPropertyDescriptor(document,"currentScript");if(!t&&"currentScript"in document&&document.currentScript)return document.currentScript;if(t&&t.get!==e&&document.currentScript)return document.currentScript;try{throw new Error}catch(d){var n,r,i,o=/.*at [^(]*\((.*):(.+):(.+)\)$/gi,c=/@([^@]*):(\d+):(\d+)\s*$/gi,s=o.exec(d.stack)||c.exec(d.stack),a=s&&s[1]||!1,l=s&&s[2]||!1,u=document.location.href.replace(document.location.hash,""),f=document.getElementsByTagName("script");a===u&&(n=document.documentElement.outerHTML,r=new RegExp("(?:[^\\n]+?\\n){0,"+(l-2)+"}[^<]*\n\n\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function isEmpty (opt) {\n if (opt === 0) return false\n if (Array.isArray(opt) && opt.length === 0) return true\n return !opt\n}\n\nfunction not (fun) {\n return (...params) => !fun(...params)\n}\n\nfunction includes (str, query) {\n /* istanbul ignore else */\n if (str === undefined) str = 'undefined'\n if (str === null) str = 'null'\n if (str === false) str = 'false'\n const text = str.toString().toLowerCase()\n return text.indexOf(query.trim()) !== -1\n}\n\nfunction filterOptions (options, search, label, customLabel) {\n return search ? options\n .filter((option) => includes(customLabel(option, label), search))\n .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options\n}\n\nfunction stripGroups (options) {\n return options.filter((option) => !option.$isLabel)\n}\n\nfunction flattenOptions (values, label) {\n return (options) =>\n options.reduce((prev, curr) => {\n /* istanbul ignore else */\n if (curr[values] && curr[values].length) {\n prev.push({\n $groupLabel: curr[label],\n $isLabel: true\n })\n return prev.concat(curr[values])\n }\n return prev\n }, [])\n}\n\nfunction filterGroups (search, label, values, groupLabel, customLabel) {\n return (groups) =>\n groups.map((group) => {\n /* istanbul ignore else */\n if (!group[values]) {\n console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`)\n return []\n }\n const groupOptions = filterOptions(group[values], search, label, customLabel)\n\n return groupOptions.length\n ? {\n [groupLabel]: group[groupLabel],\n [values]: groupOptions\n }\n : []\n })\n}\n\nconst flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x)\n\nexport default {\n data () {\n return {\n search: '',\n isOpen: false,\n preferredOpenDirection: 'below',\n optimizedHeight: this.maxHeight\n }\n },\n props: {\n /**\n * Decide whether to filter the results based on search query.\n * Useful for async filtering, where we search through more complex data.\n * @type {Boolean}\n */\n internalSearch: {\n type: Boolean,\n default: true\n },\n /**\n * Array of available options: Objects, Strings or Integers.\n * If array of objects, visible label will default to option.label.\n * If `labal` prop is passed, label will equal option['label']\n * @type {Array}\n */\n options: {\n type: Array,\n required: true\n },\n /**\n * Equivalent to the `multiple` attribute on a `` input.\n * @default 'Select option'\n * @type {String}\n */\n placeholder: {\n type: String,\n default: 'Select option'\n },\n /**\n * Allow to remove all selected values\n * @default true\n * @type {Boolean}\n */\n allowEmpty: {\n type: Boolean,\n default: true\n },\n /**\n * Reset this.internalValue, this.search after this.internalValue changes.\n * Useful if want to create a stateless dropdown.\n * @default false\n * @type {Boolean}\n */\n resetAfter: {\n type: Boolean,\n default: false\n },\n /**\n * Enable/disable closing after selecting an option\n * @default true\n * @type {Boolean}\n */\n closeOnSelect: {\n type: Boolean,\n default: true\n },\n /**\n * Function to interpolate the custom label\n * @default false\n * @type {Function}\n */\n customLabel: {\n type: Function,\n default (option, label) {\n if (isEmpty(option)) return ''\n return label ? option[label] : option\n }\n },\n /**\n * Disable / Enable tagging\n * @default false\n * @type {Boolean}\n */\n taggable: {\n type: Boolean,\n default: false\n },\n /**\n * String to show when highlighting a potential tag\n * @default 'Press enter to create a tag'\n * @type {String}\n */\n tagPlaceholder: {\n type: String,\n default: 'Press enter to create a tag'\n },\n /**\n * By default new tags will appear above the search results.\n * Changing to 'bottom' will revert this behaviour\n * and will proritize the search results\n * @default 'top'\n * @type {String}\n */\n tagPosition: {\n type: String,\n default: 'top'\n },\n /**\n * Number of allowed selected options. No limit if 0.\n * @default 0\n * @type {Number}\n */\n max: {\n type: [Number, Boolean],\n default: false\n },\n /**\n * Will be passed with all events as second param.\n * Useful for identifying events origin.\n * @default null\n * @type {String|Integer}\n */\n id: {\n default: null\n },\n /**\n * Limits the options displayed in the dropdown\n * to the first X options.\n * @default 1000\n * @type {Integer}\n */\n optionsLimit: {\n type: Number,\n default: 1000\n },\n /**\n * Name of the property containing\n * the group values\n * @default 1000\n * @type {String}\n */\n groupValues: {\n type: String\n },\n /**\n * Name of the property containing\n * the group label\n * @default 1000\n * @type {String}\n */\n groupLabel: {\n type: String\n },\n /**\n * Allow to select all group values\n * by selecting the group label\n * @default false\n * @type {Boolean}\n */\n groupSelect: {\n type: Boolean,\n default: false\n },\n /**\n * Array of keyboard keys to block\n * when selecting\n * @default 1000\n * @type {String}\n */\n blockKeys: {\n type: Array,\n default () {\n return []\n }\n },\n /**\n * Prevent from wiping up the search value\n * @default false\n * @type {Boolean}\n */\n preserveSearch: {\n type: Boolean,\n default: false\n },\n /**\n * Select 1st options if value is empty\n * @default false\n * @type {Boolean}\n */\n preselectFirst: {\n type: Boolean,\n default: false\n }\n },\n mounted () {\n /* istanbul ignore else */\n if (!this.multiple && this.max) {\n console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.')\n }\n if (\n this.preselectFirst &&\n !this.internalValue.length &&\n this.options.length\n ) {\n this.select(this.filteredOptions[0])\n }\n },\n computed: {\n internalValue () {\n return this.modelValue || this.modelValue === 0\n ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]\n : []\n },\n filteredOptions () {\n const search = this.search || ''\n const normalizedSearch = search.toLowerCase().trim()\n\n let options = this.options.concat()\n\n /* istanbul ignore else */\n if (this.internalSearch) {\n options = this.groupValues\n ? this.filterAndFlat(options, normalizedSearch, this.label)\n : filterOptions(options, normalizedSearch, this.label, this.customLabel)\n } else {\n options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options\n }\n\n options = this.hideSelected\n ? options.filter(not(this.isSelected))\n : options\n\n /* istanbul ignore else */\n if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {\n if (this.tagPosition === 'bottom') {\n options.push({isTag: true, label: search})\n } else {\n options.unshift({isTag: true, label: search})\n }\n }\n\n return options.slice(0, this.optionsLimit)\n },\n valueKeys () {\n if (this.trackBy) {\n return this.internalValue.map((element) => element[this.trackBy])\n } else {\n return this.internalValue\n }\n },\n optionKeys () {\n const options = this.groupValues ? this.flatAndStrip(this.options) : this.options\n return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase())\n },\n currentOptionLabel () {\n return this.multiple\n ? this.searchable ? '' : this.placeholder\n : this.internalValue.length\n ? this.getOptionLabel(this.internalValue[0])\n : this.searchable ? '' : this.placeholder\n }\n },\n watch: {\n internalValue () {\n /* istanbul ignore else */\n if (this.resetAfter && this.internalValue.length) {\n this.search = ''\n this.$emit('update:modelValue', this.multiple ? [] : null)\n }\n },\n search () {\n this.$emit('search-change', this.search)\n }\n },\n emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'],\n methods: {\n /**\n * Returns the internalValue in a way it can be emited to the parent\n * @returns {Object||Array||String||Integer}\n */\n getValue () {\n return this.multiple\n ? this.internalValue\n : this.internalValue.length === 0\n ? null\n : this.internalValue[0]\n },\n /**\n * Filters and then flattens the options list\n * @param {Array}\n * @return {Array} returns a filtered and flat options list\n */\n filterAndFlat (options, search, label) {\n return flow(\n filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),\n flattenOptions(this.groupValues, this.groupLabel)\n )(options)\n },\n /**\n * Flattens and then strips the group labels from the options list\n * @param {Array}\n * @return {Array} returns a flat options list without group labels\n */\n flatAndStrip (options) {\n return flow(\n flattenOptions(this.groupValues, this.groupLabel),\n stripGroups\n )(options)\n },\n /**\n * Updates the search value\n * @param {String}\n */\n updateSearch (query) {\n this.search = query\n },\n /**\n * Finds out if the given query is already present\n * in the available options\n * @param {String}\n * @return {Boolean} returns true if element is available\n */\n isExistingOption (query) {\n return !this.options\n ? false\n : this.optionKeys.indexOf(query) > -1\n },\n /**\n * Finds out if the given element is already present\n * in the result value\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is selected\n */\n isSelected (option) {\n const opt = this.trackBy\n ? option[this.trackBy]\n : option\n return this.valueKeys.indexOf(opt) > -1\n },\n /**\n * Finds out if the given option is disabled\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is disabled\n */\n isOptionDisabled (option) {\n return !!option.$isDisabled\n },\n /**\n * Returns empty string when options is null/undefined\n * Returns tag query if option is tag.\n * Returns the customLabel() results and casts it to string.\n *\n * @param {Object||String||Integer} Passed option\n * @returns {Object||String}\n */\n getOptionLabel (option) {\n if (isEmpty(option)) return ''\n /* istanbul ignore else */\n if (option.isTag) return option.label\n /* istanbul ignore else */\n if (option.$isLabel) return option.$groupLabel\n\n const label = this.customLabel(option, this.label)\n /* istanbul ignore else */\n if (isEmpty(label)) return ''\n return label\n },\n /**\n * Add the given option to the list of selected options\n * or sets the option as the selected option.\n * If option is already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} option to select/deselect\n * @param {Boolean} block removing\n */\n select (option, key) {\n /* istanbul ignore else */\n if (option.$isLabel && this.groupSelect) {\n this.selectGroup(option)\n return\n }\n if (this.blockKeys.indexOf(key) !== -1 ||\n this.disabled ||\n option.$isDisabled ||\n option.$isLabel\n ) return\n /* istanbul ignore else */\n if (this.max && this.multiple && this.internalValue.length === this.max) return\n /* istanbul ignore else */\n if (key === 'Tab' && !this.pointerDirty) return\n if (option.isTag) {\n this.$emit('tag', option.label, this.id)\n this.search = ''\n if (this.closeOnSelect && !this.multiple) this.deactivate()\n } else {\n const isSelected = this.isSelected(option)\n\n if (isSelected) {\n if (key !== 'Tab') this.removeElement(option)\n return\n }\n\n this.$emit('select', option, this.id)\n\n if (this.multiple) {\n this.$emit('update:modelValue', this.internalValue.concat([option]))\n } else {\n this.$emit('update:modelValue', option)\n }\n\n /* istanbul ignore else */\n if (this.clearOnSelect) this.search = ''\n }\n /* istanbul ignore else */\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Add the given group options to the list of selected options\n * If all group optiona are already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} group to select/deselect\n */\n selectGroup (selectedGroup) {\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n if (!group) return\n\n if (this.wholeGroupSelected(group)) {\n this.$emit('remove', group[this.groupValues], this.id)\n\n const newValue = this.internalValue.filter(\n (option) => group[this.groupValues].indexOf(option) === -1\n )\n\n this.$emit('update:modelValue', newValue)\n } else {\n const optionsToAdd = group[this.groupValues].filter(\n (option) => !(this.isOptionDisabled(option) || this.isSelected(option))\n )\n\n this.$emit('select', optionsToAdd, this.id)\n this.$emit(\n 'update:modelValue',\n this.internalValue.concat(optionsToAdd)\n )\n }\n\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Helper to identify if all values in a group are selected\n *\n * @param {Object} group to validated selected values against\n */\n wholeGroupSelected (group) {\n return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option)\n )\n },\n /**\n * Helper to identify if all values in a group are disabled\n *\n * @param {Object} group to check for disabled values\n */\n wholeGroupDisabled (group) {\n return group[this.groupValues].every(this.isOptionDisabled)\n },\n /**\n * Removes the given option from the selected options.\n * Additionally checks this.allowEmpty prop if option can be removed when\n * it is the last selected option.\n *\n * @param {type} option description\n * @return {type} description\n */\n removeElement (option, shouldClose = true) {\n /* istanbul ignore else */\n if (this.disabled) return\n /* istanbul ignore else */\n if (option.$isDisabled) return\n /* istanbul ignore else */\n if (!this.allowEmpty && this.internalValue.length <= 1) {\n this.deactivate()\n return\n }\n\n const index = typeof option === 'object'\n ? this.valueKeys.indexOf(option[this.trackBy])\n : this.valueKeys.indexOf(option)\n\n this.$emit('remove', option, this.id)\n if (this.multiple) {\n const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1))\n this.$emit('update:modelValue', newValue)\n } else {\n this.$emit('update:modelValue', null)\n }\n\n /* istanbul ignore else */\n if (this.closeOnSelect && shouldClose) this.deactivate()\n },\n /**\n * Calls this.removeElement() with the last element\n * from this.internalValue (selected element Array)\n *\n * @fires this#removeElement\n */\n removeLastElement () {\n /* istanbul ignore else */\n if (this.blockKeys.indexOf('Delete') !== -1) return\n /* istanbul ignore else */\n if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {\n this.removeElement(this.internalValue[this.internalValue.length - 1], false)\n }\n },\n /**\n * Opens the multiselect’s dropdown.\n * Sets this.isOpen to TRUE\n */\n activate () {\n /* istanbul ignore else */\n if (this.isOpen || this.disabled) return\n\n this.adjustPosition()\n /* istanbul ignore else */\n if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {\n this.pointer = 1\n }\n\n this.isOpen = true\n /* istanbul ignore else */\n if (this.searchable) {\n if (!this.preserveSearch) this.search = ''\n this.$nextTick(() => this.$refs.search && this.$refs.search.focus())\n } else {\n this.$el.focus()\n }\n this.$emit('open', this.id)\n },\n /**\n * Closes the multiselect’s dropdown.\n * Sets this.isOpen to FALSE\n */\n deactivate () {\n /* istanbul ignore else */\n if (!this.isOpen) return\n\n this.isOpen = false\n /* istanbul ignore else */\n if (this.searchable) {\n this.$refs.search && this.$refs.search.blur()\n } else {\n this.$el.blur()\n }\n if (!this.preserveSearch) this.search = ''\n this.$emit('close', this.getValue(), this.id)\n },\n /**\n * Call this.activate() or this.deactivate()\n * depending on this.isOpen value.\n *\n * @fires this#activate || this#deactivate\n * @property {Boolean} isOpen indicates if dropdown is open\n */\n toggle () {\n this.isOpen\n ? this.deactivate()\n : this.activate()\n },\n /**\n * Updates the hasEnoughSpace variable used for\n * detecting where to expand the dropdown\n */\n adjustPosition () {\n if (typeof window === 'undefined') return\n\n const spaceAbove = this.$el.getBoundingClientRect().top\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom\n const hasEnoughSpaceBelow = spaceBelow > this.maxHeight\n\n if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') {\n this.preferredOpenDirection = 'below'\n this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight)\n } else {\n this.preferredOpenDirection = 'above'\n this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight)\n }\n }\n }\n}\n","export default {\n data () {\n return {\n pointer: 0,\n pointerDirty: false\n }\n },\n props: {\n /**\n * Enable/disable highlighting of the pointed value.\n * @type {Boolean}\n * @default true\n */\n showPointer: {\n type: Boolean,\n default: true\n },\n optionHeight: {\n type: Number,\n default: 40\n }\n },\n computed: {\n pointerPosition () {\n return this.pointer * this.optionHeight\n },\n visibleElements () {\n return this.optimizedHeight / this.optionHeight\n }\n },\n watch: {\n filteredOptions () {\n this.pointerAdjust()\n },\n isOpen () {\n this.pointerDirty = false\n },\n pointer () {\n this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString())\n }\n },\n methods: {\n optionHighlight (index, option) {\n return {\n 'multiselect__option--highlight': index === this.pointer && this.showPointer,\n 'multiselect__option--selected': this.isSelected(option)\n }\n },\n groupHighlight (index, selectedGroup) {\n if (!this.groupSelect) {\n return [\n 'multiselect__option--disabled',\n {'multiselect__option--group': selectedGroup.$isLabel}\n ]\n }\n\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n return group && !this.wholeGroupDisabled(group) ? [\n 'multiselect__option--group',\n {'multiselect__option--highlight': index === this.pointer && this.showPointer},\n {'multiselect__option--group-selected': this.wholeGroupSelected(group)}\n ] : 'multiselect__option--disabled'\n },\n addPointerElement ({key} = 'Enter') {\n /* istanbul ignore else */\n if (this.filteredOptions.length > 0) {\n this.select(this.filteredOptions[this.pointer], key)\n }\n this.pointerReset()\n },\n pointerForward () {\n /* istanbul ignore else */\n if (this.pointer < this.filteredOptions.length - 1) {\n this.pointer++\n /* istanbul ignore next */\n if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {\n this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerBackward () {\n if (this.pointer > 0) {\n this.pointer--\n /* istanbul ignore else */\n if (this.$refs.list.scrollTop >= this.pointerPosition) {\n this.$refs.list.scrollTop = this.pointerPosition\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerBackward()\n } else {\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[0].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerReset () {\n /* istanbul ignore else */\n if (!this.closeOnSelect) return\n this.pointer = 0\n /* istanbul ignore else */\n if (this.$refs.list) {\n this.$refs.list.scrollTop = 0\n }\n },\n pointerAdjust () {\n /* istanbul ignore else */\n if (this.pointer >= this.filteredOptions.length - 1) {\n this.pointer = this.filteredOptions.length\n ? this.filteredOptions.length - 1\n : 0\n }\n\n if (this.filteredOptions.length > 0 &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) {\n this.pointerForward()\n }\n },\n pointerSet (index) {\n this.pointer = index\n this.pointerDirty = true\n }\n }\n}\n","import { render } from \"./Multiselect.vue?vue&type=template&id=008768af\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js\"\n\nimport \"./Multiselect.vue?vue&type=style&index=0&id=008768af&lang=css\"\nscript.render = render\n\nexport default script","import Multiselect from './Multiselect.vue'\nimport multiselectMixin from './multiselectMixin.js'\nimport pointerMixin from './pointerMixin.js'\n\nexport default Multiselect\n\nexport {Multiselect, multiselectMixin, pointerMixin}\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n /* global Symbol -- safe */\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue3-multiselect.common.js.map b/dist/vue3-multiselect.common.js.map deleted file mode 100644 index 26d9e527..00000000 --- a/dist/vue3-multiselect.common.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://vue3-multiselect/webpack/bootstrap","webpack://vue3-multiselect/./node_modules/core-js/internals/to-string-tag-support.js","webpack://vue3-multiselect/./node_modules/core-js/internals/function-bind-context.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://vue3-multiselect/./node_modules/core-js/internals/ie8-dom-define.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.date.to-string.js","webpack://vue3-multiselect/./src/Multiselect.vue?36df","webpack://vue3-multiselect/./node_modules/core-js/internals/same-value.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.reduce.js","webpack://vue3-multiselect/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://vue3-multiselect/./node_modules/core-js/internals/html.js","webpack://vue3-multiselect/./node_modules/core-js/internals/a-function.js","webpack://vue3-multiselect/./node_modules/core-js/internals/require-object-coercible.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-absolute-index.js","webpack://vue3-multiselect/./node_modules/core-js/internals/export.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.is-array.js","webpack://vue3-multiselect/./node_modules/core-js/internals/engine-v8-version.js","webpack://vue3-multiselect/./src/Multiselect.vue?adbb","webpack://vue3-multiselect/./node_modules/core-js/internals/engine-user-agent.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-define-properties.js","webpack://vue3-multiselect/./node_modules/core-js/internals/a-possible-prototype.js","webpack://vue3-multiselect/./node_modules/core-js/internals/path.js","webpack://vue3-multiselect/./node_modules/core-js/internals/indexed-object.js","webpack://vue3-multiselect/./node_modules/core-js/internals/add-to-unscopables.js","webpack://vue3-multiselect/./node_modules/core-js/internals/native-symbol.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.string.trim.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-includes.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.filter.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.sort.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-length.js","webpack://vue3-multiselect/./node_modules/core-js/internals/has.js","webpack://vue3-multiselect/./node_modules/core-js/internals/shared.js","webpack://vue3-multiselect/./node_modules/core-js/internals/own-keys.js","webpack://vue3-multiselect/./node_modules/core-js/internals/whitespaces.js","webpack://vue3-multiselect/./node_modules/core-js/internals/string-trim.js","webpack://vue3-multiselect/./node_modules/core-js/internals/create-property-descriptor.js","webpack://vue3-multiselect/./node_modules/core-js/internals/engine-is-node.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-species-create.js","webpack://vue3-multiselect/./node_modules/core-js/internals/internal-state.js","webpack://vue3-multiselect/./node_modules/core-js/internals/redefine.js","webpack://vue3-multiselect/./node_modules/core-js/internals/inherit-if-required.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://vue3-multiselect/./node_modules/core-js/internals/enum-bug-keys.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-object.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-create.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.find.js","webpack://vue3-multiselect/./node_modules/core-js/internals/native-weak-map.js","webpack://vue3-multiselect/./node_modules/core-js/internals/an-object.js","webpack://vue3-multiselect/./node_modules/core-js/internals/descriptors.js","webpack://vue3-multiselect/./node_modules/core-js/internals/create-property.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.string.search.js","webpack://vue3-multiselect/./node_modules/core-js/internals/is-object.js","webpack://vue3-multiselect/./node_modules/@soda/get-current-script/index.js","webpack://vue3-multiselect/./node_modules/core-js/internals/inspect-source.js","webpack://vue3-multiselect/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue3-multiselect/./node_modules/core-js/internals/uid.js","webpack://vue3-multiselect/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://vue3-multiselect/./node_modules/core-js/internals/regexp-exec.js","webpack://vue3-multiselect/./node_modules/core-js/internals/is-forced.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.concat.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-define-property.js","webpack://vue3-multiselect/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.every.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-method-is-strict.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-integer.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.number.constructor.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.regexp.exec.js","webpack://vue3-multiselect/./node_modules/core-js/internals/regexp-flags.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-to-string.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.function.name.js","webpack://vue3-multiselect/./node_modules/core-js/internals/well-known-symbol.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-iteration.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-primitive.js","webpack://vue3-multiselect/./node_modules/core-js/internals/is-pure.js","webpack://vue3-multiselect/./node_modules/core-js/internals/classof-raw.js","webpack://vue3-multiselect/./node_modules/core-js/internals/shared-store.js","webpack://vue3-multiselect/(webpack)/buildin/global.js","webpack://vue3-multiselect/./node_modules/core-js/internals/string-trim-forced.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.index-of.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-keys-internal.js","webpack://vue3-multiselect/./node_modules/core-js/internals/document-create-element.js","webpack://vue3-multiselect/./node_modules/core-js/internals/set-global.js","webpack://vue3-multiselect/./node_modules/core-js/internals/hidden-keys.js","webpack://vue3-multiselect/./node_modules/core-js/internals/fails.js","webpack://vue3-multiselect/./node_modules/core-js/internals/get-built-in.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.object.to-string.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-reduce.js","webpack://vue3-multiselect/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.map.js","webpack://vue3-multiselect/./node_modules/core-js/internals/global.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-keys.js","webpack://vue3-multiselect/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://vue3-multiselect/./node_modules/core-js/internals/is-array.js","webpack://vue3-multiselect/./node_modules/core-js/internals/classof.js","webpack://vue3-multiselect/./node_modules/core-js/internals/shared-key.js","webpack://vue3-multiselect/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue3-multiselect/./src/Multiselect.vue","webpack://vue3-multiselect/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vue3-multiselect/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vue3-multiselect/./src/multiselectMixin.js","webpack://vue3-multiselect/./src/pointerMixin.js","webpack://vue3-multiselect/./src/Multiselect.vue?7135","webpack://vue3-multiselect/./src/Multiselect.vue?da1c","webpack://vue3-multiselect/./src/index.js","webpack://vue3-multiselect/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.slice.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-indexed-object.js","webpack://vue3-multiselect/./node_modules/core-js/internals/use-symbol-as-uid.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","isEmpty","opt","Array","isArray","length","not","fun","includes","str","query","undefined","text","toString","toLowerCase","indexOf","trim","filterOptions","options","search","label","customLabel","filter","option","sort","a","b","stripGroups","$isLabel","flattenOptions","values","reduce","prev","curr","push","$groupLabel","concat","filterGroups","groupLabel","groups","map","group","console","warn","groupOptions","flow","fns","x","v","f","data","isOpen","preferredOpenDirection","optimizedHeight","maxHeight","props","internalSearch","type","Boolean","required","multiple","trackBy","String","searchable","clearOnSelect","hideSelected","placeholder","allowEmpty","resetAfter","closeOnSelect","Function","taggable","tagPlaceholder","tagPosition","max","Number","id","optionsLimit","groupValues","groupSelect","blockKeys","preserveSearch","preselectFirst","mounted","internalValue","select","filteredOptions","computed","modelValue","normalizedSearch","filterAndFlat","isSelected","isExistingOption","isTag","unshift","slice","valueKeys","element","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","watch","$emit","emits","methods","getValue","updateSearch","isOptionDisabled","$isDisabled","selectGroup","disabled","pointerDirty","deactivate","removeElement","selectedGroup","find","wholeGroupSelected","newValue","optionsToAdd","every","wholeGroupDisabled","shouldClose","index","removeLastElement","activate","adjustPosition","pointer","$nextTick","$refs","focus","$el","blur","toggle","window","spaceAbove","getBoundingClientRect","top","spaceBelow","innerHeight","bottom","hasEnoughSpaceBelow","openDirection","Math","min","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","setAttribute","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","list","scrollTop","pointerBackward","pointerSet","Multiselect"],"mappings":"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AEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,UAAU,mBAAO,CAAC,MAAkB;AACpC,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACvCD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;AACA;AACA;;;;;;;;ACNA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,uBAAuB,mBAAO,CAAC,MAAuC;AACtE,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,WAAW,mBAAO,CAAC,MAAmB;AACtC,4BAA4B,mBAAO,CAAC,MAAsC;AAC1E,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;AC7Ea;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA8B;AAClD,uBAAuB,mBAAO,CAAC,MAAiC;;AAEhE;AACA;;AAEA;AACA,4CAA4C,qBAAqB,EAAE;;AAEnE;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;ACpBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;;AAEA;;;;;;;;ACLA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;ACLY;AACb,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACjCD;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;AC9ED,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACXA,gC;;;;;;;ACAA;AACA;;AAEA;AACA;AACA;;;;;;;;ACLA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;ACTa;AACb,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,oBAAoB,mBAAO,CAAC,MAAyB;;AAErD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACvFA,YAAY,mBAAO,CAAC,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AAO,CAAC,MAAwB;AAC/C,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvBD,4BAA4B,mBAAO,CAAC,MAAoC;AACxE,eAAe,mBAAO,CAAC,MAAuB;AAC9C,eAAe,mBAAO,CAAC,MAA+B;;AAEtD;AACA;AACA;AACA,oDAAoD,eAAe;AACnE;;;;;;;;ACRA,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;;AAE/C,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,uCAAuC;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvCa;AACb;AACA,mBAAO,CAAC,MAA2B;AACnC,eAAe,mBAAO,CAAC,MAAuB;AAC9C,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;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","file":"vue3-multiselect.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (new Date(NaN) + '' != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=style&index=0&id=1adbf360&lang=scss\"","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// extracted by mini-css-extract-plugin","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n /* global Symbol -- required for testing */\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? nativeSort.call(toObject(this))\n : nativeSort.call(toObject(this), aFunction(comparefn));\n }\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.9.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n\n\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function isEmpty (opt) {\n if (opt === 0) return false\n if (Array.isArray(opt) && opt.length === 0) return true\n return !opt\n}\n\nfunction not (fun) {\n return (...params) => !fun(...params)\n}\n\nfunction includes (str, query) {\n /* istanbul ignore else */\n if (str === undefined) str = 'undefined'\n if (str === null) str = 'null'\n if (str === false) str = 'false'\n const text = str.toString().toLowerCase()\n return text.indexOf(query.trim()) !== -1\n}\n\nfunction filterOptions (options, search, label, customLabel) {\n return search ? options\n .filter((option) => includes(customLabel(option, label), search))\n .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options\n}\n\nfunction stripGroups (options) {\n return options.filter((option) => !option.$isLabel)\n}\n\nfunction flattenOptions (values, label) {\n return (options) =>\n options.reduce((prev, curr) => {\n /* istanbul ignore else */\n if (curr[values] && curr[values].length) {\n prev.push({\n $groupLabel: curr[label],\n $isLabel: true\n })\n return prev.concat(curr[values])\n }\n return prev\n }, [])\n}\n\nfunction filterGroups (search, label, values, groupLabel, customLabel) {\n return (groups) =>\n groups.map((group) => {\n /* istanbul ignore else */\n if (!group[values]) {\n console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`)\n return []\n }\n const groupOptions = filterOptions(group[values], search, label, customLabel)\n\n return groupOptions.length\n ? {\n [groupLabel]: group[groupLabel],\n [values]: groupOptions\n }\n : []\n })\n}\n\nconst flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x)\n\nexport default {\n data () {\n return {\n search: '',\n isOpen: false,\n preferredOpenDirection: 'below',\n optimizedHeight: this.maxHeight\n }\n },\n props: {\n /**\n * Decide whether to filter the results based on search query.\n * Useful for async filtering, where we search through more complex data.\n * @type {Boolean}\n */\n internalSearch: {\n type: Boolean,\n default: true\n },\n /**\n * Array of available options: Objects, Strings or Integers.\n * If array of objects, visible label will default to option.label.\n * If `labal` prop is passed, label will equal option['label']\n * @type {Array}\n */\n options: {\n type: Array,\n required: true\n },\n /**\n * Equivalent to the `multiple` attribute on a `` input.\n * @default 'Select option'\n * @type {String}\n */\n placeholder: {\n type: String,\n default: 'Select option'\n },\n /**\n * Allow to remove all selected values\n * @default true\n * @type {Boolean}\n */\n allowEmpty: {\n type: Boolean,\n default: true\n },\n /**\n * Reset this.internalValue, this.search after this.internalValue changes.\n * Useful if want to create a stateless dropdown.\n * @default false\n * @type {Boolean}\n */\n resetAfter: {\n type: Boolean,\n default: false\n },\n /**\n * Enable/disable closing after selecting an option\n * @default true\n * @type {Boolean}\n */\n closeOnSelect: {\n type: Boolean,\n default: true\n },\n /**\n * Function to interpolate the custom label\n * @default false\n * @type {Function}\n */\n customLabel: {\n type: Function,\n default (option, label) {\n if (isEmpty(option)) return ''\n return label ? option[label] : option\n }\n },\n /**\n * Disable / Enable tagging\n * @default false\n * @type {Boolean}\n */\n taggable: {\n type: Boolean,\n default: false\n },\n /**\n * String to show when highlighting a potential tag\n * @default 'Press enter to create a tag'\n * @type {String}\n */\n tagPlaceholder: {\n type: String,\n default: 'Press enter to create a tag'\n },\n /**\n * By default new tags will appear above the search results.\n * Changing to 'bottom' will revert this behaviour\n * and will proritize the search results\n * @default 'top'\n * @type {String}\n */\n tagPosition: {\n type: String,\n default: 'top'\n },\n /**\n * Number of allowed selected options. No limit if 0.\n * @default 0\n * @type {Number}\n */\n max: {\n type: [Number, Boolean],\n default: false\n },\n /**\n * Will be passed with all events as second param.\n * Useful for identifying events origin.\n * @default null\n * @type {String|Integer}\n */\n id: {\n default: null\n },\n /**\n * Limits the options displayed in the dropdown\n * to the first X options.\n * @default 1000\n * @type {Integer}\n */\n optionsLimit: {\n type: Number,\n default: 1000\n },\n /**\n * Name of the property containing\n * the group values\n * @default 1000\n * @type {String}\n */\n groupValues: {\n type: String\n },\n /**\n * Name of the property containing\n * the group label\n * @default 1000\n * @type {String}\n */\n groupLabel: {\n type: String\n },\n /**\n * Allow to select all group values\n * by selecting the group label\n * @default false\n * @type {Boolean}\n */\n groupSelect: {\n type: Boolean,\n default: false\n },\n /**\n * Array of keyboard keys to block\n * when selecting\n * @default 1000\n * @type {String}\n */\n blockKeys: {\n type: Array,\n default () {\n return []\n }\n },\n /**\n * Prevent from wiping up the search value\n * @default false\n * @type {Boolean}\n */\n preserveSearch: {\n type: Boolean,\n default: false\n },\n /**\n * Select 1st options if value is empty\n * @default false\n * @type {Boolean}\n */\n preselectFirst: {\n type: Boolean,\n default: false\n }\n },\n mounted () {\n /* istanbul ignore else */\n if (!this.multiple && this.max) {\n console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.')\n }\n if (\n this.preselectFirst &&\n !this.internalValue.length &&\n this.options.length\n ) {\n this.select(this.filteredOptions[0])\n }\n },\n computed: {\n internalValue () {\n return this.modelValue || this.modelValue === 0\n ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]\n : []\n },\n filteredOptions () {\n const search = this.search || ''\n const normalizedSearch = search.toLowerCase().trim()\n\n let options = this.options.concat()\n\n /* istanbul ignore else */\n if (this.internalSearch) {\n options = this.groupValues\n ? this.filterAndFlat(options, normalizedSearch, this.label)\n : filterOptions(options, normalizedSearch, this.label, this.customLabel)\n } else {\n options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options\n }\n\n options = this.hideSelected\n ? options.filter(not(this.isSelected))\n : options\n\n /* istanbul ignore else */\n if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {\n if (this.tagPosition === 'bottom') {\n options.push({isTag: true, label: search})\n } else {\n options.unshift({isTag: true, label: search})\n }\n }\n\n return options.slice(0, this.optionsLimit)\n },\n valueKeys () {\n if (this.trackBy) {\n return this.internalValue.map((element) => element[this.trackBy])\n } else {\n return this.internalValue\n }\n },\n optionKeys () {\n const options = this.groupValues ? this.flatAndStrip(this.options) : this.options\n return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase())\n },\n currentOptionLabel () {\n return this.multiple\n ? this.searchable ? '' : this.placeholder\n : this.internalValue.length\n ? this.getOptionLabel(this.internalValue[0])\n : this.searchable ? '' : this.placeholder\n }\n },\n watch: {\n internalValue () {\n /* istanbul ignore else */\n if (this.resetAfter && this.internalValue.length) {\n this.search = ''\n this.$emit('update:modelValue', this.multiple ? [] : null)\n }\n },\n search () {\n this.$emit('search-change', this.search)\n }\n },\n emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'],\n methods: {\n /**\n * Returns the internalValue in a way it can be emited to the parent\n * @returns {Object||Array||String||Integer}\n */\n getValue () {\n return this.multiple\n ? this.internalValue\n : this.internalValue.length === 0\n ? null\n : this.internalValue[0]\n },\n /**\n * Filters and then flattens the options list\n * @param {Array}\n * @return {Array} returns a filtered and flat options list\n */\n filterAndFlat (options, search, label) {\n return flow(\n filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),\n flattenOptions(this.groupValues, this.groupLabel)\n )(options)\n },\n /**\n * Flattens and then strips the group labels from the options list\n * @param {Array}\n * @return {Array} returns a flat options list without group labels\n */\n flatAndStrip (options) {\n return flow(\n flattenOptions(this.groupValues, this.groupLabel),\n stripGroups\n )(options)\n },\n /**\n * Updates the search value\n * @param {String}\n */\n updateSearch (query) {\n this.search = query\n },\n /**\n * Finds out if the given query is already present\n * in the available options\n * @param {String}\n * @return {Boolean} returns true if element is available\n */\n isExistingOption (query) {\n return !this.options\n ? false\n : this.optionKeys.indexOf(query) > -1\n },\n /**\n * Finds out if the given element is already present\n * in the result value\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is selected\n */\n isSelected (option) {\n const opt = this.trackBy\n ? option[this.trackBy]\n : option\n return this.valueKeys.indexOf(opt) > -1\n },\n /**\n * Finds out if the given option is disabled\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is disabled\n */\n isOptionDisabled (option) {\n return !!option.$isDisabled\n },\n /**\n * Returns empty string when options is null/undefined\n * Returns tag query if option is tag.\n * Returns the customLabel() results and casts it to string.\n *\n * @param {Object||String||Integer} Passed option\n * @returns {Object||String}\n */\n getOptionLabel (option) {\n if (isEmpty(option)) return ''\n /* istanbul ignore else */\n if (option.isTag) return option.label\n /* istanbul ignore else */\n if (option.$isLabel) return option.$groupLabel\n\n const label = this.customLabel(option, this.label)\n /* istanbul ignore else */\n if (isEmpty(label)) return ''\n return label\n },\n /**\n * Add the given option to the list of selected options\n * or sets the option as the selected option.\n * If option is already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} option to select/deselect\n * @param {Boolean} block removing\n */\n select (option, key) {\n /* istanbul ignore else */\n if (option.$isLabel && this.groupSelect) {\n this.selectGroup(option)\n return\n }\n if (this.blockKeys.indexOf(key) !== -1 ||\n this.disabled ||\n option.$isDisabled ||\n option.$isLabel\n ) return\n /* istanbul ignore else */\n if (this.max && this.multiple && this.internalValue.length === this.max) return\n /* istanbul ignore else */\n if (key === 'Tab' && !this.pointerDirty) return\n if (option.isTag) {\n this.$emit('tag', option.label, this.id)\n this.search = ''\n if (this.closeOnSelect && !this.multiple) this.deactivate()\n } else {\n const isSelected = this.isSelected(option)\n\n if (isSelected) {\n if (key !== 'Tab') this.removeElement(option)\n return\n }\n\n this.$emit('select', option, this.id)\n\n if (this.multiple) {\n this.$emit('update:modelValue', this.internalValue.concat([option]))\n } else {\n this.$emit('update:modelValue', option)\n }\n\n /* istanbul ignore else */\n if (this.clearOnSelect) this.search = ''\n }\n /* istanbul ignore else */\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Add the given group options to the list of selected options\n * If all group optiona are already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} group to select/deselect\n */\n selectGroup (selectedGroup) {\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n if (!group) return\n\n if (this.wholeGroupSelected(group)) {\n this.$emit('remove', group[this.groupValues], this.id)\n\n const newValue = this.internalValue.filter(\n (option) => group[this.groupValues].indexOf(option) === -1\n )\n\n this.$emit('update:modelValue', newValue)\n } else {\n const optionsToAdd = group[this.groupValues].filter(\n (option) => !(this.isOptionDisabled(option) || this.isSelected(option))\n )\n\n this.$emit('select', optionsToAdd, this.id)\n this.$emit(\n 'update:modelValue',\n this.internalValue.concat(optionsToAdd)\n )\n }\n\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Helper to identify if all values in a group are selected\n *\n * @param {Object} group to validated selected values against\n */\n wholeGroupSelected (group) {\n return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option)\n )\n },\n /**\n * Helper to identify if all values in a group are disabled\n *\n * @param {Object} group to check for disabled values\n */\n wholeGroupDisabled (group) {\n return group[this.groupValues].every(this.isOptionDisabled)\n },\n /**\n * Removes the given option from the selected options.\n * Additionally checks this.allowEmpty prop if option can be removed when\n * it is the last selected option.\n *\n * @param {type} option description\n * @return {type} description\n */\n removeElement (option, shouldClose = true) {\n /* istanbul ignore else */\n if (this.disabled) return\n /* istanbul ignore else */\n if (option.$isDisabled) return\n /* istanbul ignore else */\n if (!this.allowEmpty && this.internalValue.length <= 1) {\n this.deactivate()\n return\n }\n\n const index = typeof option === 'object'\n ? this.valueKeys.indexOf(option[this.trackBy])\n : this.valueKeys.indexOf(option)\n\n this.$emit('remove', option, this.id)\n if (this.multiple) {\n const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1))\n this.$emit('update:modelValue', newValue)\n } else {\n this.$emit('update:modelValue', null)\n }\n\n /* istanbul ignore else */\n if (this.closeOnSelect && shouldClose) this.deactivate()\n },\n /**\n * Calls this.removeElement() with the last element\n * from this.internalValue (selected element Array)\n *\n * @fires this#removeElement\n */\n removeLastElement () {\n /* istanbul ignore else */\n if (this.blockKeys.indexOf('Delete') !== -1) return\n /* istanbul ignore else */\n if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {\n this.removeElement(this.internalValue[this.internalValue.length - 1], false)\n }\n },\n /**\n * Opens the multiselect’s dropdown.\n * Sets this.isOpen to TRUE\n */\n activate () {\n /* istanbul ignore else */\n if (this.isOpen || this.disabled) return\n\n this.adjustPosition()\n /* istanbul ignore else */\n if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {\n this.pointer = 1\n }\n\n this.isOpen = true\n /* istanbul ignore else */\n if (this.searchable) {\n if (!this.preserveSearch) this.search = ''\n this.$nextTick(() => this.$refs.search && this.$refs.search.focus())\n } else {\n this.$el.focus()\n }\n this.$emit('open', this.id)\n },\n /**\n * Closes the multiselect’s dropdown.\n * Sets this.isOpen to FALSE\n */\n deactivate () {\n /* istanbul ignore else */\n if (!this.isOpen) return\n\n this.isOpen = false\n /* istanbul ignore else */\n if (this.searchable) {\n this.$refs.search && this.$refs.search.blur()\n } else {\n this.$el.blur()\n }\n if (!this.preserveSearch) this.search = ''\n this.$emit('close', this.getValue(), this.id)\n },\n /**\n * Call this.activate() or this.deactivate()\n * depending on this.isOpen value.\n *\n * @fires this#activate || this#deactivate\n * @property {Boolean} isOpen indicates if dropdown is open\n */\n toggle () {\n this.isOpen\n ? this.deactivate()\n : this.activate()\n },\n /**\n * Updates the hasEnoughSpace variable used for\n * detecting where to expand the dropdown\n */\n adjustPosition () {\n if (typeof window === 'undefined') return\n\n const spaceAbove = this.$el.getBoundingClientRect().top\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom\n const hasEnoughSpaceBelow = spaceBelow > this.maxHeight\n\n if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') {\n this.preferredOpenDirection = 'below'\n this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight)\n } else {\n this.preferredOpenDirection = 'above'\n this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight)\n }\n }\n }\n}\n","export default {\n data () {\n return {\n pointer: 0,\n pointerDirty: false\n }\n },\n props: {\n /**\n * Enable/disable highlighting of the pointed value.\n * @type {Boolean}\n * @default true\n */\n showPointer: {\n type: Boolean,\n default: true\n },\n optionHeight: {\n type: Number,\n default: 40\n }\n },\n computed: {\n pointerPosition () {\n return this.pointer * this.optionHeight\n },\n visibleElements () {\n return this.optimizedHeight / this.optionHeight\n }\n },\n watch: {\n filteredOptions () {\n this.pointerAdjust()\n },\n isOpen () {\n this.pointerDirty = false\n },\n pointer () {\n this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString())\n }\n },\n methods: {\n optionHighlight (index, option) {\n return {\n 'multiselect__option--highlight': index === this.pointer && this.showPointer,\n 'multiselect__option--selected': this.isSelected(option)\n }\n },\n groupHighlight (index, selectedGroup) {\n if (!this.groupSelect) {\n return [\n 'multiselect__option--disabled',\n {'multiselect__option--group': selectedGroup.$isLabel}\n ]\n }\n\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n return group && !this.wholeGroupDisabled(group) ? [\n 'multiselect__option--group',\n {'multiselect__option--highlight': index === this.pointer && this.showPointer},\n {'multiselect__option--group-selected': this.wholeGroupSelected(group)}\n ] : 'multiselect__option--disabled'\n },\n addPointerElement ({key} = 'Enter') {\n /* istanbul ignore else */\n if (this.filteredOptions.length > 0) {\n this.select(this.filteredOptions[this.pointer], key)\n }\n this.pointerReset()\n },\n pointerForward () {\n /* istanbul ignore else */\n if (this.pointer < this.filteredOptions.length - 1) {\n this.pointer++\n /* istanbul ignore next */\n if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {\n this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerBackward () {\n if (this.pointer > 0) {\n this.pointer--\n /* istanbul ignore else */\n if (this.$refs.list.scrollTop >= this.pointerPosition) {\n this.$refs.list.scrollTop = this.pointerPosition\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerBackward()\n } else {\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[0].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerReset () {\n /* istanbul ignore else */\n if (!this.closeOnSelect) return\n this.pointer = 0\n /* istanbul ignore else */\n if (this.$refs.list) {\n this.$refs.list.scrollTop = 0\n }\n },\n pointerAdjust () {\n /* istanbul ignore else */\n if (this.pointer >= this.filteredOptions.length - 1) {\n this.pointer = this.filteredOptions.length\n ? this.filteredOptions.length - 1\n : 0\n }\n\n if (this.filteredOptions.length > 0 &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) {\n this.pointerForward()\n }\n },\n pointerSet (index) {\n this.pointer = index\n this.pointerDirty = true\n }\n }\n}\n","export { default } from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=script&lang=js\"; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=script&lang=js\"","import { render } from \"./Multiselect.vue?vue&type=template&id=1adbf360\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js\"\n\nimport \"./Multiselect.vue?vue&type=style&index=0&id=1adbf360&lang=scss\"\nscript.render = render\n\nexport default script","import Multiselect from './Multiselect'\nimport multiselectMixin from './multiselectMixin'\nimport pointerMixin from './pointerMixin'\n\nexport default Multiselect\n\nexport {Multiselect, multiselectMixin, pointerMixin}\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n /* global Symbol -- safe */\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue3-multiselect.umd.js.map b/dist/vue3-multiselect.umd.js.map deleted file mode 100644 index a9b6fb56..00000000 --- a/dist/vue3-multiselect.umd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://vue3-multiselect/webpack/universalModuleDefinition","webpack://vue3-multiselect/webpack/bootstrap","webpack://vue3-multiselect/./node_modules/core-js/internals/to-string-tag-support.js","webpack://vue3-multiselect/./node_modules/core-js/internals/function-bind-context.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://vue3-multiselect/./node_modules/core-js/internals/ie8-dom-define.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.date.to-string.js","webpack://vue3-multiselect/./src/Multiselect.vue?36df","webpack://vue3-multiselect/./node_modules/core-js/internals/same-value.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.reduce.js","webpack://vue3-multiselect/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://vue3-multiselect/./node_modules/core-js/internals/html.js","webpack://vue3-multiselect/./node_modules/core-js/internals/a-function.js","webpack://vue3-multiselect/./node_modules/core-js/internals/require-object-coercible.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-absolute-index.js","webpack://vue3-multiselect/./node_modules/core-js/internals/export.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.is-array.js","webpack://vue3-multiselect/./node_modules/core-js/internals/engine-v8-version.js","webpack://vue3-multiselect/./src/Multiselect.vue?adbb","webpack://vue3-multiselect/./node_modules/core-js/internals/engine-user-agent.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-define-properties.js","webpack://vue3-multiselect/./node_modules/core-js/internals/a-possible-prototype.js","webpack://vue3-multiselect/./node_modules/core-js/internals/path.js","webpack://vue3-multiselect/./node_modules/core-js/internals/indexed-object.js","webpack://vue3-multiselect/./node_modules/core-js/internals/add-to-unscopables.js","webpack://vue3-multiselect/./node_modules/core-js/internals/native-symbol.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.string.trim.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-includes.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.filter.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.sort.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-length.js","webpack://vue3-multiselect/./node_modules/core-js/internals/has.js","webpack://vue3-multiselect/./node_modules/core-js/internals/shared.js","webpack://vue3-multiselect/./node_modules/core-js/internals/own-keys.js","webpack://vue3-multiselect/./node_modules/core-js/internals/whitespaces.js","webpack://vue3-multiselect/./node_modules/core-js/internals/string-trim.js","webpack://vue3-multiselect/./node_modules/core-js/internals/create-property-descriptor.js","webpack://vue3-multiselect/./node_modules/core-js/internals/engine-is-node.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-species-create.js","webpack://vue3-multiselect/./node_modules/core-js/internals/internal-state.js","webpack://vue3-multiselect/./node_modules/core-js/internals/redefine.js","webpack://vue3-multiselect/./node_modules/core-js/internals/inherit-if-required.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://vue3-multiselect/./node_modules/core-js/internals/enum-bug-keys.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-object.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-create.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.find.js","webpack://vue3-multiselect/./node_modules/core-js/internals/native-weak-map.js","webpack://vue3-multiselect/./node_modules/core-js/internals/an-object.js","webpack://vue3-multiselect/./node_modules/core-js/internals/descriptors.js","webpack://vue3-multiselect/./node_modules/core-js/internals/create-property.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.string.search.js","webpack://vue3-multiselect/./node_modules/core-js/internals/is-object.js","webpack://vue3-multiselect/./node_modules/@soda/get-current-script/index.js","webpack://vue3-multiselect/./node_modules/core-js/internals/inspect-source.js","webpack://vue3-multiselect/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue3-multiselect/./node_modules/core-js/internals/uid.js","webpack://vue3-multiselect/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://vue3-multiselect/./node_modules/core-js/internals/regexp-exec.js","webpack://vue3-multiselect/./node_modules/core-js/internals/is-forced.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.concat.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-define-property.js","webpack://vue3-multiselect/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.every.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-method-is-strict.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-integer.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.number.constructor.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.regexp.exec.js","webpack://vue3-multiselect/./node_modules/core-js/internals/regexp-flags.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-to-string.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.function.name.js","webpack://vue3-multiselect/./node_modules/core-js/internals/well-known-symbol.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-iteration.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-primitive.js","webpack://vue3-multiselect/./node_modules/core-js/internals/is-pure.js","webpack://vue3-multiselect/./node_modules/core-js/internals/classof-raw.js","webpack://vue3-multiselect/./node_modules/core-js/internals/shared-store.js","webpack://vue3-multiselect/(webpack)/buildin/global.js","webpack://vue3-multiselect/./node_modules/core-js/internals/string-trim-forced.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.index-of.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-keys-internal.js","webpack://vue3-multiselect/./node_modules/core-js/internals/document-create-element.js","webpack://vue3-multiselect/./node_modules/core-js/internals/set-global.js","webpack://vue3-multiselect/./node_modules/core-js/internals/hidden-keys.js","webpack://vue3-multiselect/./node_modules/core-js/internals/fails.js","webpack://vue3-multiselect/./node_modules/core-js/internals/get-built-in.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.object.to-string.js","webpack://vue3-multiselect/./node_modules/core-js/internals/array-reduce.js","webpack://vue3-multiselect/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.map.js","webpack://vue3-multiselect/./node_modules/core-js/internals/global.js","webpack://vue3-multiselect/./node_modules/core-js/internals/object-keys.js","webpack://vue3-multiselect/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://vue3-multiselect/./node_modules/core-js/internals/is-array.js","webpack://vue3-multiselect/./node_modules/core-js/internals/classof.js","webpack://vue3-multiselect/./node_modules/core-js/internals/shared-key.js","webpack://vue3-multiselect/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue3-multiselect/./src/Multiselect.vue","webpack://vue3-multiselect/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vue3-multiselect/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vue3-multiselect/./src/multiselectMixin.js","webpack://vue3-multiselect/./src/pointerMixin.js","webpack://vue3-multiselect/./src/Multiselect.vue?7135","webpack://vue3-multiselect/./src/Multiselect.vue?da1c","webpack://vue3-multiselect/./src/index.js","webpack://vue3-multiselect/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://vue3-multiselect/./node_modules/core-js/modules/es.array.slice.js","webpack://vue3-multiselect/./node_modules/core-js/internals/to-indexed-object.js","webpack://vue3-multiselect/./node_modules/core-js/internals/use-symbol-as-uid.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","isEmpty","opt","Array","isArray","length","not","fun","includes","str","query","undefined","text","toString","toLowerCase","indexOf","trim","filterOptions","options","search","label","customLabel","filter","option","sort","a","b","stripGroups","$isLabel","flattenOptions","values","reduce","prev","curr","push","$groupLabel","concat","filterGroups","groupLabel","groups","map","group","console","warn","groupOptions","flow","fns","x","v","f","data","isOpen","preferredOpenDirection","optimizedHeight","maxHeight","props","internalSearch","type","Boolean","required","multiple","trackBy","String","searchable","clearOnSelect","hideSelected","placeholder","allowEmpty","resetAfter","closeOnSelect","Function","taggable","tagPlaceholder","tagPosition","max","Number","id","optionsLimit","groupValues","groupSelect","blockKeys","preserveSearch","preselectFirst","mounted","internalValue","select","filteredOptions","computed","modelValue","normalizedSearch","filterAndFlat","isSelected","isExistingOption","isTag","unshift","slice","valueKeys","element","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","watch","$emit","emits","methods","getValue","updateSearch","isOptionDisabled","$isDisabled","selectGroup","disabled","pointerDirty","deactivate","removeElement","selectedGroup","find","wholeGroupSelected","newValue","optionsToAdd","every","wholeGroupDisabled","shouldClose","index","removeLastElement","activate","adjustPosition","pointer","$nextTick","$refs","focus","$el","blur","toggle","window","spaceAbove","getBoundingClientRect","top","spaceBelow","innerHeight","bottom","hasEnoughSpaceBelow","openDirection","Math","min","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","setAttribute","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","list","scrollTop","pointerBackward","pointerSet","Multiselect"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;ACPA,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,UAAU,mBAAO,CAAC,MAAkB;AACpC,qBAAqB,mBAAO,CAAC,MAA6B;;AAE1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;;;;;;;;ACnBA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,oBAAoB,mBAAO,CAAC,MAAsC;;AAElE;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;ACTD,eAAe,mBAAO,CAAC,MAAuB;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;AChBA;AAAA;AAAA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACLa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAA2B;AACjD,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,cAAc,mBAAO,CAAC,MAA6B;;AAEnD;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,qEAAqE;AACxE;AACA;AACA;AACA,CAAC;;;;;;;;AClBD,cAAc,mBAAO,CAAC,MAAe;AACrC,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,MAA2B;;AAEpD;;;;;;;;ACFA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAAgC;;AAEzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,GAAG;AACH;;;;;;;;AClBA,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;;;;;;;;ACXA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,eAAe,mBAAO,CAAC,MAAuB;AAC9C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,eAAe,mBAAO,CAAC,MAAuB;AAC9C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,YAAY,mBAAO,CAAC,MAAoB;AACxC,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;AACA;AACA;;AAEA,qCAAqC,6BAA6B,0BAA0B,YAAY,EAAE;AAC1G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;;;;;;;ACxBA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAAuB;;AAE7C;AACA;AACA,GAAG,8BAA8B;AACjC;AACA,CAAC;;;;;;;;ACPD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,uC;;;;;;;ACAA,iBAAiB,mBAAO,CAAC,MAA2B;;AAEpD;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;;;;;;;ACFA,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAA0B;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACZD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,aAAa,mBAAO,CAAC,MAA4B;AACjD,2BAA2B,mBAAO,CAAC,MAAqC;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACnBA,cAAc,mBAAO,CAAC,MAA6B;AACnD,iBAAiB,mBAAO,CAAC,MAAgC;AACzD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACVY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA0B;AAC9C,6BAA6B,mBAAO,CAAC,MAAiC;;AAEtE;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/Ba;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAA8B;AACpD,mCAAmC,mBAAO,CAAC,MAA+C;;AAE1F;;AAEA;AACA;AACA;AACA,GAAG,6DAA6D;AAChE;AACA;AACA;AACA,CAAC;;;;;;;;;ACdY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,YAAY,mBAAO,CAAC,MAAoB;AACxC,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;AACA;AACA,GAAG,+CAA+C;AAClD;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC/BD,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;;AAEA;AACA;AACA;AACA,uEAAuE;AACvE;;;;;;;;ACRA,uBAAuB;;AAEvB;AACA;AACA;;;;;;;;ACJA,cAAc,mBAAO,CAAC,MAAsB;AAC5C,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;;;;;;;;ACFA,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAA0B;AAChD,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;;;;;;;ACHA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACnBA,sBAAsB,mBAAO,CAAC,MAA8B;AAC5D,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,gBAAgB,mBAAO,CAAC,MAAkB;AAC1C,aAAa,mBAAO,CAAC,MAA2B;AAChD,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,UAAU,mBAAO,CAAC,MAAkB;AACpC,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACvCD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;AACA;AACA;;;;;;;;ACNA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,uBAAuB,mBAAO,CAAC,MAAuC;AACtE,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,WAAW,mBAAO,CAAC,MAAmB;AACtC,4BAA4B,mBAAO,CAAC,MAAsC;AAC1E,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;AC7Ea;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA8B;AAClD,uBAAuB,mBAAO,CAAC,MAAiC;;AAEhE;AACA;;AAEA;AACA,4CAA4C,qBAAqB,EAAE;;AAEnE;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;ACpBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;;AAEA;;;;;;;;ACLA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;ACLY;AACb,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACjCD;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;AC9ED,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACXA,mD;;;;;;;ACAA;AACA;;AAEA;AACA;AACA;;;;;;;;ACLA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;ACTa;AACb,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,oBAAoB,mBAAO,CAAC,MAAyB;;AAErD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACvFA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACpBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAAgC;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG,+CAA+C;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC5DD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAA6B;AAC1D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;;AAErD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACtBY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAA8B;AACnD,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;;AAEA;AACA;AACA,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA,CAAC;;;;;;;;;ACbY;AACb,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA,+CAA+C,SAAS,EAAE;AAC1D,GAAG;AACH;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,UAAU,mBAAO,CAAC,MAAkB;AACpC,cAAc,mBAAO,CAAC,MAA0B;AAChD,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAA4B;AACjD,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,qCAAqC,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/Ea;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;;ACRY;AACb,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACfa;AACb,4BAA4B,mBAAO,CAAC,MAAoC;AACxE,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;AACA,2CAA2C;AAC3C;AACA;;;;;;;;ACRA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACrBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAAqB;AAC1C,UAAU,mBAAO,CAAC,MAAkB;AACpC,UAAU,mBAAO,CAAC,MAAkB;AACpC,oBAAoB,mBAAO,CAAC,MAA4B;AACxD,wBAAwB,mBAAO,CAAC,MAAgC;;AAEhE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;;;;;;;ACnBA,WAAW,mBAAO,CAAC,MAAoC;AACvD,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;;AAEA,qBAAqB,gEAAgE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,2CAA2C;AAC3C,SAAS;AACT,+BAA+B;AAC/B,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvEA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;;;;;;;;ACAA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;ACJA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;ACNA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;ACnBA,YAAY,mBAAO,CAAC,MAAoB;AACxC,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACXa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,eAAe,mBAAO,CAAC,MAA6B;AACpD,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;;AAEA;AACA;;AAEA;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnBD,UAAU,mBAAO,CAAC,MAAkB;AACpC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAA6B;AACnD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;ACTA;;;;;;;;ACAA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,WAAW,mBAAO,CAAC,MAAmB;AACtC,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,mCAAmC;AACnC;;AAEA;AACA,gFAAgF,OAAO;;AAEvF;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACZD;AACA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvBD,4BAA4B,mBAAO,CAAC,MAAoC;AACxE,eAAe,mBAAO,CAAC,MAAuB;AAC9C,eAAe,mBAAO,CAAC,MAA+B;;AAEtD;AACA;AACA;AACA,oDAAoD,eAAe;AACnE;;;;;;;;ACRA,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;;AAE/C,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,uCAAuC;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvCa;AACb;AACA,mBAAO,CAAC,MAA2B;AACnC,eAAe,mBAAO,CAAC,MAAuB;AAC9C,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AAC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","file":"vue3-multiselect.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue3-multiselect\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue3-multiselect\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (new Date(NaN) + '' != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=style&index=0&id=1adbf360&lang=scss\"","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// extracted by mini-css-extract-plugin","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n /* global Symbol -- required for testing */\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? nativeSort.call(toObject(this))\n : nativeSort.call(toObject(this), aFunction(comparefn));\n }\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.9.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n\n\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function isEmpty (opt) {\n if (opt === 0) return false\n if (Array.isArray(opt) && opt.length === 0) return true\n return !opt\n}\n\nfunction not (fun) {\n return (...params) => !fun(...params)\n}\n\nfunction includes (str, query) {\n /* istanbul ignore else */\n if (str === undefined) str = 'undefined'\n if (str === null) str = 'null'\n if (str === false) str = 'false'\n const text = str.toString().toLowerCase()\n return text.indexOf(query.trim()) !== -1\n}\n\nfunction filterOptions (options, search, label, customLabel) {\n return search ? options\n .filter((option) => includes(customLabel(option, label), search))\n .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options\n}\n\nfunction stripGroups (options) {\n return options.filter((option) => !option.$isLabel)\n}\n\nfunction flattenOptions (values, label) {\n return (options) =>\n options.reduce((prev, curr) => {\n /* istanbul ignore else */\n if (curr[values] && curr[values].length) {\n prev.push({\n $groupLabel: curr[label],\n $isLabel: true\n })\n return prev.concat(curr[values])\n }\n return prev\n }, [])\n}\n\nfunction filterGroups (search, label, values, groupLabel, customLabel) {\n return (groups) =>\n groups.map((group) => {\n /* istanbul ignore else */\n if (!group[values]) {\n console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`)\n return []\n }\n const groupOptions = filterOptions(group[values], search, label, customLabel)\n\n return groupOptions.length\n ? {\n [groupLabel]: group[groupLabel],\n [values]: groupOptions\n }\n : []\n })\n}\n\nconst flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x)\n\nexport default {\n data () {\n return {\n search: '',\n isOpen: false,\n preferredOpenDirection: 'below',\n optimizedHeight: this.maxHeight\n }\n },\n props: {\n /**\n * Decide whether to filter the results based on search query.\n * Useful for async filtering, where we search through more complex data.\n * @type {Boolean}\n */\n internalSearch: {\n type: Boolean,\n default: true\n },\n /**\n * Array of available options: Objects, Strings or Integers.\n * If array of objects, visible label will default to option.label.\n * If `labal` prop is passed, label will equal option['label']\n * @type {Array}\n */\n options: {\n type: Array,\n required: true\n },\n /**\n * Equivalent to the `multiple` attribute on a `` input.\n * @default 'Select option'\n * @type {String}\n */\n placeholder: {\n type: String,\n default: 'Select option'\n },\n /**\n * Allow to remove all selected values\n * @default true\n * @type {Boolean}\n */\n allowEmpty: {\n type: Boolean,\n default: true\n },\n /**\n * Reset this.internalValue, this.search after this.internalValue changes.\n * Useful if want to create a stateless dropdown.\n * @default false\n * @type {Boolean}\n */\n resetAfter: {\n type: Boolean,\n default: false\n },\n /**\n * Enable/disable closing after selecting an option\n * @default true\n * @type {Boolean}\n */\n closeOnSelect: {\n type: Boolean,\n default: true\n },\n /**\n * Function to interpolate the custom label\n * @default false\n * @type {Function}\n */\n customLabel: {\n type: Function,\n default (option, label) {\n if (isEmpty(option)) return ''\n return label ? option[label] : option\n }\n },\n /**\n * Disable / Enable tagging\n * @default false\n * @type {Boolean}\n */\n taggable: {\n type: Boolean,\n default: false\n },\n /**\n * String to show when highlighting a potential tag\n * @default 'Press enter to create a tag'\n * @type {String}\n */\n tagPlaceholder: {\n type: String,\n default: 'Press enter to create a tag'\n },\n /**\n * By default new tags will appear above the search results.\n * Changing to 'bottom' will revert this behaviour\n * and will proritize the search results\n * @default 'top'\n * @type {String}\n */\n tagPosition: {\n type: String,\n default: 'top'\n },\n /**\n * Number of allowed selected options. No limit if 0.\n * @default 0\n * @type {Number}\n */\n max: {\n type: [Number, Boolean],\n default: false\n },\n /**\n * Will be passed with all events as second param.\n * Useful for identifying events origin.\n * @default null\n * @type {String|Integer}\n */\n id: {\n default: null\n },\n /**\n * Limits the options displayed in the dropdown\n * to the first X options.\n * @default 1000\n * @type {Integer}\n */\n optionsLimit: {\n type: Number,\n default: 1000\n },\n /**\n * Name of the property containing\n * the group values\n * @default 1000\n * @type {String}\n */\n groupValues: {\n type: String\n },\n /**\n * Name of the property containing\n * the group label\n * @default 1000\n * @type {String}\n */\n groupLabel: {\n type: String\n },\n /**\n * Allow to select all group values\n * by selecting the group label\n * @default false\n * @type {Boolean}\n */\n groupSelect: {\n type: Boolean,\n default: false\n },\n /**\n * Array of keyboard keys to block\n * when selecting\n * @default 1000\n * @type {String}\n */\n blockKeys: {\n type: Array,\n default () {\n return []\n }\n },\n /**\n * Prevent from wiping up the search value\n * @default false\n * @type {Boolean}\n */\n preserveSearch: {\n type: Boolean,\n default: false\n },\n /**\n * Select 1st options if value is empty\n * @default false\n * @type {Boolean}\n */\n preselectFirst: {\n type: Boolean,\n default: false\n }\n },\n mounted () {\n /* istanbul ignore else */\n if (!this.multiple && this.max) {\n console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.')\n }\n if (\n this.preselectFirst &&\n !this.internalValue.length &&\n this.options.length\n ) {\n this.select(this.filteredOptions[0])\n }\n },\n computed: {\n internalValue () {\n return this.modelValue || this.modelValue === 0\n ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]\n : []\n },\n filteredOptions () {\n const search = this.search || ''\n const normalizedSearch = search.toLowerCase().trim()\n\n let options = this.options.concat()\n\n /* istanbul ignore else */\n if (this.internalSearch) {\n options = this.groupValues\n ? this.filterAndFlat(options, normalizedSearch, this.label)\n : filterOptions(options, normalizedSearch, this.label, this.customLabel)\n } else {\n options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options\n }\n\n options = this.hideSelected\n ? options.filter(not(this.isSelected))\n : options\n\n /* istanbul ignore else */\n if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {\n if (this.tagPosition === 'bottom') {\n options.push({isTag: true, label: search})\n } else {\n options.unshift({isTag: true, label: search})\n }\n }\n\n return options.slice(0, this.optionsLimit)\n },\n valueKeys () {\n if (this.trackBy) {\n return this.internalValue.map((element) => element[this.trackBy])\n } else {\n return this.internalValue\n }\n },\n optionKeys () {\n const options = this.groupValues ? this.flatAndStrip(this.options) : this.options\n return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase())\n },\n currentOptionLabel () {\n return this.multiple\n ? this.searchable ? '' : this.placeholder\n : this.internalValue.length\n ? this.getOptionLabel(this.internalValue[0])\n : this.searchable ? '' : this.placeholder\n }\n },\n watch: {\n internalValue () {\n /* istanbul ignore else */\n if (this.resetAfter && this.internalValue.length) {\n this.search = ''\n this.$emit('update:modelValue', this.multiple ? [] : null)\n }\n },\n search () {\n this.$emit('search-change', this.search)\n }\n },\n emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'],\n methods: {\n /**\n * Returns the internalValue in a way it can be emited to the parent\n * @returns {Object||Array||String||Integer}\n */\n getValue () {\n return this.multiple\n ? this.internalValue\n : this.internalValue.length === 0\n ? null\n : this.internalValue[0]\n },\n /**\n * Filters and then flattens the options list\n * @param {Array}\n * @return {Array} returns a filtered and flat options list\n */\n filterAndFlat (options, search, label) {\n return flow(\n filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),\n flattenOptions(this.groupValues, this.groupLabel)\n )(options)\n },\n /**\n * Flattens and then strips the group labels from the options list\n * @param {Array}\n * @return {Array} returns a flat options list without group labels\n */\n flatAndStrip (options) {\n return flow(\n flattenOptions(this.groupValues, this.groupLabel),\n stripGroups\n )(options)\n },\n /**\n * Updates the search value\n * @param {String}\n */\n updateSearch (query) {\n this.search = query\n },\n /**\n * Finds out if the given query is already present\n * in the available options\n * @param {String}\n * @return {Boolean} returns true if element is available\n */\n isExistingOption (query) {\n return !this.options\n ? false\n : this.optionKeys.indexOf(query) > -1\n },\n /**\n * Finds out if the given element is already present\n * in the result value\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is selected\n */\n isSelected (option) {\n const opt = this.trackBy\n ? option[this.trackBy]\n : option\n return this.valueKeys.indexOf(opt) > -1\n },\n /**\n * Finds out if the given option is disabled\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is disabled\n */\n isOptionDisabled (option) {\n return !!option.$isDisabled\n },\n /**\n * Returns empty string when options is null/undefined\n * Returns tag query if option is tag.\n * Returns the customLabel() results and casts it to string.\n *\n * @param {Object||String||Integer} Passed option\n * @returns {Object||String}\n */\n getOptionLabel (option) {\n if (isEmpty(option)) return ''\n /* istanbul ignore else */\n if (option.isTag) return option.label\n /* istanbul ignore else */\n if (option.$isLabel) return option.$groupLabel\n\n const label = this.customLabel(option, this.label)\n /* istanbul ignore else */\n if (isEmpty(label)) return ''\n return label\n },\n /**\n * Add the given option to the list of selected options\n * or sets the option as the selected option.\n * If option is already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} option to select/deselect\n * @param {Boolean} block removing\n */\n select (option, key) {\n /* istanbul ignore else */\n if (option.$isLabel && this.groupSelect) {\n this.selectGroup(option)\n return\n }\n if (this.blockKeys.indexOf(key) !== -1 ||\n this.disabled ||\n option.$isDisabled ||\n option.$isLabel\n ) return\n /* istanbul ignore else */\n if (this.max && this.multiple && this.internalValue.length === this.max) return\n /* istanbul ignore else */\n if (key === 'Tab' && !this.pointerDirty) return\n if (option.isTag) {\n this.$emit('tag', option.label, this.id)\n this.search = ''\n if (this.closeOnSelect && !this.multiple) this.deactivate()\n } else {\n const isSelected = this.isSelected(option)\n\n if (isSelected) {\n if (key !== 'Tab') this.removeElement(option)\n return\n }\n\n this.$emit('select', option, this.id)\n\n if (this.multiple) {\n this.$emit('update:modelValue', this.internalValue.concat([option]))\n } else {\n this.$emit('update:modelValue', option)\n }\n\n /* istanbul ignore else */\n if (this.clearOnSelect) this.search = ''\n }\n /* istanbul ignore else */\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Add the given group options to the list of selected options\n * If all group optiona are already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} group to select/deselect\n */\n selectGroup (selectedGroup) {\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n if (!group) return\n\n if (this.wholeGroupSelected(group)) {\n this.$emit('remove', group[this.groupValues], this.id)\n\n const newValue = this.internalValue.filter(\n (option) => group[this.groupValues].indexOf(option) === -1\n )\n\n this.$emit('update:modelValue', newValue)\n } else {\n const optionsToAdd = group[this.groupValues].filter(\n (option) => !(this.isOptionDisabled(option) || this.isSelected(option))\n )\n\n this.$emit('select', optionsToAdd, this.id)\n this.$emit(\n 'update:modelValue',\n this.internalValue.concat(optionsToAdd)\n )\n }\n\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Helper to identify if all values in a group are selected\n *\n * @param {Object} group to validated selected values against\n */\n wholeGroupSelected (group) {\n return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option)\n )\n },\n /**\n * Helper to identify if all values in a group are disabled\n *\n * @param {Object} group to check for disabled values\n */\n wholeGroupDisabled (group) {\n return group[this.groupValues].every(this.isOptionDisabled)\n },\n /**\n * Removes the given option from the selected options.\n * Additionally checks this.allowEmpty prop if option can be removed when\n * it is the last selected option.\n *\n * @param {type} option description\n * @return {type} description\n */\n removeElement (option, shouldClose = true) {\n /* istanbul ignore else */\n if (this.disabled) return\n /* istanbul ignore else */\n if (option.$isDisabled) return\n /* istanbul ignore else */\n if (!this.allowEmpty && this.internalValue.length <= 1) {\n this.deactivate()\n return\n }\n\n const index = typeof option === 'object'\n ? this.valueKeys.indexOf(option[this.trackBy])\n : this.valueKeys.indexOf(option)\n\n this.$emit('remove', option, this.id)\n if (this.multiple) {\n const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1))\n this.$emit('update:modelValue', newValue)\n } else {\n this.$emit('update:modelValue', null)\n }\n\n /* istanbul ignore else */\n if (this.closeOnSelect && shouldClose) this.deactivate()\n },\n /**\n * Calls this.removeElement() with the last element\n * from this.internalValue (selected element Array)\n *\n * @fires this#removeElement\n */\n removeLastElement () {\n /* istanbul ignore else */\n if (this.blockKeys.indexOf('Delete') !== -1) return\n /* istanbul ignore else */\n if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {\n this.removeElement(this.internalValue[this.internalValue.length - 1], false)\n }\n },\n /**\n * Opens the multiselect’s dropdown.\n * Sets this.isOpen to TRUE\n */\n activate () {\n /* istanbul ignore else */\n if (this.isOpen || this.disabled) return\n\n this.adjustPosition()\n /* istanbul ignore else */\n if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {\n this.pointer = 1\n }\n\n this.isOpen = true\n /* istanbul ignore else */\n if (this.searchable) {\n if (!this.preserveSearch) this.search = ''\n this.$nextTick(() => this.$refs.search && this.$refs.search.focus())\n } else {\n this.$el.focus()\n }\n this.$emit('open', this.id)\n },\n /**\n * Closes the multiselect’s dropdown.\n * Sets this.isOpen to FALSE\n */\n deactivate () {\n /* istanbul ignore else */\n if (!this.isOpen) return\n\n this.isOpen = false\n /* istanbul ignore else */\n if (this.searchable) {\n this.$refs.search && this.$refs.search.blur()\n } else {\n this.$el.blur()\n }\n if (!this.preserveSearch) this.search = ''\n this.$emit('close', this.getValue(), this.id)\n },\n /**\n * Call this.activate() or this.deactivate()\n * depending on this.isOpen value.\n *\n * @fires this#activate || this#deactivate\n * @property {Boolean} isOpen indicates if dropdown is open\n */\n toggle () {\n this.isOpen\n ? this.deactivate()\n : this.activate()\n },\n /**\n * Updates the hasEnoughSpace variable used for\n * detecting where to expand the dropdown\n */\n adjustPosition () {\n if (typeof window === 'undefined') return\n\n const spaceAbove = this.$el.getBoundingClientRect().top\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom\n const hasEnoughSpaceBelow = spaceBelow > this.maxHeight\n\n if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') {\n this.preferredOpenDirection = 'below'\n this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight)\n } else {\n this.preferredOpenDirection = 'above'\n this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight)\n }\n }\n }\n}\n","export default {\n data () {\n return {\n pointer: 0,\n pointerDirty: false\n }\n },\n props: {\n /**\n * Enable/disable highlighting of the pointed value.\n * @type {Boolean}\n * @default true\n */\n showPointer: {\n type: Boolean,\n default: true\n },\n optionHeight: {\n type: Number,\n default: 40\n }\n },\n computed: {\n pointerPosition () {\n return this.pointer * this.optionHeight\n },\n visibleElements () {\n return this.optimizedHeight / this.optionHeight\n }\n },\n watch: {\n filteredOptions () {\n this.pointerAdjust()\n },\n isOpen () {\n this.pointerDirty = false\n },\n pointer () {\n this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString())\n }\n },\n methods: {\n optionHighlight (index, option) {\n return {\n 'multiselect__option--highlight': index === this.pointer && this.showPointer,\n 'multiselect__option--selected': this.isSelected(option)\n }\n },\n groupHighlight (index, selectedGroup) {\n if (!this.groupSelect) {\n return [\n 'multiselect__option--disabled',\n {'multiselect__option--group': selectedGroup.$isLabel}\n ]\n }\n\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n return group && !this.wholeGroupDisabled(group) ? [\n 'multiselect__option--group',\n {'multiselect__option--highlight': index === this.pointer && this.showPointer},\n {'multiselect__option--group-selected': this.wholeGroupSelected(group)}\n ] : 'multiselect__option--disabled'\n },\n addPointerElement ({key} = 'Enter') {\n /* istanbul ignore else */\n if (this.filteredOptions.length > 0) {\n this.select(this.filteredOptions[this.pointer], key)\n }\n this.pointerReset()\n },\n pointerForward () {\n /* istanbul ignore else */\n if (this.pointer < this.filteredOptions.length - 1) {\n this.pointer++\n /* istanbul ignore next */\n if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {\n this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerBackward () {\n if (this.pointer > 0) {\n this.pointer--\n /* istanbul ignore else */\n if (this.$refs.list.scrollTop >= this.pointerPosition) {\n this.$refs.list.scrollTop = this.pointerPosition\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerBackward()\n } else {\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[0].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerReset () {\n /* istanbul ignore else */\n if (!this.closeOnSelect) return\n this.pointer = 0\n /* istanbul ignore else */\n if (this.$refs.list) {\n this.$refs.list.scrollTop = 0\n }\n },\n pointerAdjust () {\n /* istanbul ignore else */\n if (this.pointer >= this.filteredOptions.length - 1) {\n this.pointer = this.filteredOptions.length\n ? this.filteredOptions.length - 1\n : 0\n }\n\n if (this.filteredOptions.length > 0 &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) {\n this.pointerForward()\n }\n },\n pointerSet (index) {\n this.pointer = index\n this.pointerDirty = true\n }\n }\n}\n","export { default } from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=script&lang=js\"; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Multiselect.vue?vue&type=script&lang=js\"","import { render } from \"./Multiselect.vue?vue&type=template&id=1adbf360\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js\"\n\nimport \"./Multiselect.vue?vue&type=style&index=0&id=1adbf360&lang=scss\"\nscript.render = render\n\nexport default script","import Multiselect from './Multiselect'\nimport multiselectMixin from './multiselectMixin'\nimport pointerMixin from './pointerMixin'\n\nexport default Multiselect\n\nexport {Multiselect, multiselectMixin, pointerMixin}\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n /* global Symbol -- safe */\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue3-multiselect.umd.min.js b/dist/vue3-multiselect.umd.min.js deleted file mode 100644 index 25df2972..00000000 --- a/dist/vue3-multiselect.umd.min.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["vue3-multiselect"]=t(require("vue")):e["vue3-multiselect"]=t(e["Vue"])})("undefined"!==typeof self?self:this,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="fb15")}({"00ee":function(e,t,n){var r=n("b622"),i=r("toStringTag"),o={};o[i]="z",e.exports="[object z]"===String(o)},"0366":function(e,t,n){var r=n("1c0b");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},"06cf":function(e,t,n){var r=n("83ab"),i=n("d1e7"),o=n("5c6c"),c=n("fc6a"),s=n("c04e"),a=n("5135"),l=n("0cfb"),u=Object.getOwnPropertyDescriptor;t.f=r?u:function(e,t){if(e=c(e),t=s(t,!0),l)try{return u(e,t)}catch(n){}if(a(e,t))return o(!i.f.call(e,t),e[t])}},"0cfb":function(e,t,n){var r=n("83ab"),i=n("d039"),o=n("cc12");e.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},"0d03":function(e,t,n){var r=n("6eeb"),i=Date.prototype,o="Invalid Date",c="toString",s=i[c],a=i.getTime;new Date(NaN)+""!=o&&r(i,c,(function(){var e=a.call(this);return e===e?s.call(this):o}))},"0dd4":function(e,t,n){"use strict";n("302e")},"129f":function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e===1/t:e!=e&&t!=t}},"13d5":function(e,t,n){"use strict";var r=n("23e7"),i=n("d58f").left,o=n("a640"),c=n("2d00"),s=n("605d"),a=o("reduce"),l=!s&&c>79&&c<83;r({target:"Array",proto:!0,forced:!a||l},{reduce:function(e){return i(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(e,t,n){var r=n("c6b6"),i=n("9263");e.exports=function(e,t){var n=e.exec;if("function"===typeof n){var o=n.call(e,t);if("object"!==typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(e,t)}},"1be4":function(e,t,n){var r=n("d066");e.exports=r("document","documentElement")},"1c0b":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},"1d80":function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"1dde":function(e,t,n){var r=n("d039"),i=n("b622"),o=n("2d00"),c=i("species");e.exports=function(e){return o>=51||!r((function(){var t=[],n=t.constructor={};return n[c]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},"23cb":function(e,t,n){var r=n("a691"),i=Math.max,o=Math.min;e.exports=function(e,t){var n=r(e);return n<0?i(n+t,0):o(n,t)}},"23e7":function(e,t,n){var r=n("da84"),i=n("06cf").f,o=n("9112"),c=n("6eeb"),s=n("ce4e"),a=n("e893"),l=n("94ca");e.exports=function(e,t){var n,u,f,p,d,h,b=e.target,g=e.global,v=e.stat;if(u=g?r:v?r[b]||s(b,{}):(r[b]||{}).prototype,u)for(f in t){if(d=t[f],e.noTargetGet?(h=i(u,f),p=h&&h.value):p=u[f],n=l(g?f:b+(v?".":"#")+f,e.forced),!n&&void 0!==p){if(typeof d===typeof p)continue;a(d,p)}(e.sham||p&&p.sham)&&o(d,"sham",!0),c(u,f,d,e)}}},"241c":function(e,t,n){var r=n("ca84"),i=n("7839"),o=i.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},"25f0":function(e,t,n){"use strict";var r=n("6eeb"),i=n("825a"),o=n("d039"),c=n("ad6d"),s="toString",a=RegExp.prototype,l=a[s],u=o((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),f=l.name!=s;(u||f)&&r(RegExp.prototype,s,(function(){var e=i(this),t=String(e.source),n=e.flags,r=String(void 0===n&&e instanceof RegExp&&!("flags"in a)?c.call(e):n);return"/"+t+"/"+r}),{unsafe:!0})},"277d":function(e,t,n){var r=n("23e7"),i=n("e8b5");r({target:"Array",stat:!0},{isArray:i})},"2d00":function(e,t,n){var r,i,o=n("da84"),c=n("342f"),s=o.process,a=s&&s.versions,l=a&&a.v8;l?(r=l.split("."),i=r[0]+r[1]):c&&(r=c.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=c.match(/Chrome\/(\d+)/),r&&(i=r[1]))),e.exports=i&&+i},"302e":function(e,t,n){},"342f":function(e,t,n){var r=n("d066");e.exports=r("navigator","userAgent")||""},"37e8":function(e,t,n){var r=n("83ab"),i=n("9bf2"),o=n("825a"),c=n("df75");e.exports=r?Object.defineProperties:function(e,t){o(e);var n,r=c(t),s=r.length,a=0;while(s>a)i.f(e,n=r[a++],t[n]);return e}},"3bbe":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},"428f":function(e,t,n){var r=n("da84");e.exports=r},"44ad":function(e,t,n){var r=n("d039"),i=n("c6b6"),o="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?o.call(e,""):Object(e)}:Object},"44d2":function(e,t,n){var r=n("b622"),i=n("7c73"),o=n("9bf2"),c=r("unscopables"),s=Array.prototype;void 0==s[c]&&o.f(s,c,{configurable:!0,value:i(null)}),e.exports=function(e){s[c][e]=!0}},4930:function(e,t,n){var r=n("605d"),i=n("2d00"),o=n("d039");e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!Symbol.sham&&(r?38===i:i>37&&i<41)}))},"498a":function(e,t,n){"use strict";var r=n("23e7"),i=n("58a8").trim,o=n("c8d2");r({target:"String",proto:!0,forced:o("trim")},{trim:function(){return i(this)}})},"4d64":function(e,t,n){var r=n("fc6a"),i=n("50c4"),o=n("23cb"),c=function(e){return function(t,n,c){var s,a=r(t),l=i(a.length),u=o(c,l);if(e&&n!=n){while(l>u)if(s=a[u++],s!=s)return!0}else for(;l>u;u++)if((e||u in a)&&a[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(e,t,n){"use strict";var r=n("23e7"),i=n("b727").filter,o=n("1dde"),c=o("filter");r({target:"Array",proto:!0,forced:!c},{filter:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},"4e82":function(e,t,n){"use strict";var r=n("23e7"),i=n("1c0b"),o=n("7b0b"),c=n("d039"),s=n("a640"),a=[],l=a.sort,u=c((function(){a.sort(void 0)})),f=c((function(){a.sort(null)})),p=s("sort"),d=u||!f||!p;r({target:"Array",proto:!0,forced:d},{sort:function(e){return void 0===e?l.call(o(this)):l.call(o(this),i(e))}})},"50c4":function(e,t,n){var r=n("a691"),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},5135:function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},5692:function(e,t,n){var r=n("c430"),i=n("c6cd");(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.9.1",mode:r?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,t,n){var r=n("d066"),i=n("241c"),o=n("7418"),c=n("825a");e.exports=r("Reflect","ownKeys")||function(e){var t=i.f(c(e)),n=o.f;return n?t.concat(n(e)):t}},5899:function(e,t){e.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},"58a8":function(e,t,n){var r=n("1d80"),i=n("5899"),o="["+i+"]",c=RegExp("^"+o+o+"*"),s=RegExp(o+o+"*$"),a=function(e){return function(t){var n=String(r(t));return 1&e&&(n=n.replace(c,"")),2&e&&(n=n.replace(s,"")),n}};e.exports={start:a(1),end:a(2),trim:a(3)}},"5c6c":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"605d":function(e,t,n){var r=n("c6b6"),i=n("da84");e.exports="process"==r(i.process)},"65f0":function(e,t,n){var r=n("861d"),i=n("e8b5"),o=n("b622"),c=o("species");e.exports=function(e,t){var n;return i(e)&&(n=e.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)?r(n)&&(n=n[c],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},"69f3":function(e,t,n){var r,i,o,c=n("7f9a"),s=n("da84"),a=n("861d"),l=n("9112"),u=n("5135"),f=n("c6cd"),p=n("f772"),d=n("d012"),h=s.WeakMap,b=function(e){return o(e)?i(e):r(e,{})},g=function(e){return function(t){var n;if(!a(t)||(n=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}};if(c){var v=f.state||(f.state=new h),m=v.get,y=v.has,O=v.set;r=function(e,t){return t.facade=e,O.call(v,e,t),t},i=function(e){return m.call(v,e)||{}},o=function(e){return y.call(v,e)}}else{var x=p("state");d[x]=!0,r=function(e,t){return t.facade=e,l(e,x,t),t},i=function(e){return u(e,x)?e[x]:{}},o=function(e){return u(e,x)}}e.exports={set:r,get:i,has:o,enforce:b,getterFor:g}},"6eeb":function(e,t,n){var r=n("da84"),i=n("9112"),o=n("5135"),c=n("ce4e"),s=n("8925"),a=n("69f3"),l=a.get,u=a.enforce,f=String(String).split("String");(e.exports=function(e,t,n,s){var a,l=!!s&&!!s.unsafe,p=!!s&&!!s.enumerable,d=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof t||o(n,"name")||i(n,"name",t),a=u(n),a.source||(a.source=f.join("string"==typeof t?t:""))),e!==r?(l?!d&&e[t]&&(p=!0):delete e[t],p?e[t]=n:i(e,t,n)):p?e[t]=n:c(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&l(this).source||s(this)}))},7156:function(e,t,n){var r=n("861d"),i=n("d2bb");e.exports=function(e,t,n){var o,c;return i&&"function"==typeof(o=t.constructor)&&o!==n&&r(c=o.prototype)&&c!==n.prototype&&i(e,c),e}},7418:function(e,t){t.f=Object.getOwnPropertySymbols},7839:function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(e,t,n){var r=n("1d80");e.exports=function(e){return Object(r(e))}},"7c73":function(e,t,n){var r,i=n("825a"),o=n("37e8"),c=n("7839"),s=n("d012"),a=n("1be4"),l=n("cc12"),u=n("f772"),f=">",p="<",d="prototype",h="script",b=u("IE_PROTO"),g=function(){},v=function(e){return p+h+f+e+p+"/"+h+f},m=function(e){e.write(v("")),e.close();var t=e.parentWindow.Object;return e=null,t},y=function(){var e,t=l("iframe"),n="java"+h+":";return t.style.display="none",a.appendChild(t),t.src=String(n),e=t.contentWindow.document,e.open(),e.write(v("document.F=Object")),e.close(),e.F},O=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}O=r?m(r):y();var e=c.length;while(e--)delete O[d][c[e]];return O()};s[b]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(g[d]=i(e),n=new g,g[d]=null,n[b]=e):n=O(),void 0===t?n:o(n,t)}},"7db0":function(e,t,n){"use strict";var r=n("23e7"),i=n("b727").find,o=n("44d2"),c="find",s=!0;c in[]&&Array(1)[c]((function(){s=!1})),r({target:"Array",proto:!0,forced:s},{find:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),o(c)},"7f9a":function(e,t,n){var r=n("da84"),i=n("8925"),o=r.WeakMap;e.exports="function"===typeof o&&/native code/.test(i(o))},"825a":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},"83ab":function(e,t,n){var r=n("d039");e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(e,t,n){"use strict";var r=n("c04e"),i=n("9bf2"),o=n("5c6c");e.exports=function(e,t,n){var c=r(t);c in e?i.f(e,c,o(0,n)):e[c]=n}},"841c":function(e,t,n){"use strict";var r=n("d784"),i=n("825a"),o=n("1d80"),c=n("129f"),s=n("14c3");r("search",1,(function(e,t,n){return[function(t){var n=o(this),r=void 0==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var o=i(e),a=String(this),l=o.lastIndex;c(l,0)||(o.lastIndex=0);var u=s(o,a);return c(o.lastIndex,l)||(o.lastIndex=l),null===u?-1:u.index}]}))},"861d":function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},8875:function(e,t,n){var r,i,o;(function(n,c){i=[],r=c,o="function"===typeof r?r.apply(t,i):r,void 0===o||(e.exports=o)})("undefined"!==typeof self&&self,(function(){function e(){var t=Object.getOwnPropertyDescriptor(document,"currentScript");if(!t&&"currentScript"in document&&document.currentScript)return document.currentScript;if(t&&t.get!==e&&document.currentScript)return document.currentScript;try{throw new Error}catch(d){var n,r,i,o=/.*at [^(]*\((.*):(.+):(.+)\)$/gi,c=/@([^@]*):(\d+):(\d+)\s*$/gi,s=o.exec(d.stack)||c.exec(d.stack),a=s&&s[1]||!1,l=s&&s[2]||!1,u=document.location.href.replace(document.location.hash,""),f=document.getElementsByTagName("script");a===u&&(n=document.documentElement.outerHTML,r=new RegExp("(?:[^\\n]+?\\n){0,"+(l-2)+"}[^<]*\n\n\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function isEmpty (opt) {\n if (opt === 0) return false\n if (Array.isArray(opt) && opt.length === 0) return true\n return !opt\n}\n\nfunction not (fun) {\n return (...params) => !fun(...params)\n}\n\nfunction includes (str, query) {\n /* istanbul ignore else */\n if (str === undefined) str = 'undefined'\n if (str === null) str = 'null'\n if (str === false) str = 'false'\n const text = str.toString().toLowerCase()\n return text.indexOf(query.trim()) !== -1\n}\n\nfunction filterOptions (options, search, label, customLabel) {\n return search ? options\n .filter((option) => includes(customLabel(option, label), search))\n .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options\n}\n\nfunction stripGroups (options) {\n return options.filter((option) => !option.$isLabel)\n}\n\nfunction flattenOptions (values, label) {\n return (options) =>\n options.reduce((prev, curr) => {\n /* istanbul ignore else */\n if (curr[values] && curr[values].length) {\n prev.push({\n $groupLabel: curr[label],\n $isLabel: true\n })\n return prev.concat(curr[values])\n }\n return prev\n }, [])\n}\n\nfunction filterGroups (search, label, values, groupLabel, customLabel) {\n return (groups) =>\n groups.map((group) => {\n /* istanbul ignore else */\n if (!group[values]) {\n console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`)\n return []\n }\n const groupOptions = filterOptions(group[values], search, label, customLabel)\n\n return groupOptions.length\n ? {\n [groupLabel]: group[groupLabel],\n [values]: groupOptions\n }\n : []\n })\n}\n\nconst flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x)\n\nexport default {\n data () {\n return {\n search: '',\n isOpen: false,\n preferredOpenDirection: 'below',\n optimizedHeight: this.maxHeight\n }\n },\n props: {\n /**\n * Decide whether to filter the results based on search query.\n * Useful for async filtering, where we search through more complex data.\n * @type {Boolean}\n */\n internalSearch: {\n type: Boolean,\n default: true\n },\n /**\n * Array of available options: Objects, Strings or Integers.\n * If array of objects, visible label will default to option.label.\n * If `labal` prop is passed, label will equal option['label']\n * @type {Array}\n */\n options: {\n type: Array,\n required: true\n },\n /**\n * Equivalent to the `multiple` attribute on a `` input.\n * @default 'Select option'\n * @type {String}\n */\n placeholder: {\n type: String,\n default: 'Select option'\n },\n /**\n * Allow to remove all selected values\n * @default true\n * @type {Boolean}\n */\n allowEmpty: {\n type: Boolean,\n default: true\n },\n /**\n * Reset this.internalValue, this.search after this.internalValue changes.\n * Useful if want to create a stateless dropdown.\n * @default false\n * @type {Boolean}\n */\n resetAfter: {\n type: Boolean,\n default: false\n },\n /**\n * Enable/disable closing after selecting an option\n * @default true\n * @type {Boolean}\n */\n closeOnSelect: {\n type: Boolean,\n default: true\n },\n /**\n * Function to interpolate the custom label\n * @default false\n * @type {Function}\n */\n customLabel: {\n type: Function,\n default (option, label) {\n if (isEmpty(option)) return ''\n return label ? option[label] : option\n }\n },\n /**\n * Disable / Enable tagging\n * @default false\n * @type {Boolean}\n */\n taggable: {\n type: Boolean,\n default: false\n },\n /**\n * String to show when highlighting a potential tag\n * @default 'Press enter to create a tag'\n * @type {String}\n */\n tagPlaceholder: {\n type: String,\n default: 'Press enter to create a tag'\n },\n /**\n * By default new tags will appear above the search results.\n * Changing to 'bottom' will revert this behaviour\n * and will proritize the search results\n * @default 'top'\n * @type {String}\n */\n tagPosition: {\n type: String,\n default: 'top'\n },\n /**\n * Number of allowed selected options. No limit if 0.\n * @default 0\n * @type {Number}\n */\n max: {\n type: [Number, Boolean],\n default: false\n },\n /**\n * Will be passed with all events as second param.\n * Useful for identifying events origin.\n * @default null\n * @type {String|Integer}\n */\n id: {\n default: null\n },\n /**\n * Limits the options displayed in the dropdown\n * to the first X options.\n * @default 1000\n * @type {Integer}\n */\n optionsLimit: {\n type: Number,\n default: 1000\n },\n /**\n * Name of the property containing\n * the group values\n * @default 1000\n * @type {String}\n */\n groupValues: {\n type: String\n },\n /**\n * Name of the property containing\n * the group label\n * @default 1000\n * @type {String}\n */\n groupLabel: {\n type: String\n },\n /**\n * Allow to select all group values\n * by selecting the group label\n * @default false\n * @type {Boolean}\n */\n groupSelect: {\n type: Boolean,\n default: false\n },\n /**\n * Array of keyboard keys to block\n * when selecting\n * @default 1000\n * @type {String}\n */\n blockKeys: {\n type: Array,\n default () {\n return []\n }\n },\n /**\n * Prevent from wiping up the search value\n * @default false\n * @type {Boolean}\n */\n preserveSearch: {\n type: Boolean,\n default: false\n },\n /**\n * Select 1st options if value is empty\n * @default false\n * @type {Boolean}\n */\n preselectFirst: {\n type: Boolean,\n default: false\n }\n },\n mounted () {\n /* istanbul ignore else */\n if (!this.multiple && this.max) {\n console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.')\n }\n if (\n this.preselectFirst &&\n !this.internalValue.length &&\n this.options.length\n ) {\n this.select(this.filteredOptions[0])\n }\n },\n computed: {\n internalValue () {\n return this.modelValue || this.modelValue === 0\n ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]\n : []\n },\n filteredOptions () {\n const search = this.search || ''\n const normalizedSearch = search.toLowerCase().trim()\n\n let options = this.options.concat()\n\n /* istanbul ignore else */\n if (this.internalSearch) {\n options = this.groupValues\n ? this.filterAndFlat(options, normalizedSearch, this.label)\n : filterOptions(options, normalizedSearch, this.label, this.customLabel)\n } else {\n options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options\n }\n\n options = this.hideSelected\n ? options.filter(not(this.isSelected))\n : options\n\n /* istanbul ignore else */\n if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {\n if (this.tagPosition === 'bottom') {\n options.push({isTag: true, label: search})\n } else {\n options.unshift({isTag: true, label: search})\n }\n }\n\n return options.slice(0, this.optionsLimit)\n },\n valueKeys () {\n if (this.trackBy) {\n return this.internalValue.map((element) => element[this.trackBy])\n } else {\n return this.internalValue\n }\n },\n optionKeys () {\n const options = this.groupValues ? this.flatAndStrip(this.options) : this.options\n return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase())\n },\n currentOptionLabel () {\n return this.multiple\n ? this.searchable ? '' : this.placeholder\n : this.internalValue.length\n ? this.getOptionLabel(this.internalValue[0])\n : this.searchable ? '' : this.placeholder\n }\n },\n watch: {\n internalValue () {\n /* istanbul ignore else */\n if (this.resetAfter && this.internalValue.length) {\n this.search = ''\n this.$emit('update:modelValue', this.multiple ? [] : null)\n }\n },\n search () {\n this.$emit('search-change', this.search)\n }\n },\n emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'],\n methods: {\n /**\n * Returns the internalValue in a way it can be emited to the parent\n * @returns {Object||Array||String||Integer}\n */\n getValue () {\n return this.multiple\n ? this.internalValue\n : this.internalValue.length === 0\n ? null\n : this.internalValue[0]\n },\n /**\n * Filters and then flattens the options list\n * @param {Array}\n * @return {Array} returns a filtered and flat options list\n */\n filterAndFlat (options, search, label) {\n return flow(\n filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),\n flattenOptions(this.groupValues, this.groupLabel)\n )(options)\n },\n /**\n * Flattens and then strips the group labels from the options list\n * @param {Array}\n * @return {Array} returns a flat options list without group labels\n */\n flatAndStrip (options) {\n return flow(\n flattenOptions(this.groupValues, this.groupLabel),\n stripGroups\n )(options)\n },\n /**\n * Updates the search value\n * @param {String}\n */\n updateSearch (query) {\n this.search = query\n },\n /**\n * Finds out if the given query is already present\n * in the available options\n * @param {String}\n * @return {Boolean} returns true if element is available\n */\n isExistingOption (query) {\n return !this.options\n ? false\n : this.optionKeys.indexOf(query) > -1\n },\n /**\n * Finds out if the given element is already present\n * in the result value\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is selected\n */\n isSelected (option) {\n const opt = this.trackBy\n ? option[this.trackBy]\n : option\n return this.valueKeys.indexOf(opt) > -1\n },\n /**\n * Finds out if the given option is disabled\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is disabled\n */\n isOptionDisabled (option) {\n return !!option.$isDisabled\n },\n /**\n * Returns empty string when options is null/undefined\n * Returns tag query if option is tag.\n * Returns the customLabel() results and casts it to string.\n *\n * @param {Object||String||Integer} Passed option\n * @returns {Object||String}\n */\n getOptionLabel (option) {\n if (isEmpty(option)) return ''\n /* istanbul ignore else */\n if (option.isTag) return option.label\n /* istanbul ignore else */\n if (option.$isLabel) return option.$groupLabel\n\n const label = this.customLabel(option, this.label)\n /* istanbul ignore else */\n if (isEmpty(label)) return ''\n return label\n },\n /**\n * Add the given option to the list of selected options\n * or sets the option as the selected option.\n * If option is already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} option to select/deselect\n * @param {Boolean} block removing\n */\n select (option, key) {\n /* istanbul ignore else */\n if (option.$isLabel && this.groupSelect) {\n this.selectGroup(option)\n return\n }\n if (this.blockKeys.indexOf(key) !== -1 ||\n this.disabled ||\n option.$isDisabled ||\n option.$isLabel\n ) return\n /* istanbul ignore else */\n if (this.max && this.multiple && this.internalValue.length === this.max) return\n /* istanbul ignore else */\n if (key === 'Tab' && !this.pointerDirty) return\n if (option.isTag) {\n this.$emit('tag', option.label, this.id)\n this.search = ''\n if (this.closeOnSelect && !this.multiple) this.deactivate()\n } else {\n const isSelected = this.isSelected(option)\n\n if (isSelected) {\n if (key !== 'Tab') this.removeElement(option)\n return\n }\n\n this.$emit('select', option, this.id)\n\n if (this.multiple) {\n this.$emit('update:modelValue', this.internalValue.concat([option]))\n } else {\n this.$emit('update:modelValue', option)\n }\n\n /* istanbul ignore else */\n if (this.clearOnSelect) this.search = ''\n }\n /* istanbul ignore else */\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Add the given group options to the list of selected options\n * If all group optiona are already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} group to select/deselect\n */\n selectGroup (selectedGroup) {\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n if (!group) return\n\n if (this.wholeGroupSelected(group)) {\n this.$emit('remove', group[this.groupValues], this.id)\n\n const newValue = this.internalValue.filter(\n (option) => group[this.groupValues].indexOf(option) === -1\n )\n\n this.$emit('update:modelValue', newValue)\n } else {\n const optionsToAdd = group[this.groupValues].filter(\n (option) => !(this.isOptionDisabled(option) || this.isSelected(option))\n )\n\n this.$emit('select', optionsToAdd, this.id)\n this.$emit(\n 'update:modelValue',\n this.internalValue.concat(optionsToAdd)\n )\n }\n\n if (this.closeOnSelect) this.deactivate()\n },\n /**\n * Helper to identify if all values in a group are selected\n *\n * @param {Object} group to validated selected values against\n */\n wholeGroupSelected (group) {\n return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option)\n )\n },\n /**\n * Helper to identify if all values in a group are disabled\n *\n * @param {Object} group to check for disabled values\n */\n wholeGroupDisabled (group) {\n return group[this.groupValues].every(this.isOptionDisabled)\n },\n /**\n * Removes the given option from the selected options.\n * Additionally checks this.allowEmpty prop if option can be removed when\n * it is the last selected option.\n *\n * @param {type} option description\n * @return {type} description\n */\n removeElement (option, shouldClose = true) {\n /* istanbul ignore else */\n if (this.disabled) return\n /* istanbul ignore else */\n if (option.$isDisabled) return\n /* istanbul ignore else */\n if (!this.allowEmpty && this.internalValue.length <= 1) {\n this.deactivate()\n return\n }\n\n const index = typeof option === 'object'\n ? this.valueKeys.indexOf(option[this.trackBy])\n : this.valueKeys.indexOf(option)\n\n this.$emit('remove', option, this.id)\n if (this.multiple) {\n const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1))\n this.$emit('update:modelValue', newValue)\n } else {\n this.$emit('update:modelValue', null)\n }\n\n /* istanbul ignore else */\n if (this.closeOnSelect && shouldClose) this.deactivate()\n },\n /**\n * Calls this.removeElement() with the last element\n * from this.internalValue (selected element Array)\n *\n * @fires this#removeElement\n */\n removeLastElement () {\n /* istanbul ignore else */\n if (this.blockKeys.indexOf('Delete') !== -1) return\n /* istanbul ignore else */\n if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {\n this.removeElement(this.internalValue[this.internalValue.length - 1], false)\n }\n },\n /**\n * Opens the multiselect’s dropdown.\n * Sets this.isOpen to TRUE\n */\n activate () {\n /* istanbul ignore else */\n if (this.isOpen || this.disabled) return\n\n this.adjustPosition()\n /* istanbul ignore else */\n if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {\n this.pointer = 1\n }\n\n this.isOpen = true\n /* istanbul ignore else */\n if (this.searchable) {\n if (!this.preserveSearch) this.search = ''\n this.$nextTick(() => this.$refs.search && this.$refs.search.focus())\n } else {\n this.$el.focus()\n }\n this.$emit('open', this.id)\n },\n /**\n * Closes the multiselect’s dropdown.\n * Sets this.isOpen to FALSE\n */\n deactivate () {\n /* istanbul ignore else */\n if (!this.isOpen) return\n\n this.isOpen = false\n /* istanbul ignore else */\n if (this.searchable) {\n this.$refs.search && this.$refs.search.blur()\n } else {\n this.$el.blur()\n }\n if (!this.preserveSearch) this.search = ''\n this.$emit('close', this.getValue(), this.id)\n },\n /**\n * Call this.activate() or this.deactivate()\n * depending on this.isOpen value.\n *\n * @fires this#activate || this#deactivate\n * @property {Boolean} isOpen indicates if dropdown is open\n */\n toggle () {\n this.isOpen\n ? this.deactivate()\n : this.activate()\n },\n /**\n * Updates the hasEnoughSpace variable used for\n * detecting where to expand the dropdown\n */\n adjustPosition () {\n if (typeof window === 'undefined') return\n\n const spaceAbove = this.$el.getBoundingClientRect().top\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom\n const hasEnoughSpaceBelow = spaceBelow > this.maxHeight\n\n if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') {\n this.preferredOpenDirection = 'below'\n this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight)\n } else {\n this.preferredOpenDirection = 'above'\n this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight)\n }\n }\n }\n}\n","export default {\n data () {\n return {\n pointer: 0,\n pointerDirty: false\n }\n },\n props: {\n /**\n * Enable/disable highlighting of the pointed value.\n * @type {Boolean}\n * @default true\n */\n showPointer: {\n type: Boolean,\n default: true\n },\n optionHeight: {\n type: Number,\n default: 40\n }\n },\n computed: {\n pointerPosition () {\n return this.pointer * this.optionHeight\n },\n visibleElements () {\n return this.optimizedHeight / this.optionHeight\n }\n },\n watch: {\n filteredOptions () {\n this.pointerAdjust()\n },\n isOpen () {\n this.pointerDirty = false\n },\n pointer () {\n this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString())\n }\n },\n methods: {\n optionHighlight (index, option) {\n return {\n 'multiselect__option--highlight': index === this.pointer && this.showPointer,\n 'multiselect__option--selected': this.isSelected(option)\n }\n },\n groupHighlight (index, selectedGroup) {\n if (!this.groupSelect) {\n return [\n 'multiselect__option--disabled',\n {'multiselect__option--group': selectedGroup.$isLabel}\n ]\n }\n\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n })\n\n return group && !this.wholeGroupDisabled(group) ? [\n 'multiselect__option--group',\n {'multiselect__option--highlight': index === this.pointer && this.showPointer},\n {'multiselect__option--group-selected': this.wholeGroupSelected(group)}\n ] : 'multiselect__option--disabled'\n },\n addPointerElement ({key} = 'Enter') {\n /* istanbul ignore else */\n if (this.filteredOptions.length > 0) {\n this.select(this.filteredOptions[this.pointer], key)\n }\n this.pointerReset()\n },\n pointerForward () {\n /* istanbul ignore else */\n if (this.pointer < this.filteredOptions.length - 1) {\n this.pointer++\n /* istanbul ignore next */\n if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {\n this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerBackward () {\n if (this.pointer > 0) {\n this.pointer--\n /* istanbul ignore else */\n if (this.$refs.list.scrollTop >= this.pointerPosition) {\n this.$refs.list.scrollTop = this.pointerPosition\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerBackward()\n } else {\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[0].$isLabel &&\n !this.groupSelect\n ) this.pointerForward()\n }\n this.pointerDirty = true\n },\n pointerReset () {\n /* istanbul ignore else */\n if (!this.closeOnSelect) return\n this.pointer = 0\n /* istanbul ignore else */\n if (this.$refs.list) {\n this.$refs.list.scrollTop = 0\n }\n },\n pointerAdjust () {\n /* istanbul ignore else */\n if (this.pointer >= this.filteredOptions.length - 1) {\n this.pointer = this.filteredOptions.length\n ? this.filteredOptions.length - 1\n : 0\n }\n\n if (this.filteredOptions.length > 0 &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) {\n this.pointerForward()\n }\n },\n pointerSet (index) {\n this.pointer = index\n this.pointerDirty = true\n }\n }\n}\n","import { render } from \"./Multiselect.vue?vue&type=template&id=1adbf360\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js\"\n\nimport \"./Multiselect.vue?vue&type=style&index=0&id=1adbf360&lang=scss\"\nscript.render = render\n\nexport default script","import Multiselect from './Multiselect'\nimport multiselectMixin from './multiselectMixin'\nimport pointerMixin from './pointerMixin'\n\nexport default Multiselect\n\nexport {Multiselect, multiselectMixin, pointerMixin}\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n /* global Symbol -- safe */\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 6bae6531..25bf9647 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { - "name": "vue3-multiselect", - "version": "1.0.0-beta.3", + "name": "vue-multiselect", + "version": "3.0.0-alpha.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1572,6 +1572,16 @@ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true }, + "@rollup/pluginutils": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz", + "integrity": "sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==", + "dev": true, + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, "@soda/friendly-errors-webpack-plugin": { "version": "1.8.0", "resolved": "https://npm.suade.io/@soda%2ffriendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.0.tgz", @@ -3131,84 +3141,6 @@ } } }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.1.2", - "resolved": "https://npm.suade.io/vue-loader/-/vue-loader-16.1.2.tgz", - "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - }, - "dependencies": { - "big.js": { - "version": "5.2.2", - "resolved": "https://npm.suade.io/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "optional": true - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://npm.suade.io/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://npm.suade.io/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "optional": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://npm.suade.io/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://npm.suade.io/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "optional": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://npm.suade.io/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://npm.suade.io/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://npm.suade.io/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -15083,6 +15015,61 @@ "inherits": "^2.0.1" } }, + "rollup": { + "version": "2.46.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.46.0.tgz", + "integrity": "sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q==", + "dev": true, + "requires": { + "fsevents": "~2.3.1" + }, + "dependencies": { + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + } + } + }, + "rollup-plugin-css-only": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-css-only/-/rollup-plugin-css-only-3.1.0.tgz", + "integrity": "sha512-TYMOE5uoD76vpj+RTkQLzC9cQtbnJNktHPB507FzRWBVaofg7KhIqq1kGbcVOadARSozWF883Ho9KpSPKH8gqA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "4" + } + }, + "rollup-plugin-vue": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-vue/-/rollup-plugin-vue-6.0.0.tgz", + "integrity": "sha512-oVvUd84d5u73M2HYM3XsMDLtZRIA/tw2U0dmHlXU2UWP5JARYHzh/U9vcxaN/x/9MrepY7VH3pHFeOhrWpxs/Q==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "hash-sum": "^2.0.0", + "rollup-pluginutils": "^2.8.2" + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + } + } + }, "rsvp": { "version": "4.8.5", "resolved": "https://npm.suade.io/rsvp/-/rsvp-4.8.5.tgz", @@ -17158,6 +17145,97 @@ } } }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.2.0", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz", + "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "optional": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "vue-style-loader": { "version": "4.1.3", "resolved": "https://npm.suade.io/vue-style-loader/-/vue-style-loader-4.1.3.tgz", diff --git a/package.json b/package.json index e44395ae..29e5499b 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,24 @@ { - "name": "@suadelabs/vue3-multiselect", - "version": "1.0.0", + "name": "vue-multiselect", + "version": "3.0.0-alpha.1", "private": false, "description": "Multiselect component for Vue 3", "author": { - "name": "Matt Elen", - "email": "matt@suade.org", - "url": "https://suade.org/" + "name": "Damian Dulisz", + "email": "damian@dulisz.com" }, - "contributors": ["Damian Dulisz "], + "contributors": [ + "Matt Elen " + ], "scripts": { "lint": "vue-cli-service lint", - "bundle": "vue-cli-service build --target lib ./src/index.js && rm -rf ./dist/demo.html", + "bundle": "vue-cli-service build --target lib ./src/index.js && rm -rf ./dist/demo.html && rollup -c --environment BUILD:production", "finish": "npm run lint && npm test && npm run bundle", - "prepare": "npm run bundle", "test": "vue-cli-service test:unit" }, - "main": "dist/vue3-multiselect.umd.min.js", - "unpkg": "dist/vue3-multiselect.umd.min.js", + "main": "dist/vue-multiselect.esm.js", + "unpkg": "dist/vue-multiselect.umd.min.js", + "jsnext:main": "dist/vue-multiselect.esm.js", "files": [ "dist", "src" @@ -39,22 +40,24 @@ "eslint-plugin-standard": "^4.0.1", "eslint-plugin-vue": "^7.0.0-0", "node-sass": "4.14.1", + "rollup": "^2.46.0", + "rollup-plugin-css-only": "^3.1.0", + "rollup-plugin-vue": "^6.0.0", "sass-loader": "10.1.1", "typescript": "~3.9.3", "vue": "^3.0.0", "vue-jest": "^5.0.0-alpha.7" }, "bugs": { - "url": "https://github.com/suadelabs/vue3-multiselect/issues" + "url": "https://github.com/suadelabs/vue-multiselect/issues" }, "engines": { "node": ">= 4.0.0", "npm": ">= 3.0.0" }, - "jsnext:main": "dist/vue3-multiselect.umd.min.js", "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/suadelabs/vue3-multiselect.git" + "url": "git+https://github.com/suadelabs/vue-multiselect.git" } } diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 00000000..74374588 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,41 @@ +import vue from 'rollup-plugin-vue' +import css from 'rollup-plugin-css-only' + +export default [ + // ESM build to be used with webpack/rollup. + { + input: 'src/index.js', + output: { + format: 'esm', + file: 'dist/vue-multiselect.esm.js' + }, + plugins: [ + css(), + vue() + ] + }, + // SSR build. + { + input: 'src/index.js', + output: { + format: 'cjs', + file: 'dist/vue-multiselect.ssr.js' + }, + plugins: [ + css(), + vue({ template: { optimizeSSR: true } }) + ] + }, + // Browser build. + { + input: 'src/index.js', + output: { + format: 'iife', + file: 'dist/vue-multiselect.js' + }, + plugins: [ + css(), + vue() + ] + } +] diff --git a/src/Multiselect.vue b/src/Multiselect.vue index f04946c7..5dadb13e 100644 --- a/src/Multiselect.vue +++ b/src/Multiselect.vue @@ -384,7 +384,7 @@ export default { } -