vue-instantsearch 4.10.12 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +0 -1
  2. package/package.json +4 -4
  3. package/src/__tests__/common-widgets.test.js +3 -0
  4. package/src/components/InstantSearch.js +10 -1
  5. package/src/components/Pagination.vue +13 -8
  6. package/src/components/__tests__/Hits.js +0 -26
  7. package/src/util/createInstantSearchComponent.js +8 -0
  8. package/vue2/cjs/index.js +1 -1
  9. package/vue2/cjs/index.js.map +1 -1
  10. package/vue2/es/package.json.js +1 -1
  11. package/vue2/es/src/components/InstantSearch.js +1 -1
  12. package/vue2/es/src/components/InstantSearch.js.map +1 -1
  13. package/vue2/es/src/components/Pagination.vue.js +1 -1
  14. package/vue2/es/src/util/createInstantSearchComponent.js +1 -1
  15. package/vue2/es/src/util/createInstantSearchComponent.js.map +1 -1
  16. package/vue2/umd/index.js +1 -1
  17. package/vue2/umd/index.js.map +1 -1
  18. package/vue3/cjs/index.js +1 -1
  19. package/vue3/cjs/index.js.map +1 -1
  20. package/vue3/es/package.json.js +1 -1
  21. package/vue3/es/src/components/InstantSearch.js +1 -1
  22. package/vue3/es/src/components/InstantSearch.js.map +1 -1
  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=5b708f87&lang.js +2 -0
  26. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=5b708f87&lang.js.map +1 -0
  27. package/vue3/es/src/util/createInstantSearchComponent.js +1 -1
  28. package/vue3/es/src/util/createInstantSearchComponent.js.map +1 -1
  29. package/vue3/umd/index.js +1 -1
  30. package/vue3/umd/index.js.map +1 -1
  31. package/src/components/__tests__/__snapshots__/Hits.js.snap +0 -14
  32. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=36adea52&lang.js +0 -2
  33. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=36adea52&lang.js.map +0 -1
@@ -1,2 +1,2 @@
1
- var r="4.10.12";export{r as version};
1
+ var r="4.12.0";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}},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})}},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 },\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 }),\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","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,OAGboB,gBACE,MAAO,CACLC,sBAAuBC,EAAc,CACnC5B,aAAc6B,KAAK7B,aACnBI,eAAgByB,KAAKzB,eACrBY,SAAUa,KAAKb,SACfR,UAAWqB,KAAKrB,UAChBE,QAASmB,KAAKnB,QACdO,mBAAoBY,KAAKZ,mBACzBE,eAAgBU,KAAKV,eACrBC,cAAeS,KAAKT,cACpBC,eAAgBQ,KAAKR,mBAI3BS,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"}
@@ -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/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};
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{INSTANTSEARCH_FUTURE_DEFAULTS as i}from"instantsearch.js/es/lib/InstantSearch.js";import{version as s}from"../../package.json.js";var r=function(r){var c;return t(((c={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)})}},future:function(n){this.instantSearchInstance.future=Object.assign(i,n)}},created:function(){var n=this.instantSearchInstance.client;"function"==typeof n.addAlgoliaAgent&&(n.addAlgoliaAgent("Vue ("+e+")"),n.addAlgoliaAgent("Vue InstantSearch ("+s+")"))},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},c),r)};export{r 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/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"}
1
+ {"version":3,"file":"createInstantSearchComponent.js","sources":["../../../../src/util/createInstantSearchComponent.js"],"sourcesContent":["import { INSTANTSEARCH_FUTURE_DEFAULTS } from 'instantsearch.js/es/lib/InstantSearch';\n\nimport { 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 future(future) {\n this.instantSearchInstance.future = Object.assign(\n INSTANTSEARCH_FUTURE_DEFAULTS,\n future\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","future","Object","assign","INSTANTSEARCH_FUTURE_DEFAULTS","created","const","client","addAlgoliaAgent","vueVersion","version","mounted","$nextTick","started","start","dispose","__initialSearchResults","undefined"],"mappings":"kVASaA,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,OAIvCE,gBAAOA,GACL9B,KAAKC,sBAAsB6B,OAASC,OAAOC,OACzCC,EACAH,KAINI,mBACEC,IAAMhC,EAAeH,KAAKC,sBAAsBmC,OACJ,mBAAjCjC,EAAakC,kBACtBlC,EAAakC,wBAAwBC,OACrCnC,EAAakC,sCAAsCE,SAGvDC,8BAIExC,KAAKyC,qBACEzC,EAAKC,sBAAsByC,SAC9B1C,EAAKC,sBAAsB0C,aAIU,yBACrC3C,KAAKC,sBAAsByC,SAC7B1C,KAAKC,sBAAsB2C,UAI7B5C,KAAKC,sBAAsB4C,4BAAyBC,MAGxDrD"}