vue-instantsearch 4.5.0 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/package.json +5 -5
  3. package/src/__tests__/index.js +1 -0
  4. package/src/components/HierarchicalMenuList.vue +4 -1
  5. package/src/components/InstantSearch.js +5 -0
  6. package/src/components/StateResults.vue +55 -12
  7. package/src/components/__tests__/StateResults.js +6 -0
  8. package/src/components/__tests__/__snapshots__/HierarchicalMenu.js.snap +2 -2
  9. package/src/components/__tests__/__snapshots__/StateResults.js.snap +6 -0
  10. package/src/mixins/__mocks__/widget.js +10 -0
  11. package/src/util/createInstantSearchComponent.js +7 -0
  12. package/vue2/cjs/index.js +1 -1
  13. package/vue2/cjs/index.js.map +1 -1
  14. package/vue2/es/package.json.js +1 -1
  15. package/vue2/es/src/components/HierarchicalMenuList.vue.js +1 -1
  16. package/vue2/es/src/components/HierarchicalMenuList.vue.js.map +1 -1
  17. package/vue2/es/src/components/InstantSearch.js +1 -1
  18. package/vue2/es/src/components/InstantSearch.js.map +1 -1
  19. package/vue2/es/src/components/StateResults.vue.js +1 -1
  20. package/vue2/es/src/components/StateResults.vue.js.map +1 -1
  21. package/vue2/es/src/util/createInstantSearchComponent.js +1 -1
  22. package/vue2/es/src/util/createInstantSearchComponent.js.map +1 -1
  23. package/vue2/umd/index.js +1 -1
  24. package/vue2/umd/index.js.map +1 -1
  25. package/vue3/cjs/index.js +1 -1
  26. package/vue3/cjs/index.js.map +1 -1
  27. package/vue3/es/package.json.js +1 -1
  28. package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=script&lang.js.map +1 -1
  29. package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=0435b314&lang.js +1 -1
  30. package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=0435b314&lang.js.map +1 -1
  31. package/vue3/es/src/components/InstantSearch.js +1 -1
  32. package/vue3/es/src/components/InstantSearch.js.map +1 -1
  33. package/vue3/es/src/components/StateResults.vue_vue&type=script&lang.js +1 -1
  34. package/vue3/es/src/components/StateResults.vue_vue&type=script&lang.js.map +1 -1
  35. package/vue3/es/src/components/StateResults.vue_vue&type=template&id=5992f3d5&lang.js +1 -1
  36. package/vue3/es/src/components/StateResults.vue_vue&type=template&id=5992f3d5&lang.js.map +1 -1
  37. package/vue3/es/src/util/createInstantSearchComponent.js +1 -1
  38. package/vue3/es/src/util/createInstantSearchComponent.js.map +1 -1
  39. package/vue3/umd/index.js +1 -1
  40. package/vue3/umd/index.js.map +1 -1
  41. package/vue2/es/src/connectors/connectStateResults.js +0 -2
  42. package/vue2/es/src/connectors/connectStateResults.js.map +0 -1
  43. package/vue3/es/src/connectors/connectStateResults.js +0 -2
  44. package/vue3/es/src/connectors/connectStateResults.js.map +0 -1
@@ -1,2 +1,2 @@
1
- var r="4.5.0";export{r as version};
1
+ var r="4.6.0";export{r as version};
2
2
  //# sourceMappingURL=package.json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalMenuList.vue_vue&type=script&lang.js","sources":["../../../../src/components/HierarchicalMenuList.vue"],"sourcesContent":["<template>\n <ul\n :class=\"[\n suit('list'),\n level > 0 && suit('list', 'child'),\n suit('list', `lvl${level}`)\n ]\"\n >\n <li\n v-for=\"item in items\"\n :key=\"item.value\"\n :class=\"[\n suit('item'),\n item.data && suit('item', 'parent'),\n item.isRefined && suit('item', 'selected')\n ]\"\n >\n <a\n :href=\"createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n\n <hierarchical-menu-list\n v-if=\"item.data\"\n :items=\"item.data\"\n :level=\"level + 1\"\n :refine=\"refine\"\n :createURL=\"createURL\"\n :suit=\"suit\"\n />\n </li>\n </ul>\n</template>\n\n<script>\nexport default {\n name: 'HierarchicalMenuList',\n props: {\n items: {\n type: Array,\n required: true,\n },\n level: {\n type: Number,\n required: true,\n },\n refine: {\n type: Function,\n required: true,\n },\n createURL: {\n type: Function,\n required: true,\n },\n suit: {\n type: Function,\n required: true,\n },\n },\n};\n</script>\n"],"names":["name","props","items","type","Array","required","level","Number","refine","Function","createURL","suit"],"mappings":"cAuCe,CACbA,KAAM,uBACNC,MAAO,CACLC,MAAO,CACLC,KAAMC,MACNC,UAAU,GAEZC,MAAO,CACLH,KAAMI,OACNF,UAAU,GAEZG,OAAQ,CACNL,KAAMM,SACNJ,UAAU,GAEZK,UAAW,CACTP,KAAMM,SACNJ,UAAU,GAEZM,KAAM,CACJR,KAAMM,SACNJ,UAAU"}
1
+ {"version":3,"file":"HierarchicalMenuList.vue_vue&type=script&lang.js","sources":["../../../../src/components/HierarchicalMenuList.vue"],"sourcesContent":["<template>\n <ul\n :class=\"[\n suit('list'),\n level > 0 && suit('list', 'child'),\n suit('list', `lvl${level}`)\n ]\"\n >\n <li\n v-for=\"item in items\"\n :key=\"item.value\"\n :class=\"[\n suit('item'),\n item.data && suit('item', 'parent'),\n item.isRefined && suit('item', 'selected')\n ]\"\n >\n <a\n :href=\"createURL(item.value)\"\n :class=\"[\n suit('link'),\n item.isRefined && suit('link', 'selected')\n ]\"\n @click.prevent=\"refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n\n <hierarchical-menu-list\n v-if=\"item.data\"\n :items=\"item.data\"\n :level=\"level + 1\"\n :refine=\"refine\"\n :createURL=\"createURL\"\n :suit=\"suit\"\n />\n </li>\n </ul>\n</template>\n\n<script>\nexport default {\n name: 'HierarchicalMenuList',\n props: {\n items: {\n type: Array,\n required: true,\n },\n level: {\n type: Number,\n required: true,\n },\n refine: {\n type: Function,\n required: true,\n },\n createURL: {\n type: Function,\n required: true,\n },\n suit: {\n type: Function,\n required: true,\n },\n },\n};\n</script>\n"],"names":["name","props","items","type","Array","required","level","Number","refine","Function","createURL","suit"],"mappings":"cA0Ce,CACbA,KAAM,uBACNC,MAAO,CACLC,MAAO,CACLC,KAAMC,MACNC,UAAU,GAEZC,MAAO,CACLH,KAAMI,OACNF,UAAU,GAEZG,OAAQ,CACNL,KAAMM,SACNJ,UAAU,GAEZK,UAAW,CACTP,KAAMM,SACNJ,UAAU,GAEZM,KAAM,CACJR,KAAMM,SACNJ,UAAU"}
@@ -1,2 +1,2 @@
1
- import{resolveComponent as e,openBlock as t,createBlock as i,Fragment as l,renderList as s,createVNode as u,withModifiers as a,toDisplayString as n,createCommentVNode as r}from"vue";function c(c,v,f,o,m,d){var p=e("hierarchical-menu-list",!0);return t(),i("ul",{class:[f.suit("list"),f.level>0&&f.suit("list","child"),f.suit("list","lvl"+f.level)]},[(t(!0),i(l,null,s(f.items,function(e){return t(),i("li",{key:e.value,class:[f.suit("item"),e.data&&f.suit("item","parent"),e.isRefined&&f.suit("item","selected")]},[u("a",{href:f.createURL(e.value),class:f.suit("link"),onClick:a(function(t){return f.refine(e.value)},["prevent"])},[u("span",{class:f.suit("label")},n(e.label),3),u("span",{class:f.suit("count")},n(e.count),3)],10,["href","onClick"]),e.data?(t(),i(p,{key:0,items:e.data,level:f.level+1,refine:f.refine,createURL:f.createURL,suit:f.suit},null,8,["items","level","refine","createURL","suit"])):r("v-if",!0)],2)}),128))],2)}export{c as render};
1
+ import{resolveComponent as e,openBlock as i,createBlock as t,Fragment as l,renderList as s,createVNode as u,withModifiers as n,toDisplayString as a,createCommentVNode as r}from"vue";function c(c,f,v,o,m,d){var k=e("hierarchical-menu-list",!0);return i(),t("ul",{class:[v.suit("list"),v.level>0&&v.suit("list","child"),v.suit("list","lvl"+v.level)]},[(i(!0),t(l,null,s(v.items,function(e){return i(),t("li",{key:e.value,class:[v.suit("item"),e.data&&v.suit("item","parent"),e.isRefined&&v.suit("item","selected")]},[u("a",{href:v.createURL(e.value),class:[v.suit("link"),e.isRefined&&v.suit("link","selected")],onClick:n(function(i){return v.refine(e.value)},["prevent"])},[u("span",{class:v.suit("label")},a(e.label),3),u("span",{class:v.suit("count")},a(e.count),3)],10,["href","onClick"]),e.data?(i(),t(k,{key:0,items:e.data,level:v.level+1,refine:v.refine,createURL:v.createURL,suit:v.suit},null,8,["items","level","refine","createURL","suit"])):r("v-if",!0)],2)}),128))],2)}export{c as render};
2
2
  //# sourceMappingURL=HierarchicalMenuList.vue_vue&type=template&id=0435b314&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalMenuList.vue_vue&type=template&id=0435b314&lang.js","sources":["../../../../src/components/HierarchicalMenuList.vue?vue&type=template&id=0435b314&lang.js"],"sourcesContent":["<template>\n <ul\n :class=\"[\n suit('list'),\n level > 0 && suit('list', 'child'),\n suit('list', `lvl${level}`)\n ]\"\n >\n <li\n v-for=\"item in items\"\n :key=\"item.value\"\n :class=\"[\n suit('item'),\n item.data && suit('item', 'parent'),\n item.isRefined && suit('item', 'selected')\n ]\"\n >\n <a\n :href=\"createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n\n <hierarchical-menu-list\n v-if=\"item.data\"\n :items=\"item.data\"\n :level=\"level + 1\"\n :refine=\"refine\"\n :createURL=\"createURL\"\n :suit=\"suit\"\n />\n </li>\n </ul>\n</template>\n\n<script>\nexport default {\n name: 'HierarchicalMenuList',\n props: {\n items: {\n type: Array,\n required: true,\n },\n level: {\n type: Number,\n required: true,\n },\n refine: {\n type: Function,\n required: true,\n },\n createURL: {\n type: Function,\n required: true,\n },\n suit: {\n type: Function,\n required: true,\n },\n },\n};\n</script>\n"],"names":["_createBlock","class","$props","item","key","value","_createVNode","href","onClick","label","count","data","items","level","refine","createURL","suit"],"mappings":"8PACEA,QACGC,+FAMDD,WACiBE,iBAARC,cADTH,QAEGI,IAAKD,EAAKE,MACVJ,gGAMDK,OACGC,KAAML,YAAUC,EAAKE,OACrBJ,MAAOC,eACPM,6BAAeN,SAAOC,EAAKE,uBAE5BC,UAAOL,MAAOC,mBAAkBC,EAAKM,UACrCH,UAAOL,MAAOC,mBAAkBC,EAAKO,kCAI/BP,EAAKQ,UADbX,WAEGY,MAAOT,EAAKQ,KACZE,MAAOX,UACPY,OAAQZ,SACRa,UAAWb,YACXc,KAAMd"}
1
+ {"version":3,"file":"HierarchicalMenuList.vue_vue&type=template&id=0435b314&lang.js","sources":["../../../../src/components/HierarchicalMenuList.vue?vue&type=template&id=0435b314&lang.js"],"sourcesContent":["<template>\n <ul\n :class=\"[\n suit('list'),\n level > 0 && suit('list', 'child'),\n suit('list', `lvl${level}`)\n ]\"\n >\n <li\n v-for=\"item in items\"\n :key=\"item.value\"\n :class=\"[\n suit('item'),\n item.data && suit('item', 'parent'),\n item.isRefined && suit('item', 'selected')\n ]\"\n >\n <a\n :href=\"createURL(item.value)\"\n :class=\"[\n suit('link'),\n item.isRefined && suit('link', 'selected')\n ]\"\n @click.prevent=\"refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n\n <hierarchical-menu-list\n v-if=\"item.data\"\n :items=\"item.data\"\n :level=\"level + 1\"\n :refine=\"refine\"\n :createURL=\"createURL\"\n :suit=\"suit\"\n />\n </li>\n </ul>\n</template>\n\n<script>\nexport default {\n name: 'HierarchicalMenuList',\n props: {\n items: {\n type: Array,\n required: true,\n },\n level: {\n type: Number,\n required: true,\n },\n refine: {\n type: Function,\n required: true,\n },\n createURL: {\n type: Function,\n required: true,\n },\n suit: {\n type: Function,\n required: true,\n },\n },\n};\n</script>\n"],"names":["_createBlock","class","$props","item","key","value","_createVNode","href","onClick","label","count","data","items","level","refine","createURL","suit"],"mappings":"8PACEA,QACGC,+FAMDD,WACiBE,iBAARC,cADTH,QAEGI,IAAKD,EAAKE,MACVJ,gGAMDK,OACGC,KAAML,YAAUC,EAAKE,OACrBJ,8DAIAO,6BAAeN,SAAOC,EAAKE,uBAE5BC,UAAOL,MAAOC,mBAAkBC,EAAKM,UACrCH,UAAOL,MAAOC,mBAAkBC,EAAKO,kCAI/BP,EAAKQ,UADbX,WAEGY,MAAOT,EAAKQ,KACZE,MAAOX,UACPY,OAAQZ,SACRa,UAAWb,YACXc,KAAMd"}
@@ -1,2 +1,2 @@
1
- import{renderCompat as e,getDefaultSlot as t}from"../util/vue-compat/index-vue3.js";import{warn as i}from"../util/warn.js";import a from"instantsearch.js/es/index.js";import{createInstantSearchComponent as n}from"../util/createInstantSearchComponent.js";var r="Vue InstantSearch: You used the prop api-key or app-id.\nThese have been replaced by search-client.\n\nSee more info here: https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-search-client";export default n({name:"AisInstantSearch",props:{searchClient:{type:Object,required:!0},insightsClient:{type:Function,default:void 0},indexName:{type:String,required:!0},routing:{default:void 0,validator:function(e){return!("boolean"==typeof e||!e.router&&!e.stateMapping)||(i("The `routing` option expects an object with `router` and/or `stateMapping`.\n\nSee https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-routing"),!1)}},stalledSearchDelay:{type:Number,default:void 0},searchFunction:{type:Function,default:void 0},initialUiState:{type:Object,default:void 0},apiKey:{type:String,default:void 0,validator:function(e){return e&&i(r),!1}},appId:{type:String,default:void 0,validator:function(e){return e&&i(r),!1}},middlewares:{type:Array,default:null}},data:function(){return{instantSearchInstance:a({searchClient:this.searchClient,insightsClient:this.insightsClient,indexName:this.indexName,routing:this.routing,stalledSearchDelay:this.stalledSearchDelay,searchFunction:this.searchFunction,initialUiState:this.initialUiState})}},render:e(function(e){var i;return e("div",{class:(i={},i[this.suit()]=!0,i[this.suit("","ssr")]=!1,i)},t(this))})});
1
+ import{renderCompat as t,getDefaultSlot as e}from"../util/vue-compat/index-vue3.js";import{warn as i}from"../util/warn.js";import a from"instantsearch.js/es/index.js";import{createInstantSearchComponent as n}from"../util/createInstantSearchComponent.js";var r="Vue InstantSearch: You used the prop api-key or app-id.\nThese have been replaced by search-client.\n\nSee more info here: https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-search-client";export default n({name:"AisInstantSearch",props:{searchClient:{type:Object,required:!0},insightsClient:{type:Function,default:void 0},indexName:{type:String,required:!0},routing:{default:void 0,validator:function(t){return!("boolean"==typeof t||!t.router&&!t.stateMapping)||(i("The `routing` option expects an object with `router` and/or `stateMapping`.\n\nSee https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-routing"),!1)}},stalledSearchDelay:{type:Number,default:void 0},searchFunction:{type:Function,default:void 0},onStateChange:{type:Function,default:void 0},initialUiState:{type:Object,default:void 0},apiKey:{type:String,default:void 0,validator:function(t){return t&&i(r),!1}},appId:{type:String,default:void 0,validator:function(t){return t&&i(r),!1}},middlewares:{type:Array,default:null}},data:function(){return{instantSearchInstance:a({searchClient:this.searchClient,insightsClient:this.insightsClient,indexName:this.indexName,routing:this.routing,stalledSearchDelay:this.stalledSearchDelay,searchFunction:this.searchFunction,onStateChange:this.onStateChange,initialUiState:this.initialUiState})}},render:t(function(t){var i;return t("div",{class:(i={},i[this.suit()]=!0,i[this.suit("","ssr")]=!1,i)},e(this))})});
2
2
  //# sourceMappingURL=InstantSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstantSearch.js","sources":["../../../../src/components/InstantSearch.js"],"sourcesContent":["import instantsearch from 'instantsearch.js/es';\nimport { createInstantSearchComponent } from '../util/createInstantSearchComponent';\nimport { warn } from '../util/warn';\nimport { renderCompat, getDefaultSlot } from '../util/vue-compat';\n\nconst oldApiWarning = `Vue InstantSearch: You used the prop api-key or app-id.\nThese have been replaced by search-client.\n\nSee more info here: https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-search-client`;\n\nexport default createInstantSearchComponent({\n name: 'AisInstantSearch',\n props: {\n searchClient: {\n type: Object,\n required: true,\n },\n insightsClient: {\n type: Function,\n default: undefined,\n },\n indexName: {\n type: String,\n required: true,\n },\n routing: {\n default: undefined,\n validator(value) {\n if (\n typeof value === 'boolean' ||\n (!value.router && !value.stateMapping)\n ) {\n warn(\n 'The `routing` option expects an object with `router` and/or `stateMapping`.\\n\\nSee https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-routing'\n );\n return false;\n }\n return true;\n },\n },\n stalledSearchDelay: {\n type: Number,\n default: undefined,\n },\n searchFunction: {\n type: Function,\n default: undefined,\n },\n initialUiState: {\n type: Object,\n default: undefined,\n },\n apiKey: {\n type: String,\n default: undefined,\n validator(value) {\n if (value) {\n warn(oldApiWarning);\n }\n return false;\n },\n },\n appId: {\n type: String,\n default: undefined,\n validator(value) {\n if (value) {\n warn(oldApiWarning);\n }\n return false;\n },\n },\n middlewares: {\n type: Array,\n default: null,\n },\n },\n data() {\n return {\n instantSearchInstance: instantsearch({\n searchClient: this.searchClient,\n insightsClient: this.insightsClient,\n indexName: this.indexName,\n routing: this.routing,\n stalledSearchDelay: this.stalledSearchDelay,\n searchFunction: this.searchFunction,\n initialUiState: this.initialUiState,\n }),\n };\n },\n render: renderCompat(function(h) {\n return h(\n 'div',\n {\n class: {\n [this.suit()]: true,\n [this.suit('', 'ssr')]: false,\n },\n },\n getDefaultSlot(this)\n );\n }),\n});\n"],"names":["const","oldApiWarning","createInstantSearchComponent","name","props","searchClient","type","Object","required","insightsClient","Function","default","undefined","indexName","String","routing","validator","value","router","stateMapping","warn","stalledSearchDelay","Number","searchFunction","initialUiState","apiKey","appId","middlewares","Array","data","instantSearchInstance","instantsearch","this","render","renderCompat","h","class","suit","getDefaultSlot"],"mappings":"8PAKAA,IAAMC,EAAgB,4OAKPC,EAA6B,CAC1CC,KAAM,mBACNC,MAAO,CACLC,aAAc,CACZC,KAAMC,OACNC,UAAU,GAEZC,eAAgB,CACdH,KAAMI,SACNC,aAASC,GAEXC,UAAW,CACTP,KAAMQ,OACNN,UAAU,GAEZO,QAAS,CACPJ,aAASC,EACTI,mBAAUC,WAEW,kBAAVA,IACLA,EAAMC,SAAWD,EAAME,gBAEzBC,EACE,iLAEK,KAKbC,mBAAoB,CAClBf,KAAMgB,OACNX,aAASC,GAEXW,eAAgB,CACdjB,KAAMI,SACNC,aAASC,GAEXY,eAAgB,CACdlB,KAAMC,OACNI,aAASC,GAEXa,OAAQ,CACNnB,KAAMQ,OACNH,aAASC,EACTI,mBAAUC,UACJA,GACFG,EAAKnB,IAEA,IAGXyB,MAAO,CACLpB,KAAMQ,OACNH,aAASC,EACTI,mBAAUC,UACJA,GACFG,EAAKnB,IAEA,IAGX0B,YAAa,CACXrB,KAAMsB,MACNjB,QAAS,OAGbkB,sBACS,CACLC,sBAAuBC,EAAc,CACnC1B,aAAc2B,KAAK3B,aACnBI,eAAgBuB,KAAKvB,eACrBI,UAAWmB,KAAKnB,UAChBE,QAASiB,KAAKjB,QACdM,mBAAoBW,KAAKX,mBACzBE,eAAgBS,KAAKT,eACrBC,eAAgBQ,KAAKR,mBAI3BS,OAAQC,EAAa,SAASC,gBACrBA,EACL,MACA,CACEC,SAAO,KACJJ,KAAKK,SAAS,IACdL,KAAKK,KAAK,GAAI,SAAS,MAG5BC,EAAeN"}
1
+ {"version":3,"file":"InstantSearch.js","sources":["../../../../src/components/InstantSearch.js"],"sourcesContent":["import instantsearch from 'instantsearch.js/es';\nimport { createInstantSearchComponent } from '../util/createInstantSearchComponent';\nimport { warn } from '../util/warn';\nimport { renderCompat, getDefaultSlot } from '../util/vue-compat';\n\nconst oldApiWarning = `Vue InstantSearch: You used the prop api-key or app-id.\nThese have been replaced by search-client.\n\nSee more info here: https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-search-client`;\n\nexport default createInstantSearchComponent({\n name: 'AisInstantSearch',\n props: {\n searchClient: {\n type: Object,\n required: true,\n },\n insightsClient: {\n type: Function,\n default: undefined,\n },\n indexName: {\n type: String,\n required: true,\n },\n routing: {\n default: undefined,\n validator(value) {\n if (\n typeof value === 'boolean' ||\n (!value.router && !value.stateMapping)\n ) {\n warn(\n 'The `routing` option expects an object with `router` and/or `stateMapping`.\\n\\nSee https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-routing'\n );\n return false;\n }\n return true;\n },\n },\n stalledSearchDelay: {\n type: Number,\n default: undefined,\n },\n searchFunction: {\n type: Function,\n default: undefined,\n },\n onStateChange: {\n type: Function,\n default: undefined,\n },\n initialUiState: {\n type: Object,\n default: undefined,\n },\n apiKey: {\n type: String,\n default: undefined,\n validator(value) {\n if (value) {\n warn(oldApiWarning);\n }\n return false;\n },\n },\n appId: {\n type: String,\n default: undefined,\n validator(value) {\n if (value) {\n warn(oldApiWarning);\n }\n return false;\n },\n },\n middlewares: {\n type: Array,\n default: null,\n },\n },\n data() {\n return {\n instantSearchInstance: instantsearch({\n searchClient: this.searchClient,\n insightsClient: this.insightsClient,\n indexName: this.indexName,\n routing: this.routing,\n stalledSearchDelay: this.stalledSearchDelay,\n searchFunction: this.searchFunction,\n onStateChange: this.onStateChange,\n initialUiState: this.initialUiState,\n }),\n };\n },\n render: renderCompat(function(h) {\n return h(\n 'div',\n {\n class: {\n [this.suit()]: true,\n [this.suit('', 'ssr')]: false,\n },\n },\n getDefaultSlot(this)\n );\n }),\n});\n"],"names":["const","oldApiWarning","createInstantSearchComponent","name","props","searchClient","type","Object","required","insightsClient","Function","default","undefined","indexName","String","routing","validator","value","router","stateMapping","warn","stalledSearchDelay","Number","searchFunction","onStateChange","initialUiState","apiKey","appId","middlewares","Array","data","instantSearchInstance","instantsearch","this","render","renderCompat","h","class","suit","getDefaultSlot"],"mappings":"8PAKAA,IAAMC,EAAgB,4OAKPC,EAA6B,CAC1CC,KAAM,mBACNC,MAAO,CACLC,aAAc,CACZC,KAAMC,OACNC,UAAU,GAEZC,eAAgB,CACdH,KAAMI,SACNC,aAASC,GAEXC,UAAW,CACTP,KAAMQ,OACNN,UAAU,GAEZO,QAAS,CACPJ,aAASC,EACTI,mBAAUC,WAEW,kBAAVA,IACLA,EAAMC,SAAWD,EAAME,gBAEzBC,EACE,iLAEK,KAKbC,mBAAoB,CAClBf,KAAMgB,OACNX,aAASC,GAEXW,eAAgB,CACdjB,KAAMI,SACNC,aAASC,GAEXY,cAAe,CACblB,KAAMI,SACNC,aAASC,GAEXa,eAAgB,CACdnB,KAAMC,OACNI,aAASC,GAEXc,OAAQ,CACNpB,KAAMQ,OACNH,aAASC,EACTI,mBAAUC,UACJA,GACFG,EAAKnB,IAEA,IAGX0B,MAAO,CACLrB,KAAMQ,OACNH,aAASC,EACTI,mBAAUC,UACJA,GACFG,EAAKnB,IAEA,IAGX2B,YAAa,CACXtB,KAAMuB,MACNlB,QAAS,OAGbmB,sBACS,CACLC,sBAAuBC,EAAc,CACnC3B,aAAc4B,KAAK5B,aACnBI,eAAgBwB,KAAKxB,eACrBI,UAAWoB,KAAKpB,UAChBE,QAASkB,KAAKlB,QACdM,mBAAoBY,KAAKZ,mBACzBE,eAAgBU,KAAKV,eACrBC,cAAeS,KAAKT,cACpBC,eAAgBQ,KAAKR,mBAI3BS,OAAQC,EAAa,SAASC,gBACrBA,EACL,MACA,CACEC,SAAO,KACJJ,KAAKK,SAAS,IACdL,KAAKK,KAAK,GAAI,SAAS,MAG5BC,EAAeN"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as t}from"../mixins/suit.js";import{_objectSpread as s}from"../util/polyfills.js";import{createWidgetMixin as e}from"../mixins/widget.js";import i from"../connectors/connectStateResults.js";export default{name:"AisStateResults",mixins:[e({connector:i},{$$widgetType:"ais.stateResults"}),t({name:"StateResults"})],computed:{stateResults:function(){var t=this.state,e=t.state,i=t.results;return s({},i,{results:i,state:e})}}};
1
+ import{createSuitMixin as t}from"../mixins/suit.js";import{_objectSpread as e}from"../util/polyfills.js";import"../util/vue-compat/index-vue3.js";import{createWidgetMixin as r}from"../mixins/widget.js";var n;export default((n={name:"AisStateResults",mixins:[r({connector:!0}),t({name:"StateResults"})],props:{catchError:{type:Boolean,default:!1}},data:function(){var t=this;return{renderFn:function(){var e=t.instantSearchInstance,r=e.status,n=e.error,s=t.getParentIndex().getResults(),i=t.getParentIndex().getHelper(),a=i?i.state:null;t.state={results:s,state:a,status:r,error:n}}}},created:function(){this.instantSearchInstance.addListener("render",this.renderFn)}}).beforeUnmount=function(){this.widget&&(this.instantSearchInstance.removeListener("render",this.renderFn),this.errorFn&&this.instantSearchInstance.removeListener("error",this.errorFn))},n.watch={catchError:{immediate:!0,handler:function(t){t?(this.errorFn=function(){},this.instantSearchInstance.addListener("error",this.errorFn)):this.errorFn&&(this.instantSearchInstance.removeListener("error",this.errorFn),this.errorFn=void 0)}}},n.computed={stateResults:function(){var t=this.state,r=t.results,n=t.state,s=t.status,i=t.error;return e({},r,{results:r,state:n,status:s,error:i})}},n);
2
2
  //# sourceMappingURL=StateResults.vue_vue&type=script&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateResults.vue_vue&type=script&lang.js","sources":["../../../../src/components/StateResults.vue"],"sourcesContent":["<template>\n <div\n :class=\"suit()\"\n v-if=\"state && state.state && state.results\"\n >\n <slot v-bind=\"stateResults\">\n <p>\n Use this component to have a different layout based on a certain state.\n </p>\n <p>\n Fill in the slot, and get access to the following things:\n </p>\n <pre>results: {{ Object.keys(state.results) }}</pre>\n <pre>state: {{ Object.keys(state.state) }}</pre>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { _objectSpread } from '../util/polyfills';\nimport connectStateResults from '../connectors/connectStateResults';\n\nexport default {\n name: 'AisStateResults',\n mixins: [\n createWidgetMixin(\n {\n connector: connectStateResults,\n },\n {\n $$widgetType: 'ais.stateResults',\n }\n ),\n createSuitMixin({ name: 'StateResults' }),\n ],\n computed: {\n stateResults() {\n // @MAJOR: replace v-bind=\"stateResults\" with :state=\"state.state\" :results=\"state.results\"\n const { state, results } = this.state;\n return _objectSpread({}, results, { results, state });\n },\n },\n};\n</script>\n"],"names":["name","mixins","createWidgetMixin","connector","connectStateResults","$$widgetType","createSuitMixin","computed","stateResults","this","state","_objectSpread","results"],"mappings":"mOAwBe,CACbA,KAAM,kBACNC,OAAQ,CACNC,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,qBAGlBC,EAAgB,CAAEN,KAAM,kBAE1BO,SAAU,CACRC,8BAE6BC,KAAKC,mCACzBC,EAAc,GAAIC,EAAS,SAAEA,QAASF"}
1
+ {"version":3,"file":"StateResults.vue_vue&type=script&lang.js","sources":["../../../../src/components/StateResults.vue"],"sourcesContent":["<template>\n <div\n :class=\"suit()\"\n v-if=\"state && state.state && state.results\"\n >\n <slot v-bind=\"stateResults\">\n <p>\n Use this component to have a different layout based on a certain state.\n </p>\n <p>\n Fill in the slot, and get access to the following things:\n </p>\n <pre>results: {{ Object.keys(state.results) }}</pre>\n <pre>state: {{ Object.keys(state.state) }}</pre>\n <pre>status: {{ state.status }}</pre>\n <pre>error: {{ state.error }}</pre>\n </slot>\n </div>\n</template>\n\n<script>\nimport { isVue3 } from '../util/vue-compat';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { _objectSpread } from '../util/polyfills';\n\nexport default {\n name: 'AisStateResults',\n mixins: [\n createWidgetMixin({ connector: true }),\n createSuitMixin({ name: 'StateResults' }),\n ],\n props: {\n catchError: {\n type: Boolean,\n default: false,\n },\n },\n data() {\n return {\n renderFn: () => {\n const { status, error } = this.instantSearchInstance;\n const results = this.getParentIndex().getResults();\n const helper = this.getParentIndex().getHelper();\n const state = helper ? helper.state : null;\n\n // @MAJOR no longer spread this inside `results`\n this.state = {\n results,\n state,\n status,\n error,\n };\n },\n };\n },\n created() {\n this.instantSearchInstance.addListener('render', this.renderFn);\n },\n [isVue3 ? 'beforeUnmount' : 'beforeDestroy']() {\n if (this.widget) {\n this.instantSearchInstance.removeListener('render', this.renderFn);\n if (this.errorFn) {\n this.instantSearchInstance.removeListener('error', this.errorFn);\n }\n }\n },\n watch: {\n catchError: {\n immediate: true,\n handler(catchError) {\n if (catchError) {\n this.errorFn = () => {};\n this.instantSearchInstance.addListener('error', this.errorFn);\n } else if (this.errorFn) {\n this.instantSearchInstance.removeListener('error', this.errorFn);\n this.errorFn = undefined;\n }\n },\n },\n },\n computed: {\n stateResults() {\n const { results, state, status, error } = this.state;\n return _objectSpread({}, results, { results, state, status, error });\n },\n },\n};\n</script>\n"],"names":["name","mixins","createWidgetMixin","connector","createSuitMixin","props","catchError","type","Boolean","default","data","renderFn","this","instantSearchInstance","results","getParentIndex","getResults","helper","getHelper","state","status","error","created","addListener","widget","removeListener","errorFn","watch","immediate","handler","undefined","computed","stateResults","_objectSpread"],"mappings":"kOA0Be,CACbA,KAAM,kBACNC,OAAQ,CACNC,EAAkB,CAAEC,WAAW,IAC/BC,EAAgB,CAAEJ,KAAM,kBAE1BK,MAAO,CACLC,WAAY,CACVC,KAAMC,QACNC,SAAS,IAGbC,iCACS,CACLC,0BAC4BC,EAAKC,2CACzBC,EAAUF,EAAKG,iBAAiBC,aAChCC,EAASL,EAAKG,iBAAiBG,YAC/BC,EAAQF,EAASA,EAAOE,MAAQ,KAGtCP,EAAKO,MAAQ,SACXL,QACAK,SACAC,QACAC,MAKRC,wBACOT,sBAAsBU,YAAY,SAAUX,KAAKD,aAExD,yBACMC,KAAKY,cACFX,sBAAsBY,eAAe,SAAUb,KAAKD,UACrDC,KAAKc,cACFb,sBAAsBY,eAAe,QAASb,KAAKc,aAI9DC,MAAO,CACLrB,WAAY,CACVsB,WAAW,EACXC,iBAAQvB,GACFA,QACGoB,0BACAb,sBAAsBU,YAAY,QAASX,KAAKc,UAC5Cd,KAAKc,eACTb,sBAAsBY,eAAe,QAASb,KAAKc,cACnDA,aAAUI,QAKvBC,SAAU,CACRC,8BAC4CpB,KAAKO,wDACxCc,EAAc,GAAInB,EAAS,SAAEA,QAASK,SAAOC,QAAQC"}
@@ -1,2 +1,2 @@
1
- import{openBlock as t,createBlock as e,renderSlot as s,createVNode as a,toDisplayString as l,createCommentVNode as n}from"vue";var u=a("p",null," Use this component to have a different layout based on a certain state. ",-1),o=a("p",null," Fill in the slot, and get access to the following things: ",-1);function r(r,i,c,f,p,d){return r.state&&r.state.state&&r.state.results?(t(),e("div",{key:0,class:r.suit()},[s(r.$slots,"default",d.stateResults,function(){return[u,o,a("pre",null,"results: "+l(Object.keys(r.state.results)),1),a("pre",null,"state: "+l(Object.keys(r.state.state)),1)]})],2)):n("v-if",!0)}export{r as render};
1
+ import{openBlock as t,createBlock as e,renderSlot as s,createVNode as a,toDisplayString as l,createCommentVNode as r}from"vue";var n=a("p",null," Use this component to have a different layout based on a certain state. ",-1),u=a("p",null," Fill in the slot, and get access to the following things: ",-1);function o(o,i,c,p,f,d){return o.state&&o.state.state&&o.state.results?(t(),e("div",{key:0,class:o.suit()},[s(o.$slots,"default",d.stateResults,function(){return[n,u,a("pre",null,"results: "+l(Object.keys(o.state.results)),1),a("pre",null,"state: "+l(Object.keys(o.state.state)),1),a("pre",null,"status: "+l(o.state.status),1),a("pre",null,"error: "+l(o.state.error),1)]})],2)):r("v-if",!0)}export{o as render};
2
2
  //# sourceMappingURL=StateResults.vue_vue&type=template&id=5992f3d5&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateResults.vue_vue&type=template&id=5992f3d5&lang.js","sources":["../../../../src/components/StateResults.vue?vue&type=template&id=5992f3d5&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"suit()\"\n v-if=\"state && state.state && state.results\"\n >\n <slot v-bind=\"stateResults\">\n <p>\n Use this component to have a different layout based on a certain state.\n </p>\n <p>\n Fill in the slot, and get access to the following things:\n </p>\n <pre>results: {{ Object.keys(state.results) }}</pre>\n <pre>state: {{ Object.keys(state.state) }}</pre>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { _objectSpread } from '../util/polyfills';\nimport connectStateResults from '../connectors/connectStateResults';\n\nexport default {\n name: 'AisStateResults',\n mixins: [\n createWidgetMixin(\n {\n connector: connectStateResults,\n },\n {\n $$widgetType: 'ais.stateResults',\n }\n ),\n createSuitMixin({ name: 'StateResults' }),\n ],\n computed: {\n stateResults() {\n // @MAJOR: replace v-bind=\"stateResults\" with :state=\"state.state\" :results=\"state.results\"\n const { state, results } = this.state;\n return _objectSpread({}, results, { results, state });\n },\n },\n};\n</script>\n"],"names":["_createVNode","_ctx","state","results","_createBlock","class","_renderSlot","$options","_hoisted_1","_hoisted_2","Object","keys"],"mappings":"qIAMMA,6FAGAA,4GANIC,SAASA,QAAMC,OAASD,QAAME,aAFtCC,eACGC,MAAOJ,WAGRK,qBAAcC,iCACZC,EAGAC,EAGAT,aAAK,cAAYU,OAAOC,KAAKV,QAAME,aACnCH,aAAK,YAAUU,OAAOC,KAAKV,QAAMC"}
1
+ {"version":3,"file":"StateResults.vue_vue&type=template&id=5992f3d5&lang.js","sources":["../../../../src/components/StateResults.vue?vue&type=template&id=5992f3d5&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"suit()\"\n v-if=\"state && state.state && state.results\"\n >\n <slot v-bind=\"stateResults\">\n <p>\n Use this component to have a different layout based on a certain state.\n </p>\n <p>\n Fill in the slot, and get access to the following things:\n </p>\n <pre>results: {{ Object.keys(state.results) }}</pre>\n <pre>state: {{ Object.keys(state.state) }}</pre>\n <pre>status: {{ state.status }}</pre>\n <pre>error: {{ state.error }}</pre>\n </slot>\n </div>\n</template>\n\n<script>\nimport { isVue3 } from '../util/vue-compat';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { _objectSpread } from '../util/polyfills';\n\nexport default {\n name: 'AisStateResults',\n mixins: [\n createWidgetMixin({ connector: true }),\n createSuitMixin({ name: 'StateResults' }),\n ],\n props: {\n catchError: {\n type: Boolean,\n default: false,\n },\n },\n data() {\n return {\n renderFn: () => {\n const { status, error } = this.instantSearchInstance;\n const results = this.getParentIndex().getResults();\n const helper = this.getParentIndex().getHelper();\n const state = helper ? helper.state : null;\n\n // @MAJOR no longer spread this inside `results`\n this.state = {\n results,\n state,\n status,\n error,\n };\n },\n };\n },\n created() {\n this.instantSearchInstance.addListener('render', this.renderFn);\n },\n [isVue3 ? 'beforeUnmount' : 'beforeDestroy']() {\n if (this.widget) {\n this.instantSearchInstance.removeListener('render', this.renderFn);\n if (this.errorFn) {\n this.instantSearchInstance.removeListener('error', this.errorFn);\n }\n }\n },\n watch: {\n catchError: {\n immediate: true,\n handler(catchError) {\n if (catchError) {\n this.errorFn = () => {};\n this.instantSearchInstance.addListener('error', this.errorFn);\n } else if (this.errorFn) {\n this.instantSearchInstance.removeListener('error', this.errorFn);\n this.errorFn = undefined;\n }\n },\n },\n },\n computed: {\n stateResults() {\n const { results, state, status, error } = this.state;\n return _objectSpread({}, results, { results, state, status, error });\n },\n },\n};\n</script>\n"],"names":["_createVNode","_ctx","state","results","_createBlock","class","_renderSlot","$options","_hoisted_1","_hoisted_2","Object","keys","status","error"],"mappings":"qIAMMA,6FAGAA,4GANIC,SAASA,QAAMC,OAASD,QAAME,aAFtCC,eACGC,MAAOJ,WAGRK,qBAAcC,iCACZC,EAGAC,EAGAT,aAAK,cAAYU,OAAOC,KAAKV,QAAME,aACnCH,aAAK,YAAUU,OAAOC,KAAKV,QAAMC,WACjCF,aAAK,aAAWC,QAAMW,WACtBZ,aAAK,YAAUC,QAAMY"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as n}from"../mixins/suit.js";import{_objectSpread as t}from"./polyfills.js";import{version as e}from"vue";import"./vue-compat/index-vue3.js";import{version as a}from"../../package.json.js";var i=function(i){var s;return t(((s={mixins:[n({name:"InstantSearch"})],provide:function(){return{$_ais_instantSearchInstance:this.instantSearchInstance}},watch:{searchClient:function(n){this.instantSearchInstance.helper.setClient(n).search()},indexName:function(n){this.instantSearchInstance.helper.setIndex(n).search()},stalledSearchDelay:function(n){this.instantSearchInstance._stalledSearchDelay=n},routing:function(){throw new Error("routing configuration can not be changed dynamically at this point.\n\nPlease open a new issue: https://github.com/algolia/vue-instantsearch/issues/new?template=feature.md")},searchFunction:function(n){this.instantSearchInstance._searchFunction=n},middlewares:{immediate:!0,handler:function(n,t){var e=this;(t||[]).filter(function(t){return-1===(n||[]).indexOf(t)}).forEach(function(n){e.instantSearchInstance.unuse(n)}),(n||[]).filter(function(n){return-1===(t||[]).indexOf(n)}).forEach(function(n){e.instantSearchInstance.use(n)})}}},created:function(){var n=this.instantSearchInstance.client;"function"==typeof n.addAlgoliaAgent&&(n.addAlgoliaAgent("Vue ("+e+")"),n.addAlgoliaAgent("Vue InstantSearch ("+a+")"))},mounted:function(){var n=this;this.$nextTick(function(){n.instantSearchInstance.started||n.instantSearchInstance.start()})}}).beforeUnmount=function(){this.instantSearchInstance.started&&this.instantSearchInstance.dispose(),this.instantSearchInstance.__initialSearchResults=void 0},s),i)};export{i as createInstantSearchComponent};
1
+ import{createSuitMixin as n}from"../mixins/suit.js";import{_objectSpread as t}from"./polyfills.js";import{version as e}from"vue";import"./vue-compat/index-vue3.js";import{version as a}from"../../package.json.js";var i=function(i){var s;return t(((s={mixins:[n({name:"InstantSearch"})],provide:function(){return{$_ais_instantSearchInstance:this.instantSearchInstance}},watch:{searchClient:function(n){this.instantSearchInstance.helper.setClient(n).search()},indexName:function(n){this.instantSearchInstance.helper.setIndex(n).search()},stalledSearchDelay:function(n){this.instantSearchInstance._stalledSearchDelay=n},routing:function(){throw new Error("routing configuration can not be changed dynamically at this point.\n\nPlease open a new issue: https://github.com/algolia/vue-instantsearch/issues/new?template=feature.md")},onStateChange:function(){throw new Error("onStateChange configuration can not be changed dynamically at this point.\n\nPlease open a new issue: https://github.com/algolia/vue-instantsearch/issues/new?template=feature.md")},searchFunction:function(n){this.instantSearchInstance._searchFunction=n},middlewares:{immediate:!0,handler:function(n,t){var e=this;(t||[]).filter(function(t){return-1===(n||[]).indexOf(t)}).forEach(function(n){e.instantSearchInstance.unuse(n)}),(n||[]).filter(function(n){return-1===(t||[]).indexOf(n)}).forEach(function(n){e.instantSearchInstance.use(n)})}}},created:function(){var n=this.instantSearchInstance.client;"function"==typeof n.addAlgoliaAgent&&(n.addAlgoliaAgent("Vue ("+e+")"),n.addAlgoliaAgent("Vue InstantSearch ("+a+")"))},mounted:function(){var n=this;this.$nextTick(function(){n.instantSearchInstance.started||n.instantSearchInstance.start()})}}).beforeUnmount=function(){this.instantSearchInstance.started&&this.instantSearchInstance.dispose(),this.instantSearchInstance.__initialSearchResults=void 0},s),i)};export{i as createInstantSearchComponent};
2
2
  //# sourceMappingURL=createInstantSearchComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createInstantSearchComponent.js","sources":["../../../../src/util/createInstantSearchComponent.js"],"sourcesContent":["import { createSuitMixin } from '../mixins/suit';\nimport { version } from '../../package.json'; // rollup does pick only what needed from json\nimport { _objectSpread } from './polyfills';\nimport { isVue3, version as vueVersion } from './vue-compat';\n\nexport const createInstantSearchComponent = component =>\n _objectSpread(\n {\n mixins: [createSuitMixin({ name: 'InstantSearch' })],\n provide() {\n return {\n $_ais_instantSearchInstance: this.instantSearchInstance,\n };\n },\n watch: {\n searchClient(searchClient) {\n this.instantSearchInstance.helper.setClient(searchClient).search();\n },\n indexName(indexName) {\n this.instantSearchInstance.helper.setIndex(indexName).search();\n },\n stalledSearchDelay(stalledSearchDelay) {\n // private InstantSearch.js API:\n this.instantSearchInstance._stalledSearchDelay = stalledSearchDelay;\n },\n routing() {\n throw new Error(\n 'routing configuration can not be changed dynamically at this point.' +\n '\\n\\n' +\n 'Please open a new issue: https://github.com/algolia/vue-instantsearch/issues/new?template=feature.md'\n );\n },\n searchFunction(searchFunction) {\n // private InstantSearch.js API:\n this.instantSearchInstance._searchFunction = searchFunction;\n },\n middlewares: {\n immediate: true,\n handler(next, prev) {\n (prev || [])\n .filter(middleware => (next || []).indexOf(middleware) === -1)\n .forEach(middlewareToRemove => {\n this.instantSearchInstance.unuse(middlewareToRemove);\n });\n\n (next || [])\n .filter(middleware => (prev || []).indexOf(middleware) === -1)\n .forEach(middlewareToAdd => {\n this.instantSearchInstance.use(middlewareToAdd);\n });\n },\n },\n },\n created() {\n const searchClient = this.instantSearchInstance.client;\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n searchClient.addAlgoliaAgent(`Vue (${vueVersion})`);\n searchClient.addAlgoliaAgent(`Vue InstantSearch (${version})`);\n }\n },\n mounted() {\n // from the documentation: https://vuejs.org/v2/api/#mounted\n // \"Note that mounted does not guarantee that all child components have also been mounted. If you want to\n // wait until the entire view has been rendered, you can use vm.$nextTick inside of mounted\"\n this.$nextTick(() => {\n if (!this.instantSearchInstance.started) {\n this.instantSearchInstance.start();\n }\n });\n },\n [isVue3 ? 'beforeUnmount' : 'beforeDestroy']() {\n if (this.instantSearchInstance.started) {\n this.instantSearchInstance.dispose();\n }\n\n // a hydrated instance will no longer be hydrated once disposed, and starts from scratch\n this.instantSearchInstance.__initialSearchResults = undefined;\n },\n },\n component\n );\n"],"names":["createInstantSearchComponent","component","_objectSpread","mixins","createSuitMixin","name","provide","$_ais_instantSearchInstance","this","instantSearchInstance","watch","searchClient","helper","setClient","search","indexName","setIndex","stalledSearchDelay","_stalledSearchDelay","routing","Error","searchFunction","_searchFunction","middlewares","immediate","handler","next","prev","filter","middleware","indexOf","forEach","middlewareToRemove","unuse","middlewareToAdd","use","created","client","addAlgoliaAgent","vueVersion","version","mounted","$nextTick","started","start","dispose","__initialSearchResults","undefined"],"mappings":"wNAKaA,WAA+BC,gBAC1CC,MACE,CACEC,OAAQ,CAACC,EAAgB,CAAEC,KAAM,mBACjCC,yBACS,CACLC,4BAA6BC,KAAKC,wBAGtCC,MAAO,CACLC,sBAAaA,QACNF,sBAAsBG,OAAOC,UAAUF,GAAcG,UAE5DC,mBAAUA,QACHN,sBAAsBG,OAAOI,SAASD,GAAWD,UAExDG,4BAAmBA,QAEZR,sBAAsBS,oBAAsBD,GAEnDE,yBACQ,IAAIC,MACR,gLAKJC,wBAAeA,QAERZ,sBAAsBa,gBAAkBD,GAE/CE,YAAa,CACXC,WAAW,EACXC,iBAAQC,EAAMC,eACXA,GAAQ,IACNC,gBAAOC,UAAoD,KAArCH,GAAQ,IAAII,QAAQD,KAC1CE,iBAAQC,GACPxB,EAAKC,sBAAsBwB,MAAMD,MAGpCN,GAAQ,IACNE,gBAAOC,UAAoD,KAArCF,GAAQ,IAAIG,QAAQD,KAC1CE,iBAAQG,GACP1B,EAAKC,sBAAsB0B,IAAID,QAKzCE,uBACQzB,EAAeH,KAAKC,sBAAsB4B,OACJ,mBAAjC1B,EAAa2B,kBACtB3B,EAAa2B,wBAAwBC,OACrC5B,EAAa2B,sCAAsCE,SAGvDC,mCAIOC,qBACElC,EAAKC,sBAAsBkC,SAC9BnC,EAAKC,sBAAsBmC,aAIjC,yBACMpC,KAAKC,sBAAsBkC,cACxBlC,sBAAsBoC,eAIxBpC,sBAAsBqC,4BAAyBC,MAGxD9C"}
1
+ {"version":3,"file":"createInstantSearchComponent.js","sources":["../../../../src/util/createInstantSearchComponent.js"],"sourcesContent":["import { createSuitMixin } from '../mixins/suit';\nimport { version } from '../../package.json'; // rollup does pick only what needed from json\nimport { _objectSpread } from './polyfills';\nimport { isVue3, version as vueVersion } from './vue-compat';\n\nexport const createInstantSearchComponent = component =>\n _objectSpread(\n {\n mixins: [createSuitMixin({ name: 'InstantSearch' })],\n provide() {\n return {\n $_ais_instantSearchInstance: this.instantSearchInstance,\n };\n },\n watch: {\n searchClient(searchClient) {\n this.instantSearchInstance.helper.setClient(searchClient).search();\n },\n indexName(indexName) {\n this.instantSearchInstance.helper.setIndex(indexName).search();\n },\n stalledSearchDelay(stalledSearchDelay) {\n // private InstantSearch.js API:\n this.instantSearchInstance._stalledSearchDelay = stalledSearchDelay;\n },\n routing() {\n throw new Error(\n 'routing configuration can not be changed dynamically at this point.' +\n '\\n\\n' +\n 'Please open a new issue: https://github.com/algolia/vue-instantsearch/issues/new?template=feature.md'\n );\n },\n onStateChange() {\n throw new Error(\n 'onStateChange configuration can not be changed dynamically at this point.' +\n '\\n\\n' +\n 'Please open a new issue: https://github.com/algolia/vue-instantsearch/issues/new?template=feature.md'\n );\n },\n searchFunction(searchFunction) {\n // private InstantSearch.js API:\n this.instantSearchInstance._searchFunction = searchFunction;\n },\n middlewares: {\n immediate: true,\n handler(next, prev) {\n (prev || [])\n .filter(middleware => (next || []).indexOf(middleware) === -1)\n .forEach(middlewareToRemove => {\n this.instantSearchInstance.unuse(middlewareToRemove);\n });\n\n (next || [])\n .filter(middleware => (prev || []).indexOf(middleware) === -1)\n .forEach(middlewareToAdd => {\n this.instantSearchInstance.use(middlewareToAdd);\n });\n },\n },\n },\n created() {\n const searchClient = this.instantSearchInstance.client;\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n searchClient.addAlgoliaAgent(`Vue (${vueVersion})`);\n searchClient.addAlgoliaAgent(`Vue InstantSearch (${version})`);\n }\n },\n mounted() {\n // from the documentation: https://vuejs.org/v2/api/#mounted\n // \"Note that mounted does not guarantee that all child components have also been mounted. If you want to\n // wait until the entire view has been rendered, you can use vm.$nextTick inside of mounted\"\n this.$nextTick(() => {\n if (!this.instantSearchInstance.started) {\n this.instantSearchInstance.start();\n }\n });\n },\n [isVue3 ? 'beforeUnmount' : 'beforeDestroy']() {\n if (this.instantSearchInstance.started) {\n this.instantSearchInstance.dispose();\n }\n\n // a hydrated instance will no longer be hydrated once disposed, and starts from scratch\n this.instantSearchInstance.__initialSearchResults = undefined;\n },\n },\n component\n );\n"],"names":["createInstantSearchComponent","component","_objectSpread","mixins","createSuitMixin","name","provide","$_ais_instantSearchInstance","this","instantSearchInstance","watch","searchClient","helper","setClient","search","indexName","setIndex","stalledSearchDelay","_stalledSearchDelay","routing","Error","onStateChange","searchFunction","_searchFunction","middlewares","immediate","handler","next","prev","filter","middleware","indexOf","forEach","middlewareToRemove","unuse","middlewareToAdd","use","created","client","addAlgoliaAgent","vueVersion","version","mounted","$nextTick","started","start","dispose","__initialSearchResults","undefined"],"mappings":"wNAKaA,WAA+BC,gBAC1CC,MACE,CACEC,OAAQ,CAACC,EAAgB,CAAEC,KAAM,mBACjCC,yBACS,CACLC,4BAA6BC,KAAKC,wBAGtCC,MAAO,CACLC,sBAAaA,QACNF,sBAAsBG,OAAOC,UAAUF,GAAcG,UAE5DC,mBAAUA,QACHN,sBAAsBG,OAAOI,SAASD,GAAWD,UAExDG,4BAAmBA,QAEZR,sBAAsBS,oBAAsBD,GAEnDE,yBACQ,IAAIC,MACR,gLAKJC,+BACQ,IAAID,MACR,sLAKJE,wBAAeA,QAERb,sBAAsBc,gBAAkBD,GAE/CE,YAAa,CACXC,WAAW,EACXC,iBAAQC,EAAMC,eACXA,GAAQ,IACNC,gBAAOC,UAAoD,KAArCH,GAAQ,IAAII,QAAQD,KAC1CE,iBAAQC,GACPzB,EAAKC,sBAAsByB,MAAMD,MAGpCN,GAAQ,IACNE,gBAAOC,UAAoD,KAArCF,GAAQ,IAAIG,QAAQD,KAC1CE,iBAAQG,GACP3B,EAAKC,sBAAsB2B,IAAID,QAKzCE,uBACQ1B,EAAeH,KAAKC,sBAAsB6B,OACJ,mBAAjC3B,EAAa4B,kBACtB5B,EAAa4B,wBAAwBC,OACrC7B,EAAa4B,sCAAsCE,SAGvDC,mCAIOC,qBACEnC,EAAKC,sBAAsBmC,SAC9BpC,EAAKC,sBAAsBoC,aAIjC,yBACMrC,KAAKC,sBAAsBmC,cACxBnC,sBAAsBqC,eAIxBrC,sBAAsBsC,4BAAyBC,MAGxD/C"}