vue-instantsearch 4.7.2 → 4.8.1

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 (31) hide show
  1. package/package.json +4 -4
  2. package/src/__tests__/common.test.js +99 -0
  3. package/src/components/HierarchicalMenuList.vue +2 -1
  4. package/src/components/Pagination.vue +1 -0
  5. package/src/components/__tests__/HierarchicalMenu.js +9 -0
  6. package/src/components/__tests__/__snapshots__/HierarchicalMenu.js.snap +94 -2
  7. package/src/components/__tests__/__snapshots__/Pagination.js.snap +42 -21
  8. package/src/util/__tests__/createServerRootMixin.test.js +8 -12
  9. package/vue2/cjs/index.js +1 -1
  10. package/vue2/cjs/index.js.map +1 -1
  11. package/vue2/es/package.json.js +1 -1
  12. package/vue2/es/src/components/HierarchicalMenuList.vue.js +1 -1
  13. package/vue2/es/src/components/Pagination.vue.js +1 -1
  14. package/vue2/umd/index.js +1 -1
  15. package/vue2/umd/index.js.map +1 -1
  16. package/vue3/cjs/index.js +1 -1
  17. package/vue3/cjs/index.js.map +1 -1
  18. package/vue3/es/package.json.js +1 -1
  19. package/vue3/es/src/components/HierarchicalMenuList.vue.js +1 -1
  20. package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=script&lang.js.map +1 -1
  21. package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=eb2af574&lang.js +2 -0
  22. package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=eb2af574&lang.js.map +1 -0
  23. package/vue3/es/src/components/Pagination.vue.js +1 -1
  24. package/vue3/es/src/components/Pagination.vue_vue&type=script&lang.js.map +1 -1
  25. package/vue3/es/src/components/{Pagination.vue_vue&type=template&id=189fc463&lang.js → Pagination.vue_vue&type=template&id=455c122a&lang.js} +2 -2
  26. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=455c122a&lang.js.map +1 -0
  27. package/vue3/umd/index.js +1 -1
  28. package/vue3/umd/index.js.map +1 -1
  29. package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=45723c6c&lang.js +0 -2
  30. package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=45723c6c&lang.js.map +0 -1
  31. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=189fc463&lang.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{resolveComponent as e,openBlock as t,createBlock as i,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 t(),i("ul",{class:[v.suit("list"),v.level>0&&v.suit("list","child"),v.suit("list","lvl"+v.level)]},[(t(!0),i(l,null,s(v.items,function(e){return t(),i("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(t){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?(t(),i(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("",!0)],2)}),128))],2)}export{c as render};
2
- //# sourceMappingURL=HierarchicalMenuList.vue_vue&type=template&id=45723c6c&lang.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HierarchicalMenuList.vue_vue&type=template&id=45723c6c&lang.js","sources":["../../../../src/components/HierarchicalMenuList.vue?vue&type=template&id=45723c6c&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'), item.isRefined && suit('link', 'selected')]\"\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","isRefined","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,OAAQC,eAAcC,EAAKK,WAAaN,2BACxCO,6BAAeP,SAAOC,EAAKE,uBAE5BC,UAAOL,MAAOC,mBAAkBC,EAAKO,UACrCJ,UAAOL,MAAOC,mBAAkBC,EAAKQ,kCAI/BR,EAAKS,UADbZ,WAEGa,MAAOV,EAAKS,KACZE,MAAOZ,UACPa,OAAQb,SACRc,UAAWd,YACXe,KAAMf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Pagination.vue_vue&type=template&id=189fc463&lang.js","sources":["../../../../src/components/Pagination.vue?vue&type=template&id=189fc463&lang.js"],"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 @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';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\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","_createBlock","class","_renderSlot","refine","$options","createURL","currentRefinement","nbHits","nbPages","pages","isFirstPage","isLastPage","_createVNode","$props","aria-label","href","onClick","page","key"],"mappings":"+MACaA,aAAXC,eAAmBC,MAAOF,WACxBG,sBACGC,OAAQC,SACRC,UAAWN,QAAMM,UACjBC,kBAAoBP,QAAMO,kBAC1BC,OAASR,QAAMQ,OACfC,QAAUT,QAAMS,QAChBC,MAAOV,QAAMU,MACbC,YAAeX,QAAMW,YACrBC,WAAcZ,QAAMY,0CAErBC,QAAKX,MAAOF,iBAOFc,iBANRb,cACGC,wHAODC,oBAEGG,4BAAiBN,QAAMM,cACvBK,YAAeX,QAAMW,YACrBP,yBAAcC,gCAEEL,QAAMW,iBAUrBV,gBAAOC,MAAOF,eAAce,aAAW,SAAQ,cAT/Cd,aACGC,MAAOF,eACRe,aAAW,QACVC,KAAMhB,QAAMM,aACZW,yCAAeZ,4BACf,oCAcDS,oBANRb,cACGC,2HAODC,uBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMO,sBACvCI,YAAeX,QAAMW,YACrBP,yBAAcC,SAAOL,QAAMO,yCAEXP,QAAMW,iBAUrBV,gBAAOC,MAAOF,eAAce,aAAW,YAAW,aATlDd,aACGC,MAAOF,eACRe,aAAW,WACVC,KAAMhB,QAAMM,UAAUN,QAAMO,qBAC5BU,yCAAeZ,SAAOL,QAAMO,qCAC5B,0CASTN,WAMiBD,QAAMU,eAAdQ,oBANTjB,QACGC,2HAMAiB,IAAKD,IAENf,mBAEGe,KAAMA,EACNZ,4BAAiBN,QAAMM,UAAUY,IACjCP,YAAeX,QAAMW,YACrBC,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOa,uBAEtBL,OACGX,MAAOF,eACPgB,KAAMhB,QAAMM,UAAUY,GACtBD,6BAAeZ,SAAOa,oBACnBA,2CAWFJ,gBANRb,cACGC,sHAODC,mBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMO,sBACvCK,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOL,QAAMO,yCAEXP,QAAMY,gBAUrBX,gBAAOC,MAAOF,eAAce,aAAW,QAAO,aAT9Cd,aACGC,MAAOF,eACRe,aAAW,OACVC,KAAMhB,QAAMM,UAAUN,QAAMO,qBAC5BU,yCAAeZ,SAAOL,QAAMO,qCAC5B,mCAcDO,gBANRb,cACGC,sHAODC,mBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMS,YACvCG,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOL,QAAMS,+BAEXT,QAAMY,gBAUrBX,gBAAOC,MAAOF,eAAce,aAAW,QAAO,cAT9Cd,aACGC,MAAOF,eACRe,aAAW,OACVC,KAAMhB,QAAMM,UAAUN,QAAMS,WAC5BQ,yCAAeZ,SAAOL,QAAMS,2BAC5B"}