vue-instantsearch 4.11.0 → 4.12.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.
@@ -1,2 +1,2 @@
1
- var r="4.11.0";export{r as version};
1
+ var r="4.12.1";export{r as version};
2
2
  //# sourceMappingURL=package.json.js.map
@@ -1,2 +1,2 @@
1
- import{renderCompat as t,getDefaultSlot as e}from"../util/vue-compat/index-vue3.js";import{warn as i}from"../util/warn.js";import n from"instantsearch.js/es/index.js";import{createInstantSearchComponent as a}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 a({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)}},insights:{default:void 0,validator:function(t){return"boolean"==typeof t||"object"==typeof t}},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},future:{type:Object,default:void 0}},data:function(){return{instantSearchInstance:n({searchClient:this.searchClient,insightsClient:this.insightsClient,insights:this.insights,indexName:this.indexName,routing:this.routing,stalledSearchDelay:this.stalledSearchDelay,searchFunction:this.searchFunction,onStateChange:this.onStateChange,initialUiState:this.initialUiState,future:this.future})}},render:t(function(t){var i;return t("div",{class:(i={},i[this.suit()]=!0,i[this.suit("","ssr")]=!1,i)},e(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 n from"instantsearch.js/es/index.js";import{createInstantSearchComponent as a}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 a({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)}},insights:{default:void 0,validator:function(t){return void 0===t||"boolean"==typeof t||"object"==typeof t}},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},future:{type:Object,default:void 0}},data:function(){return{instantSearchInstance:n({searchClient:this.searchClient,insightsClient:this.insightsClient,insights:this.insights,indexName:this.indexName,routing:this.routing,stalledSearchDelay:this.stalledSearchDelay,searchFunction:this.searchFunction,onStateChange:this.onStateChange,initialUiState:this.initialUiState,future:this.future})}},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';\n\nimport { createInstantSearchComponent } from '../util/createInstantSearchComponent';\nimport { renderCompat, getDefaultSlot } from '../util/vue-compat';\nimport { warn } from '../util/warn';\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 insights: {\n default: undefined,\n validator(value) {\n return typeof value === 'boolean' || typeof value === 'object';\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 future: {\n type: Object,\n default: undefined,\n },\n },\n data() {\n return {\n instantSearchInstance: instantsearch({\n searchClient: this.searchClient,\n insightsClient: this.insightsClient,\n insights: this.insights,\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 future: this.future,\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","insights","stalledSearchDelay","Number","searchFunction","onStateChange","initialUiState","apiKey","appId","middlewares","Array","future","data","instantSearchInstance","instantsearch","this","render","renderCompat","h","class","suit","getDefaultSlot"],"mappings":"8PAMAA,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,GACR,QACmB,kBAAVA,IACLA,EAAMC,SAAWD,EAAME,gBAEzBC,EACE,iLAEK,KAKbC,SAAU,CACRV,aAASC,EACTI,mBAAUC,GACR,MAAwB,kBAAVA,GAAwC,iBAAVA,IAGhDK,mBAAoB,CAClBhB,KAAMiB,OACNZ,aAASC,GAEXY,eAAgB,CACdlB,KAAMI,SACNC,aAASC,GAEXa,cAAe,CACbnB,KAAMI,SACNC,aAASC,GAEXc,eAAgB,CACdpB,KAAMC,OACNI,aAASC,GAEXe,OAAQ,CACNrB,KAAMQ,OACNH,aAASC,EACTI,mBAAUC,GAIR,OAHIA,GACFG,EAAKnB,IAEA,IAGX2B,MAAO,CACLtB,KAAMQ,OACNH,aAASC,EACTI,mBAAUC,GAIR,OAHIA,GACFG,EAAKnB,IAEA,IAGX4B,YAAa,CACXvB,KAAMwB,MACNnB,QAAS,MAEXoB,OAAQ,CACNzB,KAAMC,OACNI,aAASC,IAGboB,gBACE,MAAO,CACLC,sBAAuBC,EAAc,CACnC7B,aAAc8B,KAAK9B,aACnBI,eAAgB0B,KAAK1B,eACrBY,SAAUc,KAAKd,SACfR,UAAWsB,KAAKtB,UAChBE,QAASoB,KAAKpB,QACdO,mBAAoBa,KAAKb,mBACzBE,eAAgBW,KAAKX,eACrBC,cAAeU,KAAKV,cACpBC,eAAgBS,KAAKT,eACrBK,OAAQI,KAAKJ,WAInBK,OAAQC,EAAa,SAAUC,SAC7B,OAAOA,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';\n\nimport { createInstantSearchComponent } from '../util/createInstantSearchComponent';\nimport { renderCompat, getDefaultSlot } from '../util/vue-compat';\nimport { warn } from '../util/warn';\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 insights: {\n default: undefined,\n validator(value) {\n return (\n typeof value === 'undefined' ||\n typeof value === 'boolean' ||\n typeof value === 'object'\n );\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 future: {\n type: Object,\n default: undefined,\n },\n },\n data() {\n return {\n instantSearchInstance: instantsearch({\n searchClient: this.searchClient,\n insightsClient: this.insightsClient,\n insights: this.insights,\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 future: this.future,\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","insights","stalledSearchDelay","Number","searchFunction","onStateChange","initialUiState","apiKey","appId","middlewares","Array","future","data","instantSearchInstance","instantsearch","this","render","renderCompat","h","class","suit","getDefaultSlot"],"mappings":"8PAMAA,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,GACR,QACmB,kBAAVA,IACLA,EAAMC,SAAWD,EAAME,gBAEzBC,EACE,iLAEK,KAKbC,SAAU,CACRV,aAASC,EACTI,mBAAUC,GACR,YACmB,IAAVA,GACU,kBAAVA,GACU,iBAAVA,IAIbK,mBAAoB,CAClBhB,KAAMiB,OACNZ,aAASC,GAEXY,eAAgB,CACdlB,KAAMI,SACNC,aAASC,GAEXa,cAAe,CACbnB,KAAMI,SACNC,aAASC,GAEXc,eAAgB,CACdpB,KAAMC,OACNI,aAASC,GAEXe,OAAQ,CACNrB,KAAMQ,OACNH,aAASC,EACTI,mBAAUC,GAIR,OAHIA,GACFG,EAAKnB,IAEA,IAGX2B,MAAO,CACLtB,KAAMQ,OACNH,aAASC,EACTI,mBAAUC,GAIR,OAHIA,GACFG,EAAKnB,IAEA,IAGX4B,YAAa,CACXvB,KAAMwB,MACNnB,QAAS,MAEXoB,OAAQ,CACNzB,KAAMC,OACNI,aAASC,IAGboB,gBACE,MAAO,CACLC,sBAAuBC,EAAc,CACnC7B,aAAc8B,KAAK9B,aACnBI,eAAgB0B,KAAK1B,eACrBY,SAAUc,KAAKd,SACfR,UAAWsB,KAAKtB,UAChBE,QAASoB,KAAKpB,QACdO,mBAAoBa,KAAKb,mBACzBE,eAAgBW,KAAKX,eACrBC,cAAeU,KAAKV,cACpBC,eAAgBS,KAAKT,eACrBK,OAAQI,KAAKJ,WAInBK,OAAQC,EAAa,SAAUC,SAC7B,OAAOA,EACL,MACA,CACEC,SAAO,KACJJ,KAAKK,SAAS,IACdL,KAAKK,KAAK,GAAI,SAAS,MAG5BC,EAAeN"}
@@ -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=36adea52&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=5b708f87&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\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"}
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 Page\"\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 Page\">‹‹</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 Page\"\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 Page\">‹</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 Page\"\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 Page\">›</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 Page, Page ${state.nbPages}`\"\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\n :class=\"suit('link')\"\n :aria-label=\"`Last Page, Page ${state.nbPages}`\"\n >\n ››\n </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":"oQA6Ke,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 a,renderSlot as s,createElementVNode as i,withModifiers as n,createCommentVNode as r,Fragment as u,renderList as l,toDisplayString as c}from"vue";var f=["href"],g=["href"],P=["href","aria-label","onClick"],o=["href"],L=["aria-label","href"],m=["aria-label"];function k(k,R,b,p,U,v){var F;return k.state?(e(),t("div",{key:0,class:a((F={},F[k.suit()]=!0,F[k.suit("","noRefinement")]=k.state.nbPages<=1,F))},[s(k.$slots,"default",{refine:v.refine,createURL:k.state.createURL,currentRefinement:k.state.currentRefinement,nbHits:k.state.nbHits,nbPages:k.state.nbPages,pages:k.state.pages,isFirstPage:k.state.isFirstPage,isLastPage:k.state.isLastPage},function(){var p,U,F,h;return[i("ul",{class:a(k.suit("list"))},[b.showFirst?(e(),t("li",{key:0,class:a((p={},p[k.suit("item")]=!0,p[k.suit("item","disabled")]=k.state.isFirstPage,p[k.suit("item","firstPage")]=!0,p))},[s(k.$slots,"first",{createURL:function(){return k.state.createURL(0)},isFirstPage:k.state.isFirstPage,refine:function(){return v.refine(0)}},function(){return[k.state.isFirstPage?(e(),t("span",{key:1,class:a(k.suit("link")),"aria-label":"First Page"},"‹‹",2)):(e(),t("a",{key:0,class:a(k.suit("link")),"aria-label":"First Page",href:k.state.createURL(0),onClick:R[0]||(R[0]=n(function(e){return v.refine(0)},["exact","left","prevent"]))},"‹‹",10,f))]})],2)):r("",!0),b.showPrevious?(e(),t("li",{key:1,class:a((U={},U[k.suit("item")]=!0,U[k.suit("item","disabled")]=k.state.isFirstPage,U[k.suit("item","previousPage")]=!0,U))},[s(k.$slots,"previous",{createURL:function(){return k.state.createURL(k.state.currentRefinement-1)},isFirstPage:k.state.isFirstPage,refine:function(){return v.refine(k.state.currentRefinement-1)}},function(){return[k.state.isFirstPage?(e(),t("span",{key:1,class:a(k.suit("link")),"aria-label":"Previous Page"},"‹",2)):(e(),t("a",{key:0,class:a(k.suit("link")),"aria-label":"Previous Page",href:k.state.createURL(k.state.currentRefinement-1),onClick:R[1]||(R[1]=n(function(e){return v.refine(k.state.currentRefinement-1)},["exact","left","prevent"]))},"‹",10,g))]})],2)):r("",!0),(e(!0),t(u,null,l(k.state.pages,function(r){var u;return e(),t("li",{class:a((u={},u[k.suit("item")]=!0,u[k.suit("item","page")]=!0,u[k.suit("item","selected")]=k.state.currentRefinement===r,u)),key:r},[s(k.$slots,"item",{page:r,createURL:function(){return k.state.createURL(r)},isFirstPage:k.state.isFirstPage,isLastPage:k.state.isLastPage,refine:function(){return v.refine(r)}},function(){return[i("a",{class:a(k.suit("link")),href:k.state.createURL(r),"aria-label":"Page "+(r+1),onClick:n(function(e){return v.refine(r)},["exact","left","prevent"])},c(r+1),11,P)]})],2)}),128)),b.showNext?(e(),t("li",{key:2,class:a((F={},F[k.suit("item")]=!0,F[k.suit("item","disabled")]=k.state.isLastPage,F[k.suit("item","nextPage")]=!0,F))},[s(k.$slots,"next",{createURL:function(){return k.state.createURL(k.state.currentRefinement+1)},isLastPage:k.state.isLastPage,refine:function(){return v.refine(k.state.currentRefinement+1)}},function(){return[k.state.isLastPage?(e(),t("span",{key:1,class:a(k.suit("link")),"aria-label":"Next Page"},"›",2)):(e(),t("a",{key:0,class:a(k.suit("link")),"aria-label":"Next Page",href:k.state.createURL(k.state.currentRefinement+1),onClick:R[2]||(R[2]=n(function(e){return v.refine(k.state.currentRefinement+1)},["exact","left","prevent"]))},"›",10,o))]})],2)):r("",!0),b.showLast?(e(),t("li",{key:3,class:a((h={},h[k.suit("item")]=!0,h[k.suit("item","disabled")]=k.state.isLastPage,h[k.suit("item","lastPage")]=!0,h))},[s(k.$slots,"last",{createURL:function(){return k.state.createURL(k.state.nbPages-1)},isLastPage:k.state.isLastPage,refine:function(){return v.refine(k.state.nbPages-1)}},function(){return[k.state.isLastPage?(e(),t("span",{key:1,class:a(k.suit("link")),"aria-label":"Last Page, Page "+k.state.nbPages}," ›› ",10,m)):(e(),t("a",{key:0,class:a(k.suit("link")),"aria-label":"Last Page, Page "+k.state.nbPages,href:k.state.createURL(k.state.nbPages-1),onClick:R[3]||(R[3]=n(function(e){return v.refine(k.state.nbPages-1)},["exact","left","prevent"]))},"››",10,L))]})],2)):r("",!0)],2)]})],2)):r("",!0)}export{k as render};
2
+ //# sourceMappingURL=Pagination.vue_vue&type=template&id=5b708f87&lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.vue_vue&type=template&id=5b708f87&lang.js","sources":["../../../../src/components/Pagination.vue?vue&type=template&id=5b708f87&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 Page\"\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 Page\">‹‹</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 Page\"\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 Page\">‹</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 Page\"\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 Page\">›</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 Page, Page ${state.nbPages}`\"\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\n :class=\"suit('link')\"\n :aria-label=\"`Last Page, Page ${state.nbPages}`\"\n >\n ››\n </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":"uWAEUA,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,cAAa,cATpDd,aACGC,QAAOF,gBACRe,aAAW,aACVC,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,iBAAgB,aATvDd,aACGC,QAAOF,gBACRe,aAAW,gBACVC,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,aAAY,aATnDd,aACGC,QAAOF,gBACRe,aAAW,YACVC,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,gBACGC,QAAOF,gBACPe,gCAA+Bf,QAAMG,4BAXxCF,aACGC,QAAOF,gBACPe,gCAA+Bf,QAAMG,QACrCa,KAAMhB,QAAMO,UAAUP,QAAMG,WAC5Bc,yCAA0BX,SAAON,QAAMG,0CACvC"}