vue-instantsearch
Version:
👀 Lightning-fast Algolia search for Vue apps
2 lines (1 loc) • 1.39 kB
JavaScript
import{connectDynamicWidgets as t}from"instantsearch.js/es/connectors/index.js";import{createSuitMixin as e}from"../mixins/suit.js";import{createWidgetMixin as r}from"../mixins/widget.js";import{_objectSpread as i}from"../util/polyfills.js";import{renderCompat as s,getDefaultSlot as a}from"../util/vue-compat/index-vue3.js";function n(t){var e,r=t.props;if(r){if(r.attribute)return r.attribute;if(Array.isArray(r.attributes))return r.attributes[0]}if(e=t.children&&t.children.default&&t.children.default(),Array.isArray(e))return e.reduce(function(t,e){return t||n(e)},void 0)}var u={name:"AisDynamicWidgets",mixins:[r({connector:t},{$$widgetType:"ais.dynamicWidgets"}),e({name:"DynamicWidgets"})],props:{transformItems:{type:Function,default:void 0},facets:{type:Array,default:void 0},maxValuesPerFacet:{type:Number,default:void 0}},render:s(function(t){var e=this,r=new Map;if((a(this)||[]).forEach(function(i){var s=n(i);s&&r.set(s,t("div",{key:s,class:[e.suit("widget")]},[i]))}),!this.state){var s=[];return r.forEach(function(t){return s.push(t)}),t("div",i({class:[this.suit()]},{attrs:{hidden:!0}}),s)}return t("div",{class:[this.suit()]},this.state.attributesToRender.map(function(t){return r.get(t)}))}),computed:{widgetParams:function(){return{transformItems:this.transformItems,facets:this.facets,maxValuesPerFacet:this.maxValuesPerFacet,widgets:[]}}}};export{u as default};