vue-instantsearch 4.10.10 → 4.10.11

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 (39) hide show
  1. package/README.md +4 -12
  2. package/package.json +5 -5
  3. package/src/__tests__/common-widgets.test.js +36 -0
  4. package/src/components/CurrentRefinements.vue +4 -6
  5. package/src/components/Pagination.vue +13 -10
  6. package/src/components/__tests__/CurrentRefinements.js +0 -210
  7. package/src/components/__tests__/InstantSearch.js +1 -1
  8. package/src/components/__tests__/__snapshots__/CurrentRefinements.js.snap +0 -165
  9. package/src/util/createInstantSearchComponent.js +2 -2
  10. package/vue2/cjs/index.js +1 -1
  11. package/vue2/cjs/index.js.map +1 -1
  12. package/vue2/es/package.json.js +1 -1
  13. package/vue2/es/src/components/CurrentRefinements.vue.js +1 -1
  14. package/vue2/es/src/components/Pagination.vue.js +1 -1
  15. package/vue2/es/src/util/createInstantSearchComponent.js +1 -1
  16. package/vue2/es/src/util/createInstantSearchComponent.js.map +1 -1
  17. package/vue2/umd/index.js +1 -1
  18. package/vue2/umd/index.js.map +1 -1
  19. package/vue3/cjs/index.js +1 -1
  20. package/vue3/cjs/index.js.map +1 -1
  21. package/vue3/es/package.json.js +1 -1
  22. package/vue3/es/src/components/CurrentRefinements.vue.js +1 -1
  23. package/vue3/es/src/components/CurrentRefinements.vue_vue&type=script&lang.js.map +1 -1
  24. package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=5584328f&lang.js +2 -0
  25. package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=5584328f&lang.js.map +1 -0
  26. package/vue3/es/src/components/Pagination.vue.js +1 -1
  27. package/vue3/es/src/components/Pagination.vue_vue&type=script&lang.js.map +1 -1
  28. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=36adea52&lang.js +2 -0
  29. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=36adea52&lang.js.map +1 -0
  30. package/vue3/es/src/util/createInstantSearchComponent.js +1 -1
  31. package/vue3/es/src/util/createInstantSearchComponent.js.map +1 -1
  32. package/vue3/umd/index.js +1 -1
  33. package/vue3/umd/index.js.map +1 -1
  34. package/src/components/__tests__/Pagination.js +0 -225
  35. package/src/components/__tests__/__snapshots__/Pagination.js.snap +0 -282
  36. package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=3ffbec3c&lang.js +0 -2
  37. package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=3ffbec3c&lang.js.map +0 -1
  38. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=5a680db4&lang.js +0 -2
  39. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=5a680db4&lang.js.map +0 -1
@@ -1,2 +1,2 @@
1
- var r="4.10.10";export{r as version};
1
+ var r="4.10.11";export{r as version};
2
2
  //# sourceMappingURL=package.json.js.map
@@ -1,2 +1,2 @@
1
- import e from"./CurrentRefinements.vue_vue&type=script&lang.js";import{render as t}from"./CurrentRefinements.vue_vue&type=template&id=3ffbec3c&lang.js";e.render=t;export default e;
1
+ import e from"./CurrentRefinements.vue_vue&type=script&lang.js";import{render as t}from"./CurrentRefinements.vue_vue&type=template&id=5584328f&lang.js";e.render=t;export default e;
2
2
  //# sourceMappingURL=CurrentRefinements.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurrentRefinements.vue_vue&type=script&lang.js","sources":["../../../../src/components/CurrentRefinements.vue"],"sourcesContent":["<template>\n <div :class=\"[suit(), noRefinement && suit('', 'noRefinement')]\" v-if=\"state\">\n <slot\n :refine=\"state.refine\"\n :items=\"state.items\"\n :createURL=\"state.createURL\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.attribute\"\n :class=\"suit('item')\"\n >\n <slot\n name=\"item\"\n :refine=\"item.refine\"\n :item=\"item\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('label')\">{{ capitalize(item.label) }}: </span>\n <span\n v-for=\"refinement in item.refinements\"\n :key=\"createItemKey(refinement)\"\n :class=\"suit('category')\"\n >\n <slot\n name=\"refinement\"\n :refine=\"item.refine\"\n :refinement=\"refinement\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('categoryLabel')\">\n <q v-if=\"refinement.attribute === 'query'\">{{\n refinement.label\n }}</q>\n <template v-else>\n {{ refinement.label }}\n </template>\n </span>\n <button\n :class=\"suit('delete')\"\n @click=\"item.refine(refinement)\"\n >\n ✕\n </button>\n </slot>\n </span>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectCurrentRefinements } from 'instantsearch.js/es/connectors';\n\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisCurrentRefinements',\n mixins: [\n createSuitMixin({ name: 'CurrentRefinements' }),\n createWidgetMixin(\n {\n connector: connectCurrentRefinements,\n },\n {\n $$widgetType: 'ais.currentRefinements',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n includedAttributes: {\n type: Array,\n default: undefined,\n },\n excludedAttributes: {\n type: Array,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n noRefinement() {\n return this.state && this.state.items.length === 0;\n },\n widgetParams() {\n return {\n includedAttributes: this.includedAttributes,\n excludedAttributes: this.excludedAttributes,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n createItemKey({ attribute, value, type, operator }) {\n return [attribute, type, value, operator].join(':');\n },\n capitalize(value) {\n if (!value) return '';\n return (\n value.toString().charAt(0).toLocaleUpperCase() +\n value.toString().slice(1)\n );\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectCurrentRefinements","$$widgetType","createPanelConsumerMixin","props","includedAttributes","type","Array","default","undefined","excludedAttributes","transformItems","Function","computed","noRefinement","this","state","items","length","widgetParams","methods","createItemKey","attribute","value","join","capitalize","toString","charAt","toLocaleUpperCase","slice"],"mappings":"4QA6De,CACbA,KAAM,wBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,uBACxBG,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,2BAGlBC,KAEFC,MAAO,CACLC,mBAAoB,CAClBC,KAAMC,MACNC,aAASC,GAEXC,mBAAoB,CAClBJ,KAAMC,MACNC,aAASC,GAEXE,eAAgB,CACdL,KAAMM,SACNJ,aAASC,IAGbI,SAAU,CACRC,wBACE,OAAOC,KAAKC,OAAqC,IAA5BD,KAAKC,MAAMC,MAAMC,QAExCC,wBACE,MAAO,CACLd,mBAAoBU,KAAKV,mBACzBK,mBAAoBK,KAAKL,mBACzBC,eAAgBI,KAAKJ,kBAI3BS,QAAS,CACPC,sDACE,MAAO,CAACC,SAAiBC,cAAiBC,KAAK,MAEjDC,oBAAWF,GACT,OAAKA,EAEHA,EAAMG,WAAWC,OAAO,GAAGC,oBAC3BL,EAAMG,WAAWG,MAAM,GAHN"}
1
+ {"version":3,"file":"CurrentRefinements.vue_vue&type=script&lang.js","sources":["../../../../src/components/CurrentRefinements.vue"],"sourcesContent":["<template>\n <div :class=\"[suit(), noRefinement && suit('', 'noRefinement')]\" v-if=\"state\">\n <slot\n :refine=\"state.refine\"\n :items=\"state.items\"\n :createURL=\"state.createURL\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.attribute\"\n :class=\"suit('item')\"\n >\n <slot\n name=\"item\"\n :refine=\"item.refine\"\n :item=\"item\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('label')\">{{ capitalize(item.label) }}: </span>\n <span\n v-for=\"refinement in item.refinements\"\n :key=\"createItemKey(refinement)\"\n :class=\"suit('category')\"\n >\n <slot\n name=\"refinement\"\n :refine=\"item.refine\"\n :refinement=\"refinement\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('categoryLabel')\">\n <q v-if=\"refinement.attribute === 'query'\">{{\n refinement.label\n }}</q>\n <template v-else>{{ refinement.label }}</template> </span\n ><button\n :class=\"suit('delete')\"\n type=\"button\"\n @click.left.exact=\"item.refine(refinement)\"\n >\n ✕\n </button>\n </slot>\n </span>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectCurrentRefinements } from 'instantsearch.js/es/connectors';\n\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisCurrentRefinements',\n mixins: [\n createSuitMixin({ name: 'CurrentRefinements' }),\n createWidgetMixin(\n {\n connector: connectCurrentRefinements,\n },\n {\n $$widgetType: 'ais.currentRefinements',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n includedAttributes: {\n type: Array,\n default: undefined,\n },\n excludedAttributes: {\n type: Array,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n noRefinement() {\n return this.state && this.state.items.length === 0;\n },\n widgetParams() {\n return {\n includedAttributes: this.includedAttributes,\n excludedAttributes: this.excludedAttributes,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n createItemKey({ attribute, value, type, operator }) {\n return [attribute, type, value, operator].join(':');\n },\n capitalize(value) {\n if (!value) return '';\n return (\n value.toString().charAt(0).toLocaleUpperCase() +\n value.toString().slice(1)\n );\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectCurrentRefinements","$$widgetType","createPanelConsumerMixin","props","includedAttributes","type","Array","default","undefined","excludedAttributes","transformItems","Function","computed","noRefinement","this","state","items","length","widgetParams","methods","createItemKey","attribute","value","join","capitalize","toString","charAt","toLocaleUpperCase","slice"],"mappings":"4QA2De,CACbA,KAAM,wBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,uBACxBG,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,2BAGlBC,KAEFC,MAAO,CACLC,mBAAoB,CAClBC,KAAMC,MACNC,aAASC,GAEXC,mBAAoB,CAClBJ,KAAMC,MACNC,aAASC,GAEXE,eAAgB,CACdL,KAAMM,SACNJ,aAASC,IAGbI,SAAU,CACRC,wBACE,OAAOC,KAAKC,OAAqC,IAA5BD,KAAKC,MAAMC,MAAMC,QAExCC,wBACE,MAAO,CACLd,mBAAoBU,KAAKV,mBACzBK,mBAAoBK,KAAKL,mBACzBC,eAAgBI,KAAKJ,kBAI3BS,QAAS,CACPC,sDACE,MAAO,CAACC,SAAiBC,cAAiBC,KAAK,MAEjDC,oBAAWF,GACT,OAAKA,EAEHA,EAAMG,WAAWC,OAAO,GAAGC,oBAC3BL,EAAMG,WAAWG,MAAM,GAHN"}
@@ -0,0 +1,2 @@
1
+ import{openBlock as e,createElementBlock as t,normalizeClass as n,renderSlot as i,createElementVNode as s,Fragment as r,renderList as a,toDisplayString as l,createTextVNode as u,withModifiers as c,createCommentVNode as f}from"vue";var o={key:0},m=["onClick"];function y(y,b,R,k,p,L){return y.state?(e(),t("div",{key:0,class:n([y.suit(),L.noRefinement&&y.suit("","noRefinement")])},[i(y.$slots,"default",{refine:y.state.refine,items:y.state.items,createURL:y.state.createURL},function(){return[s("ul",{class:n(y.suit("list"))},[(e(!0),t(r,null,a(y.state.items,function(f){return e(),t("li",{key:f.attribute,class:n(y.suit("item"))},[i(y.$slots,"item",{refine:f.refine,item:f,createURL:y.state.createURL},function(){return[s("span",{class:n(y.suit("label"))},l(L.capitalize(f.label))+": ",3),(e(!0),t(r,null,a(f.refinements,function(a){return e(),t("span",{key:L.createItemKey(a),class:n(y.suit("category"))},[i(y.$slots,"refinement",{refine:f.refine,refinement:a,createURL:y.state.createURL},function(){return[s("span",{class:n(y.suit("categoryLabel"))},["query"===a.attribute?(e(),t("q",o,l(a.label),1)):(e(),t(r,{key:1},[u(l(a.label),1)],64))],2),s("button",{class:n(y.suit("delete")),type:"button",onClick:c(function(e){return f.refine(a)},["left","exact"])}," ✕ ",10,m)]})],2)}),128))]})],2)}),128))],2)]})],2)):f("",!0)}export{y as render};
2
+ //# sourceMappingURL=CurrentRefinements.vue_vue&type=template&id=5584328f&lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrentRefinements.vue_vue&type=template&id=5584328f&lang.js","sources":["../../../../src/components/CurrentRefinements.vue?vue&type=template&id=5584328f&lang.js"],"sourcesContent":["<template>\n <div :class=\"[suit(), noRefinement && suit('', 'noRefinement')]\" v-if=\"state\">\n <slot\n :refine=\"state.refine\"\n :items=\"state.items\"\n :createURL=\"state.createURL\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.attribute\"\n :class=\"suit('item')\"\n >\n <slot\n name=\"item\"\n :refine=\"item.refine\"\n :item=\"item\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('label')\">{{ capitalize(item.label) }}: </span>\n <span\n v-for=\"refinement in item.refinements\"\n :key=\"createItemKey(refinement)\"\n :class=\"suit('category')\"\n >\n <slot\n name=\"refinement\"\n :refine=\"item.refine\"\n :refinement=\"refinement\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('categoryLabel')\">\n <q v-if=\"refinement.attribute === 'query'\">{{\n refinement.label\n }}</q>\n <template v-else>{{ refinement.label }}</template> </span\n ><button\n :class=\"suit('delete')\"\n type=\"button\"\n @click.left.exact=\"item.refine(refinement)\"\n >\n ✕\n </button>\n </slot>\n </span>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectCurrentRefinements } from 'instantsearch.js/es/connectors';\n\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisCurrentRefinements',\n mixins: [\n createSuitMixin({ name: 'CurrentRefinements' }),\n createWidgetMixin(\n {\n connector: connectCurrentRefinements,\n },\n {\n $$widgetType: 'ais.currentRefinements',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n includedAttributes: {\n type: Array,\n default: undefined,\n },\n excludedAttributes: {\n type: Array,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n noRefinement() {\n return this.state && this.state.items.length === 0;\n },\n widgetParams() {\n return {\n includedAttributes: this.includedAttributes,\n excludedAttributes: this.excludedAttributes,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n createItemKey({ attribute, value, type, operator }) {\n return [attribute, type, value, operator].join(':');\n },\n capitalize(value) {\n if (!value) return '';\n return (\n value.toString().charAt(0).toLocaleUpperCase() +\n value.toString().slice(1)\n );\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","$options","_renderSlot","refine","items","createURL","_createElementVNode","item","key","attribute","label","refinements","refinement","type","onClick"],"mappings":"kSACyEA,aAAvEC,eAAMC,SAAQF,SAAQG,gBAAgBH,8BACpCI,sBACGC,OAAQL,QAAMK,OACdC,MAAON,QAAMM,MACbC,UAAWP,QAAMO,6BAElBC,QAAKN,QAAOF,yBACVC,WACiBD,QAAMM,eAAdG,cADTR,QAEGS,IAAKD,EAAKE,UACVT,QAAOF,kBAERI,mBAEGC,OAAQI,EAAKJ,OACbI,KAAMA,EACNF,UAAWP,QAAMO,6BAElBC,UAAON,QAAOF,oBAAkBG,aAAWM,EAAKG,QAAS,eACzDX,WACuBQ,EAAKI,qBAAnBC,cADTb,UAEGS,IAAKP,gBAAcW,GACnBZ,QAAOF,sBAERI,yBAEGC,OAAQI,EAAKJ,OACbS,WAAYA,EACZP,UAAWP,QAAMO,6BAElBC,EAKC,QALMN,QAAOF,qCACHc,EAAWH,eAApBV,UACEa,EAAWF,gBAEbX,iBAAoBa,EAAWF,oBAChCJ,YACEN,QAAOF,kBACRe,KAAK,SACJC,6BAAkBP,EAAKJ,OAAOS"}
@@ -1,2 +1,2 @@
1
- import e from"./Pagination.vue_vue&type=script&lang.js";import{render as t}from"./Pagination.vue_vue&type=template&id=5a680db4&lang.js";e.render=t;export default e;
1
+ import e from"./Pagination.vue_vue&type=script&lang.js";import{render as t}from"./Pagination.vue_vue&type=template&id=36adea52&lang.js";e.render=t;export default e;
2
2
  //# sourceMappingURL=Pagination.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.vue_vue&type=script&lang.js","sources":["../../../../src/components/Pagination.vue"],"sourcesContent":["<template>\n <div v-if=\"state\" :class=\"suit()\">\n <slot\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :current-refinement=\"state.currentRefinement\"\n :nb-hits=\"state.nbHits\"\n :nb-pages=\"state.nbPages\"\n :pages=\"state.pages\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'firstPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showFirst\"\n >\n <slot\n name=\"first\"\n :createURL=\"() => state.createURL(0)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(0)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"First\"\n :href=\"state.createURL(0)\"\n @click.prevent=\"refine(0)\"\n >‹‹</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"First\">‹‹</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'previousPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showPrevious\"\n >\n <slot\n name=\"previous\"\n :createURL=\"() => state.createURL(state.currentRefinement - 1)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(state.currentRefinement - 1)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n :href=\"state.createURL(state.currentRefinement - 1)\"\n @click.prevent=\"refine(state.currentRefinement - 1)\"\n >‹</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Previous\">‹</span>\n </template>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'page')]: true,\n [suit('item', 'selected')]: state.currentRefinement === page,\n }\"\n v-for=\"page in state.pages\"\n :key=\"page\"\n >\n <slot\n name=\"item\"\n :page=\"page\"\n :createURL=\"() => state.createURL(page)\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(page)\"\n >\n <a\n :class=\"suit('link')\"\n :href=\"state.createURL(page)\"\n :aria-label=\"`Page ${page + 1}`\"\n @click.prevent=\"refine(page)\"\n >{{ page + 1 }}</a\n >\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'nextPage')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n }\"\n v-if=\"showNext\"\n >\n <slot\n name=\"next\"\n :createURL=\"() => state.createURL(state.currentRefinement + 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.currentRefinement + 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Next\"\n :href=\"state.createURL(state.currentRefinement + 1)\"\n @click.prevent=\"refine(state.currentRefinement + 1)\"\n >›</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Next\">›</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'lastPage')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n }\"\n v-if=\"showLast\"\n >\n <slot\n name=\"last\"\n :createURL=\"() => state.createURL(state.nbPages - 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.nbPages - 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Last\"\n :href=\"state.createURL(state.nbPages - 1)\"\n @click.prevent=\"refine(state.nbPages - 1)\"\n >››</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Last\">››</span>\n </template>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectPagination } from 'instantsearch.js/es/connectors';\n\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisPagination',\n mixins: [\n createSuitMixin({ name: 'Pagination' }),\n createWidgetMixin(\n {\n connector: connectPagination,\n },\n {\n $$widgetType: 'ais.pagination',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n padding: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n totalPages: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n showFirst: {\n type: Boolean,\n default: true,\n },\n showLast: {\n type: Boolean,\n default: true,\n },\n showNext: {\n type: Boolean,\n default: true,\n },\n showPrevious: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n widgetParams() {\n return {\n padding: this.padding,\n totalPages: this.totalPages,\n };\n },\n },\n emits: ['page-change'],\n methods: {\n refine(page) {\n const p = Math.min(Math.max(page, 0), this.state.nbPages - 1);\n this.state.refine(p);\n // TODO: do this in a general way\n this.$emit('page-change', p);\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectPagination","$$widgetType","createPanelConsumerMixin","props","padding","type","Number","default","undefined","validator","value","totalPages","showFirst","Boolean","showLast","showNext","showPrevious","computed","widgetParams","this","emits","methods","refine","page","const","p","Math","min","max","state","nbPages","$emit"],"mappings":"oQAqKe,CACbA,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,mBAGlBC,KAEFC,MAAO,CACLC,QAAS,CACPC,KAAMC,OACNC,aAASC,EACTC,mBAAUC,GACR,OAAOA,EAAQ,IAGnBC,WAAY,CACVN,KAAMC,OACNC,aAASC,EACTC,mBAAUC,GACR,OAAOA,EAAQ,IAGnBE,UAAW,CACTP,KAAMQ,QACNN,SAAS,GAEXO,SAAU,CACRT,KAAMQ,QACNN,SAAS,GAEXQ,SAAU,CACRV,KAAMQ,QACNN,SAAS,GAEXS,aAAc,CACZX,KAAMQ,QACNN,SAAS,IAGbU,SAAU,CACRC,wBACE,MAAO,CACLd,QAASe,KAAKf,QACdO,WAAYQ,KAAKR,cAIvBS,MAAO,CAAC,eACRC,QAAS,CACPC,gBAAOC,GACLC,IAAMC,EAAIC,KAAKC,IAAID,KAAKE,IAAIL,EAAM,GAAIJ,KAAKU,MAAMC,QAAU,GAC3DX,KAAKU,MAAMP,OAAOG,GAElBN,KAAKY,MAAM,cAAeN"}
1
+ {"version":3,"file":"Pagination.vue_vue&type=script&lang.js","sources":["../../../../src/components/Pagination.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"{ [suit()]: true, [suit('', 'noRefinement')]: state.nbPages <= 1 }\"\n >\n <slot\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :current-refinement=\"state.currentRefinement\"\n :nb-hits=\"state.nbHits\"\n :nb-pages=\"state.nbPages\"\n :pages=\"state.pages\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n [suit('item', 'firstPage')]: true,\n }\"\n v-if=\"showFirst\"\n >\n <slot\n name=\"first\"\n :createURL=\"() => state.createURL(0)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(0)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"First\"\n :href=\"state.createURL(0)\"\n @click.exact.left.prevent=\"refine(0)\"\n >‹‹</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"First\">‹‹</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n [suit('item', 'previousPage')]: true,\n }\"\n v-if=\"showPrevious\"\n >\n <slot\n name=\"previous\"\n :createURL=\"() => state.createURL(state.currentRefinement - 1)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(state.currentRefinement - 1)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n :href=\"state.createURL(state.currentRefinement - 1)\"\n @click.exact.left.prevent=\"refine(state.currentRefinement - 1)\"\n >‹</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Previous\">‹</span>\n </template>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'page')]: true,\n [suit('item', 'selected')]: state.currentRefinement === page,\n }\"\n v-for=\"page in state.pages\"\n :key=\"page\"\n >\n <slot\n name=\"item\"\n :page=\"page\"\n :createURL=\"() => state.createURL(page)\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(page)\"\n >\n <a\n :class=\"suit('link')\"\n :href=\"state.createURL(page)\"\n :aria-label=\"`Page ${page + 1}`\"\n @click.exact.left.prevent=\"refine(page)\"\n >{{ page + 1 }}</a\n >\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n [suit('item', 'nextPage')]: true,\n }\"\n v-if=\"showNext\"\n >\n <slot\n name=\"next\"\n :createURL=\"() => state.createURL(state.currentRefinement + 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.currentRefinement + 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Next\"\n :href=\"state.createURL(state.currentRefinement + 1)\"\n @click.exact.left.prevent=\"refine(state.currentRefinement + 1)\"\n >›</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Next\">›</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n [suit('item', 'lastPage')]: true,\n }\"\n v-if=\"showLast\"\n >\n <slot\n name=\"last\"\n :createURL=\"() => state.createURL(state.nbPages - 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.nbPages - 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Last\"\n :href=\"state.createURL(state.nbPages - 1)\"\n @click.exact.left.prevent=\"refine(state.nbPages - 1)\"\n >››</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Last\">››</span>\n </template>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectPagination } from 'instantsearch.js/es/connectors';\n\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisPagination',\n mixins: [\n createSuitMixin({ name: 'Pagination' }),\n createWidgetMixin(\n {\n connector: connectPagination,\n },\n {\n $$widgetType: 'ais.pagination',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n padding: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n totalPages: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n showFirst: {\n type: Boolean,\n default: true,\n },\n showLast: {\n type: Boolean,\n default: true,\n },\n showNext: {\n type: Boolean,\n default: true,\n },\n showPrevious: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n widgetParams() {\n return {\n padding: this.padding,\n totalPages: this.totalPages,\n };\n },\n },\n emits: ['page-change'],\n methods: {\n refine(page) {\n const p = Math.min(Math.max(page, 0), this.state.nbPages - 1);\n this.state.refine(p);\n // TODO: do this in a general way\n this.$emit('page-change', p);\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectPagination","$$widgetType","createPanelConsumerMixin","props","padding","type","Number","default","undefined","validator","value","totalPages","showFirst","Boolean","showLast","showNext","showPrevious","computed","widgetParams","this","emits","methods","refine","page","const","p","Math","min","max","state","nbPages","$emit"],"mappings":"oQAwKe,CACbA,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,mBAGlBC,KAEFC,MAAO,CACLC,QAAS,CACPC,KAAMC,OACNC,aAASC,EACTC,mBAAUC,GACR,OAAOA,EAAQ,IAGnBC,WAAY,CACVN,KAAMC,OACNC,aAASC,EACTC,mBAAUC,GACR,OAAOA,EAAQ,IAGnBE,UAAW,CACTP,KAAMQ,QACNN,SAAS,GAEXO,SAAU,CACRT,KAAMQ,QACNN,SAAS,GAEXQ,SAAU,CACRV,KAAMQ,QACNN,SAAS,GAEXS,aAAc,CACZX,KAAMQ,QACNN,SAAS,IAGbU,SAAU,CACRC,wBACE,MAAO,CACLd,QAASe,KAAKf,QACdO,WAAYQ,KAAKR,cAIvBS,MAAO,CAAC,eACRC,QAAS,CACPC,gBAAOC,GACLC,IAAMC,EAAIC,KAAKC,IAAID,KAAKE,IAAIL,EAAM,GAAIJ,KAAKU,MAAMC,QAAU,GAC3DX,KAAKU,MAAMP,OAAOG,GAElBN,KAAKY,MAAM,cAAeN"}
@@ -0,0 +1,2 @@
1
+ import{openBlock as e,createElementBlock as t,normalizeClass as s,renderSlot as a,createElementVNode as i,withModifiers as n,createCommentVNode as r,Fragment as u,renderList as c,toDisplayString as l}from"vue";var f=["href"],o=["href"],g=["href","aria-label","onClick"],P=["href"],L=["href"];function m(m,k,R,b,p,U){var v;return m.state?(e(),t("div",{key:0,class:s((v={},v[m.suit()]=!0,v[m.suit("","noRefinement")]=m.state.nbPages<=1,v))},[a(m.$slots,"default",{refine:U.refine,createURL:m.state.createURL,currentRefinement:m.state.currentRefinement,nbHits:m.state.nbHits,nbPages:m.state.nbPages,pages:m.state.pages,isFirstPage:m.state.isFirstPage,isLastPage:m.state.isLastPage},function(){var b,p,v,F;return[i("ul",{class:s(m.suit("list"))},[R.showFirst?(e(),t("li",{key:0,class:s((b={},b[m.suit("item")]=!0,b[m.suit("item","disabled")]=m.state.isFirstPage,b[m.suit("item","firstPage")]=!0,b))},[a(m.$slots,"first",{createURL:function(){return m.state.createURL(0)},isFirstPage:m.state.isFirstPage,refine:function(){return U.refine(0)}},function(){return[m.state.isFirstPage?(e(),t("span",{key:1,class:s(m.suit("link")),"aria-label":"First"},"‹‹",2)):(e(),t("a",{key:0,class:s(m.suit("link")),"aria-label":"First",href:m.state.createURL(0),onClick:k[0]||(k[0]=n(function(e){return U.refine(0)},["exact","left","prevent"]))},"‹‹",10,f))]})],2)):r("",!0),R.showPrevious?(e(),t("li",{key:1,class:s((p={},p[m.suit("item")]=!0,p[m.suit("item","disabled")]=m.state.isFirstPage,p[m.suit("item","previousPage")]=!0,p))},[a(m.$slots,"previous",{createURL:function(){return m.state.createURL(m.state.currentRefinement-1)},isFirstPage:m.state.isFirstPage,refine:function(){return U.refine(m.state.currentRefinement-1)}},function(){return[m.state.isFirstPage?(e(),t("span",{key:1,class:s(m.suit("link")),"aria-label":"Previous"},"‹",2)):(e(),t("a",{key:0,class:s(m.suit("link")),"aria-label":"Previous",href:m.state.createURL(m.state.currentRefinement-1),onClick:k[1]||(k[1]=n(function(e){return U.refine(m.state.currentRefinement-1)},["exact","left","prevent"]))},"‹",10,o))]})],2)):r("",!0),(e(!0),t(u,null,c(m.state.pages,function(r){var u;return e(),t("li",{class:s((u={},u[m.suit("item")]=!0,u[m.suit("item","page")]=!0,u[m.suit("item","selected")]=m.state.currentRefinement===r,u)),key:r},[a(m.$slots,"item",{page:r,createURL:function(){return m.state.createURL(r)},isFirstPage:m.state.isFirstPage,isLastPage:m.state.isLastPage,refine:function(){return U.refine(r)}},function(){return[i("a",{class:s(m.suit("link")),href:m.state.createURL(r),"aria-label":"Page "+(r+1),onClick:n(function(e){return U.refine(r)},["exact","left","prevent"])},l(r+1),11,g)]})],2)}),128)),R.showNext?(e(),t("li",{key:2,class:s((v={},v[m.suit("item")]=!0,v[m.suit("item","disabled")]=m.state.isLastPage,v[m.suit("item","nextPage")]=!0,v))},[a(m.$slots,"next",{createURL:function(){return m.state.createURL(m.state.currentRefinement+1)},isLastPage:m.state.isLastPage,refine:function(){return U.refine(m.state.currentRefinement+1)}},function(){return[m.state.isLastPage?(e(),t("span",{key:1,class:s(m.suit("link")),"aria-label":"Next"},"›",2)):(e(),t("a",{key:0,class:s(m.suit("link")),"aria-label":"Next",href:m.state.createURL(m.state.currentRefinement+1),onClick:k[2]||(k[2]=n(function(e){return U.refine(m.state.currentRefinement+1)},["exact","left","prevent"]))},"›",10,P))]})],2)):r("",!0),R.showLast?(e(),t("li",{key:3,class:s((F={},F[m.suit("item")]=!0,F[m.suit("item","disabled")]=m.state.isLastPage,F[m.suit("item","lastPage")]=!0,F))},[a(m.$slots,"last",{createURL:function(){return m.state.createURL(m.state.nbPages-1)},isLastPage:m.state.isLastPage,refine:function(){return U.refine(m.state.nbPages-1)}},function(){return[m.state.isLastPage?(e(),t("span",{key:1,class:s(m.suit("link")),"aria-label":"Last"},"››",2)):(e(),t("a",{key:0,class:s(m.suit("link")),"aria-label":"Last",href:m.state.createURL(m.state.nbPages-1),onClick:k[3]||(k[3]=n(function(e){return U.refine(m.state.nbPages-1)},["exact","left","prevent"]))},"››",10,L))]})],2)):r("",!0)],2)]})],2)):r("",!0)}export{m as render};
2
+ //# sourceMappingURL=Pagination.vue_vue&type=template&id=36adea52&lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.vue_vue&type=template&id=36adea52&lang.js","sources":["../../../../src/components/Pagination.vue?vue&type=template&id=36adea52&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"{ [suit()]: true, [suit('', 'noRefinement')]: state.nbPages <= 1 }\"\n >\n <slot\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :current-refinement=\"state.currentRefinement\"\n :nb-hits=\"state.nbHits\"\n :nb-pages=\"state.nbPages\"\n :pages=\"state.pages\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n [suit('item', 'firstPage')]: true,\n }\"\n v-if=\"showFirst\"\n >\n <slot\n name=\"first\"\n :createURL=\"() => state.createURL(0)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(0)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"First\"\n :href=\"state.createURL(0)\"\n @click.exact.left.prevent=\"refine(0)\"\n >‹‹</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"First\">‹‹</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n [suit('item', 'previousPage')]: true,\n }\"\n v-if=\"showPrevious\"\n >\n <slot\n name=\"previous\"\n :createURL=\"() => state.createURL(state.currentRefinement - 1)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(state.currentRefinement - 1)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n :href=\"state.createURL(state.currentRefinement - 1)\"\n @click.exact.left.prevent=\"refine(state.currentRefinement - 1)\"\n >‹</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Previous\">‹</span>\n </template>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'page')]: true,\n [suit('item', 'selected')]: state.currentRefinement === page,\n }\"\n v-for=\"page in state.pages\"\n :key=\"page\"\n >\n <slot\n name=\"item\"\n :page=\"page\"\n :createURL=\"() => state.createURL(page)\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(page)\"\n >\n <a\n :class=\"suit('link')\"\n :href=\"state.createURL(page)\"\n :aria-label=\"`Page ${page + 1}`\"\n @click.exact.left.prevent=\"refine(page)\"\n >{{ page + 1 }}</a\n >\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n [suit('item', 'nextPage')]: true,\n }\"\n v-if=\"showNext\"\n >\n <slot\n name=\"next\"\n :createURL=\"() => state.createURL(state.currentRefinement + 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.currentRefinement + 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Next\"\n :href=\"state.createURL(state.currentRefinement + 1)\"\n @click.exact.left.prevent=\"refine(state.currentRefinement + 1)\"\n >›</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Next\">›</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n [suit('item', 'lastPage')]: true,\n }\"\n v-if=\"showLast\"\n >\n <slot\n name=\"last\"\n :createURL=\"() => state.createURL(state.nbPages - 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.nbPages - 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Last\"\n :href=\"state.createURL(state.nbPages - 1)\"\n @click.exact.left.prevent=\"refine(state.nbPages - 1)\"\n >››</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Last\">››</span>\n </template>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectPagination } from 'instantsearch.js/es/connectors';\n\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisPagination',\n mixins: [\n createSuitMixin({ name: 'Pagination' }),\n createWidgetMixin(\n {\n connector: connectPagination,\n },\n {\n $$widgetType: 'ais.pagination',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n padding: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n totalPages: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n showFirst: {\n type: Boolean,\n default: true,\n },\n showLast: {\n type: Boolean,\n default: true,\n },\n showNext: {\n type: Boolean,\n default: true,\n },\n showPrevious: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n widgetParams() {\n return {\n padding: this.padding,\n totalPages: this.totalPages,\n };\n },\n },\n emits: ['page-change'],\n methods: {\n refine(page) {\n const p = Math.min(Math.max(page, 0), this.state.nbPages - 1);\n this.state.refine(p);\n // TODO: do this in a general way\n this.$emit('page-change', p);\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","nbPages","_renderSlot","refine","$options","createURL","currentRefinement","nbHits","pages","isFirstPage","isLastPage","_createElementVNode","$props","aria-label","href","onClick","page","key"],"mappings":"yUAEUA,aADRC,eAEGC,gBAAUF,eAAgBA,2BAA2BA,QAAMG,iBAE5DC,sBACGC,OAAQC,SACRC,UAAWP,QAAMO,UACjBC,kBAAoBR,QAAMQ,kBAC1BC,OAAST,QAAMS,OACfN,QAAUH,QAAMG,QAChBO,MAAOV,QAAMU,MACbC,YAAeX,QAAMW,YACrBC,WAAcZ,QAAMY,0CAErBC,QAAKX,QAAOF,kBAOFc,iBANRb,cACGC,2HAODE,oBAEGG,4BAAiBP,QAAMO,cACvBI,YAAeX,QAAMW,YACrBN,yBAAcC,gCAEEN,QAAMW,iBAUrBV,gBAAOC,QAAOF,gBAAce,aAAW,SAAQ,cAT/Cd,aACGC,QAAOF,gBACRe,aAAW,QACVC,KAAMhB,QAAMO,aACZU,yCAA0BX,2CAC1B,6BAcDQ,oBANRb,cACGC,8HAODE,uBAEGG,4BAAiBP,QAAMO,UAAUP,QAAMQ,sBACvCG,YAAeX,QAAMW,YACrBN,yBAAcC,SAAON,QAAMQ,yCAEXR,QAAMW,iBAUrBV,gBAAOC,QAAOF,gBAAce,aAAW,YAAW,aATlDd,aACGC,QAAOF,gBACRe,aAAW,WACVC,KAAMhB,QAAMO,UAAUP,QAAMQ,qBAC5BS,yCAA0BX,SAAON,QAAMQ,oDACvC,mCASTP,WAMiBD,QAAMU,eAAdQ,oBANTjB,QACGC,8HAMAiB,IAAKD,IAENd,mBAEGc,KAAMA,EACNX,4BAAiBP,QAAMO,UAAUW,IACjCP,YAAeX,QAAMW,YACrBC,WAAcZ,QAAMY,WACpBP,yBAAcC,SAAOY,uBAEtBL,OACGX,QAAOF,gBACPgB,KAAMhB,QAAMO,UAAUW,GACtBH,sBAAoBG,KACpBD,6BAA0BX,SAAOY,mCAC9BA,0BAWFJ,gBANRb,cACGC,yHAODE,mBAEGG,4BAAiBP,QAAMO,UAAUP,QAAMQ,sBACvCI,WAAcZ,QAAMY,WACpBP,yBAAcC,SAAON,QAAMQ,yCAEXR,QAAMY,gBAUrBX,gBAAOC,QAAOF,gBAAce,aAAW,QAAO,aAT9Cd,aACGC,QAAOF,gBACRe,aAAW,OACVC,KAAMhB,QAAMO,UAAUP,QAAMQ,qBAC5BS,yCAA0BX,SAAON,QAAMQ,oDACvC,4BAcDM,gBANRb,cACGC,yHAODE,mBAEGG,4BAAiBP,QAAMO,UAAUP,QAAMG,YACvCS,WAAcZ,QAAMY,WACpBP,yBAAcC,SAAON,QAAMG,+BAEXH,QAAMY,gBAUrBX,gBAAOC,QAAOF,gBAAce,aAAW,QAAO,cAT9Cd,aACGC,QAAOF,gBACRe,aAAW,OACVC,KAAMhB,QAAMO,UAAUP,QAAMG,WAC5Bc,yCAA0BX,SAAON,QAAMG,0CACvC"}
@@ -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{warn as a}from"./warn.js";import{version as i}from"../../package.json.js";var s=function(s){var r;return t(((r={mixins:[n({name:"InstantSearch"})],provide:function(){return{$_ais_instantSearchInstance:this.instantSearchInstance}},watch:{searchClient:function(n){a(!1),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/instantsearch.js/discussions/new?category=ideas&labels=triage%2cLibrary%3A+Vue+InstantSearch&title=Feature%20request%3A%20dynamic%20props")},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/instantsearch.js/discussions/new?category=ideas&labels=triage%2cLibrary%3A+Vue+InstantSearch&title=Feature%20request%3A%20dynamic%20props")},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 ("+i+")"))},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},r),s)};export{s 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{warn as a}from"./warn.js";import{version as i}from"../../package.json.js";var s=function(s){var r;return t(((r={mixins:[n({name:"InstantSearch"})],provide:function(){return{$_ais_instantSearchInstance:this.instantSearchInstance}},watch:{searchClient:function(n){a(!1),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/instantsearch/discussions/new?category=ideas&labels=triage%2cLibrary%3A+Vue+InstantSearch&title=Feature%20request%3A%20dynamic%20props")},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/instantsearch/discussions/new?category=ideas&labels=triage%2cLibrary%3A+Vue+InstantSearch&title=Feature%20request%3A%20dynamic%20props")},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 ("+i+")"))},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},r),s)};export{s as createInstantSearchComponent};
2
2
  //# sourceMappingURL=createInstantSearchComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createInstantSearchComponent.js","sources":["../../../../src/util/createInstantSearchComponent.js"],"sourcesContent":["import { version } from '../../package.json'; // rollup does pick only what needed from json\nimport { createSuitMixin } from '../mixins/suit';\n\nimport { _objectSpread } from './polyfills';\nimport { isVue3, version as vueVersion } from './vue-compat';\nimport { warn } from './warn';\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 warn(\n false,\n 'The `search-client` prop of `<ais-instant-search>` changed between renders, which may cause more search requests than necessary. If this is an unwanted behavior, please provide a stable reference: https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-search-client'\n );\n\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/instantsearch.js/discussions/new?category=ideas&labels=triage%2cLibrary%3A+Vue+InstantSearch&title=Feature%20request%3A%20dynamic%20props'\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/instantsearch.js/discussions/new?category=ideas&labels=triage%2cLibrary%3A+Vue+InstantSearch&title=Feature%20request%3A%20dynamic%20props'\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","warn","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","const","client","addAlgoliaAgent","vueVersion","version","mounted","$nextTick","started","start","dispose","__initialSearchResults","undefined"],"mappings":"yPAOaA,WAAgCC,gBAC3CC,MACE,CACEC,OAAQ,CAACC,EAAgB,CAAEC,KAAM,mBACjCC,mBACE,MAAO,CACLC,4BAA6BC,KAAKC,wBAGtCC,MAAO,CACLC,sBAAaA,GACXC,GACE,GAIFJ,KAAKC,sBAAsBI,OAAOC,UAAUH,GAAcI,UAE5DC,mBAAUA,GACRR,KAAKC,sBAAsBI,OAAOI,SAASD,GAAa,IAAID,UAE9DG,4BAAmBA,GAEjBV,KAAKC,sBAAsBU,oBAAsBD,GAEnDE,mBACE,MAAM,IAAIC,MACR,yQAKJC,yBACE,MAAM,IAAID,MACR,+QAKJE,wBAAeA,GAEbf,KAAKC,sBAAsBe,gBAAkBD,GAE/CE,YAAa,CACXC,WAAW,EACXC,iBAAQC,EAAMC,eACXA,GAAQ,IACNC,gBAAQC,UAAqD,KAArCH,GAAQ,IAAII,QAAQD,KAC5CE,iBAASC,GACR1B,EAAKC,sBAAsB0B,MAAMD,MAGpCN,GAAQ,IACNE,gBAAQC,UAAqD,KAArCF,GAAQ,IAAIG,QAAQD,KAC5CE,iBAASG,GACR5B,EAAKC,sBAAsB4B,IAAID,QAKzCE,mBACEC,IAAM5B,EAAeH,KAAKC,sBAAsB+B,OACJ,mBAAjC7B,EAAa8B,kBACtB9B,EAAa8B,wBAAwBC,OACrC/B,EAAa8B,sCAAsCE,SAGvDC,8BAIEpC,KAAKqC,qBACErC,EAAKC,sBAAsBqC,SAC9BtC,EAAKC,sBAAsBsC,aAIU,yBACrCvC,KAAKC,sBAAsBqC,SAC7BtC,KAAKC,sBAAsBuC,UAI7BxC,KAAKC,sBAAsBwC,4BAAyBC,MAGxDjD"}
1
+ {"version":3,"file":"createInstantSearchComponent.js","sources":["../../../../src/util/createInstantSearchComponent.js"],"sourcesContent":["import { version } from '../../package.json'; // rollup does pick only what needed from json\nimport { createSuitMixin } from '../mixins/suit';\n\nimport { _objectSpread } from './polyfills';\nimport { isVue3, version as vueVersion } from './vue-compat';\nimport { warn } from './warn';\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 warn(\n false,\n 'The `search-client` prop of `<ais-instant-search>` changed between renders, which may cause more search requests than necessary. If this is an unwanted behavior, please provide a stable reference: https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-search-client'\n );\n\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/instantsearch/discussions/new?category=ideas&labels=triage%2cLibrary%3A+Vue+InstantSearch&title=Feature%20request%3A%20dynamic%20props'\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/instantsearch/discussions/new?category=ideas&labels=triage%2cLibrary%3A+Vue+InstantSearch&title=Feature%20request%3A%20dynamic%20props'\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","warn","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","const","client","addAlgoliaAgent","vueVersion","version","mounted","$nextTick","started","start","dispose","__initialSearchResults","undefined"],"mappings":"yPAOaA,WAAgCC,gBAC3CC,MACE,CACEC,OAAQ,CAACC,EAAgB,CAAEC,KAAM,mBACjCC,mBACE,MAAO,CACLC,4BAA6BC,KAAKC,wBAGtCC,MAAO,CACLC,sBAAaA,GACXC,GACE,GAIFJ,KAAKC,sBAAsBI,OAAOC,UAAUH,GAAcI,UAE5DC,mBAAUA,GACRR,KAAKC,sBAAsBI,OAAOI,SAASD,GAAa,IAAID,UAE9DG,4BAAmBA,GAEjBV,KAAKC,sBAAsBU,oBAAsBD,GAEnDE,mBACE,MAAM,IAAIC,MACR,sQAKJC,yBACE,MAAM,IAAID,MACR,4QAKJE,wBAAeA,GAEbf,KAAKC,sBAAsBe,gBAAkBD,GAE/CE,YAAa,CACXC,WAAW,EACXC,iBAAQC,EAAMC,eACXA,GAAQ,IACNC,gBAAQC,UAAqD,KAArCH,GAAQ,IAAII,QAAQD,KAC5CE,iBAASC,GACR1B,EAAKC,sBAAsB0B,MAAMD,MAGpCN,GAAQ,IACNE,gBAAQC,UAAqD,KAArCF,GAAQ,IAAIG,QAAQD,KAC5CE,iBAASG,GACR5B,EAAKC,sBAAsB4B,IAAID,QAKzCE,mBACEC,IAAM5B,EAAeH,KAAKC,sBAAsB+B,OACJ,mBAAjC7B,EAAa8B,kBACtB9B,EAAa8B,wBAAwBC,OACrC/B,EAAa8B,sCAAsCE,SAGvDC,8BAIEpC,KAAKqC,qBACErC,EAAKC,sBAAsBqC,SAC9BtC,EAAKC,sBAAsBsC,aAIU,yBACrCvC,KAAKC,sBAAsBqC,SAC7BtC,KAAKC,sBAAsBuC,UAI7BxC,KAAKC,sBAAsBwC,4BAAyBC,MAGxDjD"}