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