vue-instantsearch 4.13.7 → 4.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -6
- package/src/components/Highlight.vue +1 -2
- package/src/components/Highlighter.js +69 -0
- package/src/components/Hits.js +113 -0
- package/src/components/Snippet.vue +1 -2
- package/src/components/__tests__/Hits.js +1 -1
- package/src/util/pragma.js +22 -0
- package/src/{components/Highlighter.vue → util/vue-compat/Highlighter/Highlighter-vue2.vue} +6 -9
- package/src/util/vue-compat/Highlighter/index-vue2.js +1 -0
- package/src/util/vue-compat/Highlighter/index-vue3.js +1 -0
- package/src/util/vue-compat/Highlighter/index.js +1 -0
- package/src/util/vue-compat/index-vue2.js +26 -1
- package/src/util/vue-compat/index-vue3.js +7 -0
- package/src/widgets.js +1 -1
- 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/Highlight.vue_rollup-plugin-vue=script.js +1 -1
- package/vue2/es/src/components/Hits.js +2 -0
- package/vue2/es/src/components/Hits.js.map +1 -0
- package/vue2/es/src/components/Snippet.vue_rollup-plugin-vue=script.js +1 -1
- package/vue2/es/src/instantsearch.js +1 -1
- package/vue2/es/src/util/vue-compat/Highlighter/Highlighter-vue2.vue.js +2 -0
- package/vue2/es/src/util/vue-compat/Highlighter/Highlighter-vue2.vue.js.map +1 -0
- package/vue2/es/src/util/vue-compat/Highlighter/Highlighter-vue2.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/util/vue-compat/Highlighter/Highlighter-vue2.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/util/vue-compat/index-vue2.js +1 -1
- package/vue2/es/src/util/vue-compat/index-vue2.js.map +1 -1
- package/vue2/es/src/widgets.js +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/Highlight.vue.js +1 -1
- package/vue3/es/src/components/Highlight.vue_vue&type=script&lang.js +1 -1
- package/vue3/es/src/components/Highlight.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{Highlight.vue_vue&type=template&id=1d5c1fda&lang.js → Highlight.vue_vue&type=template&id=214ecb36&lang.js} +1 -1
- package/vue3/es/src/components/Highlight.vue_vue&type=template&id=214ecb36&lang.js.map +1 -0
- package/vue3/es/src/components/Highlighter.js +2 -0
- package/vue3/es/src/components/Highlighter.js.map +1 -0
- package/vue3/es/src/components/Hits.js +2 -0
- package/vue3/es/src/components/Hits.js.map +1 -0
- package/vue3/es/src/components/Snippet.vue.js +1 -1
- package/vue3/es/src/components/Snippet.vue_vue&type=script&lang.js +1 -1
- package/vue3/es/src/components/Snippet.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{Snippet.vue_vue&type=template&id=1e214b4c&lang.js → Snippet.vue_vue&type=template&id=edc35952&lang.js} +1 -1
- package/vue3/es/src/components/Snippet.vue_vue&type=template&id=edc35952&lang.js.map +1 -0
- package/vue3/es/src/instantsearch.js +1 -1
- package/vue3/es/src/util/pragma.js +2 -0
- package/vue3/es/src/util/pragma.js.map +1 -0
- package/vue3/es/src/util/vue-compat/index-vue3.js +1 -1
- package/vue3/es/src/util/vue-compat/index-vue3.js.map +1 -1
- package/vue3/es/src/widgets.js +1 -1
- package/vue3/umd/index.js +1 -1
- package/vue3/umd/index.js.map +1 -1
- package/src/components/Hits.vue +0 -72
- package/vue2/es/src/components/Highlighter.vue.js +0 -2
- package/vue2/es/src/components/Highlighter.vue.js.map +0 -1
- package/vue2/es/src/components/Highlighter.vue_rollup-plugin-vue=script.js +0 -2
- package/vue2/es/src/components/Highlighter.vue_rollup-plugin-vue=script.js.map +0 -1
- package/vue2/es/src/components/Hits.vue.js +0 -2
- package/vue2/es/src/components/Hits.vue.js.map +0 -1
- package/vue2/es/src/components/Hits.vue_rollup-plugin-vue=script.js +0 -2
- package/vue2/es/src/components/Hits.vue_rollup-plugin-vue=script.js.map +0 -1
- package/vue3/es/src/components/Highlight.vue_vue&type=template&id=1d5c1fda&lang.js.map +0 -1
- package/vue3/es/src/components/Highlighter.vue.js +0 -2
- package/vue3/es/src/components/Highlighter.vue.js.map +0 -1
- package/vue3/es/src/components/Highlighter.vue_vue&type=script&lang.js +0 -2
- package/vue3/es/src/components/Highlighter.vue_vue&type=script&lang.js.map +0 -1
- package/vue3/es/src/components/Highlighter.vue_vue&type=template&id=f822f802&lang.js +0 -2
- package/vue3/es/src/components/Highlighter.vue_vue&type=template&id=f822f802&lang.js.map +0 -1
- package/vue3/es/src/components/Hits.vue.js +0 -2
- package/vue3/es/src/components/Hits.vue.js.map +0 -1
- package/vue3/es/src/components/Hits.vue_vue&type=script&lang.js +0 -2
- package/vue3/es/src/components/Hits.vue_vue&type=script&lang.js.map +0 -1
- package/vue3/es/src/components/Hits.vue_vue&type=template&id=026646d2&lang.js +0 -2
- package/vue3/es/src/components/Hits.vue_vue&type=template&id=026646d2&lang.js.map +0 -1
- package/vue3/es/src/components/Snippet.vue_vue&type=template&id=1e214b4c&lang.js.map +0 -1
- package/vue3/es/src/util/parseAlgoliaHit.js +0 -2
- package/vue3/es/src/util/parseAlgoliaHit.js.map +0 -1
- package/vue3/es/src/util/unescape.js +0 -2
- package/vue3/es/src/util/unescape.js.map +0 -1
package/src/components/Hits.vue
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div v-if="state" :class="suit()">
|
|
3
|
-
<slot
|
|
4
|
-
:items="items"
|
|
5
|
-
:insights="state.insights"
|
|
6
|
-
:send-event="state.sendEvent"
|
|
7
|
-
>
|
|
8
|
-
<ol :class="suit('list')">
|
|
9
|
-
<li
|
|
10
|
-
v-for="(item, itemIndex) in items"
|
|
11
|
-
:key="item.objectID"
|
|
12
|
-
:class="suit('item')"
|
|
13
|
-
@click="state.sendEvent('click:internal', item, 'Hit Clicked')"
|
|
14
|
-
@auxclick="state.sendEvent('click:internal', item, 'Hit Clicked')"
|
|
15
|
-
>
|
|
16
|
-
<slot
|
|
17
|
-
name="item"
|
|
18
|
-
:item="item"
|
|
19
|
-
:index="itemIndex"
|
|
20
|
-
:insights="state.insights"
|
|
21
|
-
:send-event="state.sendEvent"
|
|
22
|
-
>
|
|
23
|
-
objectID: {{ item.objectID }}, index: {{ itemIndex }}
|
|
24
|
-
</slot>
|
|
25
|
-
</li>
|
|
26
|
-
</ol>
|
|
27
|
-
</slot>
|
|
28
|
-
</div>
|
|
29
|
-
</template>
|
|
30
|
-
|
|
31
|
-
<script>
|
|
32
|
-
import { connectHitsWithInsights } from 'instantsearch.js/es/connectors';
|
|
33
|
-
|
|
34
|
-
import { createSuitMixin } from '../mixins/suit';
|
|
35
|
-
import { createWidgetMixin } from '../mixins/widget';
|
|
36
|
-
|
|
37
|
-
export default {
|
|
38
|
-
name: 'AisHits',
|
|
39
|
-
mixins: [
|
|
40
|
-
createWidgetMixin(
|
|
41
|
-
{
|
|
42
|
-
connector: connectHitsWithInsights,
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
$$widgetType: 'ais.hits',
|
|
46
|
-
}
|
|
47
|
-
),
|
|
48
|
-
createSuitMixin({ name: 'Hits' }),
|
|
49
|
-
],
|
|
50
|
-
props: {
|
|
51
|
-
escapeHTML: {
|
|
52
|
-
type: Boolean,
|
|
53
|
-
default: true,
|
|
54
|
-
},
|
|
55
|
-
transformItems: {
|
|
56
|
-
type: Function,
|
|
57
|
-
default: undefined,
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
computed: {
|
|
61
|
-
items() {
|
|
62
|
-
return this.state.hits;
|
|
63
|
-
},
|
|
64
|
-
widgetParams() {
|
|
65
|
-
return {
|
|
66
|
-
escapeHTML: this.escapeHTML,
|
|
67
|
-
transformItems: this.transformItems,
|
|
68
|
-
};
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
};
|
|
72
|
-
</script>
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e from"./Highlighter.vue_rollup-plugin-vue=script.js";export default(function(e,t,i,n,r,s,l,o){var a=("function"==typeof i?i.options:i)||{};return a.__file="Highlighter.vue",a.render||(a.render=e.render,a.staticRenderFns=e.staticRenderFns,a._compiled=!0,r&&(a.functional=!0)),a._scopeId=n,a}({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{class:e.suit()},e._l(e.parsedHighlights,function(t,n){var r=t.value,s=t.isHighlighted;return i(s?e.highlightedTagName:e.TextNode,{key:n,tag:"component",class:[s&&e.suit("highlighted")]},[e._v(e._s(r))])}),1)},staticRenderFns:[]},0,e,void 0,!1));
|
|
2
|
-
//# sourceMappingURL=Highlighter.vue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Highlighter.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{renderCompat as t,getDefaultSlot as e}from"../util/vue-compat/index-vue2.js";import{parseAlgoliaHit as i}from"../util/parseAlgoliaHit.js";var r={render:t(function(){return e(this)})};export default{name:"AisHighlighter",props:{hit:{type:Object,required:!0},attribute:{type:String,required:!0},highlightedTagName:{type:String,default:"mark"},suit:{type:Function,required:!0},highlightProperty:{type:String,required:!0},preTag:{type:String,required:!0},postTag:{type:String,required:!0}},data:function(){return{TextNode:r}},computed:{parsedHighlights:function(){return i({attribute:this.attribute,hit:this.hit,highlightProperty:this.highlightProperty,preTag:this.preTag,postTag:this.postTag})}}};
|
|
2
|
-
//# sourceMappingURL=Highlighter.vue_rollup-plugin-vue=script.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Highlighter.vue_rollup-plugin-vue=script.js","sources":["../../../../src/components/Highlighter.vue"],"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 { parseAlgoliaHit } from '../util/parseAlgoliaHit';\nimport { getDefaultSlot, renderCompat, isVue3 } from '../util/vue-compat';\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":["const"],"mappings":"iJAgBAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import t from"./Hits.vue_rollup-plugin-vue=script.js";export default(function(t,e,n,i,s,r,c,u){var l=("function"==typeof n?n.options:n)||{};return l.__file="Hits.vue",l.render||(l.render=t.render,l.staticRenderFns=t.staticRenderFns,l._compiled=!0,s&&(l.functional=!0)),l._scopeId=i,l}({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.state?n("div",{class:t.suit()},[t._t("default",function(){return[n("ol",{class:t.suit("list")},t._l(t.items,function(e,i){return n("li",{key:e.objectID,class:t.suit("item"),on:{click:function(n){return t.state.sendEvent("click:internal",e,"Hit Clicked")},auxclick:function(n){return t.state.sendEvent("click:internal",e,"Hit Clicked")}}},[t._t("item",function(){return[t._v("\n objectID: "+t._s(e.objectID)+", index: "+t._s(i)+"\n ")]},{item:e,index:i,insights:t.state.insights,sendEvent:t.state.sendEvent})],2)}),0)]},{items:t.items,insights:t.state.insights,sendEvent:t.state.sendEvent})],2):t._e()},staticRenderFns:[]},0,t,void 0,!1));
|
|
2
|
-
//# sourceMappingURL=Hits.vue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Hits.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as s}from"../mixins/widget.js";import{connectHitsWithInsights as e}from"instantsearch.js/es/connectors/index.js";export default{name:"AisHits",mixins:[s({connector:e},{$$widgetType:"ais.hits"}),t({name:"Hits"})],props:{escapeHTML:{type:Boolean,default:!0},transformItems:{type:Function,default:void 0}},computed:{items:function(){return this.state.hits},widgetParams:function(){return{escapeHTML:this.escapeHTML,transformItems:this.transformItems}}}};
|
|
2
|
-
//# sourceMappingURL=Hits.vue_rollup-plugin-vue=script.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Hits.vue_rollup-plugin-vue=script.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Highlight.vue_vue&type=template&id=1d5c1fda&lang.js","sources":["../../../../src/components/Highlight.vue?vue&type=template&id=1d5c1fda&lang.js"],"sourcesContent":["<template>\n <ais-highlighter\n :hit=\"hit\"\n :attribute=\"attribute\"\n :highlighted-tag-name=\"highlightedTagName\"\n :suit=\"suit\"\n highlight-property=\"_highlightResult\"\n pre-tag=\"<mark>\"\n post-tag=\"</mark>\"\n />\n</template>\n\n<script>\nimport { createSuitMixin } from '../mixins/suit';\n\nimport AisHighlighter from './Highlighter.vue';\n\nexport default {\n name: 'AisHighlight',\n mixins: [createSuitMixin({ name: 'Highlight' })],\n components: { 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 },\n};\n</script>\n"],"names":["_createBlock","hit","$props","attribute","highlighted-tag-name","suit","_ctx","highlight-property","pre-tag","post-tag"],"mappings":"qIACEA,KACGC,IAAKC,MACLC,UAAWD,YACXE,uBAAsBF,qBACtBG,KAAMC,OACPC,qBAAmB,mBACnBC,UAAQ,SACRC,WAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Highlighter.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"../util/vue-compat/index-vue3.js";import{parseAlgoliaHit as t}from"../util/parseAlgoliaHit.js";var e=function(t,e){return e.slots.default()};export default{name:"AisHighlighter",props:{hit:{type:Object,required:!0},attribute:{type:String,required:!0},highlightedTagName:{type:String,default:"mark"},suit:{type:Function,required:!0},highlightProperty:{type:String,required:!0},preTag:{type:String,required:!0},postTag:{type:String,required:!0}},data:function(){return{TextNode:e}},computed:{parsedHighlights:function(){return t({attribute:this.attribute,hit:this.hit,highlightProperty:this.highlightProperty,preTag:this.preTag,postTag:this.postTag})}}};
|
|
2
|
-
//# sourceMappingURL=Highlighter.vue_vue&type=script&lang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Highlighter.vue_vue&type=script&lang.js","sources":["../../../../src/components/Highlighter.vue"],"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 { parseAlgoliaHit } from '../util/parseAlgoliaHit';\nimport { getDefaultSlot, renderCompat, isVue3 } from '../util/vue-compat';\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":["const","TextNode","props","context","slots","default","name","hit","type","Object","required","attribute","String","highlightedTagName","suit","Function","highlightProperty","preTag","postTag","data","computed","parsedHighlights","parseAlgoliaHit","this"],"mappings":"sGAgBAA,IAAMC,WACDC,EAAOC,UAAYA,EAAQC,MAAMC,yBAOvB,CACbC,KAAM,iBACNJ,MAAO,CACLK,IAAK,CACHC,KAAMC,OACNC,UAAU,GAEZC,UAAW,CACTH,KAAMI,OACNF,UAAU,GAEZG,mBAAoB,CAClBL,KAAMI,OACNP,QAAS,QAEXS,KAAM,CACJN,KAAMO,SACNL,UAAU,GAEZM,kBAAmB,CACjBR,KAAMI,OACNF,UAAU,GAEZO,OAAQ,CACNT,KAAMI,OACNF,UAAU,GAEZQ,QAAS,CACPV,KAAMI,OACNF,UAAU,IAGdS,gBACE,MAAO,UAAElB,IAEXmB,SAAU,CACRC,4BACE,OAAOC,EAAgB,CACrBX,UAAWY,KAAKZ,UAChBJ,IAAKgB,KAAKhB,IACVS,kBAAmBO,KAAKP,kBACxBC,OAAQM,KAAKN,OACbC,QAASK,KAAKL"}
|
|
@@ -1,2 +0,0 @@
|
|
|
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
|
-
//# sourceMappingURL=Highlighter.vue_vue&type=template&id=f822f802&lang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Highlighter.vue_vue&type=template&id=f822f802&lang.js","sources":["../../../../src/components/Highlighter.vue?vue&type=template&id=f822f802&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 { parseAlgoliaHit } from '../util/parseAlgoliaHit';\nimport { getDefaultSlot, renderCompat, isVue3 } from '../util/vue-compat';\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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Hits.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as s}from"../mixins/widget.js";import{connectHitsWithInsights as e}from"instantsearch.js/es/connectors/index.js";export default{name:"AisHits",mixins:[s({connector:e},{$$widgetType:"ais.hits"}),t({name:"Hits"})],props:{escapeHTML:{type:Boolean,default:!0},transformItems:{type:Function,default:void 0}},computed:{items:function(){return this.state.hits},widgetParams:function(){return{escapeHTML:this.escapeHTML,transformItems:this.transformItems}}}};
|
|
2
|
-
//# sourceMappingURL=Hits.vue_vue&type=script&lang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Hits.vue_vue&type=script&lang.js","sources":["../../../../src/components/Hits.vue"],"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';\n\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\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":["name","mixins","createWidgetMixin","connector","connectHitsWithInsights","$$widgetType","createSuitMixin","props","escapeHTML","type","Boolean","default","transformItems","Function","undefined","computed","items","this","state","hits","widgetParams"],"mappings":"4MAoCe,CACbA,KAAM,UACNC,OAAQ,CACNC,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,aAGlBC,EAAgB,CAAEN,KAAM,UAE1BO,MAAO,CACLC,WAAY,CACVC,KAAMC,QACNC,SAAS,GAEXC,eAAgB,CACdH,KAAMI,SACNF,aAASG,IAGbC,SAAU,CACRC,iBACE,OAAOC,KAAKC,MAAMC,MAEpBC,wBACE,MAAO,CACLZ,WAAYS,KAAKT,WACjBI,eAAgBK,KAAKL"}
|
|
@@ -1,2 +0,0 @@
|
|
|
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
|
-
//# sourceMappingURL=Hits.vue_vue&type=template&id=026646d2&lang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Hits.vue_vue&type=template&id=026646d2&lang.js","sources":["../../../../src/components/Hits.vue?vue&type=template&id=026646d2&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';\n\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Snippet.vue_vue&type=template&id=1e214b4c&lang.js","sources":["../../../../src/components/Snippet.vue?vue&type=template&id=1e214b4c&lang.js"],"sourcesContent":["<template>\n <ais-highlighter\n :hit=\"hit\"\n :attribute=\"attribute\"\n :highlighted-tag-name=\"highlightedTagName\"\n :suit=\"suit\"\n highlight-property=\"_snippetResult\"\n pre-tag=\"<mark>\"\n post-tag=\"</mark>\"\n />\n</template>\n\n<script>\nimport { createSuitMixin } from '../mixins/suit';\n\nimport AisHighlighter from './Highlighter.vue';\n\nexport default {\n name: 'AisSnippet',\n mixins: [createSuitMixin({ name: 'Snippet' })],\n components: { 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 },\n};\n</script>\n"],"names":["_createBlock","hit","$props","attribute","highlighted-tag-name","suit","_ctx","highlight-property","pre-tag","post-tag"],"mappings":"qIACEA,KACGC,IAAKC,MACLC,UAAWD,YACXE,uBAAsBF,qBACtBG,KAAMC,OACPC,qBAAmB,iBACnBC,UAAQ,SACRC,WAAS"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{getPropertyByPath as i}from"instantsearch.js/es/lib/utils/index.js";import{unescape as h}from"./unescape.js";var t={highlightPreTag:"__ais-highlight__",highlightPostTag:"__/ais-highlight__"};function r(i){var h=i.preTag,t=i.postTag,r=i.highlightedValue;void 0===r&&(r="");var a=r.split(h),g=a.shift(),e=""===g?[]:[{value:g,isHighlighted:!1}];if(t===h){var s=!0;a.forEach(function(i){e.push({value:i,isHighlighted:s}),s=!s})}else a.forEach(function(i){var h=i.split(t);e.push({value:h[0],isHighlighted:!0}),""!==h[1]&&e.push({value:" "===h[1]?" ":h[1],isHighlighted:!1})});return e}function a(a){var g=a.preTag;void 0===g&&(g=t.highlightPreTag);var e=a.postTag;void 0===e&&(e=t.highlightPostTag);var s=a.highlightProperty,l=a.attribute,o=a.hit;if(!o)throw new Error("`hit`, the matching record, must be provided");var u=i(o[s],l)||{};return Array.isArray(u)?u.map(function(i){return r({preTag:g,postTag:e,highlightedValue:h(i.value)})}):r({preTag:g,postTag:e,highlightedValue:h(u.value)})}export{a as parseAlgoliaHit};
|
|
2
|
-
//# sourceMappingURL=parseAlgoliaHit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseAlgoliaHit.js","sources":["../../../../src/util/parseAlgoliaHit.js"],"sourcesContent":["// copied from React InstantSearch\nimport { getPropertyByPath } from 'instantsearch.js/es/lib/utils';\n\nimport { unescape } from '../util/unescape';\n\nconst TAG_PLACEHOLDER = {\n highlightPreTag: '__ais-highlight__',\n highlightPostTag: '__/ais-highlight__',\n};\n\n/**\n * Parses an highlighted attribute into an array of objects with the string value, and\n * a boolean that indicated if this part is highlighted.\n *\n * @param {string} preTag - string used to identify the start of an highlighted value\n * @param {string} postTag - string used to identify the end of an highlighted value\n * @param {string} highlightedValue - highlighted attribute as returned by Algolia highlight feature\n * @return {object[]} - An array of {value: string, isHighlighted: boolean}.\n */\nfunction parseHighlightedAttribute({ preTag, postTag, highlightedValue = '' }) {\n const splitByPreTag = highlightedValue.split(preTag);\n const firstValue = splitByPreTag.shift();\n const elements =\n firstValue === '' ? [] : [{ value: firstValue, isHighlighted: false }];\n\n if (postTag === preTag) {\n let isHighlighted = true;\n splitByPreTag.forEach((split) => {\n elements.push({ value: split, isHighlighted });\n isHighlighted = !isHighlighted;\n });\n } else {\n splitByPreTag.forEach((split) => {\n const splitByPostTag = split.split(postTag);\n\n elements.push({\n value: splitByPostTag[0],\n isHighlighted: true,\n });\n\n if (splitByPostTag[1] !== '') {\n elements.push({\n // Vue removes nodes which are just a single space (vuejs/vue#9208),\n // we replace this by two spaces, which does not have an impact,\n // unless someone would have `white-space: pre` on the highlights\n value: splitByPostTag[1] === ' ' ? ' ' : splitByPostTag[1],\n isHighlighted: false,\n });\n }\n });\n }\n\n return elements;\n}\n\n/**\n * Find an highlighted attribute given an `attribute` and an `highlightProperty`, parses it,\n * and provided an array of objects with the string value and a boolean if this\n * value is highlighted.\n *\n * In order to use this feature, highlight must be activated in the configuration of\n * the index. The `preTag` and `postTag` attributes are respectively highlightPreTag and\n * highlightPostTag in Algolia configuration.\n *\n * @param {string} preTag - string used to identify the start of an highlighted value\n * @param {string} postTag - string used to identify the end of an highlighted value\n * @param {string} highlightProperty - the property that contains the highlight structure in the results\n * @param {string} attribute - the highlighted attribute to look for\n * @param {object} hit - the actual hit returned by Algolia.\n * @return {object[]} - An array of {value: string, isHighlighted: boolean}.\n */\nexport function parseAlgoliaHit({\n preTag = TAG_PLACEHOLDER.highlightPreTag,\n postTag = TAG_PLACEHOLDER.highlightPostTag,\n highlightProperty,\n attribute,\n hit,\n}) {\n if (!hit) throw new Error('`hit`, the matching record, must be provided');\n\n const highlightObject =\n getPropertyByPath(hit[highlightProperty], attribute) || {};\n\n if (Array.isArray(highlightObject)) {\n return highlightObject.map((item) =>\n parseHighlightedAttribute({\n preTag,\n postTag,\n highlightedValue: unescape(item.value),\n })\n );\n }\n\n return parseHighlightedAttribute({\n preTag,\n postTag,\n highlightedValue: unescape(highlightObject.value),\n });\n}\n"],"names":["const","TAG_PLACEHOLDER","highlightPreTag","highlightPostTag","parseHighlightedAttribute","splitByPreTag","highlightedValue","split","preTag","firstValue","shift","elements","value","isHighlighted","postTag","let","forEach","push","splitByPostTag","parseAlgoliaHit","hit","Error","highlightObject","getPropertyByPath","highlightProperty","attribute","Array","isArray","map","item","unescape"],"mappings":"oHAKAA,IAAMC,EAAkB,CACtBC,gBAAiB,oBACjBC,iBAAkB,sBAYpB,SAASC,oEAAgE,IACvEJ,IAAMK,EAAgBC,EAAiBC,MAAMC,GACvCC,EAAaJ,EAAcK,QAC3BC,EACW,KAAfF,EAAoB,GAAK,CAAC,CAAEG,MAAOH,EAAYI,eAAe,IAEhE,GAAIC,IAAYN,EAAQ,CACtBO,IAAIF,GAAgB,EACpBR,EAAcW,iBAAST,GACrBI,EAASM,KAAK,CAAEL,MAAOL,gBAAOM,IAC9BA,GAAiBA,SAGnBR,EAAcW,iBAAST,GACrBP,IAAMkB,EAAiBX,EAAMA,MAAMO,GAEnCH,EAASM,KAAK,CACZL,MAAOM,EAAe,GACtBL,eAAe,IAGS,KAAtBK,EAAe,IACjBP,EAASM,KAAK,CAIZL,MAA6B,MAAtBM,EAAe,GAAa,KAAOA,EAAe,GACzDL,eAAe,MAMvB,OAAOF,EAmBF,SAASQ,mCACLlB,EAAgBC,gDACfD,EAAgBE,kEAK1B,IAAKiB,EAAK,MAAM,IAAIC,MAAM,gDAE1BrB,IAAMsB,EACJC,EAAkBH,EAAII,GAAoBC,IAAc,GAE1D,OAAIC,MAAMC,QAAQL,GACTA,EAAgBM,aAAKC,UAC1BzB,EAA0B,QACxBI,UACAM,EACAR,iBAAkBwB,EAASD,EAAKjB,WAK/BR,EAA0B,QAC/BI,UACAM,EACAR,iBAAkBwB,EAASR,EAAgBV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unescape.js","sources":["../../../../src/util/unescape.js"],"sourcesContent":["/**\n * This implementation is taken from Lodash implementation.\n * See: https://github.com/lodash/lodash/blob/4.17.11-npm/unescape.js\n */\n\n/** Used to map HTML entities to characters. */\nconst htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\",\n};\n\n/** Used to match HTML entities and HTML characters. */\nconst reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g;\nconst reHasEscapedHtml = RegExp(reEscapedHtml.source);\n\n/**\n * The inverse of `_.escape`; this method converts the HTML entities\n * `&`, `<`, `>`, `"`, and `'` in `string` to\n * their corresponding characters.\n *\n * **Note:** No other HTML entities are unescaped. To unescape additional\n * HTML entities use a third-party library like [_he_](https://mths.be/he).\n *\n * @static\n * @memberOf _\n * @since 0.6.0\n * @category String\n * @param {string} [string=''] The string to unescape.\n * @returns {string} Returns the unescaped string.\n * @example\n *\n * _.unescape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\nexport function unescape(string) {\n return string && reHasEscapedHtml.test(string)\n ? string.replace(reEscapedHtml, (character) => htmlUnescapes[character])\n : string;\n}\n"],"names":["const","htmlUnescapes","&","<",">",""","'","reEscapedHtml","reHasEscapedHtml","RegExp","source","unescape","string","test","replace","character"],"mappings":"AAMAA,IAAMC,EAAgB,CACpBC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,SAAU,IACVC,QAAS,KAILC,EAAgB,4BAChBC,EAAmBC,OAAOF,EAAcG,QAqBvC,SAASC,EAASC,GACvB,OAAOA,GAAUJ,EAAiBK,KAAKD,GACnCA,EAAOE,QAAQP,WAAgBQ,UAAcd,EAAcc,KAC3DH"}
|