vue-instantsearch 4.10.1 → 4.10.3
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.
- package/package.json +8 -6
- package/src/__tests__/common.test.js +29 -0
- package/src/components/Breadcrumb.vue +10 -6
- package/src/components/__tests__/Breadcrumb.js +0 -104
- package/src/components/__tests__/__snapshots__/Breadcrumb.js.snap +5 -87
- package/src/util/__tests__/createServerRootMixin.test.js +57 -0
- package/src/util/createServerRootMixin.js +4 -0
- package/vue2/cjs/index.js +1 -1
- package/vue2/cjs/index.js.map +1 -1
- package/vue2/es/package.json.js +1 -1
- package/vue2/es/src/components/Breadcrumb.vue.js +1 -1
- package/vue2/es/src/util/createServerRootMixin.js +1 -1
- package/vue2/es/src/util/createServerRootMixin.js.map +1 -1
- package/vue2/umd/index.js +1 -1
- package/vue2/umd/index.js.map +1 -1
- package/vue3/cjs/index.js +1 -1
- package/vue3/cjs/index.js.map +1 -1
- package/vue3/es/package.json.js +1 -1
- package/vue3/es/src/components/Autocomplete.vue_vue&type=template&id=7ca53d64&lang.js +1 -1
- package/vue3/es/src/components/Autocomplete.vue_vue&type=template&id=7ca53d64&lang.js.map +1 -1
- package/vue3/es/src/components/Breadcrumb.vue.js +1 -1
- package/vue3/es/src/components/Breadcrumb.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/Breadcrumb.vue_vue&type=template&id=136e0623&lang.js +2 -0
- package/vue3/es/src/components/Breadcrumb.vue_vue&type=template&id=136e0623&lang.js.map +1 -0
- package/vue3/es/src/components/ClearRefinements.vue_vue&type=template&id=1b5799b9&lang.js +1 -1
- package/vue3/es/src/components/ClearRefinements.vue_vue&type=template&id=1b5799b9&lang.js.map +1 -1
- package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=6256a290&lang.js +1 -1
- package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=6256a290&lang.js.map +1 -1
- package/vue3/es/src/components/HierarchicalMenu.vue_vue&type=template&id=3548a9a1&lang.js +1 -1
- package/vue3/es/src/components/HierarchicalMenu.vue_vue&type=template&id=3548a9a1&lang.js.map +1 -1
- package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=eb2af574&lang.js +1 -1
- package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=eb2af574&lang.js.map +1 -1
- package/vue3/es/src/components/Highlighter.vue_vue&type=template&id=11ec06d9&lang.js +1 -1
- package/vue3/es/src/components/Highlighter.vue_vue&type=template&id=11ec06d9&lang.js.map +1 -1
- package/vue3/es/src/components/Hits.vue_vue&type=template&id=d5fcff04&lang.js +1 -1
- package/vue3/es/src/components/Hits.vue_vue&type=template&id=d5fcff04&lang.js.map +1 -1
- package/vue3/es/src/components/HitsPerPage.vue_vue&type=template&id=654e3b4a&lang.js +1 -1
- package/vue3/es/src/components/HitsPerPage.vue_vue&type=template&id=654e3b4a&lang.js.map +1 -1
- package/vue3/es/src/components/InfiniteHits.vue_vue&type=template&id=0abcf352&lang.js +1 -1
- package/vue3/es/src/components/InfiniteHits.vue_vue&type=template&id=0abcf352&lang.js.map +1 -1
- package/vue3/es/src/components/Menu.vue_vue&type=template&id=577979d0&lang.js +1 -1
- package/vue3/es/src/components/Menu.vue_vue&type=template&id=577979d0&lang.js.map +1 -1
- package/vue3/es/src/components/MenuSelect.vue_vue&type=template&id=12bad393&lang.js +1 -1
- package/vue3/es/src/components/MenuSelect.vue_vue&type=template&id=12bad393&lang.js.map +1 -1
- package/vue3/es/src/components/NumericMenu.vue_vue&type=template&id=ada9761c&lang.js +1 -1
- package/vue3/es/src/components/NumericMenu.vue_vue&type=template&id=ada9761c&lang.js.map +1 -1
- package/vue3/es/src/components/Pagination.vue_vue&type=template&id=455c122a&lang.js +1 -1
- package/vue3/es/src/components/Pagination.vue_vue&type=template&id=455c122a&lang.js.map +1 -1
- package/vue3/es/src/components/Panel.vue_vue&type=template&id=766abb5d&lang.js +1 -1
- package/vue3/es/src/components/Panel.vue_vue&type=template&id=766abb5d&lang.js.map +1 -1
- package/vue3/es/src/components/PoweredBy.vue_vue&type=template&id=85db7eac&lang.js +1 -1
- package/vue3/es/src/components/PoweredBy.vue_vue&type=template&id=85db7eac&lang.js.map +1 -1
- package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=template&id=31c98630&lang.js +1 -1
- package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=template&id=31c98630&lang.js.map +1 -1
- package/vue3/es/src/components/RangeInput.vue_vue&type=template&id=2c7c21d8&lang.js +1 -1
- package/vue3/es/src/components/RangeInput.vue_vue&type=template&id=2c7c21d8&lang.js.map +1 -1
- package/vue3/es/src/components/RatingMenu.vue_vue&type=template&id=0fb40347&lang.js +1 -1
- package/vue3/es/src/components/RatingMenu.vue_vue&type=template&id=0fb40347&lang.js.map +1 -1
- package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=00083417&lang.js +1 -1
- package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=00083417&lang.js.map +1 -1
- package/vue3/es/src/components/RelevantSort.vue_vue&type=template&id=0d400606&lang.js +1 -1
- package/vue3/es/src/components/RelevantSort.vue_vue&type=template&id=0d400606&lang.js.map +1 -1
- package/vue3/es/src/components/SearchBox.vue_vue&type=template&id=30bd05ae&lang.js +1 -1
- package/vue3/es/src/components/SearchBox.vue_vue&type=template&id=30bd05ae&lang.js.map +1 -1
- package/vue3/es/src/components/SearchInput.vue_vue&type=template&id=00f0f603&lang.js +1 -1
- package/vue3/es/src/components/SearchInput.vue_vue&type=template&id=00f0f603&lang.js.map +1 -1
- package/vue3/es/src/components/SortBy.vue_vue&type=template&id=6a94a4c1&lang.js +1 -1
- package/vue3/es/src/components/SortBy.vue_vue&type=template&id=6a94a4c1&lang.js.map +1 -1
- package/vue3/es/src/components/StateResults.vue_vue&type=template&id=2ea5b184&lang.js +1 -1
- package/vue3/es/src/components/StateResults.vue_vue&type=template&id=2ea5b184&lang.js.map +1 -1
- package/vue3/es/src/components/Stats.vue_vue&type=template&id=05ff9d6a&lang.js +1 -1
- package/vue3/es/src/components/Stats.vue_vue&type=template&id=05ff9d6a&lang.js.map +1 -1
- package/vue3/es/src/components/ToggleRefinement.vue_vue&type=template&id=461db228&lang.js +1 -1
- package/vue3/es/src/components/ToggleRefinement.vue_vue&type=template&id=461db228&lang.js.map +1 -1
- package/vue3/es/src/components/VoiceSearch.vue_vue&type=template&id=1cf17560&lang.js +1 -1
- package/vue3/es/src/components/VoiceSearch.vue_vue&type=template&id=1cf17560&lang.js.map +1 -1
- package/vue3/es/src/util/createServerRootMixin.js +1 -1
- package/vue3/es/src/util/createServerRootMixin.js.map +1 -1
- package/vue3/umd/index.js +1 -1
- package/vue3/umd/index.js.map +1 -1
- package/vue3/es/src/components/Breadcrumb.vue_vue&type=template&id=5374ac81&lang.js +0 -2
- package/vue3/es/src/components/Breadcrumb.vue_vue&type=template&id=5374ac81&lang.js.map +0 -1
package/vue3/es/package.json.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var r="4.10.
|
|
1
|
+
var r="4.10.3";export{r as version};
|
|
2
2
|
//# sourceMappingURL=package.json.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as e,
|
|
1
|
+
import{openBlock as e,createElementBlock as n,normalizeClass as t,renderSlot as i,createElementVNode as r,toDisplayString as u,createCommentVNode as l,createTextVNode as s}from"vue";var a=r("p",null," This widget doesn't render anything without a filled in default slot. ",-1),d=r("p",null,"query, function to refine and results are provided.",-1),f=r("pre",null,"refine: Function",-1),c=r("summary",null,[r("code",null,"indices"),s(":")],-1);function o(s,o,m,p,v,y){return s.state?(e(),n("div",{key:0,class:t(s.suit())},[i(s.$slots,"default",{refine:s.state.refine,currentRefinement:s.state.currentRefinement,indices:s.state.indices},function(){return[a,d,f,r("pre",null,'currentRefinement: "'+u(s.state.currentRefinement)+'"',1),r("details",null,[c,r("pre",null,u(s.state.indices),1)])]})],2)):l("",!0)}export{o as render};
|
|
2
2
|
//# sourceMappingURL=Autocomplete.vue_vue&type=template&id=7ca53d64&lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.vue_vue&type=template&id=7ca53d64&lang.js","sources":["../../../../src/components/Autocomplete.vue?vue&type=template&id=7ca53d64&lang.js"],"sourcesContent":["<template>\n <div :class=\"suit()\" v-if=\"state\">\n <slot\n :refine=\"state.refine\"\n :current-refinement=\"state.currentRefinement\"\n :indices=\"state.indices\"\n >\n <p>\n This widget doesn't render anything without a filled in default slot.\n </p>\n <p>query, function to refine and results are provided.</p>\n <pre>refine: Function</pre>\n <pre>currentRefinement: \"{{ state.currentRefinement }}\"</pre>\n <details>\n <summary><code>indices</code>:</summary>\n <pre>{{ state.indices }}</pre>\n </details>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectAutocomplete } from 'instantsearch.js/es/connectors';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisAutocomplete',\n mixins: [\n createWidgetMixin(\n {\n connector: connectAutocomplete,\n },\n {\n $$widgetType: 'ais.autocomplete',\n }\n ),\n createSuitMixin({ name: 'Autocomplete' }),\n ],\n props: {\n escapeHTML: {\n type: Boolean,\n required: false,\n default: true,\n },\n },\n computed: {\n widgetParams() {\n return {\n escapeHTML: this.escapeHTML,\n };\n },\n },\n};\n</script>\n"],"names":["
|
|
1
|
+
{"version":3,"file":"Autocomplete.vue_vue&type=template&id=7ca53d64&lang.js","sources":["../../../../src/components/Autocomplete.vue?vue&type=template&id=7ca53d64&lang.js"],"sourcesContent":["<template>\n <div :class=\"suit()\" v-if=\"state\">\n <slot\n :refine=\"state.refine\"\n :current-refinement=\"state.currentRefinement\"\n :indices=\"state.indices\"\n >\n <p>\n This widget doesn't render anything without a filled in default slot.\n </p>\n <p>query, function to refine and results are provided.</p>\n <pre>refine: Function</pre>\n <pre>currentRefinement: \"{{ state.currentRefinement }}\"</pre>\n <details>\n <summary><code>indices</code>:</summary>\n <pre>{{ state.indices }}</pre>\n </details>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectAutocomplete } from 'instantsearch.js/es/connectors';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisAutocomplete',\n mixins: [\n createWidgetMixin(\n {\n connector: connectAutocomplete,\n },\n {\n $$widgetType: 'ais.autocomplete',\n }\n ),\n createSuitMixin({ name: 'Autocomplete' }),\n ],\n props: {\n escapeHTML: {\n type: Boolean,\n required: false,\n default: true,\n },\n },\n computed: {\n widgetParams() {\n return {\n escapeHTML: this.escapeHTML,\n };\n },\n },\n};\n</script>\n"],"names":["_createElementVNode","_ctx","_createElementBlock","class","_renderSlot","refine","currentRefinement","indices","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4"],"mappings":"4LAOMA,2FAGAA,WAAG,4DACHA,aAAK,yBAGHA,kBAASA,EAAoB,YAAd,aAAc,yCAbRC,aAA3BC,eAAMC,QAAOF,YACXG,sBACGC,OAAQJ,QAAMI,OACdC,kBAAoBL,QAAMK,kBAC1BC,QAASN,QAAMM,2BAEhBC,EAGAC,EACAC,EACAV,aAAK,yBAAuBC,QAAMK,mBAAoB,OACtDN,kBACEW,EACAX,eAAQC,QAAMM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"./Breadcrumb.vue_vue&type=script&lang.js";import{render as r}from"./Breadcrumb.vue_vue&type=template&id=
|
|
1
|
+
import e from"./Breadcrumb.vue_vue&type=script&lang.js";import{render as r}from"./Breadcrumb.vue_vue&type=template&id=136e0623&lang.js";e.render=r;export default e;
|
|
2
2
|
//# sourceMappingURL=Breadcrumb.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.vue_vue&type=script&lang.js","sources":["../../../../src/components/Breadcrumb.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"[\n suit('item'),\n !state.items.length && suit('item', 'selected'),\n ]\"\n >\n <a\n v-if=\"Boolean(state.items.length)\"\n :href=\"state.createURL()\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine()\"\n >\n <slot name=\"rootLabel\">Home</slot>\n </a>\n <
|
|
1
|
+
{"version":3,"file":"Breadcrumb.vue_vue&type=script&lang.js","sources":["../../../../src/components/Breadcrumb.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"[\n suit('item'),\n !state.items.length && suit('item', 'selected'),\n ]\"\n >\n <a\n v-if=\"Boolean(state.items.length)\"\n :href=\"state.createURL()\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine()\"\n >\n <slot name=\"rootLabel\">Home</slot>\n </a>\n <a\n v-else\n :href=\"state.createURL(null)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(null)\"\n >\n <slot name=\"rootLabel\">Home</slot>\n </a>\n </li>\n <li\n v-for=\"(item, index) in state.items\"\n :key=\"item.label\"\n :class=\"[suit('item'), isLastItem(index) && suit('item', 'selected')]\"\n >\n <span :class=\"suit('separator')\" aria-hidden=\"true\">\n <slot name=\"separator\">></slot> </span\n ><a\n v-if=\"!isLastItem(index)\"\n :href=\"state.createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >{{ item.label }}</a\n >\n <template v-else>{{ item.label }}</template>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectBreadcrumb } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisBreadcrumb',\n mixins: [\n createWidgetMixin(\n {\n connector: connectBreadcrumb,\n },\n {\n $$widgetType: 'ais.breadcrumb',\n }\n ),\n createPanelConsumerMixin(),\n createSuitMixin({ name: 'Breadcrumb' }),\n ],\n props: {\n attributes: {\n type: Array,\n required: true,\n },\n separator: {\n type: String,\n default: undefined,\n },\n rootPath: {\n type: String,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attributes: this.attributes,\n separator: this.separator,\n rootPath: this.rootPath,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n isLastItem(index) {\n return this.state.items.length - 1 === index;\n },\n },\n};\n</script>\n"],"names":["name","mixins","createWidgetMixin","connector","connectBreadcrumb","$$widgetType","createPanelConsumerMixin","createSuitMixin","props","attributes","type","Array","required","separator","String","default","undefined","rootPath","transformItems","Function","computed","widgetParams","this","methods","isLastItem","index","state","items","length"],"mappings":"oQA8De,CACbA,KAAM,gBACNC,OAAQ,CACNC,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,mBAGlBC,IACAC,EAAgB,CAAEP,KAAM,gBAE1BQ,MAAO,CACLC,WAAY,CACVC,KAAMC,MACNC,UAAU,GAEZC,UAAW,CACTH,KAAMI,OACNC,aAASC,GAEXC,SAAU,CACRP,KAAMI,OACNC,aAASC,GAEXE,eAAgB,CACdR,KAAMS,SACNJ,aAASC,IAGbI,SAAU,CACRC,wBACE,MAAO,CACLZ,WAAYa,KAAKb,WACjBI,UAAWS,KAAKT,UAChBI,SAAUK,KAAKL,SACfC,eAAgBI,KAAKJ,kBAI3BK,QAAS,CACPC,oBAAWC,GACT,OAAOH,KAAKI,MAAMC,MAAMC,OAAS,IAAMH"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{openBlock as e,createElementBlock as t,normalizeClass as s,renderSlot as n,createElementVNode as i,withModifiers as a,createTextVNode as r,Fragment as l,renderList as u,toDisplayString as c,createCommentVNode as o}from"vue";var f=["href"],m=["href"],k=["href","onClick"];function h(h,L,R,p,v,d){return h.state?(e(),t("div",{key:0,class:s([h.suit(),!h.state.canRefine&&h.suit("","noRefinement")])},[n(h.$slots,"default",{items:h.state.items,canRefine:h.state.canRefine,refine:h.state.refine,createURL:h.state.createURL},function(){return[i("ul",{class:s(h.suit("list"))},[i("li",{class:s([h.suit("item"),!h.state.items.length&&h.suit("item","selected")])},[Boolean(h.state.items.length)?(e(),t("a",{key:0,href:h.state.createURL(),class:s(h.suit("link")),onClick:L[0]||(L[0]=a(function(e){return h.state.refine()},["prevent"]))},[n(h.$slots,"rootLabel",{},function(){return[r("Home")]})],10,f)):(e(),t("a",{key:1,href:h.state.createURL(null),class:s(h.suit("link")),onClick:L[1]||(L[1]=a(function(e){return h.state.refine(null)},["prevent"]))},[n(h.$slots,"rootLabel",{},function(){return[r("Home")]})],10,m))],2),(e(!0),t(l,null,u(h.state.items,function(u,o){return e(),t("li",{key:u.label,class:s([h.suit("item"),d.isLastItem(o)&&h.suit("item","selected")])},[i("span",{class:s(h.suit("separator")),"aria-hidden":"true"},[n(h.$slots,"separator",{},function(){return[r(">")]})],2),d.isLastItem(o)?(e(),t(l,{key:1},[r(c(u.label),1)],64)):(e(),t("a",{key:0,href:h.state.createURL(u.value),class:s(h.suit("link")),onClick:a(function(e){return h.state.refine(u.value)},["prevent"])},c(u.label),11,k))],2)}),128))],2)]})],2)):o("",!0)}export{h as render};
|
|
2
|
+
//# sourceMappingURL=Breadcrumb.vue_vue&type=template&id=136e0623&lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumb.vue_vue&type=template&id=136e0623&lang.js","sources":["../../../../src/components/Breadcrumb.vue?vue&type=template&id=136e0623&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"[\n suit('item'),\n !state.items.length && suit('item', 'selected'),\n ]\"\n >\n <a\n v-if=\"Boolean(state.items.length)\"\n :href=\"state.createURL()\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine()\"\n >\n <slot name=\"rootLabel\">Home</slot>\n </a>\n <a\n v-else\n :href=\"state.createURL(null)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(null)\"\n >\n <slot name=\"rootLabel\">Home</slot>\n </a>\n </li>\n <li\n v-for=\"(item, index) in state.items\"\n :key=\"item.label\"\n :class=\"[suit('item'), isLastItem(index) && suit('item', 'selected')]\"\n >\n <span :class=\"suit('separator')\" aria-hidden=\"true\">\n <slot name=\"separator\">></slot> </span\n ><a\n v-if=\"!isLastItem(index)\"\n :href=\"state.createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >{{ item.label }}</a\n >\n <template v-else>{{ item.label }}</template>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectBreadcrumb } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisBreadcrumb',\n mixins: [\n createWidgetMixin(\n {\n connector: connectBreadcrumb,\n },\n {\n $$widgetType: 'ais.breadcrumb',\n }\n ),\n createPanelConsumerMixin(),\n createSuitMixin({ name: 'Breadcrumb' }),\n ],\n props: {\n attributes: {\n type: Array,\n required: true,\n },\n separator: {\n type: String,\n default: undefined,\n },\n rootPath: {\n type: String,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attributes: this.attributes,\n separator: this.separator,\n rootPath: this.rootPath,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n isLastItem(index) {\n return this.state.items.length - 1 === index;\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","canRefine","_renderSlot","items","refine","createURL","_createElementVNode","Boolean","length","href","onClick","item","index","key","label","$options","aria-hidden","value"],"mappings":"qTAEUA,aADRC,eAEGC,SAAQF,UAASA,QAAMG,WAAaH,8BAErCI,sBACGC,MAAOL,QAAMK,MACbF,UAAYH,QAAMG,UAClBG,OAAQN,QAAMM,OACdC,UAAWP,QAAMO,6BAElBC,QAAKN,QAAOF,kBACVQ,QACGN,6EAMOO,QAAQT,QAAMK,MAAMK,aAD5BT,aAEGU,KAAMX,QAAMO,YACZL,QAAOF,gBACPY,yCAAeZ,QAAMM,0BAEtBF,8CAAuB,wBAEzBH,aAEGU,KAAMX,QAAMO,gBACZL,QAAOF,gBACPY,yCAAeZ,QAAMM,8BAEtBF,8CAAuB,8BAG3BH,WAC0BD,QAAMK,eAAtBQ,EAAMC,cADhBb,QAEGc,IAAKF,EAAKG,MACVd,SAAQF,eAAciB,aAAWH,IAAUd,8BAE5CQ,EAEC,QAFMN,QAAOF,qBAAmBkB,cAAY,SAC3Cd,8CAAuB,YAEhBa,aAAWH,QAMpBb,iBAAoBY,EAAKG,qBAPxBf,aAEEU,KAAMX,QAAMO,UAAUM,EAAKM,OAC3BjB,QAAOF,gBACPY,6BAAeZ,QAAMM,OAAOO,EAAKM,wBAC9BN,EAAKG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as e,
|
|
1
|
+
import{openBlock as e,createElementBlock as t,normalizeClass as n,renderSlot as r,createElementVNode as a,withModifiers as i,createTextVNode as s,createCommentVNode as f}from"vue";var u=["disabled"];function o(o,c,l,d,b,p){return o.state?(e(),t("div",{key:0,class:n(o.suit())},[r(o.$slots,"default",{canRefine:p.canRefine,refine:o.state.refine,createURL:o.state.createURL},function(){return[a("button",{type:"reset",class:n([o.suit("button"),!p.canRefine&&o.suit("button","disabled")]),disabled:!p.canRefine,onClick:c[0]||(c[0]=i(function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return o.state.refine&&(e=o.state).refine.apply(e,t)},["prevent"]))},[r(o.$slots,"resetLabel",{},function(){return[s(" Clear refinements ")]})],10,u)]})],2)):f("",!0)}export{o as render};
|
|
2
2
|
//# sourceMappingURL=ClearRefinements.vue_vue&type=template&id=1b5799b9&lang.js.map
|
package/vue3/es/src/components/ClearRefinements.vue_vue&type=template&id=1b5799b9&lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClearRefinements.vue_vue&type=template&id=1b5799b9&lang.js","sources":["../../../../src/components/ClearRefinements.vue?vue&type=template&id=1b5799b9&lang.js"],"sourcesContent":["<template>\n <div v-if=\"state\" :class=\"suit()\">\n <slot\n :can-refine=\"canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n >\n <button\n type=\"reset\"\n :class=\"[suit('button'), !canRefine && suit('button', 'disabled')]\"\n :disabled=\"!canRefine\"\n @click.prevent=\"state.refine\"\n >\n <slot name=\"resetLabel\"> Clear refinements </slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectClearRefinements } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisClearRefinements',\n mixins: [\n createWidgetMixin(\n {\n connector: connectClearRefinements,\n },\n {\n $$widgetType: 'ais.clearRefinements',\n }\n ),\n createPanelConsumerMixin(),\n createSuitMixin({ name: 'ClearRefinements' }),\n ],\n props: {\n excludedAttributes: {\n type: Array,\n default: undefined,\n },\n includedAttributes: {\n type: Array,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n includedAttributes: this.includedAttributes,\n excludedAttributes: this.excludedAttributes,\n transformItems: this.transformItems,\n };\n },\n canRefine() {\n return this.state.hasRefinements;\n },\n },\n};\n</script>\n"],"names":["_ctx","
|
|
1
|
+
{"version":3,"file":"ClearRefinements.vue_vue&type=template&id=1b5799b9&lang.js","sources":["../../../../src/components/ClearRefinements.vue?vue&type=template&id=1b5799b9&lang.js"],"sourcesContent":["<template>\n <div v-if=\"state\" :class=\"suit()\">\n <slot\n :can-refine=\"canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n >\n <button\n type=\"reset\"\n :class=\"[suit('button'), !canRefine && suit('button', 'disabled')]\"\n :disabled=\"!canRefine\"\n @click.prevent=\"state.refine\"\n >\n <slot name=\"resetLabel\"> Clear refinements </slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectClearRefinements } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\n\nexport default {\n name: 'AisClearRefinements',\n mixins: [\n createWidgetMixin(\n {\n connector: connectClearRefinements,\n },\n {\n $$widgetType: 'ais.clearRefinements',\n }\n ),\n createPanelConsumerMixin(),\n createSuitMixin({ name: 'ClearRefinements' }),\n ],\n props: {\n excludedAttributes: {\n type: Array,\n default: undefined,\n },\n includedAttributes: {\n type: Array,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n includedAttributes: this.includedAttributes,\n excludedAttributes: this.excludedAttributes,\n transformItems: this.transformItems,\n };\n },\n canRefine() {\n return this.state.hasRefinements;\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","_renderSlot","canRefine","$options","refine","createURL","_createElementVNode","type","disabled","onClick"],"mappings":"sOACaA,aAAXC,eAAmBC,QAAOF,YACxBG,sBACGC,UAAYC,YACZC,OAAQN,QAAMM,OACdC,UAAWP,QAAMO,6BAElBC,YACEC,KAAK,QACJP,SAAQF,kBAAiBK,aAAaL,8BACtCU,UAAWL,YACXM,iGAAeX,QAAMM,WAANN,SAAMM,mCAEtBH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as e,
|
|
1
|
+
import{openBlock as e,createElementBlock as t,normalizeClass as n,renderSlot as i,createElementVNode as s,Fragment as r,renderList as a,toDisplayString as l,createTextVNode as u,createCommentVNode as c}from"vue";var f={key:0},o=["onClick"];function m(m,y,b,R,k,L){return m.state?(e(),t("div",{key:0,class:n([m.suit(),L.noRefinement&&m.suit("","noRefinement")])},[i(m.$slots,"default",{refine:m.state.refine,items:m.state.items,createURL:m.state.createURL},function(){return[s("ul",{class:n(m.suit("list"))},[(e(!0),t(r,null,a(m.state.items,function(c){return e(),t("li",{key:c.attribute,class:n(m.suit("item"))},[i(m.$slots,"item",{refine:c.refine,item:c,createURL:m.state.createURL},function(){return[s("span",{class:n(m.suit("label"))},l(L.capitalize(c.label))+": ",3),(e(!0),t(r,null,a(c.refinements,function(a){return e(),t("span",{key:L.createItemKey(a),class:n(m.suit("category"))},[i(m.$slots,"refinement",{refine:c.refine,refinement:a,createURL:m.state.createURL},function(){return[s("span",{class:n(m.suit("categoryLabel"))},["query"===a.attribute?(e(),t("q",f,l(a.label),1)):(e(),t(r,{key:1},[u(l(a.label),1)],64))],2),s("button",{class:n(m.suit("delete")),onClick:function(e){return c.refine(a)}}," ✕ ",10,o)]})],2)}),128))]})],2)}),128))],2)]})],2)):c("",!0)}export{m as render};
|
|
2
2
|
//# sourceMappingURL=CurrentRefinements.vue_vue&type=template&id=6256a290&lang.js.map
|
package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=6256a290&lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentRefinements.vue_vue&type=template&id=6256a290&lang.js","sources":["../../../../src/components/CurrentRefinements.vue?vue&type=template&id=6256a290&lang.js"],"sourcesContent":["<template>\n <div :class=\"[suit(), noRefinement && suit('', 'noRefinement')]\" v-if=\"state\">\n <slot\n :refine=\"state.refine\"\n :items=\"state.items\"\n :createURL=\"state.createURL\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.attribute\"\n :class=\"suit('item')\"\n >\n <slot\n name=\"item\"\n :refine=\"item.refine\"\n :item=\"item\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('label')\">{{ capitalize(item.label) }}: </span>\n <span\n v-for=\"refinement in item.refinements\"\n :key=\"createItemKey(refinement)\"\n :class=\"suit('category')\"\n >\n <slot\n name=\"refinement\"\n :refine=\"item.refine\"\n :refinement=\"refinement\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('categoryLabel')\">\n <q v-if=\"refinement.attribute === 'query'\">{{\n refinement.label\n }}</q>\n <template v-else>\n {{ refinement.label }}\n </template>\n </span>\n <button\n :class=\"suit('delete')\"\n @click=\"item.refine(refinement)\"\n >\n ✕\n </button>\n </slot>\n </span>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectCurrentRefinements } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisCurrentRefinements',\n mixins: [\n createSuitMixin({ name: 'CurrentRefinements' }),\n createWidgetMixin(\n {\n connector: connectCurrentRefinements,\n },\n {\n $$widgetType: 'ais.currentRefinements',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n includedAttributes: {\n type: Array,\n default: undefined,\n },\n excludedAttributes: {\n type: Array,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n noRefinement() {\n return this.state && this.state.items.length === 0;\n },\n widgetParams() {\n return {\n includedAttributes: this.includedAttributes,\n excludedAttributes: this.excludedAttributes,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n createItemKey({ attribute, value, type, operator }) {\n return [attribute, type, value, operator].join(':');\n },\n capitalize(value) {\n if (!value) return '';\n return (\n value.toString().charAt(0).toLocaleUpperCase() +\n value.toString().slice(1)\n );\n },\n },\n};\n</script>\n"],"names":["_ctx","
|
|
1
|
+
{"version":3,"file":"CurrentRefinements.vue_vue&type=template&id=6256a290&lang.js","sources":["../../../../src/components/CurrentRefinements.vue?vue&type=template&id=6256a290&lang.js"],"sourcesContent":["<template>\n <div :class=\"[suit(), noRefinement && suit('', 'noRefinement')]\" v-if=\"state\">\n <slot\n :refine=\"state.refine\"\n :items=\"state.items\"\n :createURL=\"state.createURL\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.attribute\"\n :class=\"suit('item')\"\n >\n <slot\n name=\"item\"\n :refine=\"item.refine\"\n :item=\"item\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('label')\">{{ capitalize(item.label) }}: </span>\n <span\n v-for=\"refinement in item.refinements\"\n :key=\"createItemKey(refinement)\"\n :class=\"suit('category')\"\n >\n <slot\n name=\"refinement\"\n :refine=\"item.refine\"\n :refinement=\"refinement\"\n :createURL=\"state.createURL\"\n >\n <span :class=\"suit('categoryLabel')\">\n <q v-if=\"refinement.attribute === 'query'\">{{\n refinement.label\n }}</q>\n <template v-else>\n {{ refinement.label }}\n </template>\n </span>\n <button\n :class=\"suit('delete')\"\n @click=\"item.refine(refinement)\"\n >\n ✕\n </button>\n </slot>\n </span>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectCurrentRefinements } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisCurrentRefinements',\n mixins: [\n createSuitMixin({ name: 'CurrentRefinements' }),\n createWidgetMixin(\n {\n connector: connectCurrentRefinements,\n },\n {\n $$widgetType: 'ais.currentRefinements',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n includedAttributes: {\n type: Array,\n default: undefined,\n },\n excludedAttributes: {\n type: Array,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n noRefinement() {\n return this.state && this.state.items.length === 0;\n },\n widgetParams() {\n return {\n includedAttributes: this.includedAttributes,\n excludedAttributes: this.excludedAttributes,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n createItemKey({ attribute, value, type, operator }) {\n return [attribute, type, value, operator].join(':');\n },\n capitalize(value) {\n if (!value) return '';\n return (\n value.toString().charAt(0).toLocaleUpperCase() +\n value.toString().slice(1)\n );\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","$options","_renderSlot","refine","items","createURL","_createElementVNode","item","key","attribute","label","refinements","refinement","onClick"],"mappings":"+QACyEA,aAAvEC,eAAMC,SAAQF,SAAQG,gBAAgBH,8BACpCI,sBACGC,OAAQL,QAAMK,OACdC,MAAON,QAAMM,MACbC,UAAWP,QAAMO,6BAElBC,QAAKN,QAAOF,yBACVC,WACiBD,QAAMM,eAAdG,cADTR,QAEGS,IAAKD,EAAKE,UACVT,QAAOF,kBAERI,mBAEGC,OAAQI,EAAKJ,OACbI,KAAMA,EACNF,UAAWP,QAAMO,6BAElBC,UAAON,QAAOF,oBAAkBG,aAAWM,EAAKG,QAAS,eACzDX,WACuBQ,EAAKI,qBAAnBC,cADTb,UAEGS,IAAKP,gBAAcW,GACnBZ,QAAOF,sBAERI,yBAEGC,OAAQI,EAAKJ,OACbS,WAAYA,EACZP,UAAWP,QAAMO,6BAElBC,UAAON,QAAOF,qCACHc,EAAWH,eAApBV,UACEa,EAAWF,gBAEbX,iBACKa,EAAWF,oBAGlBJ,YACGN,QAAOF,kBACPe,2BAAON,EAAKJ,OAAOS"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolveComponent as e,openBlock as t,
|
|
1
|
+
import{resolveComponent as e,openBlock as t,createElementBlock as o,normalizeClass as s,renderSlot as r,createVNode as n,withModifiers as a,createTextVNode as i,toDisplayString as l,createCommentVNode as g}from"vue";var h=["disabled"];function c(c,u,w,M,f,S){var d=e("hierarchical-menu-list");return c.state?(t(),o("div",{key:0,class:s([c.suit(),!c.state.canRefine&&c.suit("","noRefinement")])},[r(c.$slots,"default",{items:c.state.items,canRefine:c.state.canRefine,canToggleShowMore:c.state.canToggleShowMore,isShowingMore:c.state.isShowingMore,refine:c.state.refine,createURL:c.state.createURL,toggleShowMore:c.state.toggleShowMore,sendEvent:c.state.sendEvent},function(){return[n(d,{items:c.state.items,level:0,refine:c.state.refine,createURL:c.state.createURL,suit:c.suit},null,8,["items","refine","createURL","suit"]),w.showMore?(t(),o("button",{key:0,class:s([c.suit("showMore"),!c.state.canToggleShowMore&&c.suit("showMore","disabled")]),disabled:!c.state.canToggleShowMore,onClick:u[0]||(u[0]=a(function(){for(var e,t=[],o=arguments.length;o--;)t[o]=arguments[o];return c.state.toggleShowMore&&(e=c.state).toggleShowMore.apply(e,t)},["prevent"]))},[r(c.$slots,"showMoreLabel",{isShowingMore:c.state.isShowingMore},function(){return[i(l(c.state.isShowingMore?"Show less":"Show more"),1)]})],10,h)):g("",!0)]})],2)):g("",!0)}export{c as render};
|
|
2
2
|
//# sourceMappingURL=HierarchicalMenu.vue_vue&type=template&id=3548a9a1&lang.js.map
|
package/vue3/es/src/components/HierarchicalMenu.vue_vue&type=template&id=3548a9a1&lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchicalMenu.vue_vue&type=template&id=3548a9a1&lang.js","sources":["../../../../src/components/HierarchicalMenu.vue?vue&type=template&id=3548a9a1&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :toggle-show-more=\"state.toggleShowMore\"\n :send-event=\"state.sendEvent\"\n >\n <hierarchical-menu-list\n :items=\"state.items\"\n :level=\"0\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :suit=\"suit\"\n />\n\n <button\n v-if=\"showMore\"\n :class=\"[\n suit('showMore'),\n !state.canToggleShowMore && suit('showMore', 'disabled'),\n ]\"\n :disabled=\"!state.canToggleShowMore\"\n @click.prevent=\"state.toggleShowMore\"\n >\n <slot name=\"showMoreLabel\" :is-showing-more=\"state.isShowingMore\">\n {{ state.isShowingMore ? 'Show less' : 'Show more' }}\n </slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectHierarchicalMenu } from 'instantsearch.js/es/connectors';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport HierarchicalMenuList from './HierarchicalMenuList.vue';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisHierarchicalMenu',\n mixins: [\n createSuitMixin({ name: 'HierarchicalMenu' }),\n createWidgetMixin(\n {\n connector: connectHierarchicalMenu,\n },\n {\n $$widgetType: 'ais.hierarchicalMenu',\n }\n ),\n createPanelConsumerMixin(),\n ],\n components: {\n HierarchicalMenuList,\n },\n props: {\n attributes: {\n type: Array,\n required: true,\n },\n limit: {\n type: Number,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n separator: {\n type: String,\n default: undefined,\n },\n rootPath: {\n type: String,\n default: undefined,\n },\n showParentLevel: {\n type: Boolean,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attributes: this.attributes,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n separator: this.separator,\n rootPath: this.rootPath,\n showParentLevel: this.showParentLevel,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","
|
|
1
|
+
{"version":3,"file":"HierarchicalMenu.vue_vue&type=template&id=3548a9a1&lang.js","sources":["../../../../src/components/HierarchicalMenu.vue?vue&type=template&id=3548a9a1&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :toggle-show-more=\"state.toggleShowMore\"\n :send-event=\"state.sendEvent\"\n >\n <hierarchical-menu-list\n :items=\"state.items\"\n :level=\"0\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :suit=\"suit\"\n />\n\n <button\n v-if=\"showMore\"\n :class=\"[\n suit('showMore'),\n !state.canToggleShowMore && suit('showMore', 'disabled'),\n ]\"\n :disabled=\"!state.canToggleShowMore\"\n @click.prevent=\"state.toggleShowMore\"\n >\n <slot name=\"showMoreLabel\" :is-showing-more=\"state.isShowingMore\">\n {{ state.isShowingMore ? 'Show less' : 'Show more' }}\n </slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectHierarchicalMenu } from 'instantsearch.js/es/connectors';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport HierarchicalMenuList from './HierarchicalMenuList.vue';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisHierarchicalMenu',\n mixins: [\n createSuitMixin({ name: 'HierarchicalMenu' }),\n createWidgetMixin(\n {\n connector: connectHierarchicalMenu,\n },\n {\n $$widgetType: 'ais.hierarchicalMenu',\n }\n ),\n createPanelConsumerMixin(),\n ],\n components: {\n HierarchicalMenuList,\n },\n props: {\n attributes: {\n type: Array,\n required: true,\n },\n limit: {\n type: Number,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n separator: {\n type: String,\n default: undefined,\n },\n rootPath: {\n type: String,\n default: undefined,\n },\n showParentLevel: {\n type: Boolean,\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attributes: this.attributes,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n separator: this.separator,\n rootPath: this.rootPath,\n showParentLevel: this.showParentLevel,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","canRefine","_renderSlot","items","canToggleShowMore","isShowingMore","refine","createURL","toggleShowMore","sendEvent","_createVNode","level","suit","$props","disabled","onClick"],"mappings":"4SAEUA,aADRC,eAEGC,SAAQF,UAASA,QAAMG,WAAaH,8BAErCI,sBACGC,MAAOL,QAAMK,MACbF,UAAYH,QAAMG,UAClBG,kBAAsBN,QAAMM,kBAC5BC,cAAiBP,QAAMO,cACvBC,OAAQR,QAAMQ,OACdC,UAAWT,QAAMS,UACjBC,eAAkBV,QAAMU,eACxBC,UAAYX,QAAMW,6BAEnBC,KACGP,MAAOL,QAAMK,MACbQ,MAAO,EACPL,OAAQR,QAAMQ,OACdC,UAAWT,QAAMS,UACjBK,KAAMd,sDAIDe,gBADRd,kBAEGC,wFAIAc,UAAWhB,QAAMM,kBACjBW,iGAAejB,QAAMU,mBAANV,SAAMU,2CAEtBN,4BAA4BG,cAAiBP,QAAMO,qCAC9CP,QAAMO"}
|
package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=eb2af574&lang.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolveComponent as e,openBlock as t,
|
|
1
|
+
import{resolveComponent as e,openBlock as t,createElementBlock as i,normalizeClass as l,Fragment as s,renderList as a,createElementVNode as n,withModifiers as u,toDisplayString as r,createBlock as c,createCommentVNode as v}from"vue";var f=["href","onClick"];function m(m,o,d,h,k,p){var R=e("hierarchical-menu-list",!0);return d.items.length>0?(t(),i("ul",{key:0,class:l([d.suit("list"),d.level>0&&d.suit("list","child"),d.suit("list","lvl"+d.level)])},[(t(!0),i(s,null,a(d.items,function(e){return t(),i("li",{key:e.value,class:l([d.suit("item"),e.data&&e.data.length>0&&d.suit("item","parent"),e.isRefined&&d.suit("item","selected")])},[n("a",{href:d.createURL(e.value),class:l([d.suit("link"),e.isRefined&&d.suit("link","selected")]),onClick:u(function(t){return d.refine(e.value)},["prevent"])},[n("span",{class:l(d.suit("label"))},r(e.label),3),n("span",{class:l(d.suit("count"))},r(e.count),3)],10,f),e.data?(t(),c(R,{key:0,items:e.data,level:d.level+1,refine:d.refine,createURL:d.createURL,suit:d.suit},null,8,["items","level","refine","createURL","suit"])):v("",!0)],2)}),128))],2)):v("",!0)}export{m as render};
|
|
2
2
|
//# sourceMappingURL=HierarchicalMenuList.vue_vue&type=template&id=eb2af574&lang.js.map
|
package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=eb2af574&lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchicalMenuList.vue_vue&type=template&id=eb2af574&lang.js","sources":["../../../../src/components/HierarchicalMenuList.vue?vue&type=template&id=eb2af574&lang.js"],"sourcesContent":["<template>\n <ul\n v-if=\"items.length > 0\"\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 && item.data.length > 0 && 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":["$props","length","
|
|
1
|
+
{"version":3,"file":"HierarchicalMenuList.vue_vue&type=template&id=eb2af574&lang.js","sources":["../../../../src/components/HierarchicalMenuList.vue?vue&type=template&id=eb2af574&lang.js"],"sourcesContent":["<template>\n <ul\n v-if=\"items.length > 0\"\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 && item.data.length > 0 && 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":["$props","length","_createElementBlock","class","item","key","value","_createElementVNode","href","isRefined","onClick","label","count","data","_createBlock","items","level","refine","createURL","suit"],"mappings":"sUAEUA,QAAMC,cADdC,cAEGC,kGAMDD,WACiBF,iBAARI,cADTF,QAEGG,IAAKD,EAAKE,MACVH,oHAMDI,OACGC,KAAMR,YAAUI,EAAKE,OACrBH,SAAQH,eAAcI,EAAKK,WAAaT,4BACxCU,6BAAeV,SAAOI,EAAKE,uBAE5BC,UAAOJ,QAAOH,oBAAkBI,EAAKO,UACrCJ,UAAOJ,QAAOH,oBAAkBI,EAAKQ,iBAI/BR,EAAKS,UADbC,WAEGC,MAAOX,EAAKS,KACZG,MAAOhB,UACPiB,OAAQjB,SACRkB,UAAWlB,YACXmB,KAAMnB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as t,
|
|
1
|
+
import{openBlock as t,createElementBlock as e,normalizeClass as i,Fragment as s,renderList as u,createBlock as l,resolveDynamicComponent as n,withCtx as r,createTextVNode as a,toDisplayString as h}from"vue";function g(g,o,c,d,f,p){return t(),e("span",{class:i(c.suit())},[(t(!0),e(s,null,u(p.parsedHighlights,function(e,s){var u=e.value,g=e.isHighlighted;return t(),l(n(g?c.highlightedTagName:f.TextNode),{class:i([g&&c.suit("highlighted")]),key:s},{default:r(function(){return[a(h(u),1)]}),_:2},1032,["class"])}),128))],2)}export{g as render};
|
|
2
2
|
//# sourceMappingURL=Highlighter.vue_vue&type=template&id=11ec06d9&lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Highlighter.vue_vue&type=template&id=11ec06d9&lang.js","sources":["../../../../src/components/Highlighter.vue?vue&type=template&id=11ec06d9&lang.js"],"sourcesContent":["<template>\n <span :class=\"suit()\">\n <component\n v-for=\"({ value, isHighlighted }, index) in parsedHighlights\"\n :class=\"[isHighlighted && suit('highlighted')]\"\n :key=\"index\"\n :is=\"isHighlighted ? highlightedTagName : TextNode\"\n >{{ value }}</component\n >\n </span>\n</template>\n\n<script>\nimport { getDefaultSlot, renderCompat, isVue3 } from '../util/vue-compat';\nimport { parseAlgoliaHit } from '../util/parseAlgoliaHit';\n\nconst TextNode = isVue3\n ? (props, context) => context.slots.default()\n : {\n render: renderCompat(function () {\n return getDefaultSlot(this);\n }),\n };\n\nexport default {\n name: 'AisHighlighter',\n props: {\n hit: {\n type: Object,\n required: true,\n },\n attribute: {\n type: String,\n required: true,\n },\n highlightedTagName: {\n type: String,\n default: 'mark',\n },\n suit: {\n type: Function,\n required: true,\n },\n highlightProperty: {\n type: String,\n required: true,\n },\n preTag: {\n type: String,\n required: true,\n },\n postTag: {\n type: String,\n required: true,\n },\n },\n data() {\n return { TextNode };\n },\n computed: {\n parsedHighlights() {\n return parseAlgoliaHit({\n attribute: this.attribute,\n hit: this.hit,\n highlightProperty: this.highlightProperty,\n preTag: this.preTag,\n postTag: this.postTag,\n });\n },\n },\n};\n</script>\n"],"names":["
|
|
1
|
+
{"version":3,"file":"Highlighter.vue_vue&type=template&id=11ec06d9&lang.js","sources":["../../../../src/components/Highlighter.vue?vue&type=template&id=11ec06d9&lang.js"],"sourcesContent":["<template>\n <span :class=\"suit()\">\n <component\n v-for=\"({ value, isHighlighted }, index) in parsedHighlights\"\n :class=\"[isHighlighted && suit('highlighted')]\"\n :key=\"index\"\n :is=\"isHighlighted ? highlightedTagName : TextNode\"\n >{{ value }}</component\n >\n </span>\n</template>\n\n<script>\nimport { getDefaultSlot, renderCompat, isVue3 } from '../util/vue-compat';\nimport { parseAlgoliaHit } from '../util/parseAlgoliaHit';\n\nconst TextNode = isVue3\n ? (props, context) => context.slots.default()\n : {\n render: renderCompat(function () {\n return getDefaultSlot(this);\n }),\n };\n\nexport default {\n name: 'AisHighlighter',\n props: {\n hit: {\n type: Object,\n required: true,\n },\n attribute: {\n type: String,\n required: true,\n },\n highlightedTagName: {\n type: String,\n default: 'mark',\n },\n suit: {\n type: Function,\n required: true,\n },\n highlightProperty: {\n type: String,\n required: true,\n },\n preTag: {\n type: String,\n required: true,\n },\n postTag: {\n type: String,\n required: true,\n },\n },\n data() {\n return { TextNode };\n },\n computed: {\n parsedHighlights() {\n return parseAlgoliaHit({\n attribute: this.attribute,\n hit: this.hit,\n highlightProperty: this.highlightProperty,\n preTag: this.preTag,\n postTag: this.postTag,\n });\n },\n },\n};\n</script>\n"],"names":["_createElementBlock","class","$props","$options","index","_createBlock","isHighlighted","$data","key","value"],"mappings":"kPACEA,UAAOC,QAAOC,mBACZF,WAC8CG,8BAAVC,8CADpCC,IAIOC,EAAgBJ,qBAAqBK,aAFzCN,SAAQK,GAAiBJ,wBACzBM,IAAKJ,oCAEFK"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as t,
|
|
1
|
+
import{openBlock as t,createElementBlock as e,normalizeClass as n,renderSlot as i,createElementVNode as s,Fragment as c,renderList as l,createTextVNode as u,toDisplayString as o,createCommentVNode as r}from"vue";var a=["onClick","onAuxclick"];function d(d,k,v,f,m,E){return d.state?(t(),e("div",{key:0,class:n(d.suit())},[i(d.$slots,"default",{items:E.items,insights:d.state.insights,sendEvent:d.state.sendEvent},function(){return[s("ol",{class:n(d.suit("list"))},[(t(!0),e(c,null,l(E.items,function(s,c){return t(),e("li",{key:s.objectID,class:n(d.suit("item")),onClick:function(t){return d.state.sendEvent("click:internal",s,"Hit Clicked")},onAuxclick:function(t){return d.state.sendEvent("click:internal",s,"Hit Clicked")}},[i(d.$slots,"item",{item:s,index:c,insights:d.state.insights,sendEvent:d.state.sendEvent},function(){return[u(" objectID: "+o(s.objectID)+", index: "+o(c),1)]})],42,a)}),128))],2)]})],2)):r("",!0)}export{d as render};
|
|
2
2
|
//# sourceMappingURL=Hits.vue_vue&type=template&id=d5fcff04&lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hits.vue_vue&type=template&id=d5fcff04&lang.js","sources":["../../../../src/components/Hits.vue?vue&type=template&id=d5fcff04&lang.js"],"sourcesContent":["<template>\n <div v-if=\"state\" :class=\"suit()\">\n <slot\n :items=\"items\"\n :insights=\"state.insights\"\n :send-event=\"state.sendEvent\"\n >\n <ol :class=\"suit('list')\">\n <li\n v-for=\"(item, itemIndex) in items\"\n :key=\"item.objectID\"\n :class=\"suit('item')\"\n @click=\"state.sendEvent('click:internal', item, 'Hit Clicked')\"\n @auxclick=\"state.sendEvent('click:internal', item, 'Hit Clicked')\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"itemIndex\"\n :insights=\"state.insights\"\n :send-event=\"state.sendEvent\"\n >\n objectID: {{ item.objectID }}, index: {{ itemIndex }}\n </slot>\n </li>\n </ol>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectHitsWithInsights } from 'instantsearch.js/es/connectors';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisHits',\n mixins: [\n createWidgetMixin(\n {\n connector: connectHitsWithInsights,\n },\n {\n $$widgetType: 'ais.hits',\n }\n ),\n createSuitMixin({ name: 'Hits' }),\n ],\n props: {\n escapeHTML: {\n type: Boolean,\n default: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n items() {\n return this.state.hits;\n },\n widgetParams() {\n return {\n escapeHTML: this.escapeHTML,\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","
|
|
1
|
+
{"version":3,"file":"Hits.vue_vue&type=template&id=d5fcff04&lang.js","sources":["../../../../src/components/Hits.vue?vue&type=template&id=d5fcff04&lang.js"],"sourcesContent":["<template>\n <div v-if=\"state\" :class=\"suit()\">\n <slot\n :items=\"items\"\n :insights=\"state.insights\"\n :send-event=\"state.sendEvent\"\n >\n <ol :class=\"suit('list')\">\n <li\n v-for=\"(item, itemIndex) in items\"\n :key=\"item.objectID\"\n :class=\"suit('item')\"\n @click=\"state.sendEvent('click:internal', item, 'Hit Clicked')\"\n @auxclick=\"state.sendEvent('click:internal', item, 'Hit Clicked')\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"itemIndex\"\n :insights=\"state.insights\"\n :send-event=\"state.sendEvent\"\n >\n objectID: {{ item.objectID }}, index: {{ itemIndex }}\n </slot>\n </li>\n </ol>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectHitsWithInsights } from 'instantsearch.js/es/connectors';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisHits',\n mixins: [\n createWidgetMixin(\n {\n connector: connectHitsWithInsights,\n },\n {\n $$widgetType: 'ais.hits',\n }\n ),\n createSuitMixin({ name: 'Hits' }),\n ],\n props: {\n escapeHTML: {\n type: Boolean,\n default: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n items() {\n return this.state.hits;\n },\n widgetParams() {\n return {\n escapeHTML: this.escapeHTML,\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","_renderSlot","items","$options","insights","sendEvent","_createElementVNode","item","itemIndex","key","objectID","onClick","onAuxclick","index"],"mappings":"kRACaA,aAAXC,eAAmBC,QAAOF,YACxBG,sBACGC,MAAOC,QACPC,SAAUN,QAAMM,SAChBC,UAAYP,QAAMO,6BAEnBC,QAAKN,QAAOF,yBACVC,WAC8BI,iBAApBI,EAAMC,cADhBT,QAEGU,IAAKF,EAAKG,SACVV,QAAOF,gBACPa,2BAAOb,QAAMO,2BAA4BE,kBACzCK,8BAAUd,QAAMO,2BAA4BE,oBAE7CN,mBAEGM,KAAMA,EACNM,MAAOL,EACPJ,SAAUN,QAAMM,SAChBC,UAAYP,QAAMO,+CAENE,EAAKG,UAAW,cAAYF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as e,
|
|
1
|
+
import{openBlock as e,createElementBlock as t,normalizeClass as s,renderSlot as n,createElementVNode as a,Fragment as u,renderList as i,toDisplayString as l,createCommentVNode as r}from"vue";var o=["value","selected"];function c(c,f,v,m,d,R){return c.state?(e(),t("div",{key:0,class:s(c.suit())},[n(c.$slots,"default",{items:c.state.items,refine:c.state.refine,hasNoResults:c.state.hasNoResults,canRefine:c.state.canRefine},function(){return[a("select",{class:s(c.suit("select")),onChange:f[0]||(f[0]=function(e){return c.state.refine(Number(e.currentTarget.value))})},[(e(!0),t(u,null,i(c.state.items,function(n){return e(),t("option",{key:n.value,class:s(c.suit("option")),value:n.value,selected:n.isRefined},l(n.label),11,o)}),128))],34)]})],2)):r("",!0)}export{c as render};
|
|
2
2
|
//# sourceMappingURL=HitsPerPage.vue_vue&type=template&id=654e3b4a&lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HitsPerPage.vue_vue&type=template&id=654e3b4a&lang.js","sources":["../../../../src/components/HitsPerPage.vue?vue&type=template&id=654e3b4a&lang.js"],"sourcesContent":["<template>\n <div v-if=\"state\" :class=\"suit()\">\n <slot\n :items=\"state.items\"\n :refine=\"state.refine\"\n :has-no-results=\"state.hasNoResults\"\n :can-refine=\"state.canRefine\"\n >\n <select\n :class=\"suit('select')\"\n @change=\"state.refine(Number($event.currentTarget.value))\"\n >\n <option\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"suit('option')\"\n :value=\"item.value\"\n :selected=\"item.isRefined\"\n >\n {{ item.label }}\n </option>\n </select>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectHitsPerPage } 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: 'AisHitsPerPage',\n mixins: [\n createSuitMixin({ name: 'HitsPerPage' }),\n createWidgetMixin(\n {\n connector: connectHitsPerPage,\n },\n {\n $$widgetType: 'ais.hitsPerPage',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n items: {\n type: Array,\n required: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n items: this.items,\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","
|
|
1
|
+
{"version":3,"file":"HitsPerPage.vue_vue&type=template&id=654e3b4a&lang.js","sources":["../../../../src/components/HitsPerPage.vue?vue&type=template&id=654e3b4a&lang.js"],"sourcesContent":["<template>\n <div v-if=\"state\" :class=\"suit()\">\n <slot\n :items=\"state.items\"\n :refine=\"state.refine\"\n :has-no-results=\"state.hasNoResults\"\n :can-refine=\"state.canRefine\"\n >\n <select\n :class=\"suit('select')\"\n @change=\"state.refine(Number($event.currentTarget.value))\"\n >\n <option\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"suit('option')\"\n :value=\"item.value\"\n :selected=\"item.isRefined\"\n >\n {{ item.label }}\n </option>\n </select>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectHitsPerPage } 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: 'AisHitsPerPage',\n mixins: [\n createSuitMixin({ name: 'HitsPerPage' }),\n createWidgetMixin(\n {\n connector: connectHitsPerPage,\n },\n {\n $$widgetType: 'ais.hitsPerPage',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n items: {\n type: Array,\n required: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n items: this.items,\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","_renderSlot","items","refine","hasNoResults","canRefine","_createElementVNode","onChange","Number","$event","currentTarget","value","item","key","selected","isRefined","label"],"mappings":"yPACaA,aAAXC,eAAmBC,QAAOF,YACxBG,sBACGC,MAAOJ,QAAMI,MACbC,OAAQL,QAAMK,OACdC,aAAgBN,QAAMM,aACtBC,UAAYP,QAAMO,6BAEnBC,YACGN,QAAOF,kBACPS,wCAAQT,QAAMK,OAAOK,OAAOC,EAAOC,cAAcC,mBAElDZ,WACiBD,QAAMI,eAAdU,cADTb,YAEGc,IAAKD,EAAKD,MACVX,QAAOF,kBACPa,MAAOC,EAAKD,MACZG,SAAUF,EAAKG,aAEbH,EAAKI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as e,
|
|
1
|
+
import{openBlock as e,createElementBlock as t,normalizeClass as s,renderSlot as i,createElementVNode as n,createCommentVNode as r,Fragment as a,renderList as o,createTextVNode as u,toDisplayString as l}from"vue";var c=["disabled"],d=["onClick","onAuxclick"],f=["disabled"];function v(v,P,g,k,x,b){return v.state?(e(),t("div",{key:0,class:s(v.suit())},[g.showPrevious?i(v.$slots,"loadPrevious",{key:0,refinePrevious:b.refinePrevious,page:v.state.results.page,isFirstPage:v.state.isFirstPage},function(){return[n("button",{class:s([v.suit("loadPrevious"),v.state.isFirstPage&&v.suit("loadPrevious","disabled")]),disabled:v.state.isFirstPage,onClick:P[0]||(P[0]=function(e){return b.refinePrevious()})}," Show previous results ",10,c)]}):r("",!0),i(v.$slots,"default",{items:b.items,results:v.state.results,isLastPage:v.state.isLastPage,refinePrevious:b.refinePrevious,refineNext:b.refineNext,refine:b.refineNext,insights:v.state.insights,sendEvent:v.state.sendEvent},function(){return[n("ol",{class:s(v.suit("list"))},[(e(!0),t(a,null,o(b.items,function(n,r){return e(),t("li",{class:s(v.suit("item")),key:n.objectID,onClick:function(e){return v.state.sendEvent("click:internal",n,"Hit Clicked")},onAuxclick:function(e){return v.state.sendEvent("click:internal",n,"Hit Clicked")}},[i(v.$slots,"item",{item:n,index:r,insights:v.state.insights,sendEvent:v.state.sendEvent},function(){return[u(" objectID: "+l(n.objectID)+", index: "+l(r),1)]})],42,d)}),128))],2),i(v.$slots,"loadMore",{refineNext:b.refineNext,refine:b.refineNext,page:v.state.results.page,isLastPage:v.state.isLastPage},function(){return[n("button",{class:s([v.suit("loadMore"),v.state.isLastPage&&v.suit("loadMore","disabled")]),disabled:v.state.isLastPage,onClick:P[1]||(P[1]=function(e){return b.refineNext()})}," Show more results ",10,f)]})]})],2)):r("",!0)}export{v as render};
|
|
2
2
|
//# sourceMappingURL=InfiniteHits.vue_vue&type=template&id=0abcf352&lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfiniteHits.vue_vue&type=template&id=0abcf352&lang.js","sources":["../../../../src/components/InfiniteHits.vue?vue&type=template&id=0abcf352&lang.js"],"sourcesContent":["<template>\n <div v-if=\"state\" :class=\"suit()\">\n <slot\n v-if=\"showPrevious\"\n name=\"loadPrevious\"\n :refine-previous=\"refinePrevious\"\n :page=\"state.results.page\"\n :is-first-page=\"state.isFirstPage\"\n >\n <button\n :class=\"[\n suit('loadPrevious'),\n state.isFirstPage && suit('loadPrevious', 'disabled'),\n ]\"\n :disabled=\"state.isFirstPage\"\n @click=\"refinePrevious()\"\n >\n Show previous results\n </button>\n </slot>\n\n <slot\n :items=\"items\"\n :results=\"state.results\"\n :is-last-page=\"state.isLastPage\"\n :refine-previous=\"refinePrevious\"\n :refine-next=\"refineNext\"\n :refine=\"refineNext\"\n :insights=\"state.insights\"\n :send-event=\"state.sendEvent\"\n >\n <ol :class=\"suit('list')\">\n <li\n v-for=\"(item, index) in items\"\n :class=\"suit('item')\"\n :key=\"item.objectID\"\n @click=\"state.sendEvent('click:internal', item, 'Hit Clicked')\"\n @auxclick=\"state.sendEvent('click:internal', item, 'Hit Clicked')\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"index\"\n :insights=\"state.insights\"\n :send-event=\"state.sendEvent\"\n >\n objectID: {{ item.objectID }}, index: {{ index }}\n </slot>\n </li>\n </ol>\n\n <slot\n name=\"loadMore\"\n :refine-next=\"refineNext\"\n :refine=\"refineNext\"\n :page=\"state.results.page\"\n :is-last-page=\"state.isLastPage\"\n >\n <button\n :class=\"[\n suit('loadMore'),\n state.isLastPage && suit('loadMore', 'disabled'),\n ]\"\n :disabled=\"state.isLastPage\"\n @click=\"refineNext()\"\n >\n Show more results\n </button>\n </slot>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectInfiniteHitsWithInsights } from 'instantsearch.js/es/connectors';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisInfiniteHits',\n mixins: [\n createWidgetMixin(\n {\n connector: connectInfiniteHitsWithInsights,\n },\n {\n $$widgetType: 'ais.infiniteHits',\n }\n ),\n createSuitMixin({ name: 'InfiniteHits' }),\n ],\n props: {\n showPrevious: {\n type: Boolean,\n default: false,\n },\n escapeHTML: {\n type: Boolean,\n default: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n cache: {\n type: Object,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n showPrevious: this.showPrevious,\n escapeHTML: this.escapeHTML,\n transformItems: this.transformItems,\n cache: this.cache,\n };\n },\n items() {\n // Fixes InstantSearch.js connectors API: every list\n // of things must be called `items`\n return this.state.hits;\n },\n },\n methods: {\n refinePrevious() {\n this.state.showPrevious();\n },\n refineNext() {\n this.state.showMore();\n },\n },\n};\n</script>\n"],"names":["_ctx","
|
|
1
|
+
{"version":3,"file":"InfiniteHits.vue_vue&type=template&id=0abcf352&lang.js","sources":["../../../../src/components/InfiniteHits.vue?vue&type=template&id=0abcf352&lang.js"],"sourcesContent":["<template>\n <div v-if=\"state\" :class=\"suit()\">\n <slot\n v-if=\"showPrevious\"\n name=\"loadPrevious\"\n :refine-previous=\"refinePrevious\"\n :page=\"state.results.page\"\n :is-first-page=\"state.isFirstPage\"\n >\n <button\n :class=\"[\n suit('loadPrevious'),\n state.isFirstPage && suit('loadPrevious', 'disabled'),\n ]\"\n :disabled=\"state.isFirstPage\"\n @click=\"refinePrevious()\"\n >\n Show previous results\n </button>\n </slot>\n\n <slot\n :items=\"items\"\n :results=\"state.results\"\n :is-last-page=\"state.isLastPage\"\n :refine-previous=\"refinePrevious\"\n :refine-next=\"refineNext\"\n :refine=\"refineNext\"\n :insights=\"state.insights\"\n :send-event=\"state.sendEvent\"\n >\n <ol :class=\"suit('list')\">\n <li\n v-for=\"(item, index) in items\"\n :class=\"suit('item')\"\n :key=\"item.objectID\"\n @click=\"state.sendEvent('click:internal', item, 'Hit Clicked')\"\n @auxclick=\"state.sendEvent('click:internal', item, 'Hit Clicked')\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"index\"\n :insights=\"state.insights\"\n :send-event=\"state.sendEvent\"\n >\n objectID: {{ item.objectID }}, index: {{ index }}\n </slot>\n </li>\n </ol>\n\n <slot\n name=\"loadMore\"\n :refine-next=\"refineNext\"\n :refine=\"refineNext\"\n :page=\"state.results.page\"\n :is-last-page=\"state.isLastPage\"\n >\n <button\n :class=\"[\n suit('loadMore'),\n state.isLastPage && suit('loadMore', 'disabled'),\n ]\"\n :disabled=\"state.isLastPage\"\n @click=\"refineNext()\"\n >\n Show more results\n </button>\n </slot>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectInfiniteHitsWithInsights } from 'instantsearch.js/es/connectors';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisInfiniteHits',\n mixins: [\n createWidgetMixin(\n {\n connector: connectInfiniteHitsWithInsights,\n },\n {\n $$widgetType: 'ais.infiniteHits',\n }\n ),\n createSuitMixin({ name: 'InfiniteHits' }),\n ],\n props: {\n showPrevious: {\n type: Boolean,\n default: false,\n },\n escapeHTML: {\n type: Boolean,\n default: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n cache: {\n type: Object,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n showPrevious: this.showPrevious,\n escapeHTML: this.escapeHTML,\n transformItems: this.transformItems,\n cache: this.cache,\n };\n },\n items() {\n // Fixes InstantSearch.js connectors API: every list\n // of things must be called `items`\n return this.state.hits;\n },\n },\n methods: {\n refinePrevious() {\n this.state.showPrevious();\n },\n refineNext() {\n this.state.showMore();\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","$props","_renderSlot","refinePrevious","$options","page","results","isFirstPage","_createElementVNode","disabled","onClick","items","isLastPage","refineNext","refine","insights","sendEvent","item","index","key","objectID","onAuxclick"],"mappings":"gTACaA,aAAXC,eAAmBC,QAAOF,YAEhBG,eADRC,iCAGGC,eAAiBC,iBACjBC,KAAMP,QAAMQ,QAAQD,KACpBE,YAAeT,QAAMS,+BAEtBC,YACGR,yFAIAS,SAAUX,QAAMS,YAChBG,uCAAON,kEAMZF,sBACGS,MAAOP,QACPE,QAASR,QAAMQ,QACfM,WAAcd,QAAMc,WACpBT,eAAiBC,iBACjBS,WAAaT,aACbU,OAAQV,aACRW,SAAUjB,QAAMiB,SAChBC,UAAYlB,QAAMkB,6BAEnBR,QAAKR,QAAOF,yBACVC,WAC0BK,iBAAhBa,EAAMC,cADhBnB,QAEGC,QAAOF,gBACPqB,IAAKF,EAAKG,SACVV,2BAAOZ,QAAMkB,2BAA4BC,kBACzCI,8BAAUvB,QAAMkB,2BAA4BC,oBAE7Cf,mBAEGe,KAAMA,EACNC,MAAOA,EACPH,SAAUjB,QAAMiB,SAChBC,UAAYlB,QAAMkB,+CAENC,EAAKG,UAAW,cAAYF,4BAK/ChB,uBAEGW,WAAaT,aACbU,OAAQV,aACRC,KAAMP,QAAMQ,QAAQD,KACpBO,WAAcd,QAAMc,8BAErBJ,YACGR,gFAIAS,SAAUX,QAAMc,WAChBF,uCAAON"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as e,
|
|
1
|
+
import{openBlock as e,createElementBlock as t,normalizeClass as s,renderSlot as o,createElementVNode as n,Fragment as i,renderList as a,withModifiers as r,toDisplayString as l,createTextVNode as u,createCommentVNode as c}from"vue";var h=["href","onClick"],g=["disabled"];function w(w,f,M,S,d,v){return w.state?(e(),t("div",{key:0,class:s([w.suit(),!w.state.canRefine&&w.suit("","noRefinement")])},[o(w.$slots,"default",{items:w.state.items,canRefine:w.state.canRefine,canToggleShowMore:w.state.canToggleShowMore,isShowingMore:w.state.isShowingMore,refine:w.state.refine,createURL:w.state.createURL,toggleShowMore:w.state.toggleShowMore,sendEvent:w.state.sendEvent},function(){return[n("ul",{class:s(w.suit("list"))},[(e(!0),t(i,null,a(w.state.items,function(o){return e(),t("li",{key:o.value,class:s([w.suit("item"),o.isRefined&&w.suit("item","selected")])},[n("a",{href:w.state.createURL(o.value),class:s(w.suit("link")),onClick:r(function(e){return w.state.refine(o.value)},["prevent"])},[n("span",{class:s(w.suit("label"))},l(o.label),3),n("span",{class:s(w.suit("count"))},l(o.count),3)],10,h)],2)}),128))],2),v.showShowMoreButton?(e(),t("button",{key:0,class:s([w.suit("showMore"),!w.state.canToggleShowMore&&w.suit("showMore","disabled")]),disabled:!w.state.canToggleShowMore,onClick:f[0]||(f[0]=r(function(e){return w.state.toggleShowMore()},["prevent"]))},[o(w.$slots,"showMoreLabel",{isShowingMore:w.state.isShowingMore},function(){return[u(l(w.state.isShowingMore?"Show less":"Show more"),1)]})],10,g)):c("",!0)]})],2)):c("",!0)}export{w as render};
|
|
2
2
|
//# sourceMappingURL=Menu.vue_vue&type=template&id=577979d0&lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.vue_vue&type=template&id=577979d0&lang.js","sources":["../../../../src/components/Menu.vue?vue&type=template&id=577979d0&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :toggle-show-more=\"state.toggleShowMore\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n\n <button\n v-if=\"showShowMoreButton\"\n :class=\"[\n suit('showMore'),\n !state.canToggleShowMore && suit('showMore', 'disabled'),\n ]\"\n :disabled=\"!state.canToggleShowMore\"\n @click.prevent=\"state.toggleShowMore()\"\n >\n <slot name=\"showMoreLabel\" :is-showing-more=\"state.isShowingMore\">\n {{ state.isShowingMore ? 'Show less' : 'Show more' }}\n </slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } 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: 'AisMenu',\n mixins: [\n createSuitMixin({ name: 'Menu' }),\n createWidgetMixin(\n { connector: connectMenu },\n {\n $$widgetType: 'ais.menu',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n // TODO: implement searchable in connector\n // searchable: {\n // type: Boolean,\n // default: false,\n // },\n limit: {\n type: Number,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n showShowMoreButton() {\n return this.state.canRefine && this.showMore;\n },\n },\n};\n</script>\n"],"names":["_ctx","
|
|
1
|
+
{"version":3,"file":"Menu.vue_vue&type=template&id=577979d0&lang.js","sources":["../../../../src/components/Menu.vue?vue&type=template&id=577979d0&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :toggle-show-more=\"state.toggleShowMore\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n\n <button\n v-if=\"showShowMoreButton\"\n :class=\"[\n suit('showMore'),\n !state.canToggleShowMore && suit('showMore', 'disabled'),\n ]\"\n :disabled=\"!state.canToggleShowMore\"\n @click.prevent=\"state.toggleShowMore()\"\n >\n <slot name=\"showMoreLabel\" :is-showing-more=\"state.isShowingMore\">\n {{ state.isShowingMore ? 'Show less' : 'Show more' }}\n </slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } 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: 'AisMenu',\n mixins: [\n createSuitMixin({ name: 'Menu' }),\n createWidgetMixin(\n { connector: connectMenu },\n {\n $$widgetType: 'ais.menu',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n // TODO: implement searchable in connector\n // searchable: {\n // type: Boolean,\n // default: false,\n // },\n limit: {\n type: Number,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n showShowMoreButton() {\n return this.state.canRefine && this.showMore;\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","canRefine","_renderSlot","items","canToggleShowMore","isShowingMore","refine","createURL","toggleShowMore","sendEvent","_createElementVNode","item","key","value","isRefined","href","onClick","label","count","$options","disabled"],"mappings":"8SAEUA,aADRC,eAEGC,SAAQF,UAASA,QAAMG,WAAaH,8BAErCI,sBACGC,MAAOL,QAAMK,MACbF,UAAYH,QAAMG,UAClBG,kBAAsBN,QAAMM,kBAC5BC,cAAiBP,QAAMO,cACvBC,OAAQR,QAAMQ,OACdC,UAAWT,QAAMS,UACjBC,eAAkBV,QAAMU,eACxBC,UAAYX,QAAMW,6BAEnBC,QAAKV,QAAOF,yBACVC,WACiBD,QAAMK,eAAdQ,cADTZ,QAEGa,IAAKD,EAAKE,MACVb,SAAQF,eAAca,EAAKG,WAAahB,8BAEzCY,OACGK,KAAMjB,QAAMS,UAAUI,EAAKE,OAC3Bb,QAAOF,gBACPkB,6BAAelB,QAAMQ,OAAOK,EAAKE,uBAElCH,UAAOV,QAAOF,oBAAkBa,EAAKM,UACrCP,UAAOV,QAAOF,oBAAkBa,EAAKO,iCAMnCC,0BADRpB,kBAEGC,wFAIAoB,UAAWtB,QAAMM,kBACjBY,yCAAelB,QAAMU,kCAEtBN,4BAA4BG,cAAiBP,QAAMO,qCAC9CP,QAAMO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as e,
|
|
1
|
+
import{openBlock as e,createElementBlock as t,normalizeClass as n,renderSlot as s,createElementVNode as i,createTextVNode as a,Fragment as u,renderList as l,toDisplayString as o,createCommentVNode as r}from"vue";var c=["value","selected"];function f(f,v,d,m,p,R){return f.state?(e(),t("div",{key:0,class:n([f.suit(),!f.state.canRefine&&f.suit("","noRefinement")])},[s(f.$slots,"default",{items:f.state.items,canRefine:f.state.canRefine,refine:R.refine,createURL:f.state.createURL,sendEvent:f.state.sendEvent},function(){return[i("select",{class:n(f.suit("select")),onChange:v[0]||(v[0]=function(e){return R.refine(e.currentTarget.value)})},[i("option",{class:n(f.suit("option")),value:""},[s(f.$slots,"defaultOption",{},function(){return[a(" See all ")]})],2),(e(!0),t(u,null,l(f.state.items,function(i){return e(),t("option",{key:i.value,class:n(f.suit("option")),value:i.value,selected:i.isRefined},[s(f.$slots,"item",{item:i},function(){return[a(o(i.label)+" ("+o(i.count)+") ",1)]})],10,c)}),128))],34)]})],2)):r("",!0)}export{f as render};
|
|
2
2
|
//# sourceMappingURL=MenuSelect.vue_vue&type=template&id=12bad393&lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuSelect.vue_vue&type=template&id=12bad393&lang.js","sources":["../../../../src/components/MenuSelect.vue?vue&type=template&id=12bad393&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n v-if=\"state\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <select\n :class=\"suit('select')\"\n @change=\"refine($event.currentTarget.value)\"\n >\n <option :class=\"suit('option')\" value=\"\">\n <slot name=\"defaultOption\"> See all </slot>\n </option>\n <option\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"suit('option')\"\n :value=\"item.value\"\n :selected=\"item.isRefined\"\n >\n <slot name=\"item\" :item=\"item\">\n {{ item.label }} ({{ item.count }})\n </slot>\n </option>\n </select>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } 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: 'AisMenuSelect',\n mixins: [\n createSuitMixin({ name: 'MenuSelect' }),\n createWidgetMixin(\n { connector: connectMenu },\n {\n $$widgetType: 'ais.menuSelect',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n limit: {\n type: Number,\n default: 10,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default(items) {\n return items;\n },\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n refine(value) {\n this.state.refine(value);\n },\n },\n};\n</script>\n"],"names":["_ctx","
|
|
1
|
+
{"version":3,"file":"MenuSelect.vue_vue&type=template&id=12bad393&lang.js","sources":["../../../../src/components/MenuSelect.vue?vue&type=template&id=12bad393&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n v-if=\"state\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <select\n :class=\"suit('select')\"\n @change=\"refine($event.currentTarget.value)\"\n >\n <option :class=\"suit('option')\" value=\"\">\n <slot name=\"defaultOption\"> See all </slot>\n </option>\n <option\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"suit('option')\"\n :value=\"item.value\"\n :selected=\"item.isRefined\"\n >\n <slot name=\"item\" :item=\"item\">\n {{ item.label }} ({{ item.count }})\n </slot>\n </option>\n </select>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } 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: 'AisMenuSelect',\n mixins: [\n createSuitMixin({ name: 'MenuSelect' }),\n createWidgetMixin(\n { connector: connectMenu },\n {\n $$widgetType: 'ais.menuSelect',\n }\n ),\n createPanelConsumerMixin(),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n limit: {\n type: Number,\n default: 10,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default(items) {\n return items;\n },\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n refine(value) {\n this.state.refine(value);\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","canRefine","_renderSlot","items","refine","$options","createURL","sendEvent","_createElementVNode","onChange","$event","currentTarget","value","item","key","selected","isRefined","label","count"],"mappings":"8QAGUA,aAFRC,eACGC,SAAQF,UAASA,QAAMG,WAAaH,8BAGrCI,sBACGC,MAAOL,QAAMK,MACbF,UAAYH,QAAMG,UAClBG,OAAQC,SACRC,UAAWR,QAAMQ,UACjBC,UAAYT,QAAMS,6BAEnBC,YACGR,QAAOF,kBACPW,wCAAQJ,SAAOK,EAAOC,cAAcC,WAErCJ,YAASR,QAAOF,kBAAgBc,MAAM,KACpCV,6EAEFH,WACiBD,QAAMK,eAAdU,cADTd,YAEGe,IAAKD,EAAKD,MACVZ,QAAOF,kBACPc,MAAOC,EAAKD,MACZG,SAAUF,EAAKG,YAEhBd,mBAAmBW,KAAMA,yBACpBA,EAAKI,cAAaJ,EAAKK,OAAQ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as e,
|
|
1
|
+
import{openBlock as e,createElementBlock as t,normalizeClass as s,renderSlot as a,createElementVNode as n,Fragment as i,renderList as l,toDisplayString as u,createCommentVNode as r}from"vue";var c=["name","value","checked"];function f(f,o,d,m,v,R){return f.state?(e(),t("div",{key:0,class:s([f.suit(),!f.state.canRefine&&f.suit("","noRefinement")])},[a(f.$slots,"default",{items:f.state.items,canRefine:f.state.canRefine,refine:f.state.refine,createURL:f.state.createURL,sendEvent:f.state.sendEvent},function(){return[n("ul",{class:s([f.suit("list")])},[(e(!0),t(i,null,l(f.state.items,function(a){return e(),t("li",{key:a.label,class:s([f.suit("item"),a.isRefined&&f.suit("item","selected")])},[n("label",{class:s(f.suit("label"))},[n("input",{type:"radio",class:s(f.suit("radio")),name:d.attribute,value:a.value,checked:a.isRefined,onChange:o[0]||(o[0]=function(e){return f.state.refine(e.target.value)})},null,42,c),n("span",{class:s(f.suit("labelText"))},u(a.label),3)],2)],2)}),128))],2)]})],2)):r("",!0)}export{f as render};
|
|
2
2
|
//# sourceMappingURL=NumericMenu.vue_vue&type=template&id=ada9761c&lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumericMenu.vue_vue&type=template&id=ada9761c&lang.js","sources":["../../../../src/components/NumericMenu.vue?vue&type=template&id=ada9761c&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"[suit('list')]\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.label\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <label :class=\"suit('label')\">\n <input\n type=\"radio\"\n :class=\"suit('radio')\"\n :name=\"attribute\"\n :value=\"item.value\"\n :checked=\"item.isRefined\"\n @change=\"state.refine($event.target.value)\"\n />\n <span :class=\"suit('labelText')\">{{ item.label }}</span>\n </label>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectNumericMenu } 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: 'AisNumericMenu',\n mixins: [\n createWidgetMixin(\n {\n connector: connectNumericMenu,\n },\n {\n $$widgetType: 'ais.numericMenu',\n }\n ),\n createSuitMixin({ name: 'NumericMenu' }),\n createPanelConsumerMixin(),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n items: {\n type: Array,\n required: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n transformItems: this.transformItems,\n items: this.items,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","
|
|
1
|
+
{"version":3,"file":"NumericMenu.vue_vue&type=template&id=ada9761c&lang.js","sources":["../../../../src/components/NumericMenu.vue?vue&type=template&id=ada9761c&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"[suit('list')]\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.label\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <label :class=\"suit('label')\">\n <input\n type=\"radio\"\n :class=\"suit('radio')\"\n :name=\"attribute\"\n :value=\"item.value\"\n :checked=\"item.isRefined\"\n @change=\"state.refine($event.target.value)\"\n />\n <span :class=\"suit('labelText')\">{{ item.label }}</span>\n </label>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectNumericMenu } 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: 'AisNumericMenu',\n mixins: [\n createWidgetMixin(\n {\n connector: connectNumericMenu,\n },\n {\n $$widgetType: 'ais.numericMenu',\n }\n ),\n createSuitMixin({ name: 'NumericMenu' }),\n createPanelConsumerMixin(),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n items: {\n type: Array,\n required: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n transformItems: this.transformItems,\n items: this.items,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","_createElementBlock","class","canRefine","_renderSlot","items","refine","createURL","sendEvent","_createElementVNode","item","key","label","isRefined","type","name","$props","value","checked","onChange","$event","target"],"mappings":"+PAEUA,aADRC,eAEGC,SAAQF,UAASA,QAAMG,WAAaH,8BAErCI,sBACGC,MAAOL,QAAMK,MACbF,UAAYH,QAAMG,UAClBG,OAAQN,QAAMM,OACdC,UAAWP,QAAMO,UACjBC,UAAYR,QAAMQ,6BAEnBC,QAAKP,SAAQF,0BACXC,WACiBD,QAAMK,eAAdK,cADTT,QAEGU,IAAKD,EAAKE,MACVV,SAAQF,eAAcU,EAAKG,WAAab,8BAEzCS,WAAQP,QAAOF,mBACbS,WACEK,KAAK,QACJZ,QAAOF,iBACPe,KAAMC,YACNC,MAAOP,EAAKO,MACZC,QAASR,EAAKG,UACdM,wCAAQnB,QAAMM,OAAOc,EAAOC,OAAOJ,qBAEtCR,UAAOP,QAAOF,wBAAsBU,EAAKE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{openBlock as e,
|
|
1
|
+
import{openBlock as e,createElementBlock as t,normalizeClass as s,renderSlot as a,createElementVNode as i,withModifiers as r,createCommentVNode as n,Fragment as u,renderList as c,toDisplayString as l}from"vue";var f=["href"],o=["href"],g=["href","aria-label","onClick"],P=["href"],L=["href"];function k(k,m,R,b,p,U){return k.state?(e(),t("div",{key:0,class:s(k.suit())},[a(k.$slots,"default",{refine:U.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 b,p,v,F;return[i("ul",{class:s(k.suit("list"))},[R.showFirst?(e(),t("li",{key:0,class:s((b={},b[k.suit("item")]=!0,b[k.suit("item","firstPage")]=!0,b[k.suit("item","disabled")]=k.state.isFirstPage,b))},[a(k.$slots,"first",{createURL:function(){return k.state.createURL(0)},isFirstPage:k.state.isFirstPage,refine:function(){return U.refine(0)}},function(){return[k.state.isFirstPage?(e(),t("span",{key:1,class:s(k.suit("link")),"aria-label":"First"},"‹‹",2)):(e(),t("a",{key:0,class:s(k.suit("link")),"aria-label":"First",href:k.state.createURL(0),onClick:m[0]||(m[0]=r(function(e){return U.refine(0)},["prevent"]))},"‹‹",10,f))]})],2)):n("",!0),R.showPrevious?(e(),t("li",{key:1,class:s((p={},p[k.suit("item")]=!0,p[k.suit("item","previousPage")]=!0,p[k.suit("item","disabled")]=k.state.isFirstPage,p))},[a(k.$slots,"previous",{createURL:function(){return k.state.createURL(k.state.currentRefinement-1)},isFirstPage:k.state.isFirstPage,refine:function(){return U.refine(k.state.currentRefinement-1)}},function(){return[k.state.isFirstPage?(e(),t("span",{key:1,class:s(k.suit("link")),"aria-label":"Previous"},"‹",2)):(e(),t("a",{key:0,class:s(k.suit("link")),"aria-label":"Previous",href:k.state.createURL(k.state.currentRefinement-1),onClick:m[1]||(m[1]=r(function(e){return U.refine(k.state.currentRefinement-1)},["prevent"]))},"‹",10,o))]})],2)):n("",!0),(e(!0),t(u,null,c(k.state.pages,function(n){var u;return e(),t("li",{class:s((u={},u[k.suit("item")]=!0,u[k.suit("item","page")]=!0,u[k.suit("item","selected")]=k.state.currentRefinement===n,u)),key:n},[a(k.$slots,"item",{page:n,createURL:function(){return k.state.createURL(n)},isFirstPage:k.state.isFirstPage,isLastPage:k.state.isLastPage,refine:function(){return U.refine(n)}},function(){return[i("a",{class:s(k.suit("link")),href:k.state.createURL(n),"aria-label":"Page "+(n+1),onClick:r(function(e){return U.refine(n)},["prevent"])},l(n+1),11,g)]})],2)}),128)),R.showNext?(e(),t("li",{key:2,class:s((v={},v[k.suit("item")]=!0,v[k.suit("item","nextPage")]=!0,v[k.suit("item","disabled")]=k.state.isLastPage,v))},[a(k.$slots,"next",{createURL:function(){return k.state.createURL(k.state.currentRefinement+1)},isLastPage:k.state.isLastPage,refine:function(){return U.refine(k.state.currentRefinement+1)}},function(){return[k.state.isLastPage?(e(),t("span",{key:1,class:s(k.suit("link")),"aria-label":"Next"},"›",2)):(e(),t("a",{key:0,class:s(k.suit("link")),"aria-label":"Next",href:k.state.createURL(k.state.currentRefinement+1),onClick:m[2]||(m[2]=r(function(e){return U.refine(k.state.currentRefinement+1)},["prevent"]))},"›",10,P))]})],2)):n("",!0),R.showLast?(e(),t("li",{key:3,class:s((F={},F[k.suit("item")]=!0,F[k.suit("item","lastPage")]=!0,F[k.suit("item","disabled")]=k.state.isLastPage,F))},[a(k.$slots,"last",{createURL:function(){return k.state.createURL(k.state.nbPages-1)},isLastPage:k.state.isLastPage,refine:function(){return U.refine(k.state.nbPages-1)}},function(){return[k.state.isLastPage?(e(),t("span",{key:1,class:s(k.suit("link")),"aria-label":"Last"},"››",2)):(e(),t("a",{key:0,class:s(k.suit("link")),"aria-label":"Last",href:k.state.createURL(k.state.nbPages-1),onClick:m[3]||(m[3]=r(function(e){return U.refine(k.state.nbPages-1)},["prevent"]))},"››",10,L))]})],2)):n("",!0)],2)]})],2)):n("",!0)}export{k as render};
|
|
2
2
|
//# sourceMappingURL=Pagination.vue_vue&type=template&id=455c122a&lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.vue_vue&type=template&id=455c122a&lang.js","sources":["../../../../src/components/Pagination.vue?vue&type=template&id=455c122a&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 :aria-label=\"`Page ${page + 1}`\"\n @click.prevent=\"refine(page)\"\n >{{ page + 1 }}</a\n >\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'nextPage')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n }\"\n v-if=\"showNext\"\n >\n <slot\n name=\"next\"\n :createURL=\"() => state.createURL(state.currentRefinement + 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.currentRefinement + 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Next\"\n :href=\"state.createURL(state.currentRefinement + 1)\"\n @click.prevent=\"refine(state.currentRefinement + 1)\"\n >›</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Next\">›</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'lastPage')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n }\"\n v-if=\"showLast\"\n >\n <slot\n name=\"last\"\n :createURL=\"() => state.createURL(state.nbPages - 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.nbPages - 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Last\"\n :href=\"state.createURL(state.nbPages - 1)\"\n @click.prevent=\"refine(state.nbPages - 1)\"\n >››</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Last\">››</span>\n </template>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectPagination } from 'instantsearch.js/es/connectors';\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","
|
|
1
|
+
{"version":3,"file":"Pagination.vue_vue&type=template&id=455c122a&lang.js","sources":["../../../../src/components/Pagination.vue?vue&type=template&id=455c122a&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 :aria-label=\"`Page ${page + 1}`\"\n @click.prevent=\"refine(page)\"\n >{{ page + 1 }}</a\n >\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'nextPage')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n }\"\n v-if=\"showNext\"\n >\n <slot\n name=\"next\"\n :createURL=\"() => state.createURL(state.currentRefinement + 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.currentRefinement + 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Next\"\n :href=\"state.createURL(state.currentRefinement + 1)\"\n @click.prevent=\"refine(state.currentRefinement + 1)\"\n >›</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Next\">›</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'lastPage')]: true,\n [suit('item', 'disabled')]: state.isLastPage,\n }\"\n v-if=\"showLast\"\n >\n <slot\n name=\"last\"\n :createURL=\"() => state.createURL(state.nbPages - 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.nbPages - 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Last\"\n :href=\"state.createURL(state.nbPages - 1)\"\n @click.prevent=\"refine(state.nbPages - 1)\"\n >››</a\n >\n </template>\n <template v-else>\n <span :class=\"suit('link')\" aria-label=\"Last\">››</span>\n </template>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectPagination } from 'instantsearch.js/es/connectors';\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","_createElementBlock","class","_renderSlot","refine","$options","createURL","currentRefinement","nbHits","nbPages","pages","isFirstPage","isLastPage","_createElementVNode","$props","aria-label","href","onClick","page","key"],"mappings":"mUACaA,aAAXC,eAAmBC,QAAOF,YACxBG,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,QAAOF,kBAOFc,iBANRb,cACGC,2HAODC,oBAEGG,4BAAiBN,QAAMM,cACvBK,YAAeX,QAAMW,YACrBP,yBAAcC,gCAEEL,QAAMW,iBAUrBV,gBAAOC,QAAOF,gBAAce,aAAW,SAAQ,cAT/Cd,aACGC,QAAOF,gBACRe,aAAW,QACVC,KAAMhB,QAAMM,aACZW,yCAAeZ,4BACf,6BAcDS,oBANRb,cACGC,8HAODC,uBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMO,sBACvCI,YAAeX,QAAMW,YACrBP,yBAAcC,SAAOL,QAAMO,yCAEXP,QAAMW,iBAUrBV,gBAAOC,QAAOF,gBAAce,aAAW,YAAW,aATlDd,aACGC,QAAOF,gBACRe,aAAW,WACVC,KAAMhB,QAAMM,UAAUN,QAAMO,qBAC5BU,yCAAeZ,SAAOL,QAAMO,qCAC5B,mCASTN,WAMiBD,QAAMU,eAAdQ,oBANTjB,QACGC,8HAMAiB,IAAKD,IAENf,mBAEGe,KAAMA,EACNZ,4BAAiBN,QAAMM,UAAUY,IACjCP,YAAeX,QAAMW,YACrBC,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOa,uBAEtBL,OACGX,QAAOF,gBACPgB,KAAMhB,QAAMM,UAAUY,GACtBH,sBAAoBG,KACpBD,6BAAeZ,SAAOa,oBACnBA,0BAWFJ,gBANRb,cACGC,yHAODC,mBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMO,sBACvCK,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOL,QAAMO,yCAEXP,QAAMY,gBAUrBX,gBAAOC,QAAOF,gBAAce,aAAW,QAAO,aAT9Cd,aACGC,QAAOF,gBACRe,aAAW,OACVC,KAAMhB,QAAMM,UAAUN,QAAMO,qBAC5BU,yCAAeZ,SAAOL,QAAMO,qCAC5B,4BAcDO,gBANRb,cACGC,yHAODC,mBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMS,YACvCG,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOL,QAAMS,+BAEXT,QAAMY,gBAUrBX,gBAAOC,QAAOF,gBAAce,aAAW,QAAO,cAT9Cd,aACGC,QAAOF,gBACRe,aAAW,OACVC,KAAMhB,QAAMM,UAAUN,QAAMS,WAC5BQ,yCAAeZ,SAAOL,QAAMS,2BAC5B"}
|