diff --git a/.gitignore b/.gitignore index 80d4902db..a1fc5d911 100644 --- a/.gitignore +++ b/.gitignore @@ -21,7 +21,6 @@ yarn-error.log* # Project specific coverage -dist test/unit/coverage package-lock.json dev/dist diff --git a/dist/vue-select.css b/dist/vue-select.css new file mode 100644 index 000000000..194ec86e9 --- /dev/null +++ b/dist/vue-select.css @@ -0,0 +1,3 @@ +.v-select{position:relative;font-family:inherit}.v-select,.v-select *{box-sizing:border-box}@-webkit-keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{transition:opacity .15s cubic-bezier(1,.5,.8,1)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__search,.vs--disabled .vs__selected{cursor:not-allowed;background-color:#f8f8f8}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;padding:0 0 4px;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;padding:0 2px;position:relative}.vs__actions{display:flex;align-items:center;padding:4px 6px 0 3px}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator{fill:rgba(60,60,60,.5);-webkit-transform:scale(1);transform:scale(1);transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855),-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855)}.vs--open .vs__open-indicator{-webkit-transform:rotate(180deg) scale(1);transform:rotate(180deg) scale(1)}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:rgba(60,60,60,.5);padding:0;border:0;background-color:transparent;cursor:pointer;margin-right:8px}.vs__dropdown-menu{display:block;position:absolute;top:calc(100% - 1px);left:0;z-index:1000;padding:5px 0;margin:0;width:100%;max-height:350px;min-width:160px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0,0,0,.15);border:1px solid rgba(60,60,60,.26);border-top-style:none;border-radius:0 0 4px 4px;text-align:left;list-style:none;background:#fff}.vs__no-options{text-align:center}.vs__dropdown-option{line-height:1.42857143;display:block;padding:3px 20px;clear:both;color:#333;white-space:nowrap}.vs__dropdown-option:hover{cursor:pointer}.vs__dropdown-option--highlight{background:#5897fb;color:#fff}.vs__selected{display:flex;align-items:center;background-color:#f0f0f0;border:1px solid rgba(60,60,60,.26);border-radius:4px;color:#333;line-height:1.4;margin:4px 2px 0;padding:0 .25em}.vs__deselect{display:inline-flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:4px;padding:0;border:0;cursor:pointer;background:none;fill:rgba(60,60,60,.5);text-shadow:0 1px 0 #fff}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--open .vs__selected{position:absolute;opacity:.4}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-cancel-button,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:1.4;font-size:1em;border:1px solid transparent;border-left:none;outline:none;margin:4px 0 0;padding:0 7px;background:none;box-shadow:none;width:0;max-width:100%;flex-grow:1}.vs__search::-webkit-input-placeholder{color:inherit}.vs__search::-moz-placeholder{color:inherit}.vs__search:-ms-input-placeholder{color:inherit}.vs__search::-ms-input-placeholder{color:inherit}.vs__search::placeholder{color:inherit}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable .vs__search:hover{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;opacity:0;font-size:5px;text-indent:-9999em;overflow:hidden;border:.9em solid hsla(0,0%,39.2%,.1);border-left-color:rgba(60,60,60,.45);-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;width:5em;height:5em}.vs--loading .vs__spinner{opacity:1} + +/*# sourceMappingURL=vue-select.css.map*/ \ No newline at end of file diff --git a/dist/vue-select.css.map b/dist/vue-select.css.map new file mode 100644 index 000000000..7d933fd88 --- /dev/null +++ b/dist/vue-select.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://VueSelect/./src/components/Select.vue?2ae1"],"names":[],"mappings":"AAAA,UAAU,kBAAkB,oBAAoB,sBAAsB,sBAAsB,kCAAkC,GAAG,+BAA+B,uBAAuB,GAAG,gCAAgC,yBAAyB,0BAA0B,GAAG,+BAA+B,uBAAuB,GAAG,gCAAgC,yBAAyB,8CAA8C,gDAAgD,mCAAmC,UAAU,oJAAoJ,mBAAmB,yBAAyB,gCAAgC,oBAAoB,8BAA8B,gBAAgB,eAAe,iCAAiC,cAAc,iBAAiB,sCAAsC,iBAAiB,qBAAqB,wBAAwB,qBAAqB,gBAAgB,aAAa,gBAAgB,gBAAgB,oCAAoC,kBAAkB,mBAAmB,sBAAsB,aAAa,gBAAgB,YAAY,eAAe,cAAc,kBAAkB,aAAa,aAAa,mBAAmB,sBAAsB,qCAAqC,YAAY,uCAAuC,eAAe,+BAA+B,gCAAgC,4BAA4B,6BAA6B,oBAAoB,uBAAuB,2BAA2B,mBAAmB,kEAAkE,0DAA0D,iHAAiH,2DAA2D,8BAA8B,0CAA0C,kCAAkC,iCAAiC,UAAU,WAAW,uBAAuB,UAAU,SAAS,6BAA6B,eAAe,iBAAiB,mBAAmB,cAAc,kBAAkB,qBAAqB,OAAO,aAAa,cAAc,SAAS,WAAW,iBAAiB,gBAAgB,gBAAgB,uCAAuC,oCAAoC,sBAAsB,0BAA0B,gBAAgB,gBAAgB,gBAAgB,gBAAgB,kBAAkB,qBAAqB,uBAAuB,cAAc,iBAAiB,WAAW,WAAW,mBAAmB,2BAA2B,eAAe,gCAAgC,mBAAmB,WAAW,cAAc,aAAa,mBAAmB,yBAAyB,oCAAoC,kBAAkB,WAAW,gBAAgB,iBAAiB,gBAAgB,cAAc,oBAAoB,wBAAwB,qBAAqB,gBAAgB,gBAAgB,UAAU,SAAS,eAAe,gBAAgB,uBAAuB,yBAAyB,0BAA0B,6BAA6B,yBAAyB,mCAAmC,kBAAkB,WAAW,wCAAwC,aAAa,kMAAkM,aAAa,8BAA8B,wBAAwB,qBAAqB,gBAAgB,gBAAgB,cAAc,6BAA6B,iBAAiB,aAAa,eAAe,cAAc,gBAAgB,gBAAgB,QAAQ,eAAe,YAAY,uCAAuC,cAAc,8BAA8B,cAAc,kCAAkC,cAAc,mCAAmC,cAAc,yBAAyB,cAAc,8BAA8B,UAAU,oCAAoC,eAAe,uEAAuE,WAAW,aAAa,kBAAkB,UAAU,cAAc,oBAAoB,gBAAgB,sCAAsC,qCAAqC,gCAAgC,wBAAwB,sDAAsD,8CAA8C,uBAAuB,gCAAgC,kBAAkB,UAAU,WAAW,0BAA0B,U","file":"vue-select.css","sourcesContent":[".v-select{position:relative;font-family:inherit}.v-select,.v-select *{box-sizing:border-box}@-webkit-keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{transition:opacity .15s cubic-bezier(1,.5,.8,1)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__search,.vs--disabled .vs__selected{cursor:not-allowed;background-color:#f8f8f8}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;padding:0 0 4px;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;padding:0 2px;position:relative}.vs__actions{display:flex;align-items:center;padding:4px 6px 0 3px}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator{fill:rgba(60,60,60,.5);-webkit-transform:scale(1);transform:scale(1);transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855),-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855)}.vs--open .vs__open-indicator{-webkit-transform:rotate(180deg) scale(1);transform:rotate(180deg) scale(1)}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:rgba(60,60,60,.5);padding:0;border:0;background-color:transparent;cursor:pointer;margin-right:8px}.vs__dropdown-menu{display:block;position:absolute;top:calc(100% - 1px);left:0;z-index:1000;padding:5px 0;margin:0;width:100%;max-height:350px;min-width:160px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0,0,0,.15);border:1px solid rgba(60,60,60,.26);border-top-style:none;border-radius:0 0 4px 4px;text-align:left;list-style:none;background:#fff}.vs__no-options{text-align:center}.vs__dropdown-option{line-height:1.42857143;display:block;padding:3px 20px;clear:both;color:#333;white-space:nowrap}.vs__dropdown-option:hover{cursor:pointer}.vs__dropdown-option--highlight{background:#5897fb;color:#fff}.vs__selected{display:flex;align-items:center;background-color:#f0f0f0;border:1px solid rgba(60,60,60,.26);border-radius:4px;color:#333;line-height:1.4;margin:4px 2px 0;padding:0 .25em}.vs__deselect{display:inline-flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:4px;padding:0;border:0;cursor:pointer;background:none;fill:rgba(60,60,60,.5);text-shadow:0 1px 0 #fff}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--open .vs__selected{position:absolute;opacity:.4}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-cancel-button,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:1.4;font-size:1em;border:1px solid transparent;border-left:none;outline:none;margin:4px 0 0;padding:0 7px;background:none;box-shadow:none;width:0;max-width:100%;flex-grow:1}.vs__search::-webkit-input-placeholder{color:inherit}.vs__search::-moz-placeholder{color:inherit}.vs__search:-ms-input-placeholder{color:inherit}.vs__search::-ms-input-placeholder{color:inherit}.vs__search::placeholder{color:inherit}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable .vs__search:hover{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;opacity:0;font-size:5px;text-indent:-9999em;overflow:hidden;border:.9em solid hsla(0,0%,39.2%,.1);border-left-color:rgba(60,60,60,.45);-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;width:5em;height:5em}.vs--loading .vs__spinner{opacity:1}"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-select.js b/dist/vue-select.js new file mode 100644 index 000000000..fc2492323 --- /dev/null +++ b/dist/vue-select.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VueSelect=e():t.VueSelect=e()}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=9)}([function(t,e){function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(e){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?t.exports=o=function(t){return n(t)}:t.exports=o=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":n(t)},o(e)}t.exports=o},function(t,e,n){},function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){var o=n(5),i=n(6),s=n(7);t.exports=function(t){return o(t)||i(t)||s()}},function(t,e,n){var o=n(2);t.exports=function(t){for(var e=1;e=this.viewport().bottom?this.scrollTo(this.viewport().top+this.pointerHeight()):void 0},pixelsToPointerTop:function(){var t=0;if(this.$refs.dropdownMenu)for(var e=0;e0&&(this.typeAheadPointer--,this.maybeAdjustScroll&&this.maybeAdjustScroll())},typeAheadDown:function(){this.typeAheadPointer0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==t?!this.mutableLoading:t}}};function f(t,e,n,o,i,s,r,a){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),s&&(c._scopeId="data-v-"+s),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,this.$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var h=c.beforeCreate;c.beforeCreate=h?[].concat(h,l):[l]}return{exports:t,options:c}}var y={Deselect:f({},function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[e("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])},[],!1,null,null,null).exports,OpenIndicator:f({},function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[e("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])},[],!1,null,null,null).exports},b={components:u()({},y),mixins:[h,p,d],props:{value:{},name:{type:String,default:function(){return"vs__search"+this._uid}},components:{type:Object,default:function(){return{}}},options:{type:Array,default:function(){return[]}},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:""},transition:{type:String,default:"vs__fade"},clearSearchOnSelect:{type:Boolean,default:!0},selectOnSearchBlur:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},autocomplete:{type:String,default:"off"},reduce:{type:Function,default:function(t){return t}},getOptionLabel:{type:Function,default:function(t){if("object"===l()(t)){if(!t.hasOwnProperty(this.label))return;return t[this.label]}return t}},onTab:{type:Function,default:function(){this.selectOnTab&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default:function(t,e,n){return(e||"").toLowerCase().indexOf(n.toLowerCase())>-1}},filter:{type:Function,default:function(t,e){var n=this;return t.filter(function(t){var o=n.getOptionLabel(t);return"number"==typeof o&&(o=o.toString()),n.filterBy(t,o,e)})}},createOption:{type:Function,default:function(t){return"object"===l()(this.optionList[0])&&(t=r()({},this.label,t)),this.$emit("option:created",t),t}},resetOnOptionsChange:{type:Boolean,default:!1},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},searchInputQuerySelector:{type:String,default:"[type=search]"}},data:function(){return{search:"",open:!1,pushedTags:[],_value:[]}},watch:{options:function(t){!this.taggable&&this.resetOnOptionsChange&&this.clearSelection()},multiple:function(){this.clearSelection()}},created:function(){var t=this;this.mutableLoading=this.loading,this.$options.propsData.hasOwnProperty("reduce")&&this.value&&(Array.isArray(this.value)?this.$data._value=this.value.map(function(e){return t.findOptionFromReducedValue(e)}):this.$data._value=this.findOptionFromReducedValue(this.value)),this.$on("option:created",this.maybePushTag)},methods:{select:function(t){this.isOptionSelected(t)||(this.taggable&&!this.optionExists(t)&&(t=this.createOption(t)),this.multiple&&(t=this.selectedValue.concat(t)),this.optionExists(t),this.updateValue(t)),this.onAfterSelect(t)},deselect:function(t){var e=this;this.updateValue(this.selectedValue.filter(function(n){return!e.optionComparator(n,t)}))},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.search=""},onAfterSelect:function(t){this.closeOnSelect&&(this.open=!this.open,this.searchEl.blur()),this.clearSearchOnSelect&&(this.search="",this.searchEl.blur())},updateValue:function(t){var e=this;this.isTrackingValues&&(this.$data._value=t),null!==t&&(t=Array.isArray(t)?t.map(function(t){return e.reduce(t)}):this.reduce(t)),this.$emit("input",t),this.$emit("change",t)},toggleDropdown:function(t){var e=t.target,n=[this.$el,this.searchEl,this.$refs.toggle.$el];void 0!==this.$refs.openIndicator&&n.push.apply(n,[this.$refs.openIndicator.$el].concat(i()(Array.prototype.slice.call(this.$refs.openIndicator.$el.childNodes)))),(n.indexOf(e)>-1||e.classList.contains("vs__selected"))&&(this.open?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus()))},isOptionSelected:function(t){var e=this;return this.selectedValue.some(function(n){return e.optionComparator(n,t)})},optionComparator:function(t,e){if("object"!==l()(t)&&"object"!==l()(e)){if(t===e)return!0}else{if(t===this.reduce(e))return!0;if(this.getOptionLabel(t)===this.getOptionLabel(e)||this.getOptionLabel(t)===e)return!0;if(this.reduce(t)===this.reduce(e))return!0}return!1},findOptionFromReducedValue:function(t){var e=this;return this.options.find(function(n){return JSON.stringify(e.reduce(n))===JSON.stringify(t)})||t},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.clearable){var t=null;this.multiple&&(t=i()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(t)}},optionExists:function(t){var e=this;return this.optionList.some(function(n){return"object"===l()(n)&&e.getOptionLabel(n)===t||n===t})},normalizeOptionForSlot:function(t){return"object"===l()(t)?t:r()({},this.label,t)},maybePushTag:function(t){this.pushTags&&this.pushedTags.push(t)},onEscape:function(){this.search.length?this.search="":this.searchEl.blur()},onSearchBlur:function(){if(this.selectOnSearchBlur&&1===this.filteredOptions.length&&this.typeAheadSelect(),!this.mousedown||this.searching)return this.clearSearchOnBlur&&(this.search=""),void this.closeSearchOptions();this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onSearchKeyDown:function(t){switch(t.keyCode){case 8:return this.maybeDeleteValue();case 9:return this.onTab()}},onSearchKeyUp:function(t){switch(t.keyCode){case 27:return this.onEscape();case 38:return t.preventDefault(),this.typeAheadUp();case 40:return t.preventDefault(),this.typeAheadDown();case 13:return t.preventDefault(),this.typeAheadSelect()}}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var t=this.value;return this.isTrackingValues&&(t=this.$data._value),t?[].concat(t):[]},optionList:function(){return this.options.concat(this.pushedTags)},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var t=this;return{search:{attributes:{name:this.name,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,"aria-expanded":this.dropdownOpen,"aria-label":"Search for option",ref:"search",role:"combobox",type:"search",autocomplete:this.autocomplete,value:this.search},events:{keydown:this.onSearchKeyDown,keyup:this.onSearchKeyUp,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(e){return t.search=e.target.value}}},spinner:{loading:this.mutableLoading},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}}}},childComponents:function(){return u()({},y,this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},clearSearchOnBlur:function(){return this.clearSearchOnSelect&&!this.multiple},searching:function(){return!!this.search},dropdownOpen:function(){return!this.noDrop&&(this.open&&!this.mutableLoading)},searchPlaceholder:function(){if(this.isValueEmpty&&this.placeholder)return this.placeholder},filteredOptions:function(){var t=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return t;var e=this.search.length?this.filter(t,this.search.trim(),this):t;return this.taggable&&this.search.length&&!this.optionExists(this.search.trim())&&e.unshift(this.search.trim()),e},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}}},m=(n(8),f(b,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"v-select",class:t.stateClasses,attrs:{dir:t.dir}},[n("div",{ref:"toggle",staticClass:"vs__dropdown-toggle",on:{mousedown:function(e){return e.preventDefault(),t.toggleDropdown(e)}}},[n("div",{ref:"selectedOptions",staticClass:"vs__selected-options"},[t._l(t.selectedValue,function(e){return t._t("selected-option-container",[n("span",{key:e.index,staticClass:"vs__selected"},[t._t("selected-option",[t._v("\n "+t._s(t.getOptionLabel(e))+"\n ")],null,t.normalizeOptionForSlot(e)),t._v(" "),t.multiple?n("button",{staticClass:"vs__deselect",attrs:{disabled:t.disabled,type:"button","aria-label":"Deselect option"},on:{click:function(n){return t.deselect(e)}}},[n(t.childComponents.Deselect,{tag:"component"})],1):t._e()],2)],{option:t.normalizeOptionForSlot(e),deselect:t.deselect,multiple:t.multiple,disabled:t.disabled})}),t._v(" "),t._t("search",[n("input",t._g(t._b({staticClass:"vs__search"},"input",t.scope.search.attributes,!1),t.scope.search.events))],null,t.scope.search)],2),t._v(" "),n("div",{staticClass:"vs__actions"},[n("button",{directives:[{name:"show",rawName:"v-show",value:t.showClearButton,expression:"showClearButton"}],staticClass:"vs__clear",attrs:{disabled:t.disabled,type:"button",title:"Clear selection"},on:{click:t.clearSelection}},[n(t.childComponents.Deselect,{tag:"component"})],1),t._v(" "),t._t("open-indicator",[t.noDrop?t._e():n(t.childComponents.OpenIndicator,t._b({tag:"component"},"component",t.scope.openIndicator.attributes,!1))],null,t.scope.openIndicator),t._v(" "),t._t("spinner",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.mutableLoading,expression:"mutableLoading"}],staticClass:"vs__spinner"},[t._v("Loading...")])],null,t.scope.spinner)],2)]),t._v(" "),n("transition",{attrs:{name:t.transition}},[t.dropdownOpen?n("ul",{ref:"dropdownMenu",staticClass:"vs__dropdown-menu",attrs:{role:"listbox"},on:{mousedown:t.onMousedown,mouseup:t.onMouseUp}},[t._l(t.filteredOptions,function(e,o){return n("li",{key:o,staticClass:"vs__dropdown-option",class:{"vs__dropdown-option--selected":t.isOptionSelected(e),"vs__dropdown-option--highlight":o===t.typeAheadPointer},attrs:{role:"option"},on:{mouseover:function(e){t.typeAheadPointer=o},mousedown:function(n){return n.preventDefault(),n.stopPropagation(),t.select(e)}}},[t._t("option",[t._v("\n "+t._s(t.getOptionLabel(e))+"\n ")],null,t.normalizeOptionForSlot(e))],2)}),t._v(" "),t.filteredOptions.length?t._e():n("li",{staticClass:"vs__no-options",on:{mousedown:function(t){t.stopPropagation()}}},[t._t("no-options",[t._v("Sorry, no matching options.")])],2)],2):t._e()])],1)},[],!1,null,null,null).exports),g={ajax:d,pointer:p,pointerScroll:h};n.d(e,"VueSelect",function(){return m}),n.d(e,"mixins",function(){return g});e.default=m}])}); +//# sourceMappingURL=vue-select.js.map \ No newline at end of file diff --git a/dist/vue-select.js.map b/dist/vue-select.js.map new file mode 100644 index 000000000..5182cda6e --- /dev/null +++ b/dist/vue-select.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://VueSelect/webpack/universalModuleDefinition","webpack://VueSelect/webpack/bootstrap","webpack://VueSelect/./node_modules/@babel/runtime/helpers/typeof.js","webpack://VueSelect/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://VueSelect/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://VueSelect/./node_modules/@babel/runtime/helpers/objectSpread.js","webpack://VueSelect/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://VueSelect/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://VueSelect/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://VueSelect/./src/components/Select.vue?c03f","webpack://VueSelect/./src/components/Select.vue?0b11","webpack://VueSelect/./src/mixins/pointerScroll.js","webpack://VueSelect/./src/mixins/typeAheadPointer.js","webpack://VueSelect/./src/mixins/ajax.js","webpack://VueSelect/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueSelect/./src/components/Deselect.vue","webpack://VueSelect/./src/components/childComponents.js","webpack://VueSelect/./src/components/Deselect.vue?f766","webpack://VueSelect/./src/components/OpenIndicator.vue","webpack://VueSelect/./src/components/OpenIndicator.vue?3208","webpack://VueSelect/./src/components/Select.vue?47de","webpack://VueSelect/src/components/Select.vue","webpack://VueSelect/./src/components/Select.vue","webpack://VueSelect/./src/mixins/index.js","webpack://VueSelect/./src/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof2","obj","iterator","constructor","_typeof","configurable","writable","arrayWithoutHoles","iterableToArray","nonIterableSpread","arr","target","arguments","length","source","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","Array","isArray","arr2","iter","toString","from","TypeError","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_sass_loader_lib_loader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Select_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","pointerScroll","watch","typeAheadPointer","maybeAdjustScroll","methods","pixelsToPointerTop","pixelsToPointerBottom","viewport","top","scrollTo","bottom","pointerHeight","$refs","dropdownMenu","children","offsetHeight","element","scrollTop","position","data","filteredOptions","typeAheadUp","typeAheadDown","typeAheadSelect","select","taggable","search","clearSearchOnSelect","ajax","props","loading","type","Boolean","default","mutableLoading","$emit","toggleLoading","val","toggle","undefined","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","components_childComponents","Deselect","_h","$createElement","_c","_self","attrs","xmlns","width","height","OpenIndicator","components_Selectvue_type_script_lang_js_","components","objectSpread_default","mixins","String","_uid","disabled","clearable","searchable","multiple","placeholder","transition","selectOnSearchBlur","closeOnSelect","label","autocomplete","reduce","Function","option","getOptionLabel","typeof_default","onTab","selectOnTab","tabindex","Number","pushTags","filterable","filterBy","toLowerCase","indexOf","_this","createOption","newOption","optionList","defineProperty_default","resetOnOptionsChange","noDrop","inputId","dir","searchInputQuerySelector","open","pushedTags","_value","clearSelection","created","_this2","propsData","$data","map","findOptionFromReducedValue","$on","maybePushTag","isOptionSelected","optionExists","selectedValue","updateValue","onAfterSelect","deselect","_this3","optionComparator","searchEl","blur","_this4","isTrackingValues","toggleDropdown","e","toggleTargets","$el","openIndicator","push","apply","toConsumableArray_default","slice","childNodes","classList","contains","focus","_this5","some","_this6","find","JSON","stringify","closeSearchOptions","maybeDeleteValue","_this7","opt","normalizeOptionForSlot","onEscape","onSearchBlur","mousedown","searching","clearSearchOnBlur","onSearchFocus","onMousedown","onMouseUp","onSearchKeyDown","keyCode","onSearchKeyUp","preventDefault","computed","$scopedSlots","selectedOptions","querySelector","scope","_this8","attributes","searchPlaceholder","readonly","id","aria-expanded","dropdownOpen","aria-label","ref","role","events","keydown","keyup","input","spinner","class","childComponents","stateClasses","vs--open","vs--single","vs--searching","vs--searchable","vs--unsearchable","vs--loading","vs--disabled","isValueEmpty","trim","unshift","showClearButton","Select","_vm","staticClass","on","$event","_l","_t","index","_v","_s","click","tag","_e","_g","_b","directives","rawName","expression","title","mouseup","vs__dropdown-option--selected","vs__dropdown-option--highlight","mouseover","stopPropagation","pointer","__webpack_exports__","VueSelect"],"mappings":"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","file":"vue-select.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueSelect\"] = factory();\n\telse\n\t\troot[\"VueSelect\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\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 = 9);\n","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","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}\n\nmodule.exports = _defineProperty;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var defineProperty = require(\"./defineProperty\");\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;","function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/lib/loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/lib/loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"v-select\",class:_vm.stateClasses,attrs:{\"dir\":_vm.dir}},[_c('div',{ref:\"toggle\",staticClass:\"vs__dropdown-toggle\",on:{\"mousedown\":function($event){$event.preventDefault();return _vm.toggleDropdown($event)}}},[_c('div',{ref:\"selectedOptions\",staticClass:\"vs__selected-options\"},[_vm._l((_vm.selectedValue),function(option){return _vm._t(\"selected-option-container\",[_c('span',{key:option.index,staticClass:\"vs__selected\"},[_vm._t(\"selected-option\",[_vm._v(\"\\n \"+_vm._s(_vm.getOptionLabel(option))+\"\\n \")],null,_vm.normalizeOptionForSlot(option)),_vm._v(\" \"),(_vm.multiple)?_c('button',{staticClass:\"vs__deselect\",attrs:{\"disabled\":_vm.disabled,\"type\":\"button\",\"aria-label\":\"Deselect option\"},on:{\"click\":function($event){return _vm.deselect(option)}}},[_c(_vm.childComponents.Deselect,{tag:\"component\"})],1):_vm._e()],2)],{\"option\":_vm.normalizeOptionForSlot(option),\"deselect\":_vm.deselect,\"multiple\":_vm.multiple,\"disabled\":_vm.disabled})}),_vm._v(\" \"),_vm._t(\"search\",[_c('input',_vm._g(_vm._b({staticClass:\"vs__search\"},'input',_vm.scope.search.attributes,false),_vm.scope.search.events))],null,_vm.scope.search)],2),_vm._v(\" \"),_c('div',{staticClass:\"vs__actions\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showClearButton),expression:\"showClearButton\"}],staticClass:\"vs__clear\",attrs:{\"disabled\":_vm.disabled,\"type\":\"button\",\"title\":\"Clear selection\"},on:{\"click\":_vm.clearSelection}},[_c(_vm.childComponents.Deselect,{tag:\"component\"})],1),_vm._v(\" \"),_vm._t(\"open-indicator\",[(!_vm.noDrop)?_c(_vm.childComponents.OpenIndicator,_vm._b({tag:\"component\"},'component',_vm.scope.openIndicator.attributes,false)):_vm._e()],null,_vm.scope.openIndicator),_vm._v(\" \"),_vm._t(\"spinner\",[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mutableLoading),expression:\"mutableLoading\"}],staticClass:\"vs__spinner\"},[_vm._v(\"Loading...\")])],null,_vm.scope.spinner)],2)]),_vm._v(\" \"),_c('transition',{attrs:{\"name\":_vm.transition}},[(_vm.dropdownOpen)?_c('ul',{ref:\"dropdownMenu\",staticClass:\"vs__dropdown-menu\",attrs:{\"role\":\"listbox\"},on:{\"mousedown\":_vm.onMousedown,\"mouseup\":_vm.onMouseUp}},[_vm._l((_vm.filteredOptions),function(option,index){return _c('li',{key:index,staticClass:\"vs__dropdown-option\",class:{ 'vs__dropdown-option--selected': _vm.isOptionSelected(option), 'vs__dropdown-option--highlight': index === _vm.typeAheadPointer },attrs:{\"role\":\"option\"},on:{\"mouseover\":function($event){_vm.typeAheadPointer = index},\"mousedown\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.select(option)}}},[_vm._t(\"option\",[_vm._v(\"\\n \"+_vm._s(_vm.getOptionLabel(option))+\"\\n \")],null,_vm.normalizeOptionForSlot(option))],2)}),_vm._v(\" \"),(!_vm.filteredOptions.length)?_c('li',{staticClass:\"vs__no-options\",on:{\"mousedown\":function($event){$event.stopPropagation();}}},[_vm._t(\"no-options\",[_vm._v(\"Sorry, no matching options.\")])],2):_vm._e()],2):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n watch: {\r\n typeAheadPointer() {\r\n this.maybeAdjustScroll();\r\n }\r\n },\r\n\r\n methods: {\r\n /**\r\n * Adjust the scroll position of the dropdown list\r\n * if the current pointer is outside of the\r\n * overflow bounds.\r\n * @returns {*}\r\n */\r\n maybeAdjustScroll() {\r\n let pixelsToPointerTop = this.pixelsToPointerTop();\r\n let pixelsToPointerBottom = this.pixelsToPointerBottom();\r\n\r\n if (pixelsToPointerTop <= this.viewport().top) {\r\n return this.scrollTo(pixelsToPointerTop);\r\n } else if (pixelsToPointerBottom >= this.viewport().bottom) {\r\n return this.scrollTo(this.viewport().top + this.pointerHeight());\r\n }\r\n },\r\n\r\n /**\r\n * The distance in pixels from the top of the dropdown\r\n * list to the top of the current pointer element.\r\n * @returns {number}\r\n */\r\n pixelsToPointerTop() {\r\n let pixelsToPointerTop = 0;\r\n if (this.$refs.dropdownMenu) {\r\n for (let i = 0; i < this.typeAheadPointer; i++) {\r\n pixelsToPointerTop += this.$refs.dropdownMenu.children[i]\r\n .offsetHeight;\r\n }\r\n }\r\n return pixelsToPointerTop;\r\n },\r\n\r\n /**\r\n * The distance in pixels from the top of the dropdown\r\n * list to the bottom of the current pointer element.\r\n * @returns {*}\r\n */\r\n pixelsToPointerBottom() {\r\n return this.pixelsToPointerTop() + this.pointerHeight();\r\n },\r\n\r\n /**\r\n * The offsetHeight of the current pointer element.\r\n * @returns {number}\r\n */\r\n pointerHeight() {\r\n let element = this.$refs.dropdownMenu\r\n ? this.$refs.dropdownMenu.children[this.typeAheadPointer]\r\n : false;\r\n return element ? element.offsetHeight : 0;\r\n },\r\n\r\n /**\r\n * The currently viewable portion of the dropdownMenu.\r\n * @returns {{top: (string|*|number), bottom: *}}\r\n */\r\n viewport() {\r\n return {\r\n top: this.$refs.dropdownMenu ? this.$refs.dropdownMenu.scrollTop : 0,\r\n bottom: this.$refs.dropdownMenu\r\n ? this.$refs.dropdownMenu.offsetHeight +\r\n this.$refs.dropdownMenu.scrollTop\r\n : 0\r\n };\r\n },\r\n\r\n /**\r\n * Scroll the dropdownMenu to a given position.\r\n * @param position\r\n * @returns {*}\r\n */\r\n scrollTo(position) {\r\n return this.$refs.dropdownMenu\r\n ? (this.$refs.dropdownMenu.scrollTop = position)\r\n : null;\r\n }\r\n }\r\n};\r\n","export default {\r\n data() {\r\n return {\r\n typeAheadPointer: -1\r\n }\r\n },\r\n\r\n watch: {\r\n filteredOptions() {\r\n this.typeAheadPointer = 0\r\n }\r\n },\r\n\r\n methods: {\r\n /**\r\n * Move the typeAheadPointer visually up the list by\r\n * subtracting the current index by one.\r\n * @return {void}\r\n */\r\n typeAheadUp() {\r\n if (this.typeAheadPointer > 0) {\r\n this.typeAheadPointer--\r\n if( this.maybeAdjustScroll ) {\r\n this.maybeAdjustScroll()\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Move the typeAheadPointer visually down the list by\r\n * adding the current index by one.\r\n * @return {void}\r\n */\r\n typeAheadDown() {\r\n if (this.typeAheadPointer < this.filteredOptions.length - 1) {\r\n this.typeAheadPointer++\r\n if( this.maybeAdjustScroll ) {\r\n this.maybeAdjustScroll()\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Select the option at the current typeAheadPointer position.\r\n * Optionally clear the search input on selection.\r\n * @return {void}\r\n */\r\n typeAheadSelect() {\r\n if( this.filteredOptions[ this.typeAheadPointer ] ) {\r\n this.select( this.filteredOptions[ this.typeAheadPointer ] );\r\n } else if (this.taggable && this.search.length){\r\n this.select(this.search)\r\n }\r\n\r\n if( this.clearSearchOnSelect ) {\r\n this.search = \"\";\r\n }\r\n },\r\n }\r\n}\r\n","export default {\r\n props: {\r\n /**\r\n * Toggles the adding of a 'loading' class to the main\r\n * .v-select wrapper. Useful to control UI state when\r\n * results are being processed through AJAX.\r\n */\r\n loading: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n\r\n data () {\r\n return {\r\n mutableLoading: false,\r\n };\r\n },\r\n\r\n watch: {\r\n /**\r\n * Anytime the search string changes, emit the\r\n * 'search' event. The event is passed with two\r\n * parameters: the search string, and a function\r\n * that accepts a boolean parameter to toggle the\r\n * loading state.\r\n *\r\n * @emits search\r\n */\r\n search () {\r\n this.$emit('search', this.search, this.toggleLoading);\r\n },\r\n\r\n /**\r\n * Sync the loading prop with the internal\r\n * mutable loading value.\r\n * @param val\r\n */\r\n loading (val) {\r\n this.mutableLoading = val;\r\n },\r\n },\r\n\r\n methods: {\r\n /**\r\n * Toggle this.loading. Optionally pass a boolean\r\n * value. If no value is provided, this.loading\r\n * will be set to the opposite of it's current value.\r\n * @param toggle Boolean\r\n * @returns {*}\r\n */\r\n toggleLoading (toggle = null) {\r\n if (toggle == null) {\r\n return (this.mutableLoading = !this.mutableLoading);\r\n }\r\n return (this.mutableLoading = toggle);\r\n },\r\n },\r\n};\r\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Deselect.vue?vue&type=template&id=7c344608&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Deselect from './Deselect';\r\nimport OpenIndicator from './OpenIndicator';\r\n\r\nexport default {\r\n Deselect,\r\n OpenIndicator\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"10\",\"height\":\"10\"}},[_c('path',{attrs:{\"d\":\"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./OpenIndicator.vue?vue&type=template&id=649e1eac&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"14\",\"height\":\"10\"}},[_c('path',{attrs:{\"d\":\"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n\r\n","import { render, staticRenderFns } from \"./Select.vue?vue&type=template&id=7afd4b92&\"\nimport script from \"./Select.vue?vue&type=script&lang=js&\"\nexport * from \"./Select.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Select.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ajax from './ajax'\r\nimport pointer from './typeAheadPointer'\r\nimport pointerScroll from './pointerScroll'\r\n\r\nexport default { ajax, pointer, pointerScroll }\r\n","import VueSelect from './components/Select.vue'\r\nimport mixins from './mixins/index'\r\n\r\nexport default VueSelect\r\nexport { VueSelect, mixins }\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/.vuepress/components/Sandbox.vue b/docs/.vuepress/components/Sandbox.vue index 7e7126c8c..eb363c986 100644 --- a/docs/.vuepress/components/Sandbox.vue +++ b/docs/.vuepress/components/Sandbox.vue @@ -46,6 +46,14 @@ :filterable="{{ configuration.searchable ? 'true' : 'false' }}" + +
+ +
+ +
Tagging
@@ -85,6 +93,20 @@ :close-on-select="{{ configuration.closeOnSelect ? 'true' : 'false' }}" + +
+ +
+ +
+ +
Localization / i18n
@@ -177,6 +199,8 @@ const defaultConfig = () => ({ filterable: true, noDrop: false, closeOnSelect: true, + clearSearchOnSelect: true, + selectOnSearchBlur: false, disabled: false, selectOntab: false, placeholder: 'Select a Country...', diff --git a/src/components/Select.vue b/src/components/Select.vue index 61b3f37f6..b87bf576a 100644 --- a/src/components/Select.vue +++ b/src/components/Select.vue @@ -92,6 +92,17 @@ * @type {Object||String||null} */ value: {}, + + /** + * Equivalent to the `placeholder` attribute on an ``. + * @type {String} + */ + name: { + type: String, + default() { + return 'vs__search' + this._uid + } + }, /** * An object with any custom components that you'd like to overwrite @@ -181,6 +192,15 @@ type: Boolean, default: true }, + + /** + * Selects the top value found when the search stops being in focus. Helps when allowing auto-completion. + * @type {Boolean} + */ + selectOnSearchBlur: { + type: Boolean, + default: false + }, /** * Close a dropdown when an option is chosen. Set to false to keep the dropdown @@ -485,9 +505,13 @@ if (this.multiple) { option = this.selectedValue.concat(option) } + + if (!this.optionExists(option)) { + console.debug('NOT EXIST') + } + this.updateValue(option); } - this.onAfterSelect(option) }, @@ -508,6 +532,7 @@ */ clearSelection() { this.updateValue(this.multiple ? [] : null) + this.search = '' }, /** @@ -516,6 +541,9 @@ * @return {void} */ onAfterSelect(option) { + + console.log('[vue-select onAfterSelect]\n option', option.text, '\n this.$data._value', this.$data._value.text, '\nthis.selectedValue', this.selectedValue.text, '\n\n', this); + if (this.closeOnSelect) { this.open = !this.open this.searchEl.blur() @@ -523,7 +551,9 @@ if (this.clearSearchOnSelect) { this.search = '' + this.searchEl.blur() } + }, /** @@ -549,6 +579,8 @@ } this.$emit('input', value); + this.$emit('change', value); + }, /** @@ -721,6 +753,9 @@ * @return {void} */ onSearchBlur() { + if (this.selectOnSearchBlur && this.filteredOptions.length === 1) { + this.typeAheadSelect(); + } if (this.mousedown && !this.searching) { this.mousedown = false } else { @@ -869,6 +904,7 @@ return { search: { attributes: { + 'name': this.name, 'disabled': this.disabled, 'placeholder': this.searchPlaceholder, 'tabindex': this.tabindex, @@ -879,7 +915,7 @@ 'ref': 'search', 'role': 'combobox', 'type': 'search', - 'autocomplete': 'off', + 'autocomplete': this.autocomplete, 'value': this.search, }, events: { @@ -985,9 +1021,9 @@ return optionList; } - let options = this.search.length ? this.filter(optionList, this.search, this) : optionList; - if (this.taggable && this.search.length && !this.optionExists(this.search)) { - options.unshift(this.search) + let options = this.search.length ? this.filter(optionList, this.search.trim(), this) : optionList; + if (this.taggable && this.search.length && !this.optionExists(this.search.trim())) { + options.unshift(this.search.trim()) } return options },