@abi-software/map-side-bar 2.4.0-isan-1 → 2.4.0-isan-2
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/dist/map-side-bar.js +27 -14
- package/dist/map-side-bar.umd.cjs +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/App.vue +13 -0
- package/src/components/SideBar.vue +5 -1
- package/src/components/SidebarContent.vue +56 -13
- package/src/flatmapQueries/flatmapQueries.js +10 -10
package/dist/map-side-bar.js
CHANGED
|
@@ -21019,7 +21019,7 @@ let s9 = function() {
|
|
|
21019
21019
|
const r = this.createTermSQL(e);
|
|
21020
21020
|
return n += r, t && t !== "" && (n += `and (t.pmr_text match '${t}')`), (!t || t === "") && (n += "and m.exposure is not null and score > 0.69"), n += " group by m.exposure", this.sqlPreOffset = n, n += " " + this.offsetText() + ";", console.log(n), n;
|
|
21021
21021
|
}, this.convertTermsToIds = function(e) {
|
|
21022
|
-
return e.
|
|
21022
|
+
return e.filter((t) => this.lookUpId(t));
|
|
21023
21023
|
}, this.labelSQL = function() {
|
|
21024
21024
|
return "select entity, label from labels";
|
|
21025
21025
|
}, this.countSQL = function(e) {
|
|
@@ -21038,7 +21038,7 @@ let s9 = function() {
|
|
|
21038
21038
|
}, this.processFilters = function(e) {
|
|
21039
21039
|
let t = [];
|
|
21040
21040
|
return e.forEach((n) => {
|
|
21041
|
-
n.
|
|
21041
|
+
n.facet !== "Show all" && n.facet !== "PMR" && t.push(n.facet);
|
|
21042
21042
|
}), t;
|
|
21043
21043
|
}, this.pmrSearch = function(e = [], t = "") {
|
|
21044
21044
|
let n = this.processFilters(e), r = this.convertTermsToIds(n);
|
|
@@ -21137,6 +21137,7 @@ var l9 = async function(e) {
|
|
|
21137
21137
|
numberPerPage: 10,
|
|
21138
21138
|
page: 1,
|
|
21139
21139
|
pmrResultsOnlyFlag: !1,
|
|
21140
|
+
noPMRResultsFlag: !1,
|
|
21140
21141
|
hasSearched: !1,
|
|
21141
21142
|
contextCardEnabled: !1,
|
|
21142
21143
|
pmrResults: [],
|
|
@@ -21170,6 +21171,13 @@ const c9 = {
|
|
|
21170
21171
|
type: Object,
|
|
21171
21172
|
default: () => u9
|
|
21172
21173
|
},
|
|
21174
|
+
initFilters: {
|
|
21175
|
+
type: Object,
|
|
21176
|
+
default: {
|
|
21177
|
+
filter: [],
|
|
21178
|
+
searchInput: ""
|
|
21179
|
+
}
|
|
21180
|
+
},
|
|
21173
21181
|
envVars: {
|
|
21174
21182
|
type: Object,
|
|
21175
21183
|
default: () => {
|
|
@@ -21179,6 +21187,7 @@ const c9 = {
|
|
|
21179
21187
|
data: function() {
|
|
21180
21188
|
return {
|
|
21181
21189
|
...this.entry,
|
|
21190
|
+
...this.initFilters,
|
|
21182
21191
|
bodyStyle: {
|
|
21183
21192
|
flex: "1 1 auto",
|
|
21184
21193
|
"flex-flow": "column",
|
|
@@ -21221,19 +21230,20 @@ const c9 = {
|
|
|
21221
21230
|
},
|
|
21222
21231
|
// openSearch: Resets the results, populates dataset cards and filters. Will use Algolia and SciCrunch data uness pmr mode is set
|
|
21223
21232
|
openSearch: function(e, t = "", n = !0) {
|
|
21224
|
-
n ? (this.resetSearch(), this.
|
|
21233
|
+
this.updatePMROnlyFlag(e), n ? (this.resetSearch(), this.openFilterSearch(e, t)) : (this.searchAlgolia(e, t), this.openPMRSearch(e, t));
|
|
21225
21234
|
},
|
|
21226
21235
|
// openPMRSearch: Resets the results, populates dataset cards and filters with PMR data.
|
|
21227
21236
|
openPMRSearch: function(e, t = "") {
|
|
21228
|
-
this.flatmapQueries.updateOffset(this.calculatePMROffest()), this.flatmapQueries.updateLimit(this.PMRLimit(this.pmrResultsOnlyFlag)), this.flatmapQueries.pmrSearch(e, t).then((n) => {
|
|
21237
|
+
this.loadingCards = !0, this.flatmapQueries.updateOffset(this.calculatePMROffest()), this.flatmapQueries.updateLimit(this.PMRLimit(this.pmrResultsOnlyFlag)), this.flatmapQueries.pmrSearch(e, t).then((n) => {
|
|
21229
21238
|
n.forEach((r) => {
|
|
21230
21239
|
this.results.push(r);
|
|
21231
|
-
}), this.pmrNumberOfHits = this.flatmapQueries.numberOfHits;
|
|
21240
|
+
}), this.pmrNumberOfHits = this.flatmapQueries.numberOfHits, this.loadingCards = !1;
|
|
21232
21241
|
});
|
|
21233
21242
|
},
|
|
21234
|
-
// openAlgoliaSearch:
|
|
21235
|
-
|
|
21236
|
-
|
|
21243
|
+
// previously openAlgoliaSearch:
|
|
21244
|
+
// Resets the results, populates dataset cards and filters with Algloia and SciCrunch data.
|
|
21245
|
+
openFilterSearch: function(e, t = "") {
|
|
21246
|
+
this.searchInput = t, this.cascaderIsReady ? (this.filter = this.$refs.filtersRef.getHierarchicalValidatedFilters(e), e && e.length > 0 && this.filter && this.filter.length === 0 ? (this.$refs.filtersRef.checkShowAllBoxes(), this.resetSearch()) : this.filter && (this.pmrResultsOnlyFlag ? this.openPMRSearch(this.filter, t) : this.noPMRResultsFlag ? this.searchAlgolia(this.filter, t) : (this.searchAlgolia(this.filter, t), this.openPMRSearch(this.filter, t)), this.$refs.filtersRef.setCascader(this.filter))) : (this.filter = e, (!e || e.length == 0) && (this.pmrResultsOnlyFlag ? this.openPMRSearch(this.filter, t) : this.noPMRResultsFlag ? this.searchAlgolia(this.filter, t) : (this.searchAlgolia(this.filter, t), this.openPMRSearch(this.filter, t))));
|
|
21237
21247
|
},
|
|
21238
21248
|
addFilter: function(e) {
|
|
21239
21249
|
this.cascaderIsReady ? (this.resetSearch(), e && this.$refs.filtersRef.addFilter(e) && this.$refs.filtersRef.initiateSearch()) : Array.isArray(this.filter) ? this.filter.push(e) : this.filter = [e];
|
|
@@ -21251,10 +21261,11 @@ const c9 = {
|
|
|
21251
21261
|
));
|
|
21252
21262
|
},
|
|
21253
21263
|
updatePMROnlyFlag: function(e) {
|
|
21254
|
-
e.
|
|
21264
|
+
const t = e.filter((o) => o.facetPropPath === "item.types.name"), n = t.filter((o) => o.facet === "PMR"), r = t.filter((o) => o.facet === "Show all");
|
|
21265
|
+
this.pmrResultsOnlyFlag = !1, this.noPMRResultsFlag = !1, t.length === 1 && n.length === 1 && (this.pmrResultsOnlyFlag = !0), t.length > 0 && n.length === 0 && r.length === 0 && (this.noPMRResultsFlag = !0);
|
|
21255
21266
|
},
|
|
21256
21267
|
filterUpdate: function(e) {
|
|
21257
|
-
this.filter = [...e], this.updatePMROnlyFlag(e), this.resetSearch(), this.searchAlgolia(e, this.searchInput), this.openPMRSearch(e, this.searchInput), this.$emit("search-changed", {
|
|
21268
|
+
this.filter = [...e], this.updatePMROnlyFlag(e), this.resetSearch(), this.pmrResultsOnlyFlag ? this.openPMRSearch(e, this.searchInput) : this.noPMRResultsFlag ? this.searchAlgolia(e, this.searchInput) : (this.searchAlgolia(e, this.searchInput), this.openPMRSearch(e, this.searchInput)), this.$emit("search-changed", {
|
|
21258
21269
|
value: e,
|
|
21259
21270
|
type: "filter-update"
|
|
21260
21271
|
});
|
|
@@ -21469,7 +21480,7 @@ function h9(e, t, n, r, o, a) {
|
|
|
21469
21480
|
_: 1
|
|
21470
21481
|
}, 8, ["body-style"]);
|
|
21471
21482
|
}
|
|
21472
|
-
const ug = /* @__PURE__ */ Rn(c9, [["render", h9], ["__scopeId", "data-v-
|
|
21483
|
+
const ug = /* @__PURE__ */ Rn(c9, [["render", h9], ["__scopeId", "data-v-8d7169f1"]]), v9 = {
|
|
21473
21484
|
name: "ExternalResourceCard",
|
|
21474
21485
|
components: {
|
|
21475
21486
|
Button: rn
|
|
@@ -21989,6 +22000,7 @@ const fg = /* @__PURE__ */ Rn(Y9, [["render", r$], ["__scopeId", "data-v-a569bcf
|
|
|
21989
22000
|
data: function() {
|
|
21990
22001
|
return {
|
|
21991
22002
|
drawerOpen: !1,
|
|
22003
|
+
initFilters: { filter: [], searchInput: "" },
|
|
21992
22004
|
availableAnatomyFacets: []
|
|
21993
22005
|
};
|
|
21994
22006
|
},
|
|
@@ -22029,7 +22041,7 @@ const fg = /* @__PURE__ */ Rn(Y9, [["render", r$], ["__scopeId", "data-v-a569bcf
|
|
|
22029
22041
|
this.drawerOpen = !this.drawerOpen;
|
|
22030
22042
|
},
|
|
22031
22043
|
openSearch: function(e, t) {
|
|
22032
|
-
this.drawerOpen = !0, this.$nextTick(() => {
|
|
22044
|
+
this.initFilters.filter = e, this.initFilters.searchInput = t, this.drawerOpen = !0, this.$nextTick(() => {
|
|
22033
22045
|
this.getSearchTabRefById(1).openSearch(e, t);
|
|
22034
22046
|
});
|
|
22035
22047
|
},
|
|
@@ -22183,12 +22195,13 @@ function l$(e, t, n, r, o, a) {
|
|
|
22183
22195
|
class: "sidebar-content-container",
|
|
22184
22196
|
contextCardEntry: v.contextCard,
|
|
22185
22197
|
envVars: n.envVars,
|
|
22198
|
+
initFilters: e.initFilters,
|
|
22186
22199
|
ref_for: !0,
|
|
22187
22200
|
ref: "searchTab_" + v.id,
|
|
22188
22201
|
onPmrActionClick: a.onPmrActionClick,
|
|
22189
22202
|
onSearchChanged: (p) => a.searchChanged(v.id, p),
|
|
22190
22203
|
onHoverChanged: t[2] || (t[2] = (p) => a.hoverChanged(p))
|
|
22191
|
-
}, null, 8, ["contextCardEntry", "envVars", "onPmrActionClick", "onSearchChanged"])), [
|
|
22204
|
+
}, null, 8, ["contextCardEntry", "envVars", "initFilters", "onPmrActionClick", "onSearchChanged"])), [
|
|
22192
22205
|
[yt, v.id === n.activeTabId]
|
|
22193
22206
|
])
|
|
22194
22207
|
], 64))), 128))
|
|
@@ -22199,7 +22212,7 @@ function l$(e, t, n, r, o, a) {
|
|
|
22199
22212
|
}, 8, ["modelValue"])
|
|
22200
22213
|
], 512);
|
|
22201
22214
|
}
|
|
22202
|
-
const f$ = /* @__PURE__ */ Rn(o$, [["render", l$], ["__scopeId", "data-v-
|
|
22215
|
+
const f$ = /* @__PURE__ */ Rn(o$, [["render", l$], ["__scopeId", "data-v-46d87ece"]]);
|
|
22203
22216
|
export {
|
|
22204
22217
|
f$ as SideBar
|
|
22205
22218
|
};
|
|
@@ -459,4 +459,4 @@ usage: app.provide(ID_INJECTION_KEY, {
|
|
|
459
459
|
</g>
|
|
460
460
|
</svg>`,q0=(e,t,r,o)=>{const a=["title","desc","defs","style"],i=["width","height"],s=o||[];let l=document.createElement("div");l.innerHTML=e,a.map(d=>{const u=l.querySelector(d);u&&u.remove()}),i.map(d=>{l.querySelector("svg").removeAttribute(d)}),o&&s.map(d=>{Object.values(l.querySelectorAll(`[${d}]`)).map(u=>{u.removeAttribute(d)})});const c=l.innerHTML;return l=null,c},W0=e=>[[/<\?xml[\s\S]*?>/gi,""],[/<!doctype[\s\S]*?>/gi,""],[/<!--.*-->/gi,""],[/\<([A-Za-z]+)([^\>]*)\/\>/g,"<$1$2></$1>"],[/\s+/g," "],[/\> \</g,"><"]].reduce((t,r)=>"".replace.apply(t,r),e).trim(),zA=!0,HA=!0,UA=["fill"],wc=Object.assign({"/assets/icons/2horpanel.svg":f0,"/assets/icons/2vertpanel.svg":p0,"/assets/icons/3panel.svg":h0,"/assets/icons/4panel.svg":m0,"/assets/icons/5panel.svg":g0,"/assets/icons/6panel.svg":y0,"/assets/icons/6panelVertical.svg":b0,"/assets/icons/changeBckgd.svg":w0,"/assets/icons/close-no-bk.svg":C0,"/assets/icons/close.svg":k0,"/assets/icons/closeFullScreen.svg":v0,"/assets/icons/comment.svg":S0,"/assets/icons/connection.svg":x0,"/assets/icons/dock.svg":E0,"/assets/icons/drawLine.svg":_0,"/assets/icons/drawPoint.svg":O0,"/assets/icons/drawPolygon.svg":T0,"/assets/icons/drawTrash.svg":B0,"/assets/icons/fitWindow.svg":N0,"/assets/icons/fullScreen.svg":A0,"/assets/icons/help.svg":P0,"/assets/icons/magnifyingGlass.svg":I0,"/assets/icons/noun-filter.svg":F0,"/assets/icons/openMap.svg":R0,"/assets/icons/pause.svg":$0,"/assets/icons/permalink.svg":L0,"/assets/icons/play.svg":V0,"/assets/icons/resetZoom.svg":D0,"/assets/icons/singlepanel.svg":M0,"/assets/icons/tooltips.svg":j0,"/assets/icons/undock.svg":z0,"/assets/icons/zoomIn.svg":H0,"/assets/icons/zoomOut.svg":U0});Object.keys(wc).map(e=>{const t=q0(wc[e],zA,HA,UA),r=e.replace(/^.+\/(\w+).svg$/,"$1");return W0(t).replace("<svg",`<symbol id="${r}"`).replace("svg>","symbol>")}).join(`
|
|
461
461
|
`);const Cc=Object.assign({"/assets/icons/2horpanel.svg":f0,"/assets/icons/2vertpanel.svg":p0,"/assets/icons/3panel.svg":h0,"/assets/icons/4panel.svg":m0,"/assets/icons/5panel.svg":g0,"/assets/icons/6panel.svg":y0,"/assets/icons/6panelVertical.svg":b0,"/assets/icons/changeBckgd.svg":w0,"/assets/icons/close-no-bk.svg":C0,"/assets/icons/close.svg":k0,"/assets/icons/closeFullScreen.svg":v0,"/assets/icons/comment.svg":S0,"/assets/icons/connection.svg":x0,"/assets/icons/dock.svg":E0,"/assets/icons/drawLine.svg":_0,"/assets/icons/drawPoint.svg":O0,"/assets/icons/drawPolygon.svg":T0,"/assets/icons/drawTrash.svg":B0,"/assets/icons/fitWindow.svg":N0,"/assets/icons/fullScreen.svg":A0,"/assets/icons/help.svg":P0,"/assets/icons/magnifyingGlass.svg":I0,"/assets/icons/noun-filter.svg":F0,"/assets/icons/openMap.svg":R0,"/assets/icons/pause.svg":$0,"/assets/icons/permalink.svg":L0,"/assets/icons/play.svg":V0,"/assets/icons/resetZoom.svg":D0,"/assets/icons/singlepanel.svg":M0,"/assets/icons/tooltips.svg":j0,"/assets/icons/undock.svg":z0,"/assets/icons/zoomIn.svg":H0,"/assets/icons/zoomOut.svg":U0}),qA=Object.keys(Cc).map(e=>{const t=q0(Cc[e]),r=e.replace(/^.+\/(\w+).svg$/,"$1");return W0(t).replace("<svg",`<symbol id="${r}"`).replace("svg>","symbol>")}),WA={name:"MapSvgSpriteColor",svgContext:Cc,svgSprite:qA.join(`
|
|
462
|
-
`)},KA=["innerHTML"];function GA(e,t,r,o,a,i){return n.openBlock(),n.createElementBlock("svg",{width:"0",height:"0",style:{display:"none"},innerHTML:e.$options.svgSprite},null,8,KA)}const JA=u0(WA,[["render",GA]]);var K0={exports:{}};/*! algoliasearch.umd.js | 4.23.2 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */(function(e,t){(function(r,o){e.exports=o()})(sx,function(){function r(w,C,k){return C in w?Object.defineProperty(w,C,{value:k,enumerable:!0,configurable:!0,writable:!0}):w[C]=k,w}function o(w,C){var k=Object.keys(w);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(w);C&&(S=S.filter(function(N){return Object.getOwnPropertyDescriptor(w,N).enumerable})),k.push.apply(k,S)}return k}function a(w){for(var C=1;C<arguments.length;C++){var k=arguments[C]!=null?arguments[C]:{};C%2?o(Object(k),!0).forEach(function(S){r(w,S,k[S])}):Object.getOwnPropertyDescriptors?Object.defineProperties(w,Object.getOwnPropertyDescriptors(k)):o(Object(k)).forEach(function(S){Object.defineProperty(w,S,Object.getOwnPropertyDescriptor(k,S))})}return w}function i(w,C){if(w==null)return{};var k,S,N=function(J,M){if(J==null)return{};var G,X,Y={},se=Object.keys(J);for(X=0;X<se.length;X++)G=se[X],M.indexOf(G)>=0||(Y[G]=J[G]);return Y}(w,C);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(w);for(S=0;S<H.length;S++)k=H[S],C.indexOf(k)>=0||Object.prototype.propertyIsEnumerable.call(w,k)&&(N[k]=w[k])}return N}function s(w,C){return function(k){if(Array.isArray(k))return k}(w)||function(k,S){if(Symbol.iterator in Object(k)||Object.prototype.toString.call(k)==="[object Arguments]"){var N=[],H=!0,J=!1,M=void 0;try{for(var G,X=k[Symbol.iterator]();!(H=(G=X.next()).done)&&(N.push(G.value),!S||N.length!==S);H=!0);}catch(Y){J=!0,M=Y}finally{try{H||X.return==null||X.return()}finally{if(J)throw M}}return N}}(w,C)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function l(w){return function(C){if(Array.isArray(C)){for(var k=0,S=new Array(C.length);k<C.length;k++)S[k]=C[k];return S}}(w)||function(C){if(Symbol.iterator in Object(C)||Object.prototype.toString.call(C)==="[object Arguments]")return Array.from(C)}(w)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function c(w){var C,k="algoliasearch-client-js-".concat(w.key),S=function(){return C===void 0&&(C=w.localStorage||window.localStorage),C},N=function(){return JSON.parse(S().getItem(k)||"{}")},H=function(M){S().setItem(k,JSON.stringify(M))},J=function(){var M=w.timeToLive?1e3*w.timeToLive:null,G=N(),X=Object.fromEntries(Object.entries(G).filter(function(se){return s(se,2)[1].timestamp!==void 0}));if(H(X),M){var Y=Object.fromEntries(Object.entries(X).filter(function(se){var ie=s(se,2)[1],pe=new Date().getTime();return!(ie.timestamp+M<pe)}));H(Y)}};return{get:function(M,G){var X=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then(function(){J();var Y=JSON.stringify(M);return N()[Y]}).then(function(Y){return Promise.all([Y?Y.value:G(),Y!==void 0])}).then(function(Y){var se=s(Y,2),ie=se[0],pe=se[1];return Promise.all([ie,pe||X.miss(ie)])}).then(function(Y){return s(Y,1)[0]})},set:function(M,G){return Promise.resolve().then(function(){var X=N();return X[JSON.stringify(M)]={timestamp:new Date().getTime(),value:G},S().setItem(k,JSON.stringify(X)),G})},delete:function(M){return Promise.resolve().then(function(){var G=N();delete G[JSON.stringify(M)],S().setItem(k,JSON.stringify(G))})},clear:function(){return Promise.resolve().then(function(){S().removeItem(k)})}}}function d(w){var C=l(w.caches),k=C.shift();return k===void 0?{get:function(S,N){var H=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},J=N();return J.then(function(M){return Promise.all([M,H.miss(M)])}).then(function(M){return s(M,1)[0]})},set:function(S,N){return Promise.resolve(N)},delete:function(S){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(S,N){var H=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return k.get(S,N,H).catch(function(){return d({caches:C}).get(S,N,H)})},set:function(S,N){return k.set(S,N).catch(function(){return d({caches:C}).set(S,N)})},delete:function(S){return k.delete(S).catch(function(){return d({caches:C}).delete(S)})},clear:function(){return k.clear().catch(function(){return d({caches:C}).clear()})}}}function u(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{serializable:!0},C={};return{get:function(k,S){var N=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},H=JSON.stringify(k);if(H in C)return Promise.resolve(w.serializable?JSON.parse(C[H]):C[H]);var J=S(),M=N&&N.miss||function(){return Promise.resolve()};return J.then(function(G){return M(G)}).then(function(){return J})},set:function(k,S){return C[JSON.stringify(k)]=w.serializable?JSON.stringify(S):S,Promise.resolve(S)},delete:function(k){return delete C[JSON.stringify(k)],Promise.resolve()},clear:function(){return C={},Promise.resolve()}}}function f(w,C,k){var S={"x-algolia-api-key":k,"x-algolia-application-id":C};return{headers:function(){return w===b.WithinHeaders?S:{}},queryParameters:function(){return w===b.WithinQueryParameters?S:{}}}}function g(w){var C=0;return w(function k(){return C++,new Promise(function(S){setTimeout(function(){S(w(k))},Math.min(100*C,1e3))})})}function m(w){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(k,S){return Promise.resolve()};return Object.assign(w,{wait:function(k){return m(w.then(function(S){return Promise.all([C(S,k),S])}).then(function(S){return S[1]}))}})}function p(w){for(var C=w.length-1;C>0;C--){var k=Math.floor(Math.random()*(C+1)),S=w[C];w[C]=w[k],w[k]=S}return w}function h(w,C){return C&&Object.keys(C).forEach(function(k){w[k]=C[k](w)}),w}function y(w){for(var C=arguments.length,k=new Array(C>1?C-1:0),S=1;S<C;S++)k[S-1]=arguments[S];var N=0;return w.replace(/%s/g,function(){return encodeURIComponent(k[N++])})}var b={WithinQueryParameters:0,WithinHeaders:1};function v(w,C){var k=w||{},S=k.data||{};return Object.keys(k).forEach(function(N){["timeout","headers","queryParameters","data","cacheable"].indexOf(N)===-1&&(S[N]=k[N])}),{data:Object.entries(S).length>0?S:void 0,timeout:k.timeout||C,headers:k.headers||{},queryParameters:k.queryParameters||{},cacheable:k.cacheable}}var E={Read:1,Write:2,Any:3},x=1,O=2,_=3;function T(w){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:x;return a(a({},w),{},{status:C,lastUpdate:Date.now()})}function B(w){return typeof w=="string"?{protocol:"https",url:w,accept:E.Any}:{protocol:w.protocol||"https",url:w.url,accept:w.accept||E.Any}}var D="DELETE",F="GET",I="POST",R="PUT";function z(w,C){return Promise.all(C.map(function(k){return w.get(k,function(){return Promise.resolve(T(k))})})).then(function(k){var S=k.filter(function(J){return function(M){return M.status===x||Date.now()-M.lastUpdate>12e4}(J)}),N=k.filter(function(J){return function(M){return M.status===_&&Date.now()-M.lastUpdate<=12e4}(J)}),H=[].concat(l(S),l(N));return{getTimeout:function(J,M){return(N.length===0&&J===0?1:N.length+3+J)*M},statelessHosts:H.length>0?H.map(function(J){return B(J)}):C}})}function Z(w,C,k,S){var N=[],H=function(ie,pe){if(!(ie.method===F||ie.data===void 0&&pe.data===void 0)){var ce=Array.isArray(ie.data)?ie.data:a(a({},ie.data),pe.data);return JSON.stringify(ce)}}(k,S),J=function(ie,pe){var ce=a(a({},ie.headers),pe.headers),_e={};return Object.keys(ce).forEach(function($e){var bt=ce[$e];_e[$e.toLowerCase()]=bt}),_e}(w,S),M=k.method,G=k.method!==F?{}:a(a({},k.data),S.data),X=a(a(a({"x-algolia-agent":w.userAgent.value},w.queryParameters),G),S.queryParameters),Y=0,se=function ie(pe,ce){var _e=pe.pop();if(_e===void 0)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:ne(N)};var $e={data:H,headers:J,method:M,url:A(_e,k.path,X),connectTimeout:ce(Y,w.timeouts.connect),responseTimeout:ce(Y,S.timeout)},bt=function(wt){var rt={request:$e,response:wt,host:_e,triesLeft:pe.length};return N.push(rt),rt},Yo={onSuccess:function(wt){return function(rt){try{return JSON.parse(rt.content)}catch(mr){throw function(Zn,Xr){return{name:"DeserializationError",message:Zn,response:Xr}}(mr.message,rt)}}(wt)},onRetry:function(wt){var rt=bt(wt);return wt.isTimedOut&&Y++,Promise.all([w.logger.info("Retryable failure",ve(rt)),w.hostsCache.set(_e,T(_e,wt.isTimedOut?_:O))]).then(function(){return ie(pe,ce)})},onFail:function(wt){throw bt(wt),function(rt,mr){var Zn=rt.content,Xr=rt.status,Qo=Zn;try{Qo=JSON.parse(Zn).message}catch{}return function(Vi,Lc,$I){return{name:"ApiError",message:Vi,status:Lc,transporterStackTrace:$I}}(Qo,Xr,mr)}(wt,ne(N))}};return w.requester.send($e).then(function(wt){return function(rt,mr){return function(Zn){var Xr=Zn.status;return Zn.isTimedOut||function(Qo){var Vi=Qo.isTimedOut,Lc=Qo.status;return!Vi&&~~Lc==0}(Zn)||~~(Xr/100)!=2&&~~(Xr/100)!=4}(rt)?mr.onRetry(rt):~~(rt.status/100)==2?mr.onSuccess(rt):mr.onFail(rt)}(wt,Yo)})};return z(w.hostsCache,C).then(function(ie){return se(l(ie.statelessHosts).reverse(),ie.getTimeout)})}function K(w){var C=w.hostsCache,k=w.logger,S=w.requester,N=w.requestsCache,H=w.responsesCache,J=w.timeouts,M=w.userAgent,G=w.hosts,X=w.queryParameters,Y={hostsCache:C,logger:k,requester:S,requestsCache:N,responsesCache:H,timeouts:J,userAgent:M,headers:w.headers,queryParameters:X,hosts:G.map(function(se){return B(se)}),read:function(se,ie){var pe=v(ie,Y.timeouts.read),ce=function(){return Z(Y,Y.hosts.filter(function($e){return($e.accept&E.Read)!=0}),se,pe)};if((pe.cacheable!==void 0?pe.cacheable:se.cacheable)!==!0)return ce();var _e={request:se,mappedRequestOptions:pe,transporter:{queryParameters:Y.queryParameters,headers:Y.headers}};return Y.responsesCache.get(_e,function(){return Y.requestsCache.get(_e,function(){return Y.requestsCache.set(_e,ce()).then(function($e){return Promise.all([Y.requestsCache.delete(_e),$e])},function($e){return Promise.all([Y.requestsCache.delete(_e),Promise.reject($e)])}).then(function($e){var bt=s($e,2);return bt[0],bt[1]})})},{miss:function($e){return Y.responsesCache.set(_e,$e)}})},write:function(se,ie){return Z(Y,Y.hosts.filter(function(pe){return(pe.accept&E.Write)!=0}),se,v(ie,Y.timeouts.write))}};return Y}function U(w){var C={value:"Algolia for JavaScript (".concat(w,")"),add:function(k){var S="; ".concat(k.segment).concat(k.version!==void 0?" (".concat(k.version,")"):"");return C.value.indexOf(S)===-1&&(C.value="".concat(C.value).concat(S)),C}};return C}function A(w,C,k){var S=ee(k),N="".concat(w.protocol,"://").concat(w.url,"/").concat(C.charAt(0)==="/"?C.substr(1):C);return S.length&&(N+="?".concat(S)),N}function ee(w){return Object.keys(w).map(function(C){return y("%s=%s",C,(k=w[C],Object.prototype.toString.call(k)==="[object Object]"||Object.prototype.toString.call(k)==="[object Array]"?JSON.stringify(w[C]):w[C]));var k}).join("&")}function ne(w){return w.map(function(C){return ve(C)})}function ve(w){var C=w.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return a(a({},w),{},{request:a(a({},w.request),{},{headers:a(a({},w.request.headers),C)})})}var ye=function(w){return function(C,k){return w.transporter.write({method:I,path:"2/abtests",data:C},k)}},ke=function(w){return function(C,k){return w.transporter.write({method:D,path:y("2/abtests/%s",C)},k)}},de=function(w){return function(C,k){return w.transporter.read({method:F,path:y("2/abtests/%s",C)},k)}},Pe=function(w){return function(C){return w.transporter.read({method:F,path:"2/abtests"},C)}},we=function(w){return function(C,k){return w.transporter.write({method:I,path:y("2/abtests/%s/stop",C)},k)}},Ke=function(w){return function(C){return w.transporter.read({method:F,path:"1/strategies/personalization"},C)}},De=function(w){return function(C,k){return w.transporter.write({method:I,path:"1/strategies/personalization",data:C},k)}};function Se(w){return function C(k){return w.request(k).then(function(S){if(w.batch!==void 0&&w.batch(S.hits),!w.shouldStop(S))return S.cursor?C({cursor:S.cursor}):C({page:(k.page||0)+1})})}({})}var Xt=function(w){return function(C,k){var S=k||{},N=S.queryParameters,H=i(S,["queryParameters"]),J=a({acl:C},N!==void 0?{queryParameters:N}:{});return m(w.transporter.write({method:I,path:"1/keys",data:J},H),function(M,G){return g(function(X){return Ce(w)(M.key,G).catch(function(Y){if(Y.status!==404)throw Y;return X()})})})}},Ie=function(w){return function(C,k,S){var N=v(S);return N.queryParameters["X-Algolia-User-ID"]=C,w.transporter.write({method:I,path:"1/clusters/mapping",data:{cluster:k}},N)}},Fe=function(w){return function(C,k,S){return w.transporter.write({method:I,path:"1/clusters/mapping/batch",data:{users:C,cluster:k}},S)}},Ge=function(w){return function(C,k){return m(w.transporter.write({method:I,path:y("/1/dictionaries/%s/batch",C),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},k),function(S,N){return Nn(w)(S.taskID,N)})}},Me=function(w){return function(C,k,S){return m(w.transporter.write({method:I,path:y("1/indexes/%s/operation",C),data:{operation:"copy",destination:k}},S),function(N,H){return me(w)(C,{methods:{waitTask:je}}).waitTask(N.taskID,H)})}},et=function(w){return function(C,k,S){return Me(w)(C,k,a(a({},S),{},{scope:[$c.Rules]}))}},St=function(w){return function(C,k,S){return Me(w)(C,k,a(a({},S),{},{scope:[$c.Settings]}))}},st=function(w){return function(C,k,S){return Me(w)(C,k,a(a({},S),{},{scope:[$c.Synonyms]}))}},xt=function(w){return function(C,k){return C.method===F?w.transporter.read(C,k):w.transporter.write(C,k)}},lt=function(w){return function(C,k){return m(w.transporter.write({method:D,path:y("1/keys/%s",C)},k),function(S,N){return g(function(H){return Ce(w)(C,N).then(H).catch(function(J){if(J.status!==404)throw J})})})}},en=function(w){return function(C,k,S){var N=k.map(function(H){return{action:"deleteEntry",body:{objectID:H}}});return m(w.transporter.write({method:I,path:y("/1/dictionaries/%s/batch",C),data:{clearExistingDictionaryEntries:!1,requests:N}},S),function(H,J){return Nn(w)(H.taskID,J)})}},Ce=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/keys/%s",C)},k)}},Ae=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/task/%s",C.toString())},k)}},ct=function(w){return function(C){return w.transporter.read({method:F,path:"/1/dictionaries/*/settings"},C)}},gt=function(w){return function(C){return w.transporter.read({method:F,path:"1/logs"},C)}},qe=function(w){return function(C){return w.transporter.read({method:F,path:"1/clusters/mapping/top"},C)}},j=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/clusters/mapping/%s",C)},k)}},oe=function(w){return function(C){var k=C||{},S=k.retrieveMappings,N=i(k,["retrieveMappings"]);return S===!0&&(N.getClusters=!0),w.transporter.read({method:F,path:"1/clusters/mapping/pending"},N)}},me=function(w){return function(C){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},S={transporter:w.transporter,appId:w.appId,indexName:C};return h(S,k.methods)}},tt=function(w){return function(C){return w.transporter.read({method:F,path:"1/keys"},C)}},mn=function(w){return function(C){return w.transporter.read({method:F,path:"1/clusters"},C)}},Jr=function(w){return function(C){return w.transporter.read({method:F,path:"1/indexes"},C)}},Gn=function(w){return function(C){return w.transporter.read({method:F,path:"1/clusters/mapping"},C)}},Bn=function(w){return function(C,k,S){return m(w.transporter.write({method:I,path:y("1/indexes/%s/operation",C),data:{operation:"move",destination:k}},S),function(N,H){return me(w)(C,{methods:{waitTask:je}}).waitTask(N.taskID,H)})}},V=function(w){return function(C,k){return m(w.transporter.write({method:I,path:"1/indexes/*/batch",data:{requests:C}},k),function(S,N){return Promise.all(Object.keys(S.taskID).map(function(H){return me(w)(H,{methods:{waitTask:je}}).waitTask(S.taskID[H],N)}))})}},q=function(w){return function(C,k){return w.transporter.read({method:I,path:"1/indexes/*/objects",data:{requests:C}},k)}},Q=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{params:ee(N.params||{})})});return w.transporter.read({method:I,path:"1/indexes/*/queries",data:{requests:S},cacheable:!0},k)}},ge=function(w){return function(C,k){return Promise.all(C.map(function(S){var N=S.params,H=N.facetName,J=N.facetQuery,M=i(N,["facetName","facetQuery"]);return me(w)(S.indexName,{methods:{searchForFacetValues:og}}).searchForFacetValues(H,J,a(a({},k),M))}))}},Et=function(w){return function(C,k){var S=v(k);return S.queryParameters["X-Algolia-User-ID"]=C,w.transporter.write({method:D,path:"1/clusters/mapping"},S)}},yt=function(w){return function(C,k,S){var N=k.map(function(H){return{action:"addEntry",body:H}});return m(w.transporter.write({method:I,path:y("/1/dictionaries/%s/batch",C),data:{clearExistingDictionaryEntries:!0,requests:N}},S),function(H,J){return Nn(w)(H.taskID,J)})}},_t=function(w){return function(C,k){return m(w.transporter.write({method:I,path:y("1/keys/%s/restore",C)},k),function(S,N){return g(function(H){return Ce(w)(C,N).catch(function(J){if(J.status!==404)throw J;return H()})})})}},Zr=function(w){return function(C,k,S){var N=k.map(function(H){return{action:"addEntry",body:H}});return m(w.transporter.write({method:I,path:y("/1/dictionaries/%s/batch",C),data:{clearExistingDictionaryEntries:!1,requests:N}},S),function(H,J){return Nn(w)(H.taskID,J)})}},xc=function(w){return function(C,k,S){return w.transporter.read({method:I,path:y("/1/dictionaries/%s/search",C),data:{query:k},cacheable:!0},S)}},Ec=function(w){return function(C,k){return w.transporter.read({method:I,path:"1/clusters/mapping/search",data:{query:C}},k)}},Ii=function(w){return function(C,k){return m(w.transporter.write({method:R,path:"/1/dictionaries/*/settings",data:C},k),function(S,N){return Nn(w)(S.taskID,N)})}},_c=function(w){return function(C,k){var S=Object.assign({},k),N=k||{},H=N.queryParameters,J=i(N,["queryParameters"]),M=H?{queryParameters:H}:{},G=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"];return m(w.transporter.write({method:R,path:y("1/keys/%s",C),data:M},J),function(X,Y){return g(function(se){return Ce(w)(C,Y).then(function(ie){return function(pe){return Object.keys(S).filter(function(ce){return G.indexOf(ce)!==-1}).every(function(ce){if(Array.isArray(pe[ce])&&Array.isArray(S[ce])){var _e=pe[ce];return _e.length===S[ce].length&&_e.every(function($e,bt){return $e===S[ce][bt]})}return pe[ce]===S[ce]})}(ie)?Promise.resolve():se()})})})}},Nn=function(w){return function(C,k){return g(function(S){return Ae(w)(C,k).then(function(N){return N.status!=="published"?S():void 0})})}},Fi=function(w){return function(C,k){return m(w.transporter.write({method:I,path:y("1/indexes/%s/batch",w.indexName),data:{requests:C}},k),function(S,N){return je(w)(S.taskID,N)})}},hr=function(w){return function(C){return Se(a(a({shouldStop:function(k){return k.cursor===void 0}},C),{},{request:function(k){return w.transporter.read({method:I,path:y("1/indexes/%s/browse",w.indexName),data:k},C)}}))}},Oc=function(w){return function(C){var k=a({hitsPerPage:1e3},C);return Se(a(a({shouldStop:function(S){return S.hits.length<k.hitsPerPage}},k),{},{request:function(S){return ag(w)("",a(a({},k),S)).then(function(N){return a(a({},N),{},{hits:N.hits.map(function(H){return delete H._highlightResult,H})})})}}))}},Tc=function(w){return function(C){var k=a({hitsPerPage:1e3},C);return Se(a(a({shouldStop:function(S){return S.hits.length<k.hitsPerPage}},k),{},{request:function(S){return ig(w)("",a(a({},k),S)).then(function(N){return a(a({},N),{},{hits:N.hits.map(function(H){return delete H._highlightResult,H})})})}}))}},Zo=function(w){return function(C,k,S){var N=S||{},H=N.batchSize,J=i(N,["batchSize"]),M={taskIDs:[],objectIDs:[]};return m(function G(){var X,Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,se=[];for(X=Y;X<C.length&&(se.push(C[X]),se.length!==(H||1e3));X++);return se.length===0?Promise.resolve(M):Fi(w)(se.map(function(ie){return{action:k,body:ie}}),J).then(function(ie){return M.objectIDs=M.objectIDs.concat(ie.objectIDs),M.taskIDs.push(ie.taskID),X++,G(X)})}(),function(G,X){return Promise.all(G.taskIDs.map(function(Y){return je(w)(Y,X)}))})}},Ri=function(w){return function(C){return m(w.transporter.write({method:I,path:y("1/indexes/%s/clear",w.indexName)},C),function(k,S){return je(w)(k.taskID,S)})}},Bc=function(w){return function(C){var k=C||{},S=k.forwardToReplicas,N=v(i(k,["forwardToReplicas"]));return S&&(N.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:I,path:y("1/indexes/%s/rules/clear",w.indexName)},N),function(H,J){return je(w)(H.taskID,J)})}},Nc=function(w){return function(C){var k=C||{},S=k.forwardToReplicas,N=v(i(k,["forwardToReplicas"]));return S&&(N.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:I,path:y("1/indexes/%s/synonyms/clear",w.indexName)},N),function(H,J){return je(w)(H.taskID,J)})}},Ac=function(w){return function(C,k){return m(w.transporter.write({method:I,path:y("1/indexes/%s/deleteByQuery",w.indexName),data:C},k),function(S,N){return je(w)(S.taskID,N)})}},Pc=function(w){return function(C){return m(w.transporter.write({method:D,path:y("1/indexes/%s",w.indexName)},C),function(k,S){return je(w)(k.taskID,S)})}},P=function(w){return function(C,k){return m(W(w)([C],k).then(function(S){return{taskID:S.taskIDs[0]}}),function(S,N){return je(w)(S.taskID,N)})}},W=function(w){return function(C,k){var S=C.map(function(N){return{objectID:N}});return Zo(w)(S,Qr.DeleteObject,k)}},be=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=v(i(S,["forwardToReplicas"]));return N&&(H.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:D,path:y("1/indexes/%s/rules/%s",w.indexName,C)},H),function(J,M){return je(w)(J.taskID,M)})}},Re=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=v(i(S,["forwardToReplicas"]));return N&&(H.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:D,path:y("1/indexes/%s/synonyms/%s",w.indexName,C)},H),function(J,M){return je(w)(J.taskID,M)})}},gn=function(w){return function(C){return tg(w)(C).then(function(){return!0}).catch(function(k){if(k.status!==404)throw k;return!1})}},Jn=function(w){return function(C,k,S){return w.transporter.read({method:I,path:y("1/answers/%s/prediction",w.indexName),data:{query:C,queryLanguages:k},cacheable:!0},S)}},Yr=function(w){return function(C,k){var S=k||{},N=S.query,H=S.paginate,J=i(S,["query","paginate"]),M=0;return function G(){return rg(w)(N||"",a(a({},J),{},{page:M})).then(function(X){for(var Y=0,se=Object.entries(X.hits);Y<se.length;Y++){var ie=s(se[Y],2),pe=ie[0],ce=ie[1];if(C(ce))return{object:ce,position:parseInt(pe,10),page:M}}if(M++,H===!1||M>=X.nbPages)throw{name:"ObjectNotFoundError",message:"Object not found."};return G()})}()}},An=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/indexes/%s/%s",w.indexName,C)},k)}},jt=function(){return function(w,C){for(var k=0,S=Object.entries(w.hits);k<S.length;k++){var N=s(S[k],2),H=N[0];if(N[1].objectID===C)return parseInt(H,10)}return-1}},$i=function(w){return function(C,k){var S=k||{},N=S.attributesToRetrieve,H=i(S,["attributesToRetrieve"]),J=C.map(function(M){return a({indexName:w.indexName,objectID:M},N?{attributesToRetrieve:N}:{})});return w.transporter.read({method:I,path:"1/indexes/*/objects",data:{requests:J}},H)}},yI=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/indexes/%s/rules/%s",w.indexName,C)},k)}},tg=function(w){return function(C){return w.transporter.read({method:F,path:y("1/indexes/%s/settings",w.indexName),data:{getVersion:2}},C)}},bI=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/indexes/%s/synonyms/%s",w.indexName,C)},k)}},wI=function(w){return function(C,k){return m(ng(w)([C],k).then(function(S){return{objectID:S.objectIDs[0],taskID:S.taskIDs[0]}}),function(S,N){return je(w)(S.taskID,N)})}},ng=function(w){return function(C,k){var S=k||{},N=S.createIfNotExists,H=i(S,["createIfNotExists"]),J=N?Qr.PartialUpdateObject:Qr.PartialUpdateObjectNoCreate;return Zo(w)(C,J,H)}},CI=function(w){return function(C,k){var S=k||{},N=S.safe,H=S.autoGenerateObjectIDIfNotExist,J=S.batchSize,M=i(S,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),G=function(ce,_e,$e,bt){return m(w.transporter.write({method:I,path:y("1/indexes/%s/operation",ce),data:{operation:$e,destination:_e}},bt),function(Yo,wt){return je(w)(Yo.taskID,wt)})},X=Math.random().toString(36).substring(7),Y="".concat(w.indexName,"_tmp_").concat(X),se=Ic({appId:w.appId,transporter:w.transporter,indexName:Y}),ie=[],pe=G(w.indexName,Y,"copy",a(a({},M),{},{scope:["settings","synonyms","rules"]}));return ie.push(pe),m((N?pe.wait(M):pe).then(function(){var ce=se(C,a(a({},M),{},{autoGenerateObjectIDIfNotExist:H,batchSize:J}));return ie.push(ce),N?ce.wait(M):ce}).then(function(){var ce=G(Y,w.indexName,"move",M);return ie.push(ce),N?ce.wait(M):ce}).then(function(){return Promise.all(ie)}).then(function(ce){var _e=s(ce,3),$e=_e[0],bt=_e[1],Yo=_e[2];return{objectIDs:bt.objectIDs,taskIDs:[$e.taskID].concat(l(bt.taskIDs),[Yo.taskID])}}),function(ce,_e){return Promise.all(ie.map(function($e){return $e.wait(_e)}))})}},kI=function(w){return function(C,k){return Fc(w)(C,a(a({},k),{},{clearExistingRules:!0}))}},vI=function(w){return function(C,k){return Rc(w)(C,a(a({},k),{},{clearExistingSynonyms:!0}))}},SI=function(w){return function(C,k){return m(Ic(w)([C],k).then(function(S){return{objectID:S.objectIDs[0],taskID:S.taskIDs[0]}}),function(S,N){return je(w)(S.taskID,N)})}},Ic=function(w){return function(C,k){var S=k||{},N=S.autoGenerateObjectIDIfNotExist,H=i(S,["autoGenerateObjectIDIfNotExist"]),J=N?Qr.AddObject:Qr.UpdateObject;if(J===Qr.UpdateObject){var M=!0,G=!1,X=void 0;try{for(var Y,se=C[Symbol.iterator]();!(M=(Y=se.next()).done);M=!0)if(Y.value.objectID===void 0)return m(Promise.reject({name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}))}catch(ie){G=!0,X=ie}finally{try{M||se.return==null||se.return()}finally{if(G)throw X}}}return Zo(w)(C,J,H)}},xI=function(w){return function(C,k){return Fc(w)([C],k)}},Fc=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=S.clearExistingRules,J=v(i(S,["forwardToReplicas","clearExistingRules"]));return N&&(J.queryParameters.forwardToReplicas=1),H&&(J.queryParameters.clearExistingRules=1),m(w.transporter.write({method:I,path:y("1/indexes/%s/rules/batch",w.indexName),data:C},J),function(M,G){return je(w)(M.taskID,G)})}},EI=function(w){return function(C,k){return Rc(w)([C],k)}},Rc=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=S.clearExistingSynonyms,J=S.replaceExistingSynonyms,M=v(i(S,["forwardToReplicas","clearExistingSynonyms","replaceExistingSynonyms"]));return N&&(M.queryParameters.forwardToReplicas=1),(J||H)&&(M.queryParameters.replaceExistingSynonyms=1),m(w.transporter.write({method:I,path:y("1/indexes/%s/synonyms/batch",w.indexName),data:C},M),function(G,X){return je(w)(G.taskID,X)})}},rg=function(w){return function(C,k){return w.transporter.read({method:I,path:y("1/indexes/%s/query",w.indexName),data:{query:C},cacheable:!0},k)}},og=function(w){return function(C,k,S){return w.transporter.read({method:I,path:y("1/indexes/%s/facets/%s/query",w.indexName,C),data:{facetQuery:k},cacheable:!0},S)}},ag=function(w){return function(C,k){return w.transporter.read({method:I,path:y("1/indexes/%s/rules/search",w.indexName),data:{query:C}},k)}},ig=function(w){return function(C,k){return w.transporter.read({method:I,path:y("1/indexes/%s/synonyms/search",w.indexName),data:{query:C}},k)}},_I=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=v(i(S,["forwardToReplicas"]));return N&&(H.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:R,path:y("1/indexes/%s/settings",w.indexName),data:C},H),function(J,M){return je(w)(J.taskID,M)})}},je=function(w){return function(C,k){return g(function(S){return function(N){return function(H,J){return N.transporter.read({method:F,path:y("1/indexes/%s/task/%s",N.indexName,H.toString())},J)}}(w)(C,k).then(function(N){return N.status!=="published"?S():void 0})})}},Qr={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},$c={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},OI=1,TI=2,BI=3,Li=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{threshold:N.threshold||0})});return w.transporter.read({method:I,path:"1/indexes/*/recommendations",data:{requests:S},cacheable:!0},k)}},NI=function(w){return function(C,k){return Li(w)(C.map(function(S){return a(a({},S),{},{fallbackParameters:{},model:"bought-together"})}),k)}},AI=function(w){return function(C,k){return Li(w)(C.map(function(S){return a(a({},S),{},{model:"related-products"})}),k)}},PI=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{model:"trending-facets",threshold:N.threshold||0})});return w.transporter.read({method:I,path:"1/indexes/*/recommendations",data:{requests:S},cacheable:!0},k)}},II=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{model:"trending-items",threshold:N.threshold||0})});return w.transporter.read({method:I,path:"1/indexes/*/recommendations",data:{requests:S},cacheable:!0},k)}},FI=function(w){return function(C,k){return Li(w)(C.map(function(S){return a(a({},S),{},{model:"looking-similar"})}),k)}},RI=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{model:"recommended-for-you",threshold:N.threshold||0})});return w.transporter.read({method:I,path:"1/indexes/*/recommendations",data:{requests:S},cacheable:!0},k)}};function sg(w,C,k){var S,N={appId:w,apiKey:C,timeouts:{connect:1,read:2,write:30},requester:{send:function(M){return new Promise(function(G){var X=new XMLHttpRequest;X.open(M.method,M.url,!0),Object.keys(M.headers).forEach(function(pe){return X.setRequestHeader(pe,M.headers[pe])});var Y,se=function(pe,ce){return setTimeout(function(){X.abort(),G({status:0,content:ce,isTimedOut:!0})},1e3*pe)},ie=se(M.connectTimeout,"Connection timeout");X.onreadystatechange=function(){X.readyState>X.OPENED&&Y===void 0&&(clearTimeout(ie),Y=se(M.responseTimeout,"Socket timeout"))},X.onerror=function(){X.status===0&&(clearTimeout(ie),clearTimeout(Y),G({content:X.responseText||"Network request failed",status:X.status,isTimedOut:!1}))},X.onload=function(){clearTimeout(ie),clearTimeout(Y),G({content:X.responseText,status:X.status,isTimedOut:!1})},X.send(M.data)})}},logger:(S=BI,{debug:function(M,G){return OI>=S&&console.debug(M,G),Promise.resolve()},info:function(M,G){return TI>=S&&console.info(M,G),Promise.resolve()},error:function(M,G){return console.error(M,G),Promise.resolve()}}),responsesCache:u(),requestsCache:u({serializable:!1}),hostsCache:d({caches:[c({key:"".concat("4.23.2","-").concat(w)}),u()]}),userAgent:U("4.23.2").add({segment:"Browser"})},H=a(a({},N),k),J=function(){return function(M){return function(G){var X=G.region||"us",Y=f(b.WithinHeaders,G.appId,G.apiKey),se=K(a(a({hosts:[{url:"personalization.".concat(X,".algolia.com")}]},G),{},{headers:a(a(a({},Y.headers()),{"content-type":"application/json"}),G.headers),queryParameters:a(a({},Y.queryParameters()),G.queryParameters)}));return h({appId:G.appId,transporter:se},G.methods)}(a(a(a({},N),M),{},{methods:{getPersonalizationStrategy:Ke,setPersonalizationStrategy:De}}))}};return function(M){var G=M.appId,X=f(M.authMode!==void 0?M.authMode:b.WithinHeaders,G,M.apiKey),Y=K(a(a({hosts:[{url:"".concat(G,"-dsn.algolia.net"),accept:E.Read},{url:"".concat(G,".algolia.net"),accept:E.Write}].concat(p([{url:"".concat(G,"-1.algolianet.com")},{url:"".concat(G,"-2.algolianet.com")},{url:"".concat(G,"-3.algolianet.com")}]))},M),{},{headers:a(a(a({},X.headers()),{"content-type":"application/x-www-form-urlencoded"}),M.headers),queryParameters:a(a({},X.queryParameters()),M.queryParameters)}));return h({transporter:Y,appId:G,addAlgoliaAgent:function(se,ie){Y.userAgent.add({segment:se,version:ie})},clearCache:function(){return Promise.all([Y.requestsCache.clear(),Y.responsesCache.clear()]).then(function(){})}},M.methods)}(a(a({},H),{},{methods:{search:Q,searchForFacetValues:ge,multipleBatch:V,multipleGetObjects:q,multipleQueries:Q,copyIndex:Me,copySettings:St,copySynonyms:st,copyRules:et,moveIndex:Bn,listIndices:Jr,getLogs:gt,listClusters:mn,multipleSearchForFacetValues:ge,getApiKey:Ce,addApiKey:Xt,listApiKeys:tt,updateApiKey:_c,deleteApiKey:lt,restoreApiKey:_t,assignUserID:Ie,assignUserIDs:Fe,getUserID:j,searchUserIDs:Ec,listUserIDs:Gn,getTopUserIDs:qe,removeUserID:Et,hasPendingMappings:oe,clearDictionaryEntries:Ge,deleteDictionaryEntries:en,getDictionarySettings:ct,getAppTask:Ae,replaceDictionaryEntries:yt,saveDictionaryEntries:Zr,searchDictionaryEntries:xc,setDictionarySettings:Ii,waitAppTask:Nn,customRequest:xt,initIndex:function(M){return function(G){return me(M)(G,{methods:{batch:Fi,delete:Pc,findAnswers:Jn,getObject:An,getObjects:$i,saveObject:SI,saveObjects:Ic,search:rg,searchForFacetValues:og,waitTask:je,setSettings:_I,getSettings:tg,partialUpdateObject:wI,partialUpdateObjects:ng,deleteObject:P,deleteObjects:W,deleteBy:Ac,clearObjects:Ri,browseObjects:hr,getObjectPosition:jt,findObject:Yr,exists:gn,saveSynonym:EI,saveSynonyms:Rc,getSynonym:bI,searchSynonyms:ig,browseSynonyms:Tc,deleteSynonym:Re,clearSynonyms:Nc,replaceAllObjects:CI,replaceAllSynonyms:vI,searchRules:ag,getRule:yI,deleteRule:be,saveRule:xI,saveRules:Fc,replaceAllRules:kI,browseRules:Oc,clearRules:Bc}})}},initAnalytics:function(){return function(M){return function(G){var X=G.region||"us",Y=f(b.WithinHeaders,G.appId,G.apiKey),se=K(a(a({hosts:[{url:"analytics.".concat(X,".algolia.com")}]},G),{},{headers:a(a(a({},Y.headers()),{"content-type":"application/json"}),G.headers),queryParameters:a(a({},Y.queryParameters()),G.queryParameters)}));return h({appId:G.appId,transporter:se},G.methods)}(a(a(a({},N),M),{},{methods:{addABTest:ye,getABTest:de,getABTests:Pe,stopABTest:we,deleteABTest:ke}}))}},initPersonalization:J,initRecommendation:function(){return function(M){return H.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),J()(M)}},getRecommendations:Li,getFrequentlyBoughtTogether:NI,getLookingSimilar:FI,getRecommendedForYou:RI,getRelatedProducts:AI,getTrendingFacets:PI,getTrendingItems:II}}))}return sg.version="4.23.2",sg})})(K0);var ZA=K0.exports;const YA=lx(ZA);class G0{constructor(t,r,o="https://api.pennsieve.io"){this.client=YA(t,r),this.PENNSIEVE_API_LOCATION=o,this.anatomyFacetLabels=[]}initIndex(t){this.index=this.client.initIndex(t)}getAlgoliaFacets(t){const r=t.map(s=>s.facetPropPath),o=t.map(s=>s.facetSubpropPath);let a=[],i=0;return this.index.search("",{sortFacetValuesBy:"alpha",facets:r.concat(o)}).then(s=>(r.map(l=>{const c=t.find(m=>m.facetPropPath==l);var d=[];const u=s.facets;if(u===void 0)return;const f=u[l]==null?{}:u[l],g=c&&u[c.facetSubpropPath]?Object.keys(u[c.facetSubpropPath]):[];Object.keys(f).map(m=>{const p=g.reduce((y,b)=>{const v=b.split(".");return v.length!==2||m===v[0]&&y.push({label:v[1],id:i++,facetPropPath:`${c?c.facetSubpropPath:void 0}`}),y},[]);let h={label:m,id:i++,facetPropPath:l};p.length>0&&(h.children=p),d.push(h)}),d.length>0&&a.push({label:c?c.label:"",id:i++,children:d,key:l})}),a))}_discoverAllDois(t,r="https://api.pennsieve.io"){return new Promise(o=>{fetch(`${r}/discover/datasets/${t}/versions`).then(a=>a.json()).then(a=>{o(a.map(i=>i.doi))})})}_expandDois(t,r="https://api.pennsieve.io"){return new Promise(o=>{let a=t.map(i=>this._discoverAllDois(i,r));Promise.all(a).then(i=>{o(i.flat())})})}_processResultsForCards(t){let r=[],o={};for(let a of t)o={...a},o={dataSource:"SPARC",anatomy:a.anatomy?a.anatomy.organ.map(i=>i.curie):void 0,doi:a.item.curie.split(":")[1],name:a.item.name,description:a.item.description,updated:a.pennsieve?a.pennsieve.updatedAt:void 0,publishDate:a.pennsieve?a.pennsieve.publishDate:void 0,datasetId:a.objectID,detailsReady:!1},r.push(o);return r}_processAnatomy(t){let r=[],o=[],a=[],i=[];return t.forEach(s=>{s.item&&s.item.keywords&&s.item.keywords.forEach(l=>{let c=l.keyword.toUpperCase();(c.includes("UBERON")||c.includes("ILX"))&&r.push(this._processUberonURL(c))}),s.anatomy&&s.anatomy.organ&&s.anatomy.organ.forEach(l=>{l.curie&&(r.push(l.curie),o.push(l.name))})}),i=[...new Set(r)],a=[...new Set(o)],this.anatomyFacetLabels=a,i}_processUberonURL(t){return t.split("/").pop().replace("_",":")}search(t,r="",o=0,a=8){return console.log("searching",t,r,o,a),a===0?new Promise(i=>{i({items:[],total:0,discoverIds:[],dois:[]})}):new Promise(i=>{this.index.search(r,{facets:["*"],offset:o,length:a,filters:t,attributesToHighlight:[],attributesToRetrieve:["pennsieve.publishDate","pennsieve.updatedAt","item.curie","item.name","item.description","objectID","anatomy.organ.curie"]}).then(s=>{let l={items:this._processResultsForCards(s.hits),total:s.nbHits,discoverIds:s.hits.map(c=>c.pennsieve?c.pennsieve.identifier:c.objectID),dois:s.hits.map(c=>c.item.curie.split(":")[1])};i(l)})})}anatomyInSearch(t,r="",o=999999,a=1){return new Promise(i=>{this.index.search(r,{facets:["*"],hitsPerPage:o,page:a-1,filters:t,attributesToHighlight:[],attributesToRetrieve:["objectID","item.keywords.keyword","anatomy.organ.name","anatomy.organ.curie"]}).then(s=>{i({forFlatmap:this.processResultsForFlatmap(s.hits),forScaffold:this.processResultsForScaffold(s.hits)})})})}processResultsForFlatmap(t){return t.map(o=>({id:o.objectID,terms:o.anatomy?o.anatomy.organ.map(a=>a.curie):[]}))}processResultsForScaffold(t){let r={};return t.forEach(o=>{o.anatomy&&o.anatomy.organ&&o.anatomy.organ.forEach(a=>{a.name&&(r[a.name]?r[a.name]++:r[a.name]=1)})}),r}}const kc=[{label:"Data Type",id:"item.types",facetPropPath:"item.types.name",facetSubpropPath:"item.types.subcategory.name"},{label:"Anatomical Structure",id:"anatomy.organ.category",facetPropPath:"anatomy.organ.category.name",facetSubpropPath:"anatomy.organ.subcategory.name",facetFilterPath:"anatomy.organ.name"},{label:"Species",id:"organisms.primary.species",facetPropPath:"organisms.primary.species.name",facetSubpropPath:"organisms.primary.species.subcategory.name"},{label:"Experimental Approach",id:"item.modalities",facetPropPath:"item.modalities.keyword",facetSubpropPath:"item.modalities.subcategory.name"},{label:"Sex",id:"attributes.subject.sex",facetPropPath:"attributes.subject.sex.value",facetSubpropPath:"attributes.subject.sex.subcategory.name"},{label:"Age Categories",id:"attributes.subject.ageCategory",facetPropPath:"attributes.subject.ageCategory.value",facetSubpropPath:"attributes.subject.ageCategory.subcategory.name"}];function J0(e=void 0){if(e===void 0)return"NOT item.published.status:embargo";e.forEach(a=>{a.label=a.facet,a.facet2&&(a.label=a.facet2)});let t=QA(e),r="NOT item.published.status:embargo";return r=`(${r}) AND `,kc.map(a=>a.facetPropPath).map(a=>{let i=t.filter(c=>c.facetPropPath==a),s="",l="";i.map(c=>{let d=c.facetSubPropPath?c.facetSubPropPath:a;c.AND?l+=`AND "${d}":"${c.label}"`:s+=`"${d}":"${c.label}" OR `}),!(s==""&&l=="")&&(s=`(${s.substring(0,s.lastIndexOf(" OR "))})`,r+=`${s+l} AND `,r=r.split("()AND ").join(""))}),r.substring(0,r.lastIndexOf(" AND "))}function QA(e){return e.filter(t=>t.label!=="Show all")}const Pi=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},vc=function(e){const t=e.toLowerCase();return Ai[t]?Pi(Ai[t]):Pi(t)},XA={name:"SearchFilters",components:{MapSvgIcon:jA,MapSvgSpriteColor:JA,Option:Ma,Select:_o,Popover:rl,Cascader:Xf},props:{entry:Object,envVars:{type:Object,default:()=>{}}},data:function(){return{cascaderIsReady:!1,previousShowAllChecked:{species:!1,gender:!1,organ:!1,datasets:!1},showFilters:!0,showFiltersText:!0,cascadeSelected:[],cascadeSelectedWithBoolean:[],numberShown:10,filters:[],facets:["Species","Gender","Organ","Datasets"],numberDatasetsShown:["10","20","50"],props:{multiple:!0},options:[{value:"Species",label:"Species",children:[{}]}],presentTags:[]}},setup(){const e=n.markRaw({}),t=n.markRaw({term:new Set,facet:new Set,facet2:new Set});return{cascaderTags:e,correctnessCheck:t}},computed:{numberOfResultsText:function(){return`${this.entry.numberOfHits} results | Showing`}},methods:{createCascaderItemValue:function(e,t=void 0,r=void 0){let o=e;return t&&(o=`${e}>${t}`),t&&r&&(o=`${e}>${t}>${r}`),!t&&r&&console.warn(`Warning: ${r} provided without its parent, this will not be shown in the cascader`),o},populateCascader:function(){return new Promise(e=>{this.algoliaClient.getAlgoliaFacets(kc).then(t=>{this.facets=t,We.emit("available-facets",t),this.options=t,this.options.forEach((r,o)=>{this.options[o].total=this.countTotalFacet(r),this.options[o].label=vc(r.label),this.options[o].value=this.createCascaderItemValue(r.key,void 0),this.options[o].children.unshift({value:this.createCascaderItemValue("Show all"),label:"Show all"}),this.options[o].children.forEach((a,i)=>{this.options[o].children[i].label=vc(a.label),this.options[o].children[i].value=this.createCascaderItemValue(r.label,a.label),this.options[o].children[i].children&&this.options[o].children[i].children.length>0&&this.options[o].children[i].children.forEach((s,l)=>{this.options[o].children[i].children[l].label=vc(s.label),this.options[o].children[i].children[l].value=this.createCascaderItemValue(r.label,a.label,s.label)})})}),this.populatePMRinCascader()}).finally(()=>{e()})})},populatePMRinCascader:function(){for(let e=0;e<this.options.length;e+=1){const t=this.options[e];t.key==="item.types.name"&&t.children.push({label:"PMR",value:this.createCascaderItemValue("Data type","PMR")})}},cascadeTagClose:function(e){let t=[];Object.entries(this.cascaderTags).map(r=>{const o=r[0],a=r[1],i=this.options.filter(l=>l.label==o)[0],s=i.key;for(let l=0;l<i.children.length;l++){const c=i.children[l],d=c.label,u=c.value;if(Array.isArray(a))if(a.length===0&&d.toLowerCase()==="show all"){t.push([s,u]);break}else d!==e&&a.includes(d)&&t.push([s,u]);else Object.entries(a).map(f=>{const g=f[0],m=f[1];g===d&&c.children.map(p=>{const h=p.label,y=p.value;h!==e&&m.includes(h)&&t.push([s,y])})})}}),this.cascadeEvent(t)},tagsChangedCallback:function(e){this.correctnessCheck.term&&this.correctnessCheck.facet&&this.correctnessCheck.facet2&&this.options.map(t=>{this.correctnessCheck.term.add(t.label),t.children.map(r=>{this.correctnessCheck.facet.add(r.label),t.label==="Anatomical structure"&&r.label!=="Show all"&&r.children.map(o=>{this.correctnessCheck.facet2.add(o.label)})})}),this.cascaderTags={},this.presentTags=[],e.map(t=>{const{facet:r,facet2:o,term:a}=t;this.correctnessCheck.term.has(a)&&this.correctnessCheck.facet.has(r)&&(o?this.correctnessCheck.facet2.has(o)&&(a in this.cascaderTags?r in this.cascaderTags[a]?this.cascaderTags[a][r].push(o):this.cascaderTags[a][r]=[o]:(this.cascaderTags[a]={},this.cascaderTags[a][r]=[o])):a in this.cascaderTags&&a!=="Anatomical structure"?this.cascaderTags[a].push(r):r.toLowerCase()!=="show all"?this.cascaderTags[a]=[r]:this.cascaderTags[a]=[])}),Object.values(this.cascaderTags).map(t=>{const r=Array.isArray(t)?t:Object.values(t).flat(1);this.presentTags=[...this.presentTags,...r]}),this.presentTags=[...new Set(this.presentTags)],this.presentTags.length>0?this.showFiltersText=!1:this.showFiltersText=!0},countTotalFacet:function(e){return["anatomy.organ.category.name"].includes(e.key)?e.children.reduce((r,o)=>(r=typeof r=="number"?r:r.children.length,r+o.children.length)):e.children.length},showAllEventModifierForAutoCheckAll:function(e){const t={};return e.map(r=>{const o=r[0];o in t?t[o]+=1:t[o]=1}),this.options.map(r=>{const o=r.key,a=r.children.filter(s=>s.label==="Show all")[0].value,i=r.total;t[o]===i&&(e=e.filter(s=>s[0]!==r.key),delete t[o]),o in t||e.unshift([o,a])}),e},cascadeEvent:function(e){let t=[...e];if(t){if(t=this.showAllEventModifier(t),t=this.showAllEventModifierForAutoCheckAll(t),this.__expandItem__){let a=0;this.__expandItem__.length>1&&(a=1);const i=t.filter(l=>l[a]==this.__expandItem__[a]),s=t.filter(l=>l[a]!==this.__expandItem__[a]);t=[...i,...s]}let r=t.filter(a=>a!==void 0).map(a=>{let{hString:i,bString:s}=this.findHierarachyStringAndBooleanString(a),{facet:l,facet2:c,term:d}=this.getFacetsFromHierarchyString(i);return{facetPropPath:a[0],facet:l,facet2:c,term:d,AND:s}}),o=t.filter(a=>a!==void 0).map(a=>{let i,s=a[0].includes("duplicate")?a[0].split("duplicate")[0]:a[0],{hString:l,bString:c}=this.findHierarachyStringAndBooleanString(a),{facet:d,facet2:u,term:f}=this.getFacetsFromHierarchyString(l);return u&&(d=u,i="anatomy.organ.name"),{facetPropPath:s,facet:d,term:f,AND:c,facetSubPropPath:i}});this.$emit("loading",!0),this.$emit("filterResults",o),this.setCascader(r),this.cssMods()}},findHierarachyStringAndBooleanString(e){let t,r;return e.length>=3?e[2]&&(typeof e[2]=="string"||e[2]instanceof String)&&e[2].split(">").length>2?(t=e[2],r=e.length==4?e[3]:void 0):(t=e[1],r=e[2]):(t=e[1],r=void 0),{hString:t,bString:r}},getFacetsFromHierarchyString(e){let t,r,o,a=e.split(">");return a.length==3?(o=a[2],t=a[1],r=a[0]):(t=a[1],r=a[0]),{facet:t,facet2:o,term:r}},showAllEventModifier:function(e){if(e.map(r=>r?r[1].toLowerCase().includes("show all"):!1).includes(!0)){let r=[],o={};for(const a in e)o[e[a][0]]===void 0&&(o[e[a][0]]=[]),o[e[a][0]].push(e[a]);for(const a in o){let i;for(let s=o[a].length-1;s>=0;s--)if(o[a][s][1].toLowerCase().includes("show all")){i=o[a].splice(s,1)[0];break}i?this.previousShowAllChecked[a]&&o[a].length>0?r.push(...o[a]):r.push(i):r.push(...o[a])}return r.sort((a,i)=>this.__expandItem__?a[0]==this.__expandItem__?i[0]==this.__expandItem__?0:-1:i[0]==this.__expandItem__?a[0]==this.__expandItem__?0:1:0:0)}return e},cascadeExpandChange:function(e){this.__expandItem__=e,this.cssMods()},numberShownChanged:function(e){this.$emit("numberPerPage",parseInt(e))},updatePreviousShowAllChecked:function(e){for(const t in this.previousShowAllChecked)this.previousShowAllChecked[t]=!1;e.forEach(t=>{t[1].toLowerCase().includes("show all")&&(this.previousShowAllChecked[t[0]]=!0)})},setCascader:function(e){if(this.cascaderIsReady&&e&&e.length!=0){const t=r=>{let o=[r.facetPropPath,this.createCascaderItemValue(Pi(r.term),r.facet)];return r.facet2&&o.push(this.createCascaderItemValue(Pi(r.term),r.facet,r.facet2)),o};this.cascadeSelected=e.map(r=>t(r)),this.cascadeSelectedWithBoolean=e.map(r=>{let o=t(r);return o.push(r.AND),o}),this.updatePreviousShowAllChecked(this.cascadeSelected)}this.tagsChangedCallback(e)},addFilter:function(e){if(this.cascaderIsReady&&e){let t=this.validateAndConvertFilterToHierarchical(e);if(t)return this.cascadeSelected.filter(r=>r.term!=t.term),this.cascadeSelected.push([t.facetPropPath,this.createCascaderItemValue(t.term,t.facet),this.createCascaderItemValue(t.term,t.facet,t.facet2)]),this.cascadeSelectedWithBoolean.push([t.facetPropPath,this.createCascaderItemValue(t.term,t.facet),this.createCascaderItemValue(t.term,t.facet,t.facet2),t.AND]),!0}},initiateSearch:function(){this.cascadeEvent(this.cascadeSelectedWithBoolean)},checkShowAllBoxes:function(){this.setCascader(this.options.map(e=>({facetPropPath:e.value,term:e.label,facet:"Show all"})))},makeCascadeLabelsClickable:function(){this.$nextTick(()=>{document.querySelectorAll(".sidebar-cascader-popper .el-cascader-node__label").forEach(e=>{e.onclick=function(){const t=this.previousElementSibling;t&&(t.parentElement.attributes["aria-owns"]||this.previousElementSibling.click())}})})},cssMods:function(){this.makeCascadeLabelsClickable(),this.removeTopLevelCascaderCheckboxes()},removeTopLevelCascaderCheckboxes:function(){this.$nextTick(()=>{document.querySelectorAll(".sidebar-cascader-popper .el-cascader-menu__list")[0].querySelectorAll(".el-checkbox__input").forEach(t=>t.style.display="none")})},validateAndConvertFilterToHierarchical:function(e){if(e&&e.facet&&e.term){if(e.facet2)return e;for(const t of this.options)if(t.value===e.facetPropPath)for(const r of t.children){if(r.label===e.facet)return e;if(r.children&&r.children.length>0){for(const o of r.children)if(o.label===e.facet)return e.facet2=o.label,e.facet=r.label,e}}}return!1},getHierarchicalValidatedFilters:function(e){if(e)if(this.cascaderIsReady){const t=[];return e.forEach(r=>{const o=this.validateAndConvertFilterToHierarchical(r);o&&t.push(o)}),t}else return e;return[]}},mounted:function(){this.algoliaClient=new G0(this.envVars.ALGOLIA_ID,this.envVars.ALGOLIA_KEY,this.envVars.PENNSIEVE_API_LOCATION),this.algoliaClient.initIndex(this.envVars.ALGOLIA_INDEX),this.populateCascader().then(()=>{this.cascaderIsReady=!0,this.checkShowAllBoxes(),this.setCascader(this.entry.filterFacets),this.cssMods(),this.$emit("cascaderReady")})}},eP=e=>(n.pushScopeId("data-v-8b57e9a4"),e=e(),n.popScopeId(),e),tP={class:"filters"},nP={key:0,class:"cascader-tag"},rP={class:"el-tags-container"},oP={class:"el-tags-container"},aP={class:"search-filters transition-box"},iP={key:0,class:"filter-default-value"},sP=eP(()=>n.createElementVNode("div",null,[n.createElementVNode("strong",null,"Within categories:"),n.createTextVNode(" OR "),n.createElementVNode("br"),n.createTextVNode(" example: 'heart' OR 'colon' "),n.createElementVNode("br"),n.createElementVNode("br"),n.createElementVNode("strong",null,"Between categories:"),n.createTextVNode(" AND "),n.createElementVNode("br"),n.createTextVNode(" example: 'rat' AND 'lung' ")],-1)),lP={class:"dataset-shown"},cP={class:"dataset-results-feedback"};function dP(e,t,r,o,a,i){const s=n.resolveComponent("MapSvgSpriteColor"),l=Sn,c=rl,d=Xf,u=n.resolveComponent("MapSvgIcon"),f=Ma,g=_o,m=Oo;return n.openBlock(),n.createElementBlock("div",tP,[n.createVNode(s),e.presentTags.length>0?(n.openBlock(),n.createElementBlock("div",nP,[n.createVNode(l,{class:"ml-2",type:"info",closable:"",onClose:t[0]||(t[0]=p=>i.cascadeTagClose(e.presentTags[0]))},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(e.presentTags[0]),1)]),_:1}),e.presentTags.length>1?(n.openBlock(),n.createBlock(c,{key:0,placement:"bottom-start",width:200,trigger:"hover"},{default:n.withCtx(()=>[n.createElementVNode("div",rP,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.presentTags.slice(1),(p,h)=>(n.openBlock(),n.createBlock(l,{key:h,class:"ml-2",type:"info",closable:"",onClose:y=>i.cascadeTagClose(p)},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(p),1)]),_:2},1032,["onClose"]))),128))])]),reference:n.withCtx(()=>[n.createElementVNode("div",oP,[e.presentTags.length>1?(n.openBlock(),n.createBlock(l,{key:0,class:"ml-2",type:"info"},{default:n.withCtx(()=>[n.createTextVNode(" +"+n.toDisplayString(e.presentTags.length-1),1)]),_:1})):n.createCommentVNode("",!0)])]),_:1})):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),n.createVNode(n.Transition,{name:"el-zoom-in-top"},{default:n.withCtx(()=>[n.withDirectives((n.openBlock(),n.createElementBlock("span",aP,[n.createVNode(d,{class:"cascader",ref:"cascader",modelValue:e.cascadeSelected,"onUpdate:modelValue":t[1]||(t[1]=p=>e.cascadeSelected=p),size:"large",placeholder:" ","collapse-tags":!0,"collapse-tags-tooltip":"",options:e.options,props:e.props,onChange:t[2]||(t[2]=p=>i.cascadeEvent(p)),onExpandChange:i.cascadeExpandChange,"show-all-levels":!0,"popper-class":"sidebar-cascader-popper"},null,8,["modelValue","options","props","onExpandChange"]),e.showFiltersText?(n.openBlock(),n.createElementBlock("div",iP,"Filters")):n.createCommentVNode("",!0),n.createVNode(c,{title:"How do filters work?",width:"250",trigger:"hover","append-to-body":!1,"popper-class":"popover"},{reference:n.withCtx(()=>[n.createVNode(u,{icon:"help",class:"help"})]),default:n.withCtx(()=>[sP]),_:1})])),[[n.vShow,e.showFilters],[m,!e.cascaderIsReady]])]),_:1}),n.createElementVNode("div",lP,[n.createElementVNode("span",cP,n.toDisplayString(i.numberOfResultsText),1),n.createVNode(g,{class:"number-shown-select",modelValue:e.numberShown,"onUpdate:modelValue":t[3]||(t[3]=p=>e.numberShown=p),placeholder:"10",onChange:t[4]||(t[4]=p=>i.numberShownChanged(p))},{default:n.withCtx(()=>[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.numberDatasetsShown,p=>(n.openBlock(),n.createBlock(f,{key:p,label:p,value:p},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])])}const Z0=Zt(XA,[["render",dP],["__scopeId","data-v-8b57e9a4"]]);function uP(e){try{return e.values.map(r=>e.keys.reduce((o,a,i)=>(o[a]=r[i],o),{}))}catch(t){return console.error(`Error occured during conversion of Key Value Array to Object: ${t}`),{}}}const fP=function(e){return e?[...new Set(e.map(t=>JSON.stringify(t)))].map(t=>JSON.parse(t)):[]};let pP=function(){this.initialise=function(e){this.flatmapApi=e,this.features=[],this.limit=10,this.offset=0,this.numberOfHits=0,this.sqlPreOffset="",this.lookup={},this.createLookup()},this.updateOffset=function(e){this.offset=e},this.updateLimit=function(e){this.limit=e},this.offsetText=function(){return"limit "+this.limit+" offset "+this.offset},this.createTermSQL=function(e){let t="",r=!1;return e&&e.length>0&&(t+="and ",e.forEach((o,a)=>{a==0&&(t+="("),o!==""&&(t+=`m.term='${o}'`,r=!0,a<e.length-1&&(t+=" or ")),a==e.length-1&&(t+=") ")})),r||(t=""),t},this.pmrSQL=function(e=[],t=""){let r="select distinct m.term, m.exposure, m.score, m.workspace, d.metadata from pmr_text ";r+="as t left join pmr_metadata as d on t.entity=d.entity left join pmr_models as m on m.exposure=t.entity ",r+="where d.metadata is not null ";const o=this.createTermSQL(e);return r+=o,t&&t!==""&&(r+=`and (t.pmr_text match '${t}')`),(!t||t==="")&&(r+="and m.exposure is not null and score > 0.69"),r+=" group by m.exposure",this.sqlPreOffset=r,r+=" "+this.offsetText()+";",console.log(r),r},this.convertTermsToIds=function(e){return e.map(t=>this.lookUpId(t))},this.labelSQL=function(){return"select entity, label from labels"},this.countSQL=function(e){return e=`select count(*) from (${e})`,e},this.flatmapQuery=function(e){const t={sql:e};return fetch(`${this.flatmapApi}knowledge/query/`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(r=>r.json()).catch(r=>{console.error("Error:",r)})},this.processFilters=function(e){let t=[];return e.forEach(r=>{r.label!=="Show all"&&r.label!=="PMR"&&t.push(r.facet)}),t},this.pmrSearch=function(e=[],t=""){let r=this.processFilters(e),o=this.convertTermsToIds(r);return new Promise((a,i)=>{this.flatmapQuery(this.pmrSQL(o,t)).then(s=>{const l=this.processPMRData(s,o);this.setAvailableFeatures(l),this.flatmapQuery(this.countSQL(this.sqlPreOffset)).then(c=>{this.numberOfHits=c.values[0][0],a(l)})}).catch(i)})},this.setAvailableFeatures=function(e){e.forEach(t=>{Object.keys(t).forEach(r=>{this.features.includes(r)||this.features.push(r)})})},this.processPMRData=function(e,t=[]){let a=uP(e).filter(s=>s.metadata).map(s=>{let l=JSON.parse(s.metadata);return l.dataSource="PMR",l});return t.length>0&&(a=a.filter(s=>t.includes(s.term))),fP(a)},this.createLookup=function(){this.flatmapQuery(this.labelSQL()).then(e=>{e.values.forEach(t=>{t[1]&&(typeof t[1]=="string"||t[1]instanceof String)&&(this.lookup[t[1].toLowerCase()]=t[0])})})},this.lookUpId=function(e){return this.lookup[e.toLowerCase()]}};const hP={methods:{calculateVariableRatio:function(){this.page===1?this.variableRatio=this.RatioOfPMRResults:this.npp_SPARC*(this.page-1)>=this.sparcNumberOfHits?this.variableRatio=1:this.npp_PMR*(this.page-1)>=this.pmrNumberOfHits?this.variableRatio=0:this.variableRatio=this.RatioOfPMRResults},calculatePMROffest:function(){if(this.variableRatio===this.RatioOfPMRResults)return(this.page-1)*this.npp_PMR;if(this.variableRatio===1){let e=Math.ceil(this.sparcNumberOfHits/this.npp_SPARC),t=this.npp_PMR*e,r=(this.page-1-e)*this.numberPerPage;return t+r}},calculateSPARCOffest:function(){if(this.variableRatio===this.RatioOfPMRResults)return(this.page-1)*this.npp_SPARC;if(this.variableRatio===0){let e=Math.ceil(this.pmrNumberOfHits/this.npp_PMR),t=this.npp_SPARC*e,r=(this.page-1-e)*this.numberPerPage;return t+r}},PMRLimit:function(e=!1){if(e)return this.numberPerPage;if(this.variableRatio===this.RatioOfPMRResults)return this.npp_PMR;if(this.variableRatio===1)return this.numberPerPage;if(this.variableRatio===0)return 0},SPARCLimit:function(e=!1){if(e)return 0;if(this.variableRatio===this.RatioOfPMRResults)return this.npp_SPARC;if(this.variableRatio===0)return this.numberPerPage;if(this.variableRatio===1)return 0}}},Sc=.2;var mP=async function(e){if(!e.ok){let t=await e.json();throw t?new Error(t.message):new Error(e)}return e},gP={searchInput:"",lastSearch:"",results:[],pmrNumberOfHits:0,sparcNumberOfHits:0,filter:[],loadingCards:!1,numberPerPage:10,page:1,pmrResultsOnlyFlag:!1,hasSearched:!1,contextCardEnabled:!1,pmrResults:[],RatioOfPMRResults:Sc};const yP={components:{SearchFilters:Z0,DatasetCard:l0,PMRDatasetCard:pp,SearchHistory:d0,Button:kt,Card:Vf,Drawer:Xs,Icon:Be,Input:xo,Pagination:cp},name:"SideBarContent",mixins:[hP],props:{visible:{type:Boolean,default:!1},isDrawer:{type:Boolean,default:!0},entry:{type:Object,default:()=>gP},envVars:{type:Object,default:()=>{}}},data:function(){return{...this.entry,bodyStyle:{flex:"1 1 auto","flex-flow":"column",display:"flex"},cascaderIsReady:!1}},computed:{filterEntry:function(){return{numberOfHits:this.numberOfHits,filterFacets:this.filter}},npp_SPARC:function(){return Math.round(this.numberPerPage*(1-Sc))},npp_PMR:function(){return Math.round(this.numberPerPage*Sc)},numberOfHits:function(){return this.sparcNumberOfHits+this.pmrNumberOfHits}},methods:{hoverChanged:function(e){this.$emit("hover-changed",e)},onPmrActionClick:function(e){this.$emit("pmr-action-click",e)},resetSearch:function(){this.pmrNumberOfHits=0,this.sparcNumberOfHits=0,this.page=1,this.calculateVariableRatio(),this.discoverIds=[],this._dois=[],this.results=[],this.loadingCards=!1},openSearch:function(e,t="",r=!0){r?(this.resetSearch(),this.openAlgoliaSearch(e,t)):this.searchAlgolia(e,t),this.openPMRSearch(e,t)},openPMRSearch:function(e,t=""){this.flatmapQueries.updateOffset(this.calculatePMROffest()),this.flatmapQueries.updateLimit(this.PMRLimit(this.pmrResultsOnlyFlag)),this.flatmapQueries.pmrSearch(e,t).then(r=>{r.forEach(o=>{this.results.push(o)}),this.pmrNumberOfHits=this.flatmapQueries.numberOfHits})},openAlgoliaSearch:function(e,t=""){this.searchInput=t,this.cascaderIsReady?(this.filter=this.$refs.filtersRef.getHierarchicalValidatedFilters(e),e&&e.length>0&&this.filter&&this.filter.length===0?(this.$refs.filtersRef.checkShowAllBoxes(),this.resetSearch()):this.filter&&(this.searchAlgolia(this.filter,t),this.$refs.filtersRef.setCascader(this.filter))):(this.filter=e,(!e||e.length==0)&&this.searchAlgolia(this.filter,t))},addFilter:function(e){this.cascaderIsReady?(this.resetSearch(),e&&this.$refs.filtersRef.addFilter(e)&&this.$refs.filtersRef.initiateSearch()):Array.isArray(this.filter)?this.filter.push(e):this.filter=[e]},cascaderReady:function(){this.cascaderIsReady=!0,this.openSearch(this.filter,this.searchInput)},clearSearchClicked:function(){this.searchInput="",this.resetSearch(),this.openSearch(this.filter,this.searchInput),this.$refs.searchHistory.selectValue="Full search history"},searchEvent:function(e=!1){(e.keyCode===13||e instanceof MouseEvent)&&(this.openSearch(this.filter,this.searchInput),this.$refs.searchHistory.selectValue="Full search history",this.$refs.searchHistory.addSearchToHistory(this.filter,this.searchInput))},updatePMROnlyFlag:function(e){e.find(r=>r.facet==="PMR")?this.pmrResultsOnlyFlag=!0:this.pmrResultsOnlyFlag=!1},filterUpdate:function(e){this.filter=[...e],this.updatePMROnlyFlag(e),this.resetSearch(),this.searchAlgolia(e,this.searchInput),this.openPMRSearch(e,this.searchInput),this.$emit("search-changed",{value:e,type:"filter-update"})},searchAlgolia(e,t=""){if(this.SPARCLimit()===0){this.loadingCards=!1;return}this.loadingCards=!0,this.algoliaClient.anatomyInSearch(J0(e),t).then(r=>{We.emit("anatomy-in-datasets",r.forFlatmap),We.emit("number-of-datasets-for-anatomies",r.forScaffold)}),this.algoliaClient.search(J0(e),t,this.calculateSPARCOffest(),this.SPARCLimit(this.pmrResultsOnlyFlag)).then(r=>{this.sparcNumberOfHits=r.total,this.discoverIds=r.discoverIds,this._dois=r.dois,r.items.forEach(a=>{a.detailsReady=!1,this.results.push(a)}),this.results.concat(r.items),this.loadingCards=!1,this.scrollToTop(),this.$emit("search-changed",{value:this.searchInput,type:"query-update"}),this._abortController&&this._abortController.abort(),this._abortController=new AbortController;const o=this._abortController.signal;this.perItemSearch(o,{count:0})})},filtersLoading:function(e){this.loadingCards=e},numberPerPageUpdate:function(e){this.numberPerPage=e,this.pageChange(1)},pageChange:function(e){this.page=e,this.results=[],this.calculateVariableRatio(),this.openSearch(this.filter,this.searchInput,!1)},handleMissingData:function(e){let t=this.results.findIndex(r=>r.doi===e);this.results[t]&&(this.results[t].detailsReady=!0)},perItemSearch:function(e,t){if(10>t.count){const o=this._dois.shift();o&&(t.count++,this.callSciCrunch(this.envVars.API_LOCATION,{dois:[o]},e).then(a=>{a.numberOfHits===0?this.handleMissingData(o):this.resultsProcessing(a),this.$refs.content.style["overflow-y"]="scroll",t.count--,this.perItemSearch(e,t)}).catch(a=>{a.name!=="AbortError"&&(this.handleMissingData(o),t.count--,this.perItemSearch(e,t))}),this.perItemSearch(e,t))}},scrollToTop:function(){this.$refs.content&&this.$refs.content.scroll({top:0,behavior:"smooth"})},resetPageNavigation:function(){this.page=1},resultsProcessing:function(e){this.lastSearch=this.searchInput,e.results.length!==0&&e.results.forEach(t=>{let r=this.results.findIndex(o=>t.doi?t.doi.includes(o.doi):!1);Object.assign(this.results[r],t),Object.assign(this.results[r],{numberSamples:t.sampleSize?parseInt(t.sampleSize):0,numberSubjects:t.subjectSize?parseInt(t.subjectSize):0,updated:(t.updated&&t.updated.length)>0?t.updated[0].timestamp.split("T")[0]:"",url:t.uri[0],datasetId:t.dataset_identifier,datasetRevision:t.dataset_revision,datasetVersion:t.dataset_version,organs:t.organs&&t.organs.length>0?[...new Set(t.organs.map(o=>o.name))]:void 0,species:t.organisms&&t.organisms[0].species?[...new Set(t.organisms.map(o=>o.species?o.species.name:null))]:void 0,scaffolds:t["abi-scaffold-metadata-file"],thumbnails:t["abi-thumbnail"]?t["abi-thumbnail"]:t["abi-scaffold-thumbnail"],scaffoldViews:t["abi-scaffold-view-file"],videos:t.video,plots:t["abi-plot"],images:t["common-images"],contextualInformation:t["abi-contextual-information"].length>0?t["abi-contextual-information"]:void 0,segmentation:t["mbf-segmentation"],simulation:t["abi-simulation-file"],additionalLinks:t.additionalLinks,detailsReady:!0}),this.results[r]=this.results[r]})},createfilterParams:function(e){let t=new URLSearchParams;for(const r in e)Array.isArray(e[r])?e[r].forEach(o=>{t.append(r,o)}):t.append(r,e[r]);return t.toString()},callSciCrunch:function(e,t={},r){return new Promise((o,a)=>{let i=this.envVars.API_LOCATION+this.searchEndpoint+"?"+this.createfilterParams(t);fetch(i,{signal:r}).then(mP).then(s=>s.json()).then(s=>o(s)).catch(s=>a(s))})},getAlgoliaFacets:async function(){return await this.algoliaClient.getAlgoliaFacets(kc)},searchHistorySearch:function(e){this.searchInput=e.search,this.filters=e.filters,this.openSearch(e.filters,e.search)}},mounted:function(){this.algoliaClient=new G0(this.envVars.ALGOLIA_ID,this.envVars.ALGOLIA_KEY,this.envVars.PENNSIEVE_API_LOCATION),this.algoliaClient.initIndex(this.envVars.ALGOLIA_INDEX),this.flatmapQueries=new pP,this.flatmapQueries.initialise(this.envVars.FLATMAP_API_LOCATION),this.openSearch(this.filter,this.searchInput,this.mode)},created:function(){this.searchEndpoint="dataset_info/using_multiple_dois/"}},bP={class:"header"},wP={class:"content scrollbar",ref:"content"},CP={key:0,class:"error-feedback"};function kP(e,t,r,o,a,i){const s=xo,l=kt,c=Z0,d=d0,u=l0,f=pp,g=cp,m=Vf,p=Oo;return n.openBlock(),n.createBlock(m,{"body-style":e.bodyStyle,class:"content-card"},{header:n.withCtx(()=>[n.createElementVNode("div",bP,[n.createVNode(s,{class:"search-input",placeholder:"Search",modelValue:e.searchInput,"onUpdate:modelValue":t[0]||(t[0]=h=>e.searchInput=h),onKeyup:i.searchEvent,clearable:"",onClear:i.clearSearchClicked},null,8,["modelValue","onKeyup","onClear"]),n.createVNode(l,{type:"primary",class:"button",onClick:i.searchEvent,size:"large"},{default:n.withCtx(()=>[n.createTextVNode(" Search ")]),_:1},8,["onClick"])])]),default:n.withCtx(()=>[n.createVNode(c,{class:"filters",ref:"filtersRef",entry:i.filterEntry,envVars:r.envVars,onFilterResults:i.filterUpdate,onNumberPerPage:i.numberPerPageUpdate,onLoading:i.filtersLoading,onCascaderReady:i.cascaderReady},null,8,["entry","envVars","onFilterResults","onNumberPerPage","onLoading","onCascaderReady"]),n.createVNode(d,{ref:"searchHistory",onSearch:i.searchHistorySearch},null,8,["onSearch"]),n.createTextVNode(" pmr hits: "+n.toDisplayString(e.pmrNumberOfHits)+" ",1),n.withDirectives((n.openBlock(),n.createElementBlock("div",wP,[e.results.length===0&&!e.loadingCards?(n.openBlock(),n.createElementBlock("div",CP," No results found - Please change your search / filter criteria. ")):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.results,(h,y)=>(n.openBlock(),n.createElementBlock("div",{key:h.doi||y,class:"step-item"},[h.dataSource==="SPARC"?(n.openBlock(),n.createBlock(u,{key:0,class:"dataset-card",entry:h,envVars:r.envVars,onMouseenter:b=>i.hoverChanged(h),onMouseleave:t[1]||(t[1]=b=>i.hoverChanged(void 0))},null,8,["entry","envVars","onMouseenter"])):h.dataSource==="PMR"?(n.openBlock(),n.createBlock(f,{key:1,class:"dataset-card",entry:h,envVars:r.envVars,onPmrActionClick:i.onPmrActionClick,onMouseenter:b=>i.hoverChanged(h),onMouseleave:t[2]||(t[2]=b=>i.hoverChanged(void 0))},null,8,["entry","envVars","onPmrActionClick","onMouseenter"])):n.createCommentVNode("",!0)]))),128)),n.createVNode(g,{class:"pagination","current-page":e.page,"onUpdate:currentPage":t[3]||(t[3]=h=>e.page=h),"hide-on-single-page":"",large:"",layout:"prev, pager, next","page-size":e.numberPerPage,total:i.numberOfHits,onCurrentChange:i.pageChange},null,8,["current-page","page-size","total","onCurrentChange"])])),[[p,e.loadingCards]])]),_:1},8,["body-style"])}const Y0=Zt(yP,[["render",kP],["__scopeId","data-v-8eb34693"]]),vP={name:"ExternalResourceCard",components:{Button:kt},props:{resources:{type:Array,default:()=>[]}},data:function(){return{pubmeds:[],pubmedIds:[],ElIconNotebook:n.shallowRef(wC)}},methods:{capitalise:function(e){return e.charAt(0).toUpperCase()+e.slice(1)},openUrl:function(e){We.emit("open-pubmed-url",e),window.open(e,"_blank")}}},SP={class:"resource-container"};function xP(e,t,r,o,a,i){const s=kt;return n.openBlock(),n.createElementBlock("div",SP,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.resources,l=>(n.openBlock(),n.createElementBlock("div",{key:l.id,class:"resource"},[l.id==="pubmed"?(n.openBlock(),n.createBlock(s,{key:0,class:"button",id:"open-pubmed-button",icon:e.ElIconNotebook,onClick:c=>i.openUrl(l.url)},{default:n.withCtx(()=>[n.createTextVNode(" Open publications in PubMed ")]),_:2},1032,["icon","onClick"])):n.createCommentVNode("",!0)]))),128))])}const Q0=Zt(vP,[["render",xP],["__scopeId","data-v-e726c314"]]),EP=e=>e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()),_P=function(e){return e?e.charAt(0).toUpperCase()+e.slice(1):""},OP={name:"ConnectivityInfo",components:{Button:kt,Container:PE,Icon:Be,ElIconArrowUp:nC,ElIconArrowDown:hs,ElIconWarning:hu,ExternalResourceCard:Q0},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],resource:void 0})},availableAnatomyFacets:{type:Array,default:()=>[]}},data:function(){return{controller:void 0,activeSpecies:void 0,pubmedSearchUrl:"",loading:!1,facetList:[],showToolip:!1,showDetails:!1,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},componentsWithDatasets:[],uberons:[{id:void 0,name:void 0}]}},watch:{availableAnatomyFacets:{handler:function(e){this.convertFacetsToList(e)},immediate:!0,deep:!0}},computed:{resources:function(){let e=[];return this.entry&&this.entry.hyperlinks&&(e=this.entry.hyperlinks),e},featuresAlert(){},originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory},provSpeciesDescription:function(){let e="Studied in";return this.entry.provenanceTaxonomyLabel.forEach(t=>{e+=` ${t},`}),e=e.slice(0,-1),e+=" species",e}},methods:{titleCase:function(e){return EP(e)},capitalise:function(e){return _P(e)},openUrl:function(e){window.open(e,"_blank")},openAll:function(){We.emit("onConnectivityActionClick",{type:"Facets",labels:this.entry.componentsWithDatasets.map(e=>e.name.toLowerCase())})},openAxons:function(){We.emit("onConnectivityActionClick",{type:"Facets",labels:this.entry.destinationsWithDatasets.map(e=>e.name.toLowerCase())})},shouldShowExploreButton:function(e){for(let t=0;t<e.length;t++)if(this.facetList.includes(e[t].name.toLowerCase()))return!0;return!1},convertFacetsToList:function(e){e.forEach(t=>{t.children?this.convertFacetsToList(t.children):this.facetList.push(t.label.toLowerCase())})},openDendrites:function(){We.emit("onConnectivityActionClick",{type:"Facets",labels:this.entry.originsWithDatasets.map(e=>e.name.toLowerCase())})},pubmedSearchUrlUpdate:function(e){this.pubmedSearchUrl=e},showConnectivity:function(e){const t=e.featureId||[];this.$emit("show-connectivity",t)}}},pr=e=>(n.pushScopeId("data-v-f1c50620"),e=e(),n.popScopeId(),e),TP={key:0,class:"main"},BP={class:"connectivity-info-title"},NP={key:0,class:"block"},AP={class:"title"},PP={key:0,class:"subtitle"},IP={key:1,class:"block"},FP={class:"title"},RP=pr(()=>n.createElementVNode("span",null," Show connectivity on map ",-1)),$P={key:0,class:"attribute-title-container"},LP=pr(()=>n.createElementVNode("span",{class:"attribute-title"},"Alert",-1)),VP={style:{"word-break":"keep-all"}},DP={class:"content-container scrollbar"},MP={key:0,class:"block"},jP={class:"attribute-title-container"},zP=pr(()=>n.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),HP={style:{"word-break":"keep-all"}},UP=pr(()=>n.createElementVNode("i",null,"Origin",-1)),qP=["origin-item-label"],WP={key:0,class:"seperator"},KP={key:1,class:"block"},GP=pr(()=>n.createElementVNode("div",{class:"attribute-title-container"},[n.createElementVNode("div",{class:"attribute-title"},"Components")],-1)),JP=["component-item-label"],ZP={key:0,class:"seperator"},YP={key:2,class:"block"},QP={class:"attribute-title-container"},XP=pr(()=>n.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),eI=pr(()=>n.createElementVNode("span",{style:{"word-break":"keep-all"}},[n.createElementVNode("i",null,"Destination"),n.createTextVNode(" is where the axons terminate ")],-1)),tI=["destination-item-label"],nI={key:0,class:"seperator"};function rI(e,t,r,o,a,i){const s=Q0,l=gC,c=Be,d=kt,u=rl,f=hu,g=Oo;return r.entry?n.withDirectives((n.openBlock(),n.createElementBlock("div",TP,[n.createElementVNode("div",BP,[n.createElementVNode("div",null,[r.entry.title?(n.openBlock(),n.createElementBlock("div",NP,[n.createElementVNode("div",AP,n.toDisplayString(i.capitalise(r.entry.title)),1),r.entry.provenanceTaxonomyLabel&&r.entry.provenanceTaxonomyLabel.length>0?(n.openBlock(),n.createElementBlock("div",PP,n.toDisplayString(i.provSpeciesDescription),1)):n.createCommentVNode("",!0)])):(n.openBlock(),n.createElementBlock("div",IP,[n.createElementVNode("div",FP,n.toDisplayString(r.entry.featureId),1)])),n.createVNode(s,{resources:i.resources},null,8,["resources"])]),n.createElementVNode("div",null,[n.createVNode(u,{width:"200",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:n.withCtx(()=>[n.createVNode(d,{class:"button-circle",circle:"",onClick:t[0]||(t[0]=m=>i.showConnectivity(r.entry))},{default:n.withCtx(()=>[n.createVNode(c,{color:"white"},{default:n.withCtx(()=>[n.createVNode(l)]),_:1})]),_:1})]),default:n.withCtx(()=>[RP]),_:1})])]),i.featuresAlert?(n.openBlock(),n.createElementBlock("div",$P,[LP,n.createVNode(u,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:n.withCtx(()=>[n.createVNode(c,{class:"info"},{default:n.withCtx(()=>[n.createVNode(f)]),_:1})]),default:n.withCtx(()=>[n.createElementVNode("span",VP,n.toDisplayString(i.featuresAlert),1)]),_:1})])):n.createCommentVNode("",!0),n.createElementVNode("div",DP,[n.createTextVNode(n.toDisplayString(r.entry.paths)+" ",1),r.entry.origins&&r.entry.origins.length>0?(n.openBlock(),n.createElementBlock("div",MP,[n.createElementVNode("div",jP,[zP,n.createVNode(u,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:n.withCtx(()=>[n.createVNode(c,{class:"info"},{default:n.withCtx(()=>[n.createVNode(f)]),_:1})]),default:n.withCtx(()=>[n.createElementVNode("span",HP,[UP,n.createTextVNode(" "+n.toDisplayString(i.originDescription),1)])]),_:1})]),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.entry.origins,(m,p)=>(n.openBlock(),n.createElementBlock("div",{class:"attribute-content","origin-item-label":m,key:m},[n.createTextVNode(n.toDisplayString(i.capitalise(m))+" ",1),p!=r.entry.origins.length-1?(n.openBlock(),n.createElementBlock("div",WP)):n.createCommentVNode("",!0)],8,qP))),128)),n.withDirectives(n.createVNode(d,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:n.withCtx(()=>[n.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[n.vShow,r.entry.originsWithDatasets&&r.entry.originsWithDatasets.length>0&&i.shouldShowExploreButton(r.entry.originsWithDatasets)]])])):n.createCommentVNode("",!0),r.entry.components&&r.entry.components.length>0?(n.openBlock(),n.createElementBlock("div",KP,[GP,(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.entry.components,(m,p)=>(n.openBlock(),n.createElementBlock("div",{class:"attribute-content","component-item-label":m,key:m},[n.createTextVNode(n.toDisplayString(i.capitalise(m))+" ",1),p!=r.entry.components.length-1?(n.openBlock(),n.createElementBlock("div",ZP)):n.createCommentVNode("",!0)],8,JP))),128))])):n.createCommentVNode("",!0),r.entry.destinations&&r.entry.destinations.length>0?(n.openBlock(),n.createElementBlock("div",YP,[n.createElementVNode("div",QP,[XP,n.createVNode(u,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:n.withCtx(()=>[n.createVNode(c,{class:"info"},{default:n.withCtx(()=>[n.createVNode(f)]),_:1})]),default:n.withCtx(()=>[eI]),_:1})]),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.entry.destinations,(m,p)=>(n.openBlock(),n.createElementBlock("div",{class:"attribute-content","destination-item-label":m,key:m},[n.createTextVNode(n.toDisplayString(i.capitalise(m))+" ",1),p!=r.entry.destinations.length-1?(n.openBlock(),n.createElementBlock("div",nI)):n.createCommentVNode("",!0)],8,tI))),128)),n.withDirectives(n.createVNode(d,{class:"button",onClick:i.openAxons},{default:n.withCtx(()=>[n.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[n.vShow,r.entry.destinationsWithDatasets&&r.entry.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(r.entry.destinationsWithDatasets)]])])):n.createCommentVNode("",!0),n.withDirectives(n.createVNode(d,{class:"button",onClick:i.openAll},{default:n.withCtx(()=>[n.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"]),[[n.vShow,r.entry.componentsWithDatasets&&r.entry.componentsWithDatasets.length>0&&i.shouldShowExploreButton(r.entry.componentsWithDatasets)]])])])),[[g,e.loading]]):n.createCommentVNode("",!0)}const X0=Zt(OP,[["render",rI],["__scopeId","data-v-f1c50620"]]),oI={name:"Tabs",props:{tabTitles:{type:Array,default:()=>[]},activeId:{type:Number,default:1}},methods:{titleClicked:function(e,t){this.$emit("titleClicked",{id:e,type:t})},tabClose:function(e){this.$emit("tab-close",e)}}},aI=e=>(n.pushScopeId("data-v-a569bcfd"),e=e(),n.popScopeId(),e),iI={class:"tab-container"},sI=["onClick"],lI={class:"title-text"},cI=aI(()=>n.createElementVNode("span",{class:"visually-hidden"},"Close",-1));function dI(e,t,r,o,a,i){const s=kt;return n.openBlock(),n.createElementBlock("div",iI,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.tabTitles,l=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["title",{"active-tab":l.id==r.activeId}]),key:l.id},[n.createElementVNode("div",{class:n.normalizeClass(["title-text-table",{highlightText:l.id==r.activeId}]),onClick:c=>i.titleClicked(l.id,l.type)},[n.createElementVNode("div",lI,n.toDisplayString(l.title),1)],10,sI),l.id===2?(n.openBlock(),n.createBlock(s,{key:0,onClick:c=>i.tabClose(l.id),class:"button-tab-close","aria-label":"Close"},{default:n.withCtx(()=>[n.createTextVNode(" × "),cI]),_:2},1032,["onClick"])):n.createCommentVNode("",!0)],2))),128))])}const eg=Zt(oI,[["render",dI],["__scopeId","data-v-a569bcfd"]]),uI={components:{SidebarContent:Y0,Tabs:eg,ElIconArrowLeft:ms,ElIconArrowRight:ma,Drawer:Xs,Icon:Be,ConnectivityInfo:X0},name:"SideBar",props:{visible:{type:Boolean,default:!1},envVars:{type:Object,default:()=>{}},tabs:{type:Array,default:()=>[{id:1,title:"Search",type:"search"},{id:2,title:"Connectivity",type:"connectivity"}]},activeTabId:{type:Number,default:1},openAtStart:{type:Boolean,default:!1},connectivityInfo:{type:Object,default:null}},data:function(){return{drawerOpen:!1,availableAnatomyFacets:[]}},methods:{hoverChanged:function(e){this.$emit("hover-changed",e)},showConnectivity:function(e){this.$emit("show-connectivity",e)},searchChanged:function(e,t){this.$emit("search-changed",{...t,id:e})},close:function(){this.drawerOpen=!1},toggleDrawer:function(){this.drawerOpen=!this.drawerOpen},openSearch:function(e,t){this.drawerOpen=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).openSearch(e,t)})},getTabByIdAndType:function(e,t){const r=e||this.activeTabId,o=t||"search",a=this.tabs.find(s=>s.id===r&&s.type===o),i=this.tabs[0];return a||i},getTabRefId:function(e,t){let r="searchTab_";t==="connectivity"&&(r="connectivityTab_");const o=this.getTabByIdAndType(e,t);return r+o.id},getSearchTabRefById:function(e){const t=e||1,r=this.getTabRefId(t,"search");return this.$refs[r][0]},addFilter:function(e){this.drawerOpen=!0,e.AND=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).addFilter(e)})},openNeuronSearch:function(e){this.drawerOpen=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).openSearch("",void 0,"scicrunch-query-string/",{field:"*organ.curie",curie:e})})},getAlgoliaFacets:async function(){return await this.getSearchTabRefById(1).getAlgoliaFacets()},setDrawerOpen:function(e=!0){this.drawerOpen=e},onPmrActionClick:function(e){this.$emit("actionClick",e)},tabClicked:function({id:e,type:t}){this.$emit("tabClicked",{id:e,type:t})},tabClose:function(e){this.$emit("connectivity-info-close")}},created:function(){this.drawerOpen=this.openAtStart},mounted:function(){We.on("PopoverActionClick",e=>{this.$emit("actionClick",e)}),We.on("number-of-datasets-for-anatomies",e=>{this.$emit("number-of-datasets-for-anatomies",e)}),We.on("anatomy-in-datasets",e=>{this.$emit("anatomy-in-datasets",e)}),We.on("contextUpdate",e=>{this.$emit("contextUpdate",e)}),We.on("datalink-clicked",e=>{this.$emit("datalink-clicked",e)}),We.on("onConnectivityActionClick",e=>{this.tabClicked({id:1,type:"search"}),this.$emit("actionClick",e)}),We.on("available-facets",e=>{this.availableAnatomyFacets=e.find(t=>t.label==="Anatomical Structure").children})}},fI={ref:"container"},pI={class:"box-card"},hI={class:"sidebar-container"};function mI(e,t,r,o,a,i){const s=ms,l=Be,c=ma,d=eg,u=X0,f=Y0,g=Xs;return n.openBlock(),n.createElementBlock("div",fI,[e.drawerOpen?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",{key:0,onClick:t[0]||(t[0]=(...m)=>i.toggleDrawer&&i.toggleDrawer(...m)),class:"open-tab"},[n.createVNode(l,null,{default:n.withCtx(()=>[n.createVNode(s)]),_:1})])),n.createVNode(g,{class:"side-bar my-drawer",modelValue:e.drawerOpen,"onUpdate:modelValue":t[3]||(t[3]=m=>e.drawerOpen=m),teleported:!1,"modal-append-to-body":!1,size:"584","with-header":!1,wrapperClosable:!1,modal:!1,"modal-class":"sidebar-body","z-index":10,"lock-scroll":!1},{default:n.withCtx(()=>[n.createElementVNode("div",pI,[e.drawerOpen?(n.openBlock(),n.createElementBlock("div",{key:0,onClick:t[1]||(t[1]=(...m)=>i.close&&i.close(...m)),class:"close-tab"},[n.createVNode(l,null,{default:n.withCtx(()=>[n.createVNode(c)]),_:1})])):n.createCommentVNode("",!0),n.createElementVNode("div",hI,[r.tabs.length>1&&r.connectivityInfo?(n.openBlock(),n.createBlock(d,{key:0,tabTitles:r.tabs,activeId:r.activeTabId,onTitleClicked:i.tabClicked,onTabClose:i.tabClose},null,8,["tabTitles","activeId","onTitleClicked","onTabClose"])):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.tabs,m=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:"tab.id"},[m.type==="connectivity"?n.withDirectives((n.openBlock(),n.createBlock(u,{key:0,entry:r.connectivityInfo,availableAnatomyFacets:e.availableAnatomyFacets,ref_for:!0,ref:"connectivityTab_"+m.id,onShowConnectivity:i.showConnectivity},null,8,["entry","availableAnatomyFacets","onShowConnectivity"])),[[n.vShow,m.id===r.activeTabId]]):n.withDirectives((n.openBlock(),n.createBlock(f,{key:1,class:"sidebar-content-container",contextCardEntry:m.contextCard,envVars:r.envVars,ref_for:!0,ref:"searchTab_"+m.id,onPmrActionClick:i.onPmrActionClick,onSearchChanged:p=>i.searchChanged(m.id,p),onHoverChanged:t[2]||(t[2]=p=>i.hoverChanged(p))},null,8,["contextCardEntry","envVars","onPmrActionClick","onSearchChanged"])),[[n.vShow,m.id===r.activeTabId]])],64))),128))])])]),_:1},8,["modelValue"])],512)}const gI=Zt(uI,[["render",mI],["__scopeId","data-v-26636995"]]);ze.SideBar=gI,Object.defineProperty(ze,Symbol.toStringTag,{value:"Module"})});
|
|
462
|
+
`)},KA=["innerHTML"];function GA(e,t,r,o,a,i){return n.openBlock(),n.createElementBlock("svg",{width:"0",height:"0",style:{display:"none"},innerHTML:e.$options.svgSprite},null,8,KA)}const JA=u0(WA,[["render",GA]]);var K0={exports:{}};/*! algoliasearch.umd.js | 4.23.2 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */(function(e,t){(function(r,o){e.exports=o()})(sx,function(){function r(w,C,k){return C in w?Object.defineProperty(w,C,{value:k,enumerable:!0,configurable:!0,writable:!0}):w[C]=k,w}function o(w,C){var k=Object.keys(w);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(w);C&&(S=S.filter(function(N){return Object.getOwnPropertyDescriptor(w,N).enumerable})),k.push.apply(k,S)}return k}function a(w){for(var C=1;C<arguments.length;C++){var k=arguments[C]!=null?arguments[C]:{};C%2?o(Object(k),!0).forEach(function(S){r(w,S,k[S])}):Object.getOwnPropertyDescriptors?Object.defineProperties(w,Object.getOwnPropertyDescriptors(k)):o(Object(k)).forEach(function(S){Object.defineProperty(w,S,Object.getOwnPropertyDescriptor(k,S))})}return w}function i(w,C){if(w==null)return{};var k,S,N=function(J,M){if(J==null)return{};var G,X,Y={},se=Object.keys(J);for(X=0;X<se.length;X++)G=se[X],M.indexOf(G)>=0||(Y[G]=J[G]);return Y}(w,C);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(w);for(S=0;S<H.length;S++)k=H[S],C.indexOf(k)>=0||Object.prototype.propertyIsEnumerable.call(w,k)&&(N[k]=w[k])}return N}function s(w,C){return function(k){if(Array.isArray(k))return k}(w)||function(k,S){if(Symbol.iterator in Object(k)||Object.prototype.toString.call(k)==="[object Arguments]"){var N=[],H=!0,J=!1,M=void 0;try{for(var G,X=k[Symbol.iterator]();!(H=(G=X.next()).done)&&(N.push(G.value),!S||N.length!==S);H=!0);}catch(Y){J=!0,M=Y}finally{try{H||X.return==null||X.return()}finally{if(J)throw M}}return N}}(w,C)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function l(w){return function(C){if(Array.isArray(C)){for(var k=0,S=new Array(C.length);k<C.length;k++)S[k]=C[k];return S}}(w)||function(C){if(Symbol.iterator in Object(C)||Object.prototype.toString.call(C)==="[object Arguments]")return Array.from(C)}(w)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function c(w){var C,k="algoliasearch-client-js-".concat(w.key),S=function(){return C===void 0&&(C=w.localStorage||window.localStorage),C},N=function(){return JSON.parse(S().getItem(k)||"{}")},H=function(M){S().setItem(k,JSON.stringify(M))},J=function(){var M=w.timeToLive?1e3*w.timeToLive:null,G=N(),X=Object.fromEntries(Object.entries(G).filter(function(se){return s(se,2)[1].timestamp!==void 0}));if(H(X),M){var Y=Object.fromEntries(Object.entries(X).filter(function(se){var ie=s(se,2)[1],pe=new Date().getTime();return!(ie.timestamp+M<pe)}));H(Y)}};return{get:function(M,G){var X=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then(function(){J();var Y=JSON.stringify(M);return N()[Y]}).then(function(Y){return Promise.all([Y?Y.value:G(),Y!==void 0])}).then(function(Y){var se=s(Y,2),ie=se[0],pe=se[1];return Promise.all([ie,pe||X.miss(ie)])}).then(function(Y){return s(Y,1)[0]})},set:function(M,G){return Promise.resolve().then(function(){var X=N();return X[JSON.stringify(M)]={timestamp:new Date().getTime(),value:G},S().setItem(k,JSON.stringify(X)),G})},delete:function(M){return Promise.resolve().then(function(){var G=N();delete G[JSON.stringify(M)],S().setItem(k,JSON.stringify(G))})},clear:function(){return Promise.resolve().then(function(){S().removeItem(k)})}}}function d(w){var C=l(w.caches),k=C.shift();return k===void 0?{get:function(S,N){var H=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},J=N();return J.then(function(M){return Promise.all([M,H.miss(M)])}).then(function(M){return s(M,1)[0]})},set:function(S,N){return Promise.resolve(N)},delete:function(S){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(S,N){var H=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return k.get(S,N,H).catch(function(){return d({caches:C}).get(S,N,H)})},set:function(S,N){return k.set(S,N).catch(function(){return d({caches:C}).set(S,N)})},delete:function(S){return k.delete(S).catch(function(){return d({caches:C}).delete(S)})},clear:function(){return k.clear().catch(function(){return d({caches:C}).clear()})}}}function u(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{serializable:!0},C={};return{get:function(k,S){var N=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},H=JSON.stringify(k);if(H in C)return Promise.resolve(w.serializable?JSON.parse(C[H]):C[H]);var J=S(),M=N&&N.miss||function(){return Promise.resolve()};return J.then(function(G){return M(G)}).then(function(){return J})},set:function(k,S){return C[JSON.stringify(k)]=w.serializable?JSON.stringify(S):S,Promise.resolve(S)},delete:function(k){return delete C[JSON.stringify(k)],Promise.resolve()},clear:function(){return C={},Promise.resolve()}}}function f(w,C,k){var S={"x-algolia-api-key":k,"x-algolia-application-id":C};return{headers:function(){return w===b.WithinHeaders?S:{}},queryParameters:function(){return w===b.WithinQueryParameters?S:{}}}}function g(w){var C=0;return w(function k(){return C++,new Promise(function(S){setTimeout(function(){S(w(k))},Math.min(100*C,1e3))})})}function m(w){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(k,S){return Promise.resolve()};return Object.assign(w,{wait:function(k){return m(w.then(function(S){return Promise.all([C(S,k),S])}).then(function(S){return S[1]}))}})}function p(w){for(var C=w.length-1;C>0;C--){var k=Math.floor(Math.random()*(C+1)),S=w[C];w[C]=w[k],w[k]=S}return w}function h(w,C){return C&&Object.keys(C).forEach(function(k){w[k]=C[k](w)}),w}function y(w){for(var C=arguments.length,k=new Array(C>1?C-1:0),S=1;S<C;S++)k[S-1]=arguments[S];var N=0;return w.replace(/%s/g,function(){return encodeURIComponent(k[N++])})}var b={WithinQueryParameters:0,WithinHeaders:1};function v(w,C){var k=w||{},S=k.data||{};return Object.keys(k).forEach(function(N){["timeout","headers","queryParameters","data","cacheable"].indexOf(N)===-1&&(S[N]=k[N])}),{data:Object.entries(S).length>0?S:void 0,timeout:k.timeout||C,headers:k.headers||{},queryParameters:k.queryParameters||{},cacheable:k.cacheable}}var E={Read:1,Write:2,Any:3},x=1,O=2,_=3;function T(w){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:x;return a(a({},w),{},{status:C,lastUpdate:Date.now()})}function B(w){return typeof w=="string"?{protocol:"https",url:w,accept:E.Any}:{protocol:w.protocol||"https",url:w.url,accept:w.accept||E.Any}}var D="DELETE",F="GET",I="POST",R="PUT";function z(w,C){return Promise.all(C.map(function(k){return w.get(k,function(){return Promise.resolve(T(k))})})).then(function(k){var S=k.filter(function(J){return function(M){return M.status===x||Date.now()-M.lastUpdate>12e4}(J)}),N=k.filter(function(J){return function(M){return M.status===_&&Date.now()-M.lastUpdate<=12e4}(J)}),H=[].concat(l(S),l(N));return{getTimeout:function(J,M){return(N.length===0&&J===0?1:N.length+3+J)*M},statelessHosts:H.length>0?H.map(function(J){return B(J)}):C}})}function Z(w,C,k,S){var N=[],H=function(ie,pe){if(!(ie.method===F||ie.data===void 0&&pe.data===void 0)){var ce=Array.isArray(ie.data)?ie.data:a(a({},ie.data),pe.data);return JSON.stringify(ce)}}(k,S),J=function(ie,pe){var ce=a(a({},ie.headers),pe.headers),_e={};return Object.keys(ce).forEach(function($e){var bt=ce[$e];_e[$e.toLowerCase()]=bt}),_e}(w,S),M=k.method,G=k.method!==F?{}:a(a({},k.data),S.data),X=a(a(a({"x-algolia-agent":w.userAgent.value},w.queryParameters),G),S.queryParameters),Y=0,se=function ie(pe,ce){var _e=pe.pop();if(_e===void 0)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:ne(N)};var $e={data:H,headers:J,method:M,url:A(_e,k.path,X),connectTimeout:ce(Y,w.timeouts.connect),responseTimeout:ce(Y,S.timeout)},bt=function(wt){var rt={request:$e,response:wt,host:_e,triesLeft:pe.length};return N.push(rt),rt},Yo={onSuccess:function(wt){return function(rt){try{return JSON.parse(rt.content)}catch(mr){throw function(Zn,Xr){return{name:"DeserializationError",message:Zn,response:Xr}}(mr.message,rt)}}(wt)},onRetry:function(wt){var rt=bt(wt);return wt.isTimedOut&&Y++,Promise.all([w.logger.info("Retryable failure",ve(rt)),w.hostsCache.set(_e,T(_e,wt.isTimedOut?_:O))]).then(function(){return ie(pe,ce)})},onFail:function(wt){throw bt(wt),function(rt,mr){var Zn=rt.content,Xr=rt.status,Qo=Zn;try{Qo=JSON.parse(Zn).message}catch{}return function(Vi,Lc,$I){return{name:"ApiError",message:Vi,status:Lc,transporterStackTrace:$I}}(Qo,Xr,mr)}(wt,ne(N))}};return w.requester.send($e).then(function(wt){return function(rt,mr){return function(Zn){var Xr=Zn.status;return Zn.isTimedOut||function(Qo){var Vi=Qo.isTimedOut,Lc=Qo.status;return!Vi&&~~Lc==0}(Zn)||~~(Xr/100)!=2&&~~(Xr/100)!=4}(rt)?mr.onRetry(rt):~~(rt.status/100)==2?mr.onSuccess(rt):mr.onFail(rt)}(wt,Yo)})};return z(w.hostsCache,C).then(function(ie){return se(l(ie.statelessHosts).reverse(),ie.getTimeout)})}function K(w){var C=w.hostsCache,k=w.logger,S=w.requester,N=w.requestsCache,H=w.responsesCache,J=w.timeouts,M=w.userAgent,G=w.hosts,X=w.queryParameters,Y={hostsCache:C,logger:k,requester:S,requestsCache:N,responsesCache:H,timeouts:J,userAgent:M,headers:w.headers,queryParameters:X,hosts:G.map(function(se){return B(se)}),read:function(se,ie){var pe=v(ie,Y.timeouts.read),ce=function(){return Z(Y,Y.hosts.filter(function($e){return($e.accept&E.Read)!=0}),se,pe)};if((pe.cacheable!==void 0?pe.cacheable:se.cacheable)!==!0)return ce();var _e={request:se,mappedRequestOptions:pe,transporter:{queryParameters:Y.queryParameters,headers:Y.headers}};return Y.responsesCache.get(_e,function(){return Y.requestsCache.get(_e,function(){return Y.requestsCache.set(_e,ce()).then(function($e){return Promise.all([Y.requestsCache.delete(_e),$e])},function($e){return Promise.all([Y.requestsCache.delete(_e),Promise.reject($e)])}).then(function($e){var bt=s($e,2);return bt[0],bt[1]})})},{miss:function($e){return Y.responsesCache.set(_e,$e)}})},write:function(se,ie){return Z(Y,Y.hosts.filter(function(pe){return(pe.accept&E.Write)!=0}),se,v(ie,Y.timeouts.write))}};return Y}function U(w){var C={value:"Algolia for JavaScript (".concat(w,")"),add:function(k){var S="; ".concat(k.segment).concat(k.version!==void 0?" (".concat(k.version,")"):"");return C.value.indexOf(S)===-1&&(C.value="".concat(C.value).concat(S)),C}};return C}function A(w,C,k){var S=ee(k),N="".concat(w.protocol,"://").concat(w.url,"/").concat(C.charAt(0)==="/"?C.substr(1):C);return S.length&&(N+="?".concat(S)),N}function ee(w){return Object.keys(w).map(function(C){return y("%s=%s",C,(k=w[C],Object.prototype.toString.call(k)==="[object Object]"||Object.prototype.toString.call(k)==="[object Array]"?JSON.stringify(w[C]):w[C]));var k}).join("&")}function ne(w){return w.map(function(C){return ve(C)})}function ve(w){var C=w.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return a(a({},w),{},{request:a(a({},w.request),{},{headers:a(a({},w.request.headers),C)})})}var ye=function(w){return function(C,k){return w.transporter.write({method:I,path:"2/abtests",data:C},k)}},ke=function(w){return function(C,k){return w.transporter.write({method:D,path:y("2/abtests/%s",C)},k)}},de=function(w){return function(C,k){return w.transporter.read({method:F,path:y("2/abtests/%s",C)},k)}},Pe=function(w){return function(C){return w.transporter.read({method:F,path:"2/abtests"},C)}},we=function(w){return function(C,k){return w.transporter.write({method:I,path:y("2/abtests/%s/stop",C)},k)}},Ke=function(w){return function(C){return w.transporter.read({method:F,path:"1/strategies/personalization"},C)}},De=function(w){return function(C,k){return w.transporter.write({method:I,path:"1/strategies/personalization",data:C},k)}};function Se(w){return function C(k){return w.request(k).then(function(S){if(w.batch!==void 0&&w.batch(S.hits),!w.shouldStop(S))return S.cursor?C({cursor:S.cursor}):C({page:(k.page||0)+1})})}({})}var Xt=function(w){return function(C,k){var S=k||{},N=S.queryParameters,H=i(S,["queryParameters"]),J=a({acl:C},N!==void 0?{queryParameters:N}:{});return m(w.transporter.write({method:I,path:"1/keys",data:J},H),function(M,G){return g(function(X){return Ce(w)(M.key,G).catch(function(Y){if(Y.status!==404)throw Y;return X()})})})}},Ie=function(w){return function(C,k,S){var N=v(S);return N.queryParameters["X-Algolia-User-ID"]=C,w.transporter.write({method:I,path:"1/clusters/mapping",data:{cluster:k}},N)}},Fe=function(w){return function(C,k,S){return w.transporter.write({method:I,path:"1/clusters/mapping/batch",data:{users:C,cluster:k}},S)}},Ge=function(w){return function(C,k){return m(w.transporter.write({method:I,path:y("/1/dictionaries/%s/batch",C),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},k),function(S,N){return Nn(w)(S.taskID,N)})}},Me=function(w){return function(C,k,S){return m(w.transporter.write({method:I,path:y("1/indexes/%s/operation",C),data:{operation:"copy",destination:k}},S),function(N,H){return me(w)(C,{methods:{waitTask:je}}).waitTask(N.taskID,H)})}},et=function(w){return function(C,k,S){return Me(w)(C,k,a(a({},S),{},{scope:[$c.Rules]}))}},St=function(w){return function(C,k,S){return Me(w)(C,k,a(a({},S),{},{scope:[$c.Settings]}))}},st=function(w){return function(C,k,S){return Me(w)(C,k,a(a({},S),{},{scope:[$c.Synonyms]}))}},xt=function(w){return function(C,k){return C.method===F?w.transporter.read(C,k):w.transporter.write(C,k)}},lt=function(w){return function(C,k){return m(w.transporter.write({method:D,path:y("1/keys/%s",C)},k),function(S,N){return g(function(H){return Ce(w)(C,N).then(H).catch(function(J){if(J.status!==404)throw J})})})}},en=function(w){return function(C,k,S){var N=k.map(function(H){return{action:"deleteEntry",body:{objectID:H}}});return m(w.transporter.write({method:I,path:y("/1/dictionaries/%s/batch",C),data:{clearExistingDictionaryEntries:!1,requests:N}},S),function(H,J){return Nn(w)(H.taskID,J)})}},Ce=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/keys/%s",C)},k)}},Ae=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/task/%s",C.toString())},k)}},ct=function(w){return function(C){return w.transporter.read({method:F,path:"/1/dictionaries/*/settings"},C)}},gt=function(w){return function(C){return w.transporter.read({method:F,path:"1/logs"},C)}},qe=function(w){return function(C){return w.transporter.read({method:F,path:"1/clusters/mapping/top"},C)}},j=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/clusters/mapping/%s",C)},k)}},oe=function(w){return function(C){var k=C||{},S=k.retrieveMappings,N=i(k,["retrieveMappings"]);return S===!0&&(N.getClusters=!0),w.transporter.read({method:F,path:"1/clusters/mapping/pending"},N)}},me=function(w){return function(C){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},S={transporter:w.transporter,appId:w.appId,indexName:C};return h(S,k.methods)}},tt=function(w){return function(C){return w.transporter.read({method:F,path:"1/keys"},C)}},mn=function(w){return function(C){return w.transporter.read({method:F,path:"1/clusters"},C)}},Jr=function(w){return function(C){return w.transporter.read({method:F,path:"1/indexes"},C)}},Gn=function(w){return function(C){return w.transporter.read({method:F,path:"1/clusters/mapping"},C)}},Bn=function(w){return function(C,k,S){return m(w.transporter.write({method:I,path:y("1/indexes/%s/operation",C),data:{operation:"move",destination:k}},S),function(N,H){return me(w)(C,{methods:{waitTask:je}}).waitTask(N.taskID,H)})}},V=function(w){return function(C,k){return m(w.transporter.write({method:I,path:"1/indexes/*/batch",data:{requests:C}},k),function(S,N){return Promise.all(Object.keys(S.taskID).map(function(H){return me(w)(H,{methods:{waitTask:je}}).waitTask(S.taskID[H],N)}))})}},q=function(w){return function(C,k){return w.transporter.read({method:I,path:"1/indexes/*/objects",data:{requests:C}},k)}},Q=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{params:ee(N.params||{})})});return w.transporter.read({method:I,path:"1/indexes/*/queries",data:{requests:S},cacheable:!0},k)}},ge=function(w){return function(C,k){return Promise.all(C.map(function(S){var N=S.params,H=N.facetName,J=N.facetQuery,M=i(N,["facetName","facetQuery"]);return me(w)(S.indexName,{methods:{searchForFacetValues:og}}).searchForFacetValues(H,J,a(a({},k),M))}))}},Et=function(w){return function(C,k){var S=v(k);return S.queryParameters["X-Algolia-User-ID"]=C,w.transporter.write({method:D,path:"1/clusters/mapping"},S)}},yt=function(w){return function(C,k,S){var N=k.map(function(H){return{action:"addEntry",body:H}});return m(w.transporter.write({method:I,path:y("/1/dictionaries/%s/batch",C),data:{clearExistingDictionaryEntries:!0,requests:N}},S),function(H,J){return Nn(w)(H.taskID,J)})}},_t=function(w){return function(C,k){return m(w.transporter.write({method:I,path:y("1/keys/%s/restore",C)},k),function(S,N){return g(function(H){return Ce(w)(C,N).catch(function(J){if(J.status!==404)throw J;return H()})})})}},Zr=function(w){return function(C,k,S){var N=k.map(function(H){return{action:"addEntry",body:H}});return m(w.transporter.write({method:I,path:y("/1/dictionaries/%s/batch",C),data:{clearExistingDictionaryEntries:!1,requests:N}},S),function(H,J){return Nn(w)(H.taskID,J)})}},xc=function(w){return function(C,k,S){return w.transporter.read({method:I,path:y("/1/dictionaries/%s/search",C),data:{query:k},cacheable:!0},S)}},Ec=function(w){return function(C,k){return w.transporter.read({method:I,path:"1/clusters/mapping/search",data:{query:C}},k)}},Ii=function(w){return function(C,k){return m(w.transporter.write({method:R,path:"/1/dictionaries/*/settings",data:C},k),function(S,N){return Nn(w)(S.taskID,N)})}},_c=function(w){return function(C,k){var S=Object.assign({},k),N=k||{},H=N.queryParameters,J=i(N,["queryParameters"]),M=H?{queryParameters:H}:{},G=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"];return m(w.transporter.write({method:R,path:y("1/keys/%s",C),data:M},J),function(X,Y){return g(function(se){return Ce(w)(C,Y).then(function(ie){return function(pe){return Object.keys(S).filter(function(ce){return G.indexOf(ce)!==-1}).every(function(ce){if(Array.isArray(pe[ce])&&Array.isArray(S[ce])){var _e=pe[ce];return _e.length===S[ce].length&&_e.every(function($e,bt){return $e===S[ce][bt]})}return pe[ce]===S[ce]})}(ie)?Promise.resolve():se()})})})}},Nn=function(w){return function(C,k){return g(function(S){return Ae(w)(C,k).then(function(N){return N.status!=="published"?S():void 0})})}},Fi=function(w){return function(C,k){return m(w.transporter.write({method:I,path:y("1/indexes/%s/batch",w.indexName),data:{requests:C}},k),function(S,N){return je(w)(S.taskID,N)})}},hr=function(w){return function(C){return Se(a(a({shouldStop:function(k){return k.cursor===void 0}},C),{},{request:function(k){return w.transporter.read({method:I,path:y("1/indexes/%s/browse",w.indexName),data:k},C)}}))}},Oc=function(w){return function(C){var k=a({hitsPerPage:1e3},C);return Se(a(a({shouldStop:function(S){return S.hits.length<k.hitsPerPage}},k),{},{request:function(S){return ag(w)("",a(a({},k),S)).then(function(N){return a(a({},N),{},{hits:N.hits.map(function(H){return delete H._highlightResult,H})})})}}))}},Tc=function(w){return function(C){var k=a({hitsPerPage:1e3},C);return Se(a(a({shouldStop:function(S){return S.hits.length<k.hitsPerPage}},k),{},{request:function(S){return ig(w)("",a(a({},k),S)).then(function(N){return a(a({},N),{},{hits:N.hits.map(function(H){return delete H._highlightResult,H})})})}}))}},Zo=function(w){return function(C,k,S){var N=S||{},H=N.batchSize,J=i(N,["batchSize"]),M={taskIDs:[],objectIDs:[]};return m(function G(){var X,Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,se=[];for(X=Y;X<C.length&&(se.push(C[X]),se.length!==(H||1e3));X++);return se.length===0?Promise.resolve(M):Fi(w)(se.map(function(ie){return{action:k,body:ie}}),J).then(function(ie){return M.objectIDs=M.objectIDs.concat(ie.objectIDs),M.taskIDs.push(ie.taskID),X++,G(X)})}(),function(G,X){return Promise.all(G.taskIDs.map(function(Y){return je(w)(Y,X)}))})}},Ri=function(w){return function(C){return m(w.transporter.write({method:I,path:y("1/indexes/%s/clear",w.indexName)},C),function(k,S){return je(w)(k.taskID,S)})}},Bc=function(w){return function(C){var k=C||{},S=k.forwardToReplicas,N=v(i(k,["forwardToReplicas"]));return S&&(N.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:I,path:y("1/indexes/%s/rules/clear",w.indexName)},N),function(H,J){return je(w)(H.taskID,J)})}},Nc=function(w){return function(C){var k=C||{},S=k.forwardToReplicas,N=v(i(k,["forwardToReplicas"]));return S&&(N.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:I,path:y("1/indexes/%s/synonyms/clear",w.indexName)},N),function(H,J){return je(w)(H.taskID,J)})}},Ac=function(w){return function(C,k){return m(w.transporter.write({method:I,path:y("1/indexes/%s/deleteByQuery",w.indexName),data:C},k),function(S,N){return je(w)(S.taskID,N)})}},Pc=function(w){return function(C){return m(w.transporter.write({method:D,path:y("1/indexes/%s",w.indexName)},C),function(k,S){return je(w)(k.taskID,S)})}},P=function(w){return function(C,k){return m(W(w)([C],k).then(function(S){return{taskID:S.taskIDs[0]}}),function(S,N){return je(w)(S.taskID,N)})}},W=function(w){return function(C,k){var S=C.map(function(N){return{objectID:N}});return Zo(w)(S,Qr.DeleteObject,k)}},be=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=v(i(S,["forwardToReplicas"]));return N&&(H.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:D,path:y("1/indexes/%s/rules/%s",w.indexName,C)},H),function(J,M){return je(w)(J.taskID,M)})}},Re=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=v(i(S,["forwardToReplicas"]));return N&&(H.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:D,path:y("1/indexes/%s/synonyms/%s",w.indexName,C)},H),function(J,M){return je(w)(J.taskID,M)})}},gn=function(w){return function(C){return tg(w)(C).then(function(){return!0}).catch(function(k){if(k.status!==404)throw k;return!1})}},Jn=function(w){return function(C,k,S){return w.transporter.read({method:I,path:y("1/answers/%s/prediction",w.indexName),data:{query:C,queryLanguages:k},cacheable:!0},S)}},Yr=function(w){return function(C,k){var S=k||{},N=S.query,H=S.paginate,J=i(S,["query","paginate"]),M=0;return function G(){return rg(w)(N||"",a(a({},J),{},{page:M})).then(function(X){for(var Y=0,se=Object.entries(X.hits);Y<se.length;Y++){var ie=s(se[Y],2),pe=ie[0],ce=ie[1];if(C(ce))return{object:ce,position:parseInt(pe,10),page:M}}if(M++,H===!1||M>=X.nbPages)throw{name:"ObjectNotFoundError",message:"Object not found."};return G()})}()}},An=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/indexes/%s/%s",w.indexName,C)},k)}},jt=function(){return function(w,C){for(var k=0,S=Object.entries(w.hits);k<S.length;k++){var N=s(S[k],2),H=N[0];if(N[1].objectID===C)return parseInt(H,10)}return-1}},$i=function(w){return function(C,k){var S=k||{},N=S.attributesToRetrieve,H=i(S,["attributesToRetrieve"]),J=C.map(function(M){return a({indexName:w.indexName,objectID:M},N?{attributesToRetrieve:N}:{})});return w.transporter.read({method:I,path:"1/indexes/*/objects",data:{requests:J}},H)}},yI=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/indexes/%s/rules/%s",w.indexName,C)},k)}},tg=function(w){return function(C){return w.transporter.read({method:F,path:y("1/indexes/%s/settings",w.indexName),data:{getVersion:2}},C)}},bI=function(w){return function(C,k){return w.transporter.read({method:F,path:y("1/indexes/%s/synonyms/%s",w.indexName,C)},k)}},wI=function(w){return function(C,k){return m(ng(w)([C],k).then(function(S){return{objectID:S.objectIDs[0],taskID:S.taskIDs[0]}}),function(S,N){return je(w)(S.taskID,N)})}},ng=function(w){return function(C,k){var S=k||{},N=S.createIfNotExists,H=i(S,["createIfNotExists"]),J=N?Qr.PartialUpdateObject:Qr.PartialUpdateObjectNoCreate;return Zo(w)(C,J,H)}},CI=function(w){return function(C,k){var S=k||{},N=S.safe,H=S.autoGenerateObjectIDIfNotExist,J=S.batchSize,M=i(S,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),G=function(ce,_e,$e,bt){return m(w.transporter.write({method:I,path:y("1/indexes/%s/operation",ce),data:{operation:$e,destination:_e}},bt),function(Yo,wt){return je(w)(Yo.taskID,wt)})},X=Math.random().toString(36).substring(7),Y="".concat(w.indexName,"_tmp_").concat(X),se=Ic({appId:w.appId,transporter:w.transporter,indexName:Y}),ie=[],pe=G(w.indexName,Y,"copy",a(a({},M),{},{scope:["settings","synonyms","rules"]}));return ie.push(pe),m((N?pe.wait(M):pe).then(function(){var ce=se(C,a(a({},M),{},{autoGenerateObjectIDIfNotExist:H,batchSize:J}));return ie.push(ce),N?ce.wait(M):ce}).then(function(){var ce=G(Y,w.indexName,"move",M);return ie.push(ce),N?ce.wait(M):ce}).then(function(){return Promise.all(ie)}).then(function(ce){var _e=s(ce,3),$e=_e[0],bt=_e[1],Yo=_e[2];return{objectIDs:bt.objectIDs,taskIDs:[$e.taskID].concat(l(bt.taskIDs),[Yo.taskID])}}),function(ce,_e){return Promise.all(ie.map(function($e){return $e.wait(_e)}))})}},kI=function(w){return function(C,k){return Fc(w)(C,a(a({},k),{},{clearExistingRules:!0}))}},vI=function(w){return function(C,k){return Rc(w)(C,a(a({},k),{},{clearExistingSynonyms:!0}))}},SI=function(w){return function(C,k){return m(Ic(w)([C],k).then(function(S){return{objectID:S.objectIDs[0],taskID:S.taskIDs[0]}}),function(S,N){return je(w)(S.taskID,N)})}},Ic=function(w){return function(C,k){var S=k||{},N=S.autoGenerateObjectIDIfNotExist,H=i(S,["autoGenerateObjectIDIfNotExist"]),J=N?Qr.AddObject:Qr.UpdateObject;if(J===Qr.UpdateObject){var M=!0,G=!1,X=void 0;try{for(var Y,se=C[Symbol.iterator]();!(M=(Y=se.next()).done);M=!0)if(Y.value.objectID===void 0)return m(Promise.reject({name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}))}catch(ie){G=!0,X=ie}finally{try{M||se.return==null||se.return()}finally{if(G)throw X}}}return Zo(w)(C,J,H)}},xI=function(w){return function(C,k){return Fc(w)([C],k)}},Fc=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=S.clearExistingRules,J=v(i(S,["forwardToReplicas","clearExistingRules"]));return N&&(J.queryParameters.forwardToReplicas=1),H&&(J.queryParameters.clearExistingRules=1),m(w.transporter.write({method:I,path:y("1/indexes/%s/rules/batch",w.indexName),data:C},J),function(M,G){return je(w)(M.taskID,G)})}},EI=function(w){return function(C,k){return Rc(w)([C],k)}},Rc=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=S.clearExistingSynonyms,J=S.replaceExistingSynonyms,M=v(i(S,["forwardToReplicas","clearExistingSynonyms","replaceExistingSynonyms"]));return N&&(M.queryParameters.forwardToReplicas=1),(J||H)&&(M.queryParameters.replaceExistingSynonyms=1),m(w.transporter.write({method:I,path:y("1/indexes/%s/synonyms/batch",w.indexName),data:C},M),function(G,X){return je(w)(G.taskID,X)})}},rg=function(w){return function(C,k){return w.transporter.read({method:I,path:y("1/indexes/%s/query",w.indexName),data:{query:C},cacheable:!0},k)}},og=function(w){return function(C,k,S){return w.transporter.read({method:I,path:y("1/indexes/%s/facets/%s/query",w.indexName,C),data:{facetQuery:k},cacheable:!0},S)}},ag=function(w){return function(C,k){return w.transporter.read({method:I,path:y("1/indexes/%s/rules/search",w.indexName),data:{query:C}},k)}},ig=function(w){return function(C,k){return w.transporter.read({method:I,path:y("1/indexes/%s/synonyms/search",w.indexName),data:{query:C}},k)}},_I=function(w){return function(C,k){var S=k||{},N=S.forwardToReplicas,H=v(i(S,["forwardToReplicas"]));return N&&(H.queryParameters.forwardToReplicas=1),m(w.transporter.write({method:R,path:y("1/indexes/%s/settings",w.indexName),data:C},H),function(J,M){return je(w)(J.taskID,M)})}},je=function(w){return function(C,k){return g(function(S){return function(N){return function(H,J){return N.transporter.read({method:F,path:y("1/indexes/%s/task/%s",N.indexName,H.toString())},J)}}(w)(C,k).then(function(N){return N.status!=="published"?S():void 0})})}},Qr={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},$c={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},OI=1,TI=2,BI=3,Li=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{threshold:N.threshold||0})});return w.transporter.read({method:I,path:"1/indexes/*/recommendations",data:{requests:S},cacheable:!0},k)}},NI=function(w){return function(C,k){return Li(w)(C.map(function(S){return a(a({},S),{},{fallbackParameters:{},model:"bought-together"})}),k)}},AI=function(w){return function(C,k){return Li(w)(C.map(function(S){return a(a({},S),{},{model:"related-products"})}),k)}},PI=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{model:"trending-facets",threshold:N.threshold||0})});return w.transporter.read({method:I,path:"1/indexes/*/recommendations",data:{requests:S},cacheable:!0},k)}},II=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{model:"trending-items",threshold:N.threshold||0})});return w.transporter.read({method:I,path:"1/indexes/*/recommendations",data:{requests:S},cacheable:!0},k)}},FI=function(w){return function(C,k){return Li(w)(C.map(function(S){return a(a({},S),{},{model:"looking-similar"})}),k)}},RI=function(w){return function(C,k){var S=C.map(function(N){return a(a({},N),{},{model:"recommended-for-you",threshold:N.threshold||0})});return w.transporter.read({method:I,path:"1/indexes/*/recommendations",data:{requests:S},cacheable:!0},k)}};function sg(w,C,k){var S,N={appId:w,apiKey:C,timeouts:{connect:1,read:2,write:30},requester:{send:function(M){return new Promise(function(G){var X=new XMLHttpRequest;X.open(M.method,M.url,!0),Object.keys(M.headers).forEach(function(pe){return X.setRequestHeader(pe,M.headers[pe])});var Y,se=function(pe,ce){return setTimeout(function(){X.abort(),G({status:0,content:ce,isTimedOut:!0})},1e3*pe)},ie=se(M.connectTimeout,"Connection timeout");X.onreadystatechange=function(){X.readyState>X.OPENED&&Y===void 0&&(clearTimeout(ie),Y=se(M.responseTimeout,"Socket timeout"))},X.onerror=function(){X.status===0&&(clearTimeout(ie),clearTimeout(Y),G({content:X.responseText||"Network request failed",status:X.status,isTimedOut:!1}))},X.onload=function(){clearTimeout(ie),clearTimeout(Y),G({content:X.responseText,status:X.status,isTimedOut:!1})},X.send(M.data)})}},logger:(S=BI,{debug:function(M,G){return OI>=S&&console.debug(M,G),Promise.resolve()},info:function(M,G){return TI>=S&&console.info(M,G),Promise.resolve()},error:function(M,G){return console.error(M,G),Promise.resolve()}}),responsesCache:u(),requestsCache:u({serializable:!1}),hostsCache:d({caches:[c({key:"".concat("4.23.2","-").concat(w)}),u()]}),userAgent:U("4.23.2").add({segment:"Browser"})},H=a(a({},N),k),J=function(){return function(M){return function(G){var X=G.region||"us",Y=f(b.WithinHeaders,G.appId,G.apiKey),se=K(a(a({hosts:[{url:"personalization.".concat(X,".algolia.com")}]},G),{},{headers:a(a(a({},Y.headers()),{"content-type":"application/json"}),G.headers),queryParameters:a(a({},Y.queryParameters()),G.queryParameters)}));return h({appId:G.appId,transporter:se},G.methods)}(a(a(a({},N),M),{},{methods:{getPersonalizationStrategy:Ke,setPersonalizationStrategy:De}}))}};return function(M){var G=M.appId,X=f(M.authMode!==void 0?M.authMode:b.WithinHeaders,G,M.apiKey),Y=K(a(a({hosts:[{url:"".concat(G,"-dsn.algolia.net"),accept:E.Read},{url:"".concat(G,".algolia.net"),accept:E.Write}].concat(p([{url:"".concat(G,"-1.algolianet.com")},{url:"".concat(G,"-2.algolianet.com")},{url:"".concat(G,"-3.algolianet.com")}]))},M),{},{headers:a(a(a({},X.headers()),{"content-type":"application/x-www-form-urlencoded"}),M.headers),queryParameters:a(a({},X.queryParameters()),M.queryParameters)}));return h({transporter:Y,appId:G,addAlgoliaAgent:function(se,ie){Y.userAgent.add({segment:se,version:ie})},clearCache:function(){return Promise.all([Y.requestsCache.clear(),Y.responsesCache.clear()]).then(function(){})}},M.methods)}(a(a({},H),{},{methods:{search:Q,searchForFacetValues:ge,multipleBatch:V,multipleGetObjects:q,multipleQueries:Q,copyIndex:Me,copySettings:St,copySynonyms:st,copyRules:et,moveIndex:Bn,listIndices:Jr,getLogs:gt,listClusters:mn,multipleSearchForFacetValues:ge,getApiKey:Ce,addApiKey:Xt,listApiKeys:tt,updateApiKey:_c,deleteApiKey:lt,restoreApiKey:_t,assignUserID:Ie,assignUserIDs:Fe,getUserID:j,searchUserIDs:Ec,listUserIDs:Gn,getTopUserIDs:qe,removeUserID:Et,hasPendingMappings:oe,clearDictionaryEntries:Ge,deleteDictionaryEntries:en,getDictionarySettings:ct,getAppTask:Ae,replaceDictionaryEntries:yt,saveDictionaryEntries:Zr,searchDictionaryEntries:xc,setDictionarySettings:Ii,waitAppTask:Nn,customRequest:xt,initIndex:function(M){return function(G){return me(M)(G,{methods:{batch:Fi,delete:Pc,findAnswers:Jn,getObject:An,getObjects:$i,saveObject:SI,saveObjects:Ic,search:rg,searchForFacetValues:og,waitTask:je,setSettings:_I,getSettings:tg,partialUpdateObject:wI,partialUpdateObjects:ng,deleteObject:P,deleteObjects:W,deleteBy:Ac,clearObjects:Ri,browseObjects:hr,getObjectPosition:jt,findObject:Yr,exists:gn,saveSynonym:EI,saveSynonyms:Rc,getSynonym:bI,searchSynonyms:ig,browseSynonyms:Tc,deleteSynonym:Re,clearSynonyms:Nc,replaceAllObjects:CI,replaceAllSynonyms:vI,searchRules:ag,getRule:yI,deleteRule:be,saveRule:xI,saveRules:Fc,replaceAllRules:kI,browseRules:Oc,clearRules:Bc}})}},initAnalytics:function(){return function(M){return function(G){var X=G.region||"us",Y=f(b.WithinHeaders,G.appId,G.apiKey),se=K(a(a({hosts:[{url:"analytics.".concat(X,".algolia.com")}]},G),{},{headers:a(a(a({},Y.headers()),{"content-type":"application/json"}),G.headers),queryParameters:a(a({},Y.queryParameters()),G.queryParameters)}));return h({appId:G.appId,transporter:se},G.methods)}(a(a(a({},N),M),{},{methods:{addABTest:ye,getABTest:de,getABTests:Pe,stopABTest:we,deleteABTest:ke}}))}},initPersonalization:J,initRecommendation:function(){return function(M){return H.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),J()(M)}},getRecommendations:Li,getFrequentlyBoughtTogether:NI,getLookingSimilar:FI,getRecommendedForYou:RI,getRelatedProducts:AI,getTrendingFacets:PI,getTrendingItems:II}}))}return sg.version="4.23.2",sg})})(K0);var ZA=K0.exports;const YA=lx(ZA);class G0{constructor(t,r,o="https://api.pennsieve.io"){this.client=YA(t,r),this.PENNSIEVE_API_LOCATION=o,this.anatomyFacetLabels=[]}initIndex(t){this.index=this.client.initIndex(t)}getAlgoliaFacets(t){const r=t.map(s=>s.facetPropPath),o=t.map(s=>s.facetSubpropPath);let a=[],i=0;return this.index.search("",{sortFacetValuesBy:"alpha",facets:r.concat(o)}).then(s=>(r.map(l=>{const c=t.find(m=>m.facetPropPath==l);var d=[];const u=s.facets;if(u===void 0)return;const f=u[l]==null?{}:u[l],g=c&&u[c.facetSubpropPath]?Object.keys(u[c.facetSubpropPath]):[];Object.keys(f).map(m=>{const p=g.reduce((y,b)=>{const v=b.split(".");return v.length!==2||m===v[0]&&y.push({label:v[1],id:i++,facetPropPath:`${c?c.facetSubpropPath:void 0}`}),y},[]);let h={label:m,id:i++,facetPropPath:l};p.length>0&&(h.children=p),d.push(h)}),d.length>0&&a.push({label:c?c.label:"",id:i++,children:d,key:l})}),a))}_discoverAllDois(t,r="https://api.pennsieve.io"){return new Promise(o=>{fetch(`${r}/discover/datasets/${t}/versions`).then(a=>a.json()).then(a=>{o(a.map(i=>i.doi))})})}_expandDois(t,r="https://api.pennsieve.io"){return new Promise(o=>{let a=t.map(i=>this._discoverAllDois(i,r));Promise.all(a).then(i=>{o(i.flat())})})}_processResultsForCards(t){let r=[],o={};for(let a of t)o={...a},o={dataSource:"SPARC",anatomy:a.anatomy?a.anatomy.organ.map(i=>i.curie):void 0,doi:a.item.curie.split(":")[1],name:a.item.name,description:a.item.description,updated:a.pennsieve?a.pennsieve.updatedAt:void 0,publishDate:a.pennsieve?a.pennsieve.publishDate:void 0,datasetId:a.objectID,detailsReady:!1},r.push(o);return r}_processAnatomy(t){let r=[],o=[],a=[],i=[];return t.forEach(s=>{s.item&&s.item.keywords&&s.item.keywords.forEach(l=>{let c=l.keyword.toUpperCase();(c.includes("UBERON")||c.includes("ILX"))&&r.push(this._processUberonURL(c))}),s.anatomy&&s.anatomy.organ&&s.anatomy.organ.forEach(l=>{l.curie&&(r.push(l.curie),o.push(l.name))})}),i=[...new Set(r)],a=[...new Set(o)],this.anatomyFacetLabels=a,i}_processUberonURL(t){return t.split("/").pop().replace("_",":")}search(t,r="",o=0,a=8){return console.log("searching",t,r,o,a),a===0?new Promise(i=>{i({items:[],total:0,discoverIds:[],dois:[]})}):new Promise(i=>{this.index.search(r,{facets:["*"],offset:o,length:a,filters:t,attributesToHighlight:[],attributesToRetrieve:["pennsieve.publishDate","pennsieve.updatedAt","item.curie","item.name","item.description","objectID","anatomy.organ.curie"]}).then(s=>{let l={items:this._processResultsForCards(s.hits),total:s.nbHits,discoverIds:s.hits.map(c=>c.pennsieve?c.pennsieve.identifier:c.objectID),dois:s.hits.map(c=>c.item.curie.split(":")[1])};i(l)})})}anatomyInSearch(t,r="",o=999999,a=1){return new Promise(i=>{this.index.search(r,{facets:["*"],hitsPerPage:o,page:a-1,filters:t,attributesToHighlight:[],attributesToRetrieve:["objectID","item.keywords.keyword","anatomy.organ.name","anatomy.organ.curie"]}).then(s=>{i({forFlatmap:this.processResultsForFlatmap(s.hits),forScaffold:this.processResultsForScaffold(s.hits)})})})}processResultsForFlatmap(t){return t.map(o=>({id:o.objectID,terms:o.anatomy?o.anatomy.organ.map(a=>a.curie):[]}))}processResultsForScaffold(t){let r={};return t.forEach(o=>{o.anatomy&&o.anatomy.organ&&o.anatomy.organ.forEach(a=>{a.name&&(r[a.name]?r[a.name]++:r[a.name]=1)})}),r}}const kc=[{label:"Data Type",id:"item.types",facetPropPath:"item.types.name",facetSubpropPath:"item.types.subcategory.name"},{label:"Anatomical Structure",id:"anatomy.organ.category",facetPropPath:"anatomy.organ.category.name",facetSubpropPath:"anatomy.organ.subcategory.name",facetFilterPath:"anatomy.organ.name"},{label:"Species",id:"organisms.primary.species",facetPropPath:"organisms.primary.species.name",facetSubpropPath:"organisms.primary.species.subcategory.name"},{label:"Experimental Approach",id:"item.modalities",facetPropPath:"item.modalities.keyword",facetSubpropPath:"item.modalities.subcategory.name"},{label:"Sex",id:"attributes.subject.sex",facetPropPath:"attributes.subject.sex.value",facetSubpropPath:"attributes.subject.sex.subcategory.name"},{label:"Age Categories",id:"attributes.subject.ageCategory",facetPropPath:"attributes.subject.ageCategory.value",facetSubpropPath:"attributes.subject.ageCategory.subcategory.name"}];function J0(e=void 0){if(e===void 0)return"NOT item.published.status:embargo";e.forEach(a=>{a.label=a.facet,a.facet2&&(a.label=a.facet2)});let t=QA(e),r="NOT item.published.status:embargo";return r=`(${r}) AND `,kc.map(a=>a.facetPropPath).map(a=>{let i=t.filter(c=>c.facetPropPath==a),s="",l="";i.map(c=>{let d=c.facetSubPropPath?c.facetSubPropPath:a;c.AND?l+=`AND "${d}":"${c.label}"`:s+=`"${d}":"${c.label}" OR `}),!(s==""&&l=="")&&(s=`(${s.substring(0,s.lastIndexOf(" OR "))})`,r+=`${s+l} AND `,r=r.split("()AND ").join(""))}),r.substring(0,r.lastIndexOf(" AND "))}function QA(e){return e.filter(t=>t.label!=="Show all")}const Pi=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},vc=function(e){const t=e.toLowerCase();return Ai[t]?Pi(Ai[t]):Pi(t)},XA={name:"SearchFilters",components:{MapSvgIcon:jA,MapSvgSpriteColor:JA,Option:Ma,Select:_o,Popover:rl,Cascader:Xf},props:{entry:Object,envVars:{type:Object,default:()=>{}}},data:function(){return{cascaderIsReady:!1,previousShowAllChecked:{species:!1,gender:!1,organ:!1,datasets:!1},showFilters:!0,showFiltersText:!0,cascadeSelected:[],cascadeSelectedWithBoolean:[],numberShown:10,filters:[],facets:["Species","Gender","Organ","Datasets"],numberDatasetsShown:["10","20","50"],props:{multiple:!0},options:[{value:"Species",label:"Species",children:[{}]}],presentTags:[]}},setup(){const e=n.markRaw({}),t=n.markRaw({term:new Set,facet:new Set,facet2:new Set});return{cascaderTags:e,correctnessCheck:t}},computed:{numberOfResultsText:function(){return`${this.entry.numberOfHits} results | Showing`}},methods:{createCascaderItemValue:function(e,t=void 0,r=void 0){let o=e;return t&&(o=`${e}>${t}`),t&&r&&(o=`${e}>${t}>${r}`),!t&&r&&console.warn(`Warning: ${r} provided without its parent, this will not be shown in the cascader`),o},populateCascader:function(){return new Promise(e=>{this.algoliaClient.getAlgoliaFacets(kc).then(t=>{this.facets=t,We.emit("available-facets",t),this.options=t,this.options.forEach((r,o)=>{this.options[o].total=this.countTotalFacet(r),this.options[o].label=vc(r.label),this.options[o].value=this.createCascaderItemValue(r.key,void 0),this.options[o].children.unshift({value:this.createCascaderItemValue("Show all"),label:"Show all"}),this.options[o].children.forEach((a,i)=>{this.options[o].children[i].label=vc(a.label),this.options[o].children[i].value=this.createCascaderItemValue(r.label,a.label),this.options[o].children[i].children&&this.options[o].children[i].children.length>0&&this.options[o].children[i].children.forEach((s,l)=>{this.options[o].children[i].children[l].label=vc(s.label),this.options[o].children[i].children[l].value=this.createCascaderItemValue(r.label,a.label,s.label)})})}),this.populatePMRinCascader()}).finally(()=>{e()})})},populatePMRinCascader:function(){for(let e=0;e<this.options.length;e+=1){const t=this.options[e];t.key==="item.types.name"&&t.children.push({label:"PMR",value:this.createCascaderItemValue("Data type","PMR")})}},cascadeTagClose:function(e){let t=[];Object.entries(this.cascaderTags).map(r=>{const o=r[0],a=r[1],i=this.options.filter(l=>l.label==o)[0],s=i.key;for(let l=0;l<i.children.length;l++){const c=i.children[l],d=c.label,u=c.value;if(Array.isArray(a))if(a.length===0&&d.toLowerCase()==="show all"){t.push([s,u]);break}else d!==e&&a.includes(d)&&t.push([s,u]);else Object.entries(a).map(f=>{const g=f[0],m=f[1];g===d&&c.children.map(p=>{const h=p.label,y=p.value;h!==e&&m.includes(h)&&t.push([s,y])})})}}),this.cascadeEvent(t)},tagsChangedCallback:function(e){this.correctnessCheck.term&&this.correctnessCheck.facet&&this.correctnessCheck.facet2&&this.options.map(t=>{this.correctnessCheck.term.add(t.label),t.children.map(r=>{this.correctnessCheck.facet.add(r.label),t.label==="Anatomical structure"&&r.label!=="Show all"&&r.children.map(o=>{this.correctnessCheck.facet2.add(o.label)})})}),this.cascaderTags={},this.presentTags=[],e.map(t=>{const{facet:r,facet2:o,term:a}=t;this.correctnessCheck.term.has(a)&&this.correctnessCheck.facet.has(r)&&(o?this.correctnessCheck.facet2.has(o)&&(a in this.cascaderTags?r in this.cascaderTags[a]?this.cascaderTags[a][r].push(o):this.cascaderTags[a][r]=[o]:(this.cascaderTags[a]={},this.cascaderTags[a][r]=[o])):a in this.cascaderTags&&a!=="Anatomical structure"?this.cascaderTags[a].push(r):r.toLowerCase()!=="show all"?this.cascaderTags[a]=[r]:this.cascaderTags[a]=[])}),Object.values(this.cascaderTags).map(t=>{const r=Array.isArray(t)?t:Object.values(t).flat(1);this.presentTags=[...this.presentTags,...r]}),this.presentTags=[...new Set(this.presentTags)],this.presentTags.length>0?this.showFiltersText=!1:this.showFiltersText=!0},countTotalFacet:function(e){return["anatomy.organ.category.name"].includes(e.key)?e.children.reduce((r,o)=>(r=typeof r=="number"?r:r.children.length,r+o.children.length)):e.children.length},showAllEventModifierForAutoCheckAll:function(e){const t={};return e.map(r=>{const o=r[0];o in t?t[o]+=1:t[o]=1}),this.options.map(r=>{const o=r.key,a=r.children.filter(s=>s.label==="Show all")[0].value,i=r.total;t[o]===i&&(e=e.filter(s=>s[0]!==r.key),delete t[o]),o in t||e.unshift([o,a])}),e},cascadeEvent:function(e){let t=[...e];if(t){if(t=this.showAllEventModifier(t),t=this.showAllEventModifierForAutoCheckAll(t),this.__expandItem__){let a=0;this.__expandItem__.length>1&&(a=1);const i=t.filter(l=>l[a]==this.__expandItem__[a]),s=t.filter(l=>l[a]!==this.__expandItem__[a]);t=[...i,...s]}let r=t.filter(a=>a!==void 0).map(a=>{let{hString:i,bString:s}=this.findHierarachyStringAndBooleanString(a),{facet:l,facet2:c,term:d}=this.getFacetsFromHierarchyString(i);return{facetPropPath:a[0],facet:l,facet2:c,term:d,AND:s}}),o=t.filter(a=>a!==void 0).map(a=>{let i,s=a[0].includes("duplicate")?a[0].split("duplicate")[0]:a[0],{hString:l,bString:c}=this.findHierarachyStringAndBooleanString(a),{facet:d,facet2:u,term:f}=this.getFacetsFromHierarchyString(l);return u&&(d=u,i="anatomy.organ.name"),{facetPropPath:s,facet:d,term:f,AND:c,facetSubPropPath:i}});this.$emit("loading",!0),this.$emit("filterResults",o),this.setCascader(r),this.cssMods()}},findHierarachyStringAndBooleanString(e){let t,r;return e.length>=3?e[2]&&(typeof e[2]=="string"||e[2]instanceof String)&&e[2].split(">").length>2?(t=e[2],r=e.length==4?e[3]:void 0):(t=e[1],r=e[2]):(t=e[1],r=void 0),{hString:t,bString:r}},getFacetsFromHierarchyString(e){let t,r,o,a=e.split(">");return a.length==3?(o=a[2],t=a[1],r=a[0]):(t=a[1],r=a[0]),{facet:t,facet2:o,term:r}},showAllEventModifier:function(e){if(e.map(r=>r?r[1].toLowerCase().includes("show all"):!1).includes(!0)){let r=[],o={};for(const a in e)o[e[a][0]]===void 0&&(o[e[a][0]]=[]),o[e[a][0]].push(e[a]);for(const a in o){let i;for(let s=o[a].length-1;s>=0;s--)if(o[a][s][1].toLowerCase().includes("show all")){i=o[a].splice(s,1)[0];break}i?this.previousShowAllChecked[a]&&o[a].length>0?r.push(...o[a]):r.push(i):r.push(...o[a])}return r.sort((a,i)=>this.__expandItem__?a[0]==this.__expandItem__?i[0]==this.__expandItem__?0:-1:i[0]==this.__expandItem__?a[0]==this.__expandItem__?0:1:0:0)}return e},cascadeExpandChange:function(e){this.__expandItem__=e,this.cssMods()},numberShownChanged:function(e){this.$emit("numberPerPage",parseInt(e))},updatePreviousShowAllChecked:function(e){for(const t in this.previousShowAllChecked)this.previousShowAllChecked[t]=!1;e.forEach(t=>{t[1].toLowerCase().includes("show all")&&(this.previousShowAllChecked[t[0]]=!0)})},setCascader:function(e){if(this.cascaderIsReady&&e&&e.length!=0){const t=r=>{let o=[r.facetPropPath,this.createCascaderItemValue(Pi(r.term),r.facet)];return r.facet2&&o.push(this.createCascaderItemValue(Pi(r.term),r.facet,r.facet2)),o};this.cascadeSelected=e.map(r=>t(r)),this.cascadeSelectedWithBoolean=e.map(r=>{let o=t(r);return o.push(r.AND),o}),this.updatePreviousShowAllChecked(this.cascadeSelected)}this.tagsChangedCallback(e)},addFilter:function(e){if(this.cascaderIsReady&&e){let t=this.validateAndConvertFilterToHierarchical(e);if(t)return this.cascadeSelected.filter(r=>r.term!=t.term),this.cascadeSelected.push([t.facetPropPath,this.createCascaderItemValue(t.term,t.facet),this.createCascaderItemValue(t.term,t.facet,t.facet2)]),this.cascadeSelectedWithBoolean.push([t.facetPropPath,this.createCascaderItemValue(t.term,t.facet),this.createCascaderItemValue(t.term,t.facet,t.facet2),t.AND]),!0}},initiateSearch:function(){this.cascadeEvent(this.cascadeSelectedWithBoolean)},checkShowAllBoxes:function(){this.setCascader(this.options.map(e=>({facetPropPath:e.value,term:e.label,facet:"Show all"})))},makeCascadeLabelsClickable:function(){this.$nextTick(()=>{document.querySelectorAll(".sidebar-cascader-popper .el-cascader-node__label").forEach(e=>{e.onclick=function(){const t=this.previousElementSibling;t&&(t.parentElement.attributes["aria-owns"]||this.previousElementSibling.click())}})})},cssMods:function(){this.makeCascadeLabelsClickable(),this.removeTopLevelCascaderCheckboxes()},removeTopLevelCascaderCheckboxes:function(){this.$nextTick(()=>{document.querySelectorAll(".sidebar-cascader-popper .el-cascader-menu__list")[0].querySelectorAll(".el-checkbox__input").forEach(t=>t.style.display="none")})},validateAndConvertFilterToHierarchical:function(e){if(e&&e.facet&&e.term){if(e.facet2)return e;for(const t of this.options)if(t.value===e.facetPropPath)for(const r of t.children){if(r.label===e.facet)return e;if(r.children&&r.children.length>0){for(const o of r.children)if(o.label===e.facet)return e.facet2=o.label,e.facet=r.label,e}}}return!1},getHierarchicalValidatedFilters:function(e){if(e)if(this.cascaderIsReady){const t=[];return e.forEach(r=>{const o=this.validateAndConvertFilterToHierarchical(r);o&&t.push(o)}),t}else return e;return[]}},mounted:function(){this.algoliaClient=new G0(this.envVars.ALGOLIA_ID,this.envVars.ALGOLIA_KEY,this.envVars.PENNSIEVE_API_LOCATION),this.algoliaClient.initIndex(this.envVars.ALGOLIA_INDEX),this.populateCascader().then(()=>{this.cascaderIsReady=!0,this.checkShowAllBoxes(),this.setCascader(this.entry.filterFacets),this.cssMods(),this.$emit("cascaderReady")})}},eP=e=>(n.pushScopeId("data-v-8b57e9a4"),e=e(),n.popScopeId(),e),tP={class:"filters"},nP={key:0,class:"cascader-tag"},rP={class:"el-tags-container"},oP={class:"el-tags-container"},aP={class:"search-filters transition-box"},iP={key:0,class:"filter-default-value"},sP=eP(()=>n.createElementVNode("div",null,[n.createElementVNode("strong",null,"Within categories:"),n.createTextVNode(" OR "),n.createElementVNode("br"),n.createTextVNode(" example: 'heart' OR 'colon' "),n.createElementVNode("br"),n.createElementVNode("br"),n.createElementVNode("strong",null,"Between categories:"),n.createTextVNode(" AND "),n.createElementVNode("br"),n.createTextVNode(" example: 'rat' AND 'lung' ")],-1)),lP={class:"dataset-shown"},cP={class:"dataset-results-feedback"};function dP(e,t,r,o,a,i){const s=n.resolveComponent("MapSvgSpriteColor"),l=Sn,c=rl,d=Xf,u=n.resolveComponent("MapSvgIcon"),f=Ma,g=_o,m=Oo;return n.openBlock(),n.createElementBlock("div",tP,[n.createVNode(s),e.presentTags.length>0?(n.openBlock(),n.createElementBlock("div",nP,[n.createVNode(l,{class:"ml-2",type:"info",closable:"",onClose:t[0]||(t[0]=p=>i.cascadeTagClose(e.presentTags[0]))},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(e.presentTags[0]),1)]),_:1}),e.presentTags.length>1?(n.openBlock(),n.createBlock(c,{key:0,placement:"bottom-start",width:200,trigger:"hover"},{default:n.withCtx(()=>[n.createElementVNode("div",rP,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.presentTags.slice(1),(p,h)=>(n.openBlock(),n.createBlock(l,{key:h,class:"ml-2",type:"info",closable:"",onClose:y=>i.cascadeTagClose(p)},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(p),1)]),_:2},1032,["onClose"]))),128))])]),reference:n.withCtx(()=>[n.createElementVNode("div",oP,[e.presentTags.length>1?(n.openBlock(),n.createBlock(l,{key:0,class:"ml-2",type:"info"},{default:n.withCtx(()=>[n.createTextVNode(" +"+n.toDisplayString(e.presentTags.length-1),1)]),_:1})):n.createCommentVNode("",!0)])]),_:1})):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),n.createVNode(n.Transition,{name:"el-zoom-in-top"},{default:n.withCtx(()=>[n.withDirectives((n.openBlock(),n.createElementBlock("span",aP,[n.createVNode(d,{class:"cascader",ref:"cascader",modelValue:e.cascadeSelected,"onUpdate:modelValue":t[1]||(t[1]=p=>e.cascadeSelected=p),size:"large",placeholder:" ","collapse-tags":!0,"collapse-tags-tooltip":"",options:e.options,props:e.props,onChange:t[2]||(t[2]=p=>i.cascadeEvent(p)),onExpandChange:i.cascadeExpandChange,"show-all-levels":!0,"popper-class":"sidebar-cascader-popper"},null,8,["modelValue","options","props","onExpandChange"]),e.showFiltersText?(n.openBlock(),n.createElementBlock("div",iP,"Filters")):n.createCommentVNode("",!0),n.createVNode(c,{title:"How do filters work?",width:"250",trigger:"hover","append-to-body":!1,"popper-class":"popover"},{reference:n.withCtx(()=>[n.createVNode(u,{icon:"help",class:"help"})]),default:n.withCtx(()=>[sP]),_:1})])),[[n.vShow,e.showFilters],[m,!e.cascaderIsReady]])]),_:1}),n.createElementVNode("div",lP,[n.createElementVNode("span",cP,n.toDisplayString(i.numberOfResultsText),1),n.createVNode(g,{class:"number-shown-select",modelValue:e.numberShown,"onUpdate:modelValue":t[3]||(t[3]=p=>e.numberShown=p),placeholder:"10",onChange:t[4]||(t[4]=p=>i.numberShownChanged(p))},{default:n.withCtx(()=>[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.numberDatasetsShown,p=>(n.openBlock(),n.createBlock(f,{key:p,label:p,value:p},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])])}const Z0=Zt(XA,[["render",dP],["__scopeId","data-v-8b57e9a4"]]);function uP(e){try{return e.values.map(r=>e.keys.reduce((o,a,i)=>(o[a]=r[i],o),{}))}catch(t){return console.error(`Error occured during conversion of Key Value Array to Object: ${t}`),{}}}const fP=function(e){return e?[...new Set(e.map(t=>JSON.stringify(t)))].map(t=>JSON.parse(t)):[]};let pP=function(){this.initialise=function(e){this.flatmapApi=e,this.features=[],this.limit=10,this.offset=0,this.numberOfHits=0,this.sqlPreOffset="",this.lookup={},this.createLookup()},this.updateOffset=function(e){this.offset=e},this.updateLimit=function(e){this.limit=e},this.offsetText=function(){return"limit "+this.limit+" offset "+this.offset},this.createTermSQL=function(e){let t="",r=!1;return e&&e.length>0&&(t+="and ",e.forEach((o,a)=>{a==0&&(t+="("),o!==""&&(t+=`m.term='${o}'`,r=!0,a<e.length-1&&(t+=" or ")),a==e.length-1&&(t+=") ")})),r||(t=""),t},this.pmrSQL=function(e=[],t=""){let r="select distinct m.term, m.exposure, m.score, m.workspace, d.metadata from pmr_text ";r+="as t left join pmr_metadata as d on t.entity=d.entity left join pmr_models as m on m.exposure=t.entity ",r+="where d.metadata is not null ";const o=this.createTermSQL(e);return r+=o,t&&t!==""&&(r+=`and (t.pmr_text match '${t}')`),(!t||t==="")&&(r+="and m.exposure is not null and score > 0.69"),r+=" group by m.exposure",this.sqlPreOffset=r,r+=" "+this.offsetText()+";",console.log(r),r},this.convertTermsToIds=function(e){return e.filter(t=>this.lookUpId(t))},this.labelSQL=function(){return"select entity, label from labels"},this.countSQL=function(e){return e=`select count(*) from (${e})`,e},this.flatmapQuery=function(e){const t={sql:e};return fetch(`${this.flatmapApi}knowledge/query/`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(r=>r.json()).catch(r=>{console.error("Error:",r)})},this.processFilters=function(e){let t=[];return e.forEach(r=>{r.facet!=="Show all"&&r.facet!=="PMR"&&t.push(r.facet)}),t},this.pmrSearch=function(e=[],t=""){let r=this.processFilters(e),o=this.convertTermsToIds(r);return new Promise((a,i)=>{this.flatmapQuery(this.pmrSQL(o,t)).then(s=>{const l=this.processPMRData(s,o);this.setAvailableFeatures(l),this.flatmapQuery(this.countSQL(this.sqlPreOffset)).then(c=>{this.numberOfHits=c.values[0][0],a(l)})}).catch(i)})},this.setAvailableFeatures=function(e){e.forEach(t=>{Object.keys(t).forEach(r=>{this.features.includes(r)||this.features.push(r)})})},this.processPMRData=function(e,t=[]){let a=uP(e).filter(s=>s.metadata).map(s=>{let l=JSON.parse(s.metadata);return l.dataSource="PMR",l});return t.length>0&&(a=a.filter(s=>t.includes(s.term))),fP(a)},this.createLookup=function(){this.flatmapQuery(this.labelSQL()).then(e=>{e.values.forEach(t=>{t[1]&&(typeof t[1]=="string"||t[1]instanceof String)&&(this.lookup[t[1].toLowerCase()]=t[0])})})},this.lookUpId=function(e){return this.lookup[e.toLowerCase()]}};const hP={methods:{calculateVariableRatio:function(){this.page===1?this.variableRatio=this.RatioOfPMRResults:this.npp_SPARC*(this.page-1)>=this.sparcNumberOfHits?this.variableRatio=1:this.npp_PMR*(this.page-1)>=this.pmrNumberOfHits?this.variableRatio=0:this.variableRatio=this.RatioOfPMRResults},calculatePMROffest:function(){if(this.variableRatio===this.RatioOfPMRResults)return(this.page-1)*this.npp_PMR;if(this.variableRatio===1){let e=Math.ceil(this.sparcNumberOfHits/this.npp_SPARC),t=this.npp_PMR*e,r=(this.page-1-e)*this.numberPerPage;return t+r}},calculateSPARCOffest:function(){if(this.variableRatio===this.RatioOfPMRResults)return(this.page-1)*this.npp_SPARC;if(this.variableRatio===0){let e=Math.ceil(this.pmrNumberOfHits/this.npp_PMR),t=this.npp_SPARC*e,r=(this.page-1-e)*this.numberPerPage;return t+r}},PMRLimit:function(e=!1){if(e)return this.numberPerPage;if(this.variableRatio===this.RatioOfPMRResults)return this.npp_PMR;if(this.variableRatio===1)return this.numberPerPage;if(this.variableRatio===0)return 0},SPARCLimit:function(e=!1){if(e)return 0;if(this.variableRatio===this.RatioOfPMRResults)return this.npp_SPARC;if(this.variableRatio===0)return this.numberPerPage;if(this.variableRatio===1)return 0}}},Sc=.2;var mP=async function(e){if(!e.ok){let t=await e.json();throw t?new Error(t.message):new Error(e)}return e},gP={searchInput:"",lastSearch:"",results:[],pmrNumberOfHits:0,sparcNumberOfHits:0,filter:[],loadingCards:!1,numberPerPage:10,page:1,pmrResultsOnlyFlag:!1,noPMRResultsFlag:!1,hasSearched:!1,contextCardEnabled:!1,pmrResults:[],RatioOfPMRResults:Sc};const yP={components:{SearchFilters:Z0,DatasetCard:l0,PMRDatasetCard:pp,SearchHistory:d0,Button:kt,Card:Vf,Drawer:Xs,Icon:Be,Input:xo,Pagination:cp},name:"SideBarContent",mixins:[hP],props:{visible:{type:Boolean,default:!1},isDrawer:{type:Boolean,default:!0},entry:{type:Object,default:()=>gP},initFilters:{type:Object,default:{filter:[],searchInput:""}},envVars:{type:Object,default:()=>{}}},data:function(){return{...this.entry,...this.initFilters,bodyStyle:{flex:"1 1 auto","flex-flow":"column",display:"flex"},cascaderIsReady:!1}},computed:{filterEntry:function(){return{numberOfHits:this.numberOfHits,filterFacets:this.filter}},npp_SPARC:function(){return Math.round(this.numberPerPage*(1-Sc))},npp_PMR:function(){return Math.round(this.numberPerPage*Sc)},numberOfHits:function(){return this.sparcNumberOfHits+this.pmrNumberOfHits}},methods:{hoverChanged:function(e){this.$emit("hover-changed",e)},onPmrActionClick:function(e){this.$emit("pmr-action-click",e)},resetSearch:function(){this.pmrNumberOfHits=0,this.sparcNumberOfHits=0,this.page=1,this.calculateVariableRatio(),this.discoverIds=[],this._dois=[],this.results=[],this.loadingCards=!1},openSearch:function(e,t="",r=!0){this.updatePMROnlyFlag(e),r?(this.resetSearch(),this.openFilterSearch(e,t)):(this.searchAlgolia(e,t),this.openPMRSearch(e,t))},openPMRSearch:function(e,t=""){this.loadingCards=!0,this.flatmapQueries.updateOffset(this.calculatePMROffest()),this.flatmapQueries.updateLimit(this.PMRLimit(this.pmrResultsOnlyFlag)),this.flatmapQueries.pmrSearch(e,t).then(r=>{r.forEach(o=>{this.results.push(o)}),this.pmrNumberOfHits=this.flatmapQueries.numberOfHits,this.loadingCards=!1})},openFilterSearch:function(e,t=""){this.searchInput=t,this.cascaderIsReady?(this.filter=this.$refs.filtersRef.getHierarchicalValidatedFilters(e),e&&e.length>0&&this.filter&&this.filter.length===0?(this.$refs.filtersRef.checkShowAllBoxes(),this.resetSearch()):this.filter&&(this.pmrResultsOnlyFlag?this.openPMRSearch(this.filter,t):this.noPMRResultsFlag?this.searchAlgolia(this.filter,t):(this.searchAlgolia(this.filter,t),this.openPMRSearch(this.filter,t)),this.$refs.filtersRef.setCascader(this.filter))):(this.filter=e,(!e||e.length==0)&&(this.pmrResultsOnlyFlag?this.openPMRSearch(this.filter,t):this.noPMRResultsFlag?this.searchAlgolia(this.filter,t):(this.searchAlgolia(this.filter,t),this.openPMRSearch(this.filter,t))))},addFilter:function(e){this.cascaderIsReady?(this.resetSearch(),e&&this.$refs.filtersRef.addFilter(e)&&this.$refs.filtersRef.initiateSearch()):Array.isArray(this.filter)?this.filter.push(e):this.filter=[e]},cascaderReady:function(){this.cascaderIsReady=!0,this.openSearch(this.filter,this.searchInput)},clearSearchClicked:function(){this.searchInput="",this.resetSearch(),this.openSearch(this.filter,this.searchInput),this.$refs.searchHistory.selectValue="Full search history"},searchEvent:function(e=!1){(e.keyCode===13||e instanceof MouseEvent)&&(this.openSearch(this.filter,this.searchInput),this.$refs.searchHistory.selectValue="Full search history",this.$refs.searchHistory.addSearchToHistory(this.filter,this.searchInput))},updatePMROnlyFlag:function(e){const t=e.filter(a=>a.facetPropPath==="item.types.name"),r=t.filter(a=>a.facet==="PMR"),o=t.filter(a=>a.facet==="Show all");this.pmrResultsOnlyFlag=!1,this.noPMRResultsFlag=!1,t.length===1&&r.length===1&&(this.pmrResultsOnlyFlag=!0),t.length>0&&r.length===0&&o.length===0&&(this.noPMRResultsFlag=!0)},filterUpdate:function(e){this.filter=[...e],this.updatePMROnlyFlag(e),this.resetSearch(),this.pmrResultsOnlyFlag?this.openPMRSearch(e,this.searchInput):this.noPMRResultsFlag?this.searchAlgolia(e,this.searchInput):(this.searchAlgolia(e,this.searchInput),this.openPMRSearch(e,this.searchInput)),this.$emit("search-changed",{value:e,type:"filter-update"})},searchAlgolia(e,t=""){if(this.SPARCLimit()===0){this.loadingCards=!1;return}this.loadingCards=!0,this.algoliaClient.anatomyInSearch(J0(e),t).then(r=>{We.emit("anatomy-in-datasets",r.forFlatmap),We.emit("number-of-datasets-for-anatomies",r.forScaffold)}),this.algoliaClient.search(J0(e),t,this.calculateSPARCOffest(),this.SPARCLimit(this.pmrResultsOnlyFlag)).then(r=>{this.sparcNumberOfHits=r.total,this.discoverIds=r.discoverIds,this._dois=r.dois,r.items.forEach(a=>{a.detailsReady=!1,this.results.push(a)}),this.results.concat(r.items),this.loadingCards=!1,this.scrollToTop(),this.$emit("search-changed",{value:this.searchInput,type:"query-update"}),this._abortController&&this._abortController.abort(),this._abortController=new AbortController;const o=this._abortController.signal;this.perItemSearch(o,{count:0})})},filtersLoading:function(e){this.loadingCards=e},numberPerPageUpdate:function(e){this.numberPerPage=e,this.pageChange(1)},pageChange:function(e){this.page=e,this.results=[],this.calculateVariableRatio(),this.openSearch(this.filter,this.searchInput,!1)},handleMissingData:function(e){let t=this.results.findIndex(r=>r.doi===e);this.results[t]&&(this.results[t].detailsReady=!0)},perItemSearch:function(e,t){if(10>t.count){const o=this._dois.shift();o&&(t.count++,this.callSciCrunch(this.envVars.API_LOCATION,{dois:[o]},e).then(a=>{a.numberOfHits===0?this.handleMissingData(o):this.resultsProcessing(a),this.$refs.content.style["overflow-y"]="scroll",t.count--,this.perItemSearch(e,t)}).catch(a=>{a.name!=="AbortError"&&(this.handleMissingData(o),t.count--,this.perItemSearch(e,t))}),this.perItemSearch(e,t))}},scrollToTop:function(){this.$refs.content&&this.$refs.content.scroll({top:0,behavior:"smooth"})},resetPageNavigation:function(){this.page=1},resultsProcessing:function(e){this.lastSearch=this.searchInput,e.results.length!==0&&e.results.forEach(t=>{let r=this.results.findIndex(o=>t.doi?t.doi.includes(o.doi):!1);Object.assign(this.results[r],t),Object.assign(this.results[r],{numberSamples:t.sampleSize?parseInt(t.sampleSize):0,numberSubjects:t.subjectSize?parseInt(t.subjectSize):0,updated:(t.updated&&t.updated.length)>0?t.updated[0].timestamp.split("T")[0]:"",url:t.uri[0],datasetId:t.dataset_identifier,datasetRevision:t.dataset_revision,datasetVersion:t.dataset_version,organs:t.organs&&t.organs.length>0?[...new Set(t.organs.map(o=>o.name))]:void 0,species:t.organisms&&t.organisms[0].species?[...new Set(t.organisms.map(o=>o.species?o.species.name:null))]:void 0,scaffolds:t["abi-scaffold-metadata-file"],thumbnails:t["abi-thumbnail"]?t["abi-thumbnail"]:t["abi-scaffold-thumbnail"],scaffoldViews:t["abi-scaffold-view-file"],videos:t.video,plots:t["abi-plot"],images:t["common-images"],contextualInformation:t["abi-contextual-information"].length>0?t["abi-contextual-information"]:void 0,segmentation:t["mbf-segmentation"],simulation:t["abi-simulation-file"],additionalLinks:t.additionalLinks,detailsReady:!0}),this.results[r]=this.results[r]})},createfilterParams:function(e){let t=new URLSearchParams;for(const r in e)Array.isArray(e[r])?e[r].forEach(o=>{t.append(r,o)}):t.append(r,e[r]);return t.toString()},callSciCrunch:function(e,t={},r){return new Promise((o,a)=>{let i=this.envVars.API_LOCATION+this.searchEndpoint+"?"+this.createfilterParams(t);fetch(i,{signal:r}).then(mP).then(s=>s.json()).then(s=>o(s)).catch(s=>a(s))})},getAlgoliaFacets:async function(){return await this.algoliaClient.getAlgoliaFacets(kc)},searchHistorySearch:function(e){this.searchInput=e.search,this.filters=e.filters,this.openSearch(e.filters,e.search)}},mounted:function(){this.algoliaClient=new G0(this.envVars.ALGOLIA_ID,this.envVars.ALGOLIA_KEY,this.envVars.PENNSIEVE_API_LOCATION),this.algoliaClient.initIndex(this.envVars.ALGOLIA_INDEX),this.flatmapQueries=new pP,this.flatmapQueries.initialise(this.envVars.FLATMAP_API_LOCATION),this.openSearch(this.filter,this.searchInput,this.mode)},created:function(){this.searchEndpoint="dataset_info/using_multiple_dois/"}},bP={class:"header"},wP={class:"content scrollbar",ref:"content"},CP={key:0,class:"error-feedback"};function kP(e,t,r,o,a,i){const s=xo,l=kt,c=Z0,d=d0,u=l0,f=pp,g=cp,m=Vf,p=Oo;return n.openBlock(),n.createBlock(m,{"body-style":e.bodyStyle,class:"content-card"},{header:n.withCtx(()=>[n.createElementVNode("div",bP,[n.createVNode(s,{class:"search-input",placeholder:"Search",modelValue:e.searchInput,"onUpdate:modelValue":t[0]||(t[0]=h=>e.searchInput=h),onKeyup:i.searchEvent,clearable:"",onClear:i.clearSearchClicked},null,8,["modelValue","onKeyup","onClear"]),n.createVNode(l,{type:"primary",class:"button",onClick:i.searchEvent,size:"large"},{default:n.withCtx(()=>[n.createTextVNode(" Search ")]),_:1},8,["onClick"])])]),default:n.withCtx(()=>[n.createVNode(c,{class:"filters",ref:"filtersRef",entry:i.filterEntry,envVars:r.envVars,onFilterResults:i.filterUpdate,onNumberPerPage:i.numberPerPageUpdate,onLoading:i.filtersLoading,onCascaderReady:i.cascaderReady},null,8,["entry","envVars","onFilterResults","onNumberPerPage","onLoading","onCascaderReady"]),n.createVNode(d,{ref:"searchHistory",onSearch:i.searchHistorySearch},null,8,["onSearch"]),n.createTextVNode(" pmr hits: "+n.toDisplayString(e.pmrNumberOfHits)+" ",1),n.withDirectives((n.openBlock(),n.createElementBlock("div",wP,[e.results.length===0&&!e.loadingCards?(n.openBlock(),n.createElementBlock("div",CP," No results found - Please change your search / filter criteria. ")):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.results,(h,y)=>(n.openBlock(),n.createElementBlock("div",{key:h.doi||y,class:"step-item"},[h.dataSource==="SPARC"?(n.openBlock(),n.createBlock(u,{key:0,class:"dataset-card",entry:h,envVars:r.envVars,onMouseenter:b=>i.hoverChanged(h),onMouseleave:t[1]||(t[1]=b=>i.hoverChanged(void 0))},null,8,["entry","envVars","onMouseenter"])):h.dataSource==="PMR"?(n.openBlock(),n.createBlock(f,{key:1,class:"dataset-card",entry:h,envVars:r.envVars,onPmrActionClick:i.onPmrActionClick,onMouseenter:b=>i.hoverChanged(h),onMouseleave:t[2]||(t[2]=b=>i.hoverChanged(void 0))},null,8,["entry","envVars","onPmrActionClick","onMouseenter"])):n.createCommentVNode("",!0)]))),128)),n.createVNode(g,{class:"pagination","current-page":e.page,"onUpdate:currentPage":t[3]||(t[3]=h=>e.page=h),"hide-on-single-page":"",large:"",layout:"prev, pager, next","page-size":e.numberPerPage,total:i.numberOfHits,onCurrentChange:i.pageChange},null,8,["current-page","page-size","total","onCurrentChange"])])),[[p,e.loadingCards]])]),_:1},8,["body-style"])}const Y0=Zt(yP,[["render",kP],["__scopeId","data-v-8d7169f1"]]),vP={name:"ExternalResourceCard",components:{Button:kt},props:{resources:{type:Array,default:()=>[]}},data:function(){return{pubmeds:[],pubmedIds:[],ElIconNotebook:n.shallowRef(wC)}},methods:{capitalise:function(e){return e.charAt(0).toUpperCase()+e.slice(1)},openUrl:function(e){We.emit("open-pubmed-url",e),window.open(e,"_blank")}}},SP={class:"resource-container"};function xP(e,t,r,o,a,i){const s=kt;return n.openBlock(),n.createElementBlock("div",SP,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.resources,l=>(n.openBlock(),n.createElementBlock("div",{key:l.id,class:"resource"},[l.id==="pubmed"?(n.openBlock(),n.createBlock(s,{key:0,class:"button",id:"open-pubmed-button",icon:e.ElIconNotebook,onClick:c=>i.openUrl(l.url)},{default:n.withCtx(()=>[n.createTextVNode(" Open publications in PubMed ")]),_:2},1032,["icon","onClick"])):n.createCommentVNode("",!0)]))),128))])}const Q0=Zt(vP,[["render",xP],["__scopeId","data-v-e726c314"]]),EP=e=>e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()),_P=function(e){return e?e.charAt(0).toUpperCase()+e.slice(1):""},OP={name:"ConnectivityInfo",components:{Button:kt,Container:PE,Icon:Be,ElIconArrowUp:nC,ElIconArrowDown:hs,ElIconWarning:hu,ExternalResourceCard:Q0},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],resource:void 0})},availableAnatomyFacets:{type:Array,default:()=>[]}},data:function(){return{controller:void 0,activeSpecies:void 0,pubmedSearchUrl:"",loading:!1,facetList:[],showToolip:!1,showDetails:!1,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},componentsWithDatasets:[],uberons:[{id:void 0,name:void 0}]}},watch:{availableAnatomyFacets:{handler:function(e){this.convertFacetsToList(e)},immediate:!0,deep:!0}},computed:{resources:function(){let e=[];return this.entry&&this.entry.hyperlinks&&(e=this.entry.hyperlinks),e},featuresAlert(){},originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory},provSpeciesDescription:function(){let e="Studied in";return this.entry.provenanceTaxonomyLabel.forEach(t=>{e+=` ${t},`}),e=e.slice(0,-1),e+=" species",e}},methods:{titleCase:function(e){return EP(e)},capitalise:function(e){return _P(e)},openUrl:function(e){window.open(e,"_blank")},openAll:function(){We.emit("onConnectivityActionClick",{type:"Facets",labels:this.entry.componentsWithDatasets.map(e=>e.name.toLowerCase())})},openAxons:function(){We.emit("onConnectivityActionClick",{type:"Facets",labels:this.entry.destinationsWithDatasets.map(e=>e.name.toLowerCase())})},shouldShowExploreButton:function(e){for(let t=0;t<e.length;t++)if(this.facetList.includes(e[t].name.toLowerCase()))return!0;return!1},convertFacetsToList:function(e){e.forEach(t=>{t.children?this.convertFacetsToList(t.children):this.facetList.push(t.label.toLowerCase())})},openDendrites:function(){We.emit("onConnectivityActionClick",{type:"Facets",labels:this.entry.originsWithDatasets.map(e=>e.name.toLowerCase())})},pubmedSearchUrlUpdate:function(e){this.pubmedSearchUrl=e},showConnectivity:function(e){const t=e.featureId||[];this.$emit("show-connectivity",t)}}},pr=e=>(n.pushScopeId("data-v-f1c50620"),e=e(),n.popScopeId(),e),TP={key:0,class:"main"},BP={class:"connectivity-info-title"},NP={key:0,class:"block"},AP={class:"title"},PP={key:0,class:"subtitle"},IP={key:1,class:"block"},FP={class:"title"},RP=pr(()=>n.createElementVNode("span",null," Show connectivity on map ",-1)),$P={key:0,class:"attribute-title-container"},LP=pr(()=>n.createElementVNode("span",{class:"attribute-title"},"Alert",-1)),VP={style:{"word-break":"keep-all"}},DP={class:"content-container scrollbar"},MP={key:0,class:"block"},jP={class:"attribute-title-container"},zP=pr(()=>n.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),HP={style:{"word-break":"keep-all"}},UP=pr(()=>n.createElementVNode("i",null,"Origin",-1)),qP=["origin-item-label"],WP={key:0,class:"seperator"},KP={key:1,class:"block"},GP=pr(()=>n.createElementVNode("div",{class:"attribute-title-container"},[n.createElementVNode("div",{class:"attribute-title"},"Components")],-1)),JP=["component-item-label"],ZP={key:0,class:"seperator"},YP={key:2,class:"block"},QP={class:"attribute-title-container"},XP=pr(()=>n.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),eI=pr(()=>n.createElementVNode("span",{style:{"word-break":"keep-all"}},[n.createElementVNode("i",null,"Destination"),n.createTextVNode(" is where the axons terminate ")],-1)),tI=["destination-item-label"],nI={key:0,class:"seperator"};function rI(e,t,r,o,a,i){const s=Q0,l=gC,c=Be,d=kt,u=rl,f=hu,g=Oo;return r.entry?n.withDirectives((n.openBlock(),n.createElementBlock("div",TP,[n.createElementVNode("div",BP,[n.createElementVNode("div",null,[r.entry.title?(n.openBlock(),n.createElementBlock("div",NP,[n.createElementVNode("div",AP,n.toDisplayString(i.capitalise(r.entry.title)),1),r.entry.provenanceTaxonomyLabel&&r.entry.provenanceTaxonomyLabel.length>0?(n.openBlock(),n.createElementBlock("div",PP,n.toDisplayString(i.provSpeciesDescription),1)):n.createCommentVNode("",!0)])):(n.openBlock(),n.createElementBlock("div",IP,[n.createElementVNode("div",FP,n.toDisplayString(r.entry.featureId),1)])),n.createVNode(s,{resources:i.resources},null,8,["resources"])]),n.createElementVNode("div",null,[n.createVNode(u,{width:"200",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:n.withCtx(()=>[n.createVNode(d,{class:"button-circle",circle:"",onClick:t[0]||(t[0]=m=>i.showConnectivity(r.entry))},{default:n.withCtx(()=>[n.createVNode(c,{color:"white"},{default:n.withCtx(()=>[n.createVNode(l)]),_:1})]),_:1})]),default:n.withCtx(()=>[RP]),_:1})])]),i.featuresAlert?(n.openBlock(),n.createElementBlock("div",$P,[LP,n.createVNode(u,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:n.withCtx(()=>[n.createVNode(c,{class:"info"},{default:n.withCtx(()=>[n.createVNode(f)]),_:1})]),default:n.withCtx(()=>[n.createElementVNode("span",VP,n.toDisplayString(i.featuresAlert),1)]),_:1})])):n.createCommentVNode("",!0),n.createElementVNode("div",DP,[n.createTextVNode(n.toDisplayString(r.entry.paths)+" ",1),r.entry.origins&&r.entry.origins.length>0?(n.openBlock(),n.createElementBlock("div",MP,[n.createElementVNode("div",jP,[zP,n.createVNode(u,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:n.withCtx(()=>[n.createVNode(c,{class:"info"},{default:n.withCtx(()=>[n.createVNode(f)]),_:1})]),default:n.withCtx(()=>[n.createElementVNode("span",HP,[UP,n.createTextVNode(" "+n.toDisplayString(i.originDescription),1)])]),_:1})]),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.entry.origins,(m,p)=>(n.openBlock(),n.createElementBlock("div",{class:"attribute-content","origin-item-label":m,key:m},[n.createTextVNode(n.toDisplayString(i.capitalise(m))+" ",1),p!=r.entry.origins.length-1?(n.openBlock(),n.createElementBlock("div",WP)):n.createCommentVNode("",!0)],8,qP))),128)),n.withDirectives(n.createVNode(d,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:n.withCtx(()=>[n.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[n.vShow,r.entry.originsWithDatasets&&r.entry.originsWithDatasets.length>0&&i.shouldShowExploreButton(r.entry.originsWithDatasets)]])])):n.createCommentVNode("",!0),r.entry.components&&r.entry.components.length>0?(n.openBlock(),n.createElementBlock("div",KP,[GP,(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.entry.components,(m,p)=>(n.openBlock(),n.createElementBlock("div",{class:"attribute-content","component-item-label":m,key:m},[n.createTextVNode(n.toDisplayString(i.capitalise(m))+" ",1),p!=r.entry.components.length-1?(n.openBlock(),n.createElementBlock("div",ZP)):n.createCommentVNode("",!0)],8,JP))),128))])):n.createCommentVNode("",!0),r.entry.destinations&&r.entry.destinations.length>0?(n.openBlock(),n.createElementBlock("div",YP,[n.createElementVNode("div",QP,[XP,n.createVNode(u,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:n.withCtx(()=>[n.createVNode(c,{class:"info"},{default:n.withCtx(()=>[n.createVNode(f)]),_:1})]),default:n.withCtx(()=>[eI]),_:1})]),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.entry.destinations,(m,p)=>(n.openBlock(),n.createElementBlock("div",{class:"attribute-content","destination-item-label":m,key:m},[n.createTextVNode(n.toDisplayString(i.capitalise(m))+" ",1),p!=r.entry.destinations.length-1?(n.openBlock(),n.createElementBlock("div",nI)):n.createCommentVNode("",!0)],8,tI))),128)),n.withDirectives(n.createVNode(d,{class:"button",onClick:i.openAxons},{default:n.withCtx(()=>[n.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[n.vShow,r.entry.destinationsWithDatasets&&r.entry.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(r.entry.destinationsWithDatasets)]])])):n.createCommentVNode("",!0),n.withDirectives(n.createVNode(d,{class:"button",onClick:i.openAll},{default:n.withCtx(()=>[n.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"]),[[n.vShow,r.entry.componentsWithDatasets&&r.entry.componentsWithDatasets.length>0&&i.shouldShowExploreButton(r.entry.componentsWithDatasets)]])])])),[[g,e.loading]]):n.createCommentVNode("",!0)}const X0=Zt(OP,[["render",rI],["__scopeId","data-v-f1c50620"]]),oI={name:"Tabs",props:{tabTitles:{type:Array,default:()=>[]},activeId:{type:Number,default:1}},methods:{titleClicked:function(e,t){this.$emit("titleClicked",{id:e,type:t})},tabClose:function(e){this.$emit("tab-close",e)}}},aI=e=>(n.pushScopeId("data-v-a569bcfd"),e=e(),n.popScopeId(),e),iI={class:"tab-container"},sI=["onClick"],lI={class:"title-text"},cI=aI(()=>n.createElementVNode("span",{class:"visually-hidden"},"Close",-1));function dI(e,t,r,o,a,i){const s=kt;return n.openBlock(),n.createElementBlock("div",iI,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.tabTitles,l=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["title",{"active-tab":l.id==r.activeId}]),key:l.id},[n.createElementVNode("div",{class:n.normalizeClass(["title-text-table",{highlightText:l.id==r.activeId}]),onClick:c=>i.titleClicked(l.id,l.type)},[n.createElementVNode("div",lI,n.toDisplayString(l.title),1)],10,sI),l.id===2?(n.openBlock(),n.createBlock(s,{key:0,onClick:c=>i.tabClose(l.id),class:"button-tab-close","aria-label":"Close"},{default:n.withCtx(()=>[n.createTextVNode(" × "),cI]),_:2},1032,["onClick"])):n.createCommentVNode("",!0)],2))),128))])}const eg=Zt(oI,[["render",dI],["__scopeId","data-v-a569bcfd"]]),uI={components:{SidebarContent:Y0,Tabs:eg,ElIconArrowLeft:ms,ElIconArrowRight:ma,Drawer:Xs,Icon:Be,ConnectivityInfo:X0},name:"SideBar",props:{visible:{type:Boolean,default:!1},envVars:{type:Object,default:()=>{}},tabs:{type:Array,default:()=>[{id:1,title:"Search",type:"search"},{id:2,title:"Connectivity",type:"connectivity"}]},activeTabId:{type:Number,default:1},openAtStart:{type:Boolean,default:!1},connectivityInfo:{type:Object,default:null}},data:function(){return{drawerOpen:!1,initFilters:{filter:[],searchInput:""},availableAnatomyFacets:[]}},methods:{hoverChanged:function(e){this.$emit("hover-changed",e)},showConnectivity:function(e){this.$emit("show-connectivity",e)},searchChanged:function(e,t){this.$emit("search-changed",{...t,id:e})},close:function(){this.drawerOpen=!1},toggleDrawer:function(){this.drawerOpen=!this.drawerOpen},openSearch:function(e,t){this.initFilters.filter=e,this.initFilters.searchInput=t,this.drawerOpen=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).openSearch(e,t)})},getTabByIdAndType:function(e,t){const r=e||this.activeTabId,o=t||"search",a=this.tabs.find(s=>s.id===r&&s.type===o),i=this.tabs[0];return a||i},getTabRefId:function(e,t){let r="searchTab_";t==="connectivity"&&(r="connectivityTab_");const o=this.getTabByIdAndType(e,t);return r+o.id},getSearchTabRefById:function(e){const t=e||1,r=this.getTabRefId(t,"search");return this.$refs[r][0]},addFilter:function(e){this.drawerOpen=!0,e.AND=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).addFilter(e)})},openNeuronSearch:function(e){this.drawerOpen=!0,this.$nextTick(()=>{this.getSearchTabRefById(1).openSearch("",void 0,"scicrunch-query-string/",{field:"*organ.curie",curie:e})})},getAlgoliaFacets:async function(){return await this.getSearchTabRefById(1).getAlgoliaFacets()},setDrawerOpen:function(e=!0){this.drawerOpen=e},onPmrActionClick:function(e){this.$emit("actionClick",e)},tabClicked:function({id:e,type:t}){this.$emit("tabClicked",{id:e,type:t})},tabClose:function(e){this.$emit("connectivity-info-close")}},created:function(){this.drawerOpen=this.openAtStart},mounted:function(){We.on("PopoverActionClick",e=>{this.$emit("actionClick",e)}),We.on("number-of-datasets-for-anatomies",e=>{this.$emit("number-of-datasets-for-anatomies",e)}),We.on("anatomy-in-datasets",e=>{this.$emit("anatomy-in-datasets",e)}),We.on("contextUpdate",e=>{this.$emit("contextUpdate",e)}),We.on("datalink-clicked",e=>{this.$emit("datalink-clicked",e)}),We.on("onConnectivityActionClick",e=>{this.tabClicked({id:1,type:"search"}),this.$emit("actionClick",e)}),We.on("available-facets",e=>{this.availableAnatomyFacets=e.find(t=>t.label==="Anatomical Structure").children})}},fI={ref:"container"},pI={class:"box-card"},hI={class:"sidebar-container"};function mI(e,t,r,o,a,i){const s=ms,l=Be,c=ma,d=eg,u=X0,f=Y0,g=Xs;return n.openBlock(),n.createElementBlock("div",fI,[e.drawerOpen?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",{key:0,onClick:t[0]||(t[0]=(...m)=>i.toggleDrawer&&i.toggleDrawer(...m)),class:"open-tab"},[n.createVNode(l,null,{default:n.withCtx(()=>[n.createVNode(s)]),_:1})])),n.createVNode(g,{class:"side-bar my-drawer",modelValue:e.drawerOpen,"onUpdate:modelValue":t[3]||(t[3]=m=>e.drawerOpen=m),teleported:!1,"modal-append-to-body":!1,size:"584","with-header":!1,wrapperClosable:!1,modal:!1,"modal-class":"sidebar-body","z-index":10,"lock-scroll":!1},{default:n.withCtx(()=>[n.createElementVNode("div",pI,[e.drawerOpen?(n.openBlock(),n.createElementBlock("div",{key:0,onClick:t[1]||(t[1]=(...m)=>i.close&&i.close(...m)),class:"close-tab"},[n.createVNode(l,null,{default:n.withCtx(()=>[n.createVNode(c)]),_:1})])):n.createCommentVNode("",!0),n.createElementVNode("div",hI,[r.tabs.length>1&&r.connectivityInfo?(n.openBlock(),n.createBlock(d,{key:0,tabTitles:r.tabs,activeId:r.activeTabId,onTitleClicked:i.tabClicked,onTabClose:i.tabClose},null,8,["tabTitles","activeId","onTitleClicked","onTabClose"])):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.tabs,m=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:"tab.id"},[m.type==="connectivity"?n.withDirectives((n.openBlock(),n.createBlock(u,{key:0,entry:r.connectivityInfo,availableAnatomyFacets:e.availableAnatomyFacets,ref_for:!0,ref:"connectivityTab_"+m.id,onShowConnectivity:i.showConnectivity},null,8,["entry","availableAnatomyFacets","onShowConnectivity"])),[[n.vShow,m.id===r.activeTabId]]):n.withDirectives((n.openBlock(),n.createBlock(f,{key:1,class:"sidebar-content-container",contextCardEntry:m.contextCard,envVars:r.envVars,initFilters:e.initFilters,ref_for:!0,ref:"searchTab_"+m.id,onPmrActionClick:i.onPmrActionClick,onSearchChanged:p=>i.searchChanged(m.id,p),onHoverChanged:t[2]||(t[2]=p=>i.hoverChanged(p))},null,8,["contextCardEntry","envVars","initFilters","onPmrActionClick","onSearchChanged"])),[[n.vShow,m.id===r.activeTabId]])],64))),128))])])]),_:1},8,["modelValue"])],512)}const gI=Zt(uI,[["render",mI],["__scopeId","data-v-46d87ece"]]);ze.SideBar=gI,Object.defineProperty(ze,Symbol.toStringTag,{value:"Module"})});
|