UNPKG

vue-instantsearch

Version:

👀 Lightning-fast Algolia search for Vue apps

2 lines (1 loc) • 1.57 kB
import{connectSearchBox as e}from"instantsearch.js/es/connectors/index.js";import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as i}from"../mixins/widget.js";import{isVue2 as o,isVue3 as s}from"../util/vue-compat/index-vue2.js";import a from"./SearchInput.vue.js";var u={name:"AisSearchBox",mixins:[i({connector:e},{$$widgetType:"ais.searchBox"}),t({name:"SearchBox"})],components:{SearchInput:a},props:{placeholder:{type:String,default:""},autofocus:{type:Boolean,default:!1},showLoadingIndicator:{type:Boolean,default:!0},ignoreCompositionEvents:{type:Boolean,default:!1},submitTitle:{type:String,default:"Submit the search query"},resetTitle:{type:String,default:"Clear the search query"},value:{type:String,default:void 0},modelValue:{type:String,default:void 0},queryHook:{type:Function,default:void 0}},data:function(){return{localValue:"",isVue2:o,isVue3:s}},computed:{widgetParams:function(){return{queryHook:this.queryHook}},isControlled:function(){return void 0!==this.value||void 0!==this.modelValue},model:function(){return this.value||this.modelValue},currentRefinement:{get:function(){this.isControlled&&this.model!==this.localValue&&(this.localValue=this.model,this.$emit("input",this.model),this.$emit("update:modelValue",this.model),this.state.refine(this.model));var e=this.$refs.searchInput;return e&&e.isFocused()?this.localValue:this.model||this.state.query||""},set:function(e){this.localValue=e,this.state.refine(e),this.isControlled&&(this.$emit("input",e),this.$emit("update:modelValue",e))}}}};export{u as default};