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