UNPKG

react-instantsearch-core

Version:
2 lines 266 kB
/*! React InstantSearchCore UNRELEASED | © Algolia, inc. | https://github.com/algolia/instantsearch */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).ReactInstantSearchCore={},e.React)}(this,function(e,b){"use strict";var s="default"in b?b.default:b,C="7.21.0";function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function H(e,t,r){(t=function(e){e=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"==typeof e?e:e+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}function $(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?$(Object(r),!0).forEach(function(e){H(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function M(e,t){if(null==e)return{};var r,n=function(e,t){if(null==e)return{};var r,n={};for(r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols)for(var i=Object.getOwnPropertySymbols(e),a=0;a<i.length;a++)r=i[a],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}function L(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,a,o,c=[],s=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(c.push(n.value),c.length!==t);s=!0);}catch(e){u=!0,i=e}finally{try{if(!s&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return c}}(e,t)||function(e,t){{var r;if(e)return"string"==typeof e?W(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?W(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function U(e){return(U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}var Q=r;function B(e){return"function"==typeof e}function q(e){return"object"==typeof e&&null!==e}function V(e){return void 0===e}r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,r,n,i,a,o,c;if((this._events||(this._events={}),"error"===e)&&(!this._events.error||q(this._events.error)&&!this._events.error.length))throw(c=arguments[1])instanceof Error?c:((o=new Error('Uncaught, unspecified "error" event. ('+c+")")).context=c,o);if(V(t=this._events[e]))return!1;if(B(t))switch(arguments.length){case 1:t.call(this);break;case 2:t.call(this,arguments[1]);break;case 3:t.call(this,arguments[1],arguments[2]);break;default:n=Array.prototype.slice.call(arguments,1),t.apply(this,n)}else if(q(t))for(n=Array.prototype.slice.call(arguments,1),r=(a=t.slice()).length,i=0;i<r;i++)a[i].apply(this,n);return!0},r.prototype.on=r.prototype.addListener=function(e,t){if(B(t))return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,B(t.listener)?t.listener:t),this._events[e]?q(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,q(this._events[e])&&!this._events[e].warned&&(t=V(this._maxListeners)?r.defaultMaxListeners:this._maxListeners)&&0<t&&this._events[e].length>t&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace)&&console.trace(),this;throw TypeError("listener must be a function")},r.prototype.once=function(e,t){var r;if(B(t))return r=!1,n.listener=t,this.on(e,n),this;throw TypeError("listener must be a function");function n(){this.removeListener(e,n),r||(r=!0,t.apply(this,arguments))}},r.prototype.removeListener=function(e,t){var r,n,i,a;if(!B(t))throw TypeError("listener must be a function");if(this._events&&this._events[e])if(i=(r=this._events[e]).length,n=-1,r===t||B(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(q(r)){for(a=i;0<a--;)if(r[a]===t||r[a].listener&&r[a].listener===t){n=a;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,r;if(this._events)if(this._events.removeListener)if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);this.removeAllListeners("removeListener"),this._events={}}else{if(B(r=this._events[e]))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);delete this._events[e]}else 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e];return this},r.prototype.listeners=function(e){e=this._events&&this._events[e]?B(this._events[e])?[this._events[e]]:this._events[e].slice():[];return e},r.prototype.listenerCount=function(e){if(this._events){e=this._events[e];if(B(e))return 1;if(e)return e.length}return 0},r.listenerCount=function(e,t){return e.listenerCount(t)};var J=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})};function z(e,t,r){this.main=e,this.fn=t,this.recommendFn=r,this.lastResults=null,this.lastRecommendResults=null}J(z,Q),z.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},z.prototype.getModifiedState=function(e){return this.fn(e)},z.prototype.getModifiedRecommendState=function(e){return this.recommendFn(e)};var X=z;var t=function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},K=function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")};function G(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}function Z(e,t){var r,n;if(e!==t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&"__proto__"!==i&&"constructor"!==i&&(r=t[i],void 0!==(n=e[i])&&void 0===r||(G(n)&&G(r)?e[i]=Z(n,r):e[i]="object"==typeof(n=r)&&null!==n?Z(Array.isArray(n)?[]:{},n):n));return e}var Y=function(e){G(e)||(e={});for(var t=1,r=arguments.length;t<r;t++){var n=arguments[t];G(n)&&Z(e,n)}return e};var ee=function(e){return e&&0<Object.keys(e).length};var te=function(e,t){if(null===e)return{};for(var r,n={},i=Object.keys(e),a=0;a<i.length;a++)r=i[a],0<=t.indexOf(r)||(n[r]=e[r]);return n};function re(e){this.params=(e=e||{}).params||[]}re.prototype={constructor:re,addParams:function(e){var t=this.params.slice();return t.push(e),new re({params:t})},removeParams:function(t){return new re({params:this.params.filter(function(e){return e.$$id!==t})})},addFrequentlyBoughtTogether:function(e){return this.addParams(Object.assign({},e,{model:"bought-together"}))},addRelatedProducts:function(e){return this.addParams(Object.assign({},e,{model:"related-products"}))},addTrendingItems:function(e){return this.addParams(Object.assign({},e,{model:"trending-items"}))},addTrendingFacets:function(e){return this.addParams(Object.assign({},e,{model:"trending-facets"}))},addLookingSimilar:function(e){return this.addParams(Object.assign({},e,{model:"looking-similar"}))},_buildQueries:function(t,r){return this.params.filter(function(e){return void 0===r[e.$$id]}).map(function(e){e=Object.assign({},e,{indexName:t,threshold:e.threshold||0});return delete e.$$id,e})}};var ne=re;function ie(e,t){this._state=e,this._rawResults={};var r=this;e.params.forEach(function(e){e=e.$$id;r[e]=t[e],r._rawResults[e]=t[e]})}ie.prototype={constructor:ie};var ae=ie;function oe(r){return Object.keys(r).sort().reduce(function(e,t){return e[t]=r[t],e},{})}function ce(){return Array.prototype.slice.call(arguments).reduceRight(function(t,r){return Object.keys(Object(r)).forEach(function(e){void 0!==r[e]&&(void 0!==t[e]&&delete t[e],t[e]=r[e])}),t},{})}var l={_getQueries:function(c,s){var u=[];return u.push({indexName:c,params:l._getHitsSearchParams(s)}),s.getRefinedDisjunctiveFacets().forEach(function(e){u.push({indexName:c,params:l._getDisjunctiveFacetSearchParams(s,e)})}),s.getRefinedHierarchicalFacets().forEach(function(e){var a,o=s.getHierarchicalFacetByName(e),e=s.getHierarchicalRefinement(e),n=s._getHierarchicalFacetSeparator(o);0<e.length&&1<e[0].split(n).length&&(a=e[0].split(n).slice(0,-1).reduce(function(e,t,r){return e.concat({attribute:o.attributes[r],value:0===r?t:[e[e.length-1].value,t].join(n)})},[])).forEach(function(e,t){e=l._getDisjunctiveFacetSearchParams(s,e.attribute,0===t);function n(t){return o.attributes.some(function(e){return e===t.split(":")[0]})}var r=(e.facetFilters||[]).reduce(function(e,t){var r;return Array.isArray(t)&&0<(r=t.filter(function(e){return!n(e)})).length&&e.push(r),"string"!=typeof t||n(t)||e.push(t),e},[]),i=a[t-1];0<t?e.facetFilters=r.concat(i.attribute+":"+i.value):0<r.length?e.facetFilters=r:delete e.facetFilters,u.push({indexName:c,params:e})})}),u},_getCompositionQueries:function(e){return[{compositionID:e.index,requestBody:{params:l._getCompositionHitsSearchParams(e)}}]},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(l._getHitsHierarchicalFacetsAttributes(e)).sort(),r=l._getFacetFilters(e),n=l._getNumericFilters(e),i=l._getTagFilters(e),a={};return 0<t.length&&(a.facets=-1<t.indexOf("*")?["*"]:t),0<i.length&&(a.tagFilters=i),0<r.length&&(a.facetFilters=r),0<n.length&&(a.numericFilters=n),oe(Y({},e.getQueryParams(),a))},_getCompositionHitsSearchParams:function(t){var e=t.facets.concat(t.disjunctiveFacets.map(function(e){return t.disjunctiveFacetsRefinements&&t.disjunctiveFacetsRefinements[e]&&0<t.disjunctiveFacetsRefinements[e].length?"disjunctive("+e+")":e})).concat(l._getHitsHierarchicalFacetsAttributes(t)).sort(),r=l._getFacetFilters(t),n=l._getNumericFilters(t),i=l._getTagFilters(t),a={},e=(0<e.length&&(a.facets=-1<e.indexOf("*")?["*"]:e),0<i.length&&(a.tagFilters=i),0<r.length&&(a.facetFilters=r),0<n.length&&(a.numericFilters=n),t.getQueryParams());return delete e.highlightPreTag,delete e.highlightPostTag,delete e.index,oe(Y({},e,a))},_getDisjunctiveFacetSearchParams:function(e,t,r){var n=l._getFacetFilters(e,t,r),i=l._getNumericFilters(e,t),a=l._getTagFilters(e),o={hitsPerPage:0,page:0,analytics:!1,clickAnalytics:!1},a=(0<a.length&&(o.tagFilters=a),e.getHierarchicalFacetByName(t));return o.facets=a?l._getDisjunctiveHierarchicalFacetAttribute(e,a,r):t,0<i.length&&(o.numericFilters=i),0<n.length&&(o.facetFilters=n),oe(Y({},e.getQueryParams(),o))},_getNumericFilters:function(e,i){var a;return e.numericFilters||(a=[],Object.keys(e.numericRefinements).forEach(function(n){var t=e.numericRefinements[n]||{};Object.keys(t).forEach(function(r){var e=t[r]||[];i!==n&&e.forEach(function(e){var t;Array.isArray(e)?(t=e.map(function(e){return n+r+e}),a.push(t)):a.push(n+r+e)})})}),a)},_getTagFilters:function(e){return e.tagFilters||e.tagRefinements.join(",")},_getFacetFilters:function(o,c,s){var u=[],e=o.facetsRefinements||{},r=(Object.keys(e).sort().forEach(function(t){(e[t]||[]).slice().sort().forEach(function(e){u.push(t+":"+e)})}),o.facetsExcludes||{}),n=(Object.keys(r).sort().forEach(function(t){(r[t]||[]).sort().forEach(function(e){u.push(t+":-"+e)})}),o.disjunctiveFacetsRefinements||{}),l=(Object.keys(n).sort().forEach(function(t){var r,e=n[t]||[];t!==c&&e&&0!==e.length&&(r=[],e.slice().sort().forEach(function(e){r.push(t+":"+e)}),u.push(r))}),o.hierarchicalFacetsRefinements||{});return Object.keys(l).sort().forEach(function(e){var t=(l[e]||[])[0];if(void 0!==t){var r,n=o.getHierarchicalFacetByName(e),i=o._getHierarchicalFacetSeparator(n),a=o._getHierarchicalRootPath(n);if(c===e){if(-1===t.indexOf(i)||!a&&!0===s||a&&a.split(i).length===t.split(i).length)return;t=a?(r=a.split(i).length-1,a):(r=t.split(i).length-2,t.slice(0,t.lastIndexOf(i)))}else r=t.split(i).length-1;(e=n.attributes[r])&&u.push([e+":"+t])}}),u},_getHitsHierarchicalFacetsAttributes:function(i){return i.hierarchicalFacets.reduce(function(e,t){var r,n=i.getHierarchicalRefinement(t.name)[0];return n?(r=i._getHierarchicalFacetSeparator(t),n=n.split(r).length,r=t.attributes.slice(0,n+1),e.concat(r)):(e.push(t.attributes[0]),e)},[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,r){var n,i=e._getHierarchicalFacetSeparator(t);return!0===r?(r=0,(n=e._getHierarchicalRootPath(t))&&(r=n.split(i).length),[t.attributes[r]]):(n=(e.getHierarchicalRefinement(t.name)[0]||"").split(i).length-1,t.attributes.slice(0,1+n))},getSearchForFacetQuery:function(e,t,r,n){n=n.isDisjunctiveFacet(e)?n.clearRefinements(e):n,t={facetQuery:t,facetName:e};return"number"==typeof r&&(t.maxFacetHits=r),oe(Y({},l._getHitsSearchParams(n),t))}},se=l,g=function(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)if(t(e[r]))return e[r]};var ue=function(r,n){return r.filter(function(e,t){return-1<n.indexOf(e)&&r.indexOf(e)===t})};var le=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error("The value should be a number, a parsable string or an array of those.")},fe={addRefinement:function(e,t,r){var n;return fe.isRefined(e,t,r)?e:(r=""+r,r=e[t]?e[t].concat(r):[r],(n={})[t]=r,ce(n,e))},removeRefinement:function(e,r,t){var n;return void 0===t?fe.clearRefinement(e,function(e,t){return r===t}):(n=""+t,fe.clearRefinement(e,function(e,t){return r===t&&n===e}))},toggleRefinement:function(e,t,r){if(void 0===r)throw new Error("toggleRefinement should be used with a value");return fe.isRefined(e,t,r)?fe.removeRefinement(e,t,r):fe.addRefinement(e,t,r)},clearRefinement:function(i,a,o){var c,e;return void 0===a?ee(i)?{}:i:"string"==typeof a?te(i,[a]):"function"==typeof a?(c=!1,e=Object.keys(i).reduce(function(e,t){var r=i[t]||[],n=r.filter(function(e){return!a(e,t,o)});return n.length!==r.length&&(c=!0),e[t]=n,e},{}),c?e:i):void 0},isRefined:function(e,t,r){var n=Boolean(e[t])&&0<e[t].length;return void 0!==r&&n?-1!==e[t].indexOf(""+r):n}},n=fe;function he(e,r){return Array.isArray(e)&&Array.isArray(r)?e.length===r.length&&e.every(function(e,t){return he(r[t],e)}):e===r}function o(e){var n=e?o._parseNumbers(e):{},i=(void 0===n.userToken||null!==(e=n.userToken)&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)||console.warn("[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\n - Format: [a-zA-Z0-9_-]{1,64}"),this.facets=n.facets||[],this.disjunctiveFacets=n.disjunctiveFacets||[],this.hierarchicalFacets=n.hierarchicalFacets||[],this.facetsRefinements=n.facetsRefinements||{},this.facetsExcludes=n.facetsExcludes||{},this.disjunctiveFacetsRefinements=n.disjunctiveFacetsRefinements||{},this.numericRefinements=n.numericRefinements||{},this.tagRefinements=n.tagRefinements||[],this.hierarchicalFacetsRefinements=n.hierarchicalFacetsRefinements||{},this);Object.keys(n).forEach(function(e){var t=-1!==o.PARAMETERS.indexOf(e),r=void 0!==n[e];!t&&r&&(i[e]=n[e])})}o.PARAMETERS=Object.keys(new o),o._parseNumbers=function(i){var n,a;return i instanceof o?i:(n={},["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach(function(e){var t,r=i[e];"string"==typeof r&&(t=parseFloat(r),n[e]=isNaN(t)?r:t)}),Array.isArray(i.insideBoundingBox)&&(n.insideBoundingBox=i.insideBoundingBox.map(function(e){return Array.isArray(e)?e.map(function(e){return parseFloat(e)}):e})),i.numericRefinements&&(a={},Object.keys(i.numericRefinements).forEach(function(r){var n=i.numericRefinements[r]||{};a[r]={},Object.keys(n).forEach(function(e){var t=n[e].map(function(e){return Array.isArray(e)?e.map(function(e){return"string"==typeof e?parseFloat(e):e}):"string"==typeof e?parseFloat(e):e});a[r][e]=t})}),n.numericRefinements=a),Y(i,n))},o.make=function(e){var r=new o(e);return(e.hierarchicalFacets||[]).forEach(function(e){var t;e.rootPath&&0===(t=(r=0<(t=r.getHierarchicalRefinement(e.name)).length&&0!==t[0].indexOf(e.rootPath)?r.clearRefinements(e.name):r).getHierarchicalRefinement(e.name)).length&&(r=r.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}),r},o.validate=function(e,t){t=t||{};return e.tagFilters&&t.tagRefinements&&0<t.tagRefinements.length?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):0<e.tagRefinements.length&&t.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&t.numericRefinements&&ee(t.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):ee(e.numericRefinements)&&t.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},o.prototype={constructor:o,clearRefinements:function(e){e={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:n.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:n.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:n.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:n.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return e.numericRefinements===this.numericRefinements&&e.facetsRefinements===this.facetsRefinements&&e.facetsExcludes===this.facetsExcludes&&e.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&e.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(e)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,r){var n,r=le(r);return this.isNumericRefined(e,t,r)?this:((n=Y({},this.numericRefinements))[e]=Y({},n[e]),n[e][t]?(n[e][t]=n[e][t].slice(),n[e][t].push(r)):n[e][t]=[r],this.setQueryParameters({numericRefinements:n}))},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(r,n,e){var i=e;return void 0!==i?this.isNumericRefined(r,n,i)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(e,t){return t===r&&e.op===n&&he(e.val,le(i))})}):this:void 0!==n?this.isNumericRefined(r,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(e,t){return t===r&&e.op===n})}):this:this.isNumericRefined(r)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(e,t){return t===r})}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(o){var c,t,e;return void 0===o?ee(this.numericRefinements)?{}:this.numericRefinements:"string"==typeof o?te(this.numericRefinements,[o]):"function"==typeof o?(c=!1,t=this.numericRefinements,e=Object.keys(t).reduce(function(e,n){var i=t[n],a={},i=i||{};return Object.keys(i).forEach(function(t){var e=i[t]||[],r=[];e.forEach(function(e){o({val:e,op:t},n,"numeric")||r.push(e)}),r.length!==e.length&&(c=!0),a[t]=r}),e[n]=a,e},{}),c?e:this.numericRefinements):void 0},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(this.isConjunctiveFacet(e))return n.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:n.addRefinement(this.facetsRefinements,e,t)});throw new Error(e+" is not defined in the facets attribute of the helper configuration")},addExcludeRefinement:function(e,t){if(this.isConjunctiveFacet(e))return n.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:n.addRefinement(this.facetsExcludes,e,t)});throw new Error(e+" is not defined in the facets attribute of the helper configuration")},addDisjunctiveFacetRefinement:function(e,t){if(this.isDisjunctiveFacet(e))return n.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:n.addRefinement(this.disjunctiveFacetsRefinements,e,t)});throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration")},addTagRefinement:function(e){return this.isTagRefined(e)?this:(e={tagRefinements:this.tagRefinements.concat(e)},this.setQueryParameters(e))},removeFacet:function(t){return this.isConjunctiveFacet(t)?this.clearRefinements(t).setQueryParameters({facets:this.facets.filter(function(e){return e!==t})}):this},removeDisjunctiveFacet:function(t){return this.isDisjunctiveFacet(t)?this.clearRefinements(t).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter(function(e){return e!==t})}):this},removeHierarchicalFacet:function(t){return this.isHierarchicalFacet(t)?this.clearRefinements(t).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter(function(e){return e.name!==t})}):this},removeFacetRefinement:function(e,t){if(this.isConjunctiveFacet(e))return n.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:n.removeRefinement(this.facetsRefinements,e,t)}):this;throw new Error(e+" is not defined in the facets attribute of the helper configuration")},removeExcludeRefinement:function(e,t){if(this.isConjunctiveFacet(e))return n.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:n.removeRefinement(this.facetsExcludes,e,t)}):this;throw new Error(e+" is not defined in the facets attribute of the helper configuration")},removeDisjunctiveFacetRefinement:function(e,t){if(this.isDisjunctiveFacet(e))return n.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:n.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this;throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration")},removeTagRefinement:function(t){var e;return this.isTagRefined(t)?(e={tagRefinements:this.tagRefinements.filter(function(e){return e!==t})},this.setQueryParameters(e)):this},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(this.isConjunctiveFacet(e))return this.setQueryParameters({facetsRefinements:n.toggleRefinement(this.facetsRefinements,e,t)});throw new Error(e+" is not defined in the facets attribute of the helper configuration")},toggleExcludeFacetRefinement:function(e,t){if(this.isConjunctiveFacet(e))return this.setQueryParameters({facetsExcludes:n.toggleRefinement(this.facetsExcludes,e,t)});throw new Error(e+" is not defined in the facets attribute of the helper configuration")},toggleDisjunctiveFacetRefinement:function(e,t){if(this.isDisjunctiveFacet(e))return this.setQueryParameters({disjunctiveFacetsRefinements:n.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)});throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration")},toggleHierarchicalFacetRefinement:function(e,t){var r,n;if(this.isHierarchicalFacet(e))return r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),n={},void 0!==this.hierarchicalFacetsRefinements[e]&&0<this.hierarchicalFacetsRefinements[e].length&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+r))?-1===t.indexOf(r)?n[e]=[]:n[e]=[t.slice(0,t.lastIndexOf(r))]:n[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:ce(n,this.hierarchicalFacetsRefinements)});throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration")},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");var r;if(this.isHierarchicalFacet(e))return(r={})[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:ce(r,this.hierarchicalFacetsRefinements)});throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.")},removeHierarchicalFacetRefinement:function(e){var t;return this.isHierarchicalFacetRefined(e)?((t={})[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:ce(t,this.hierarchicalFacetsRefinements)})):this},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return-1<this.disjunctiveFacets.indexOf(e)},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return-1<this.facets.indexOf(e)},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&n.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&n.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&n.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){return!!this.isHierarchicalFacet(e)&&(e=this.getHierarchicalRefinement(e),t?-1!==e.indexOf(t):0<e.length)},isNumericRefined:function(e,t,r){var n,i;return void 0===r&&void 0===t?Boolean(this.numericRefinements[e]):(n=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t],void 0!==r&&n?(r=le(r),t=void 0!==(e=this.numericRefinements[e][t],i=r,g(e,function(e){return he(e,i)})),n&&t):n)},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var t=this,e=ue(Object.keys(this.numericRefinements).filter(function(e){return 0<Object.keys(t.numericRefinements[e]).length}),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter(function(e){return 0<t.disjunctiveFacetsRefinements[e].length}).concat(e).concat(this.getRefinedHierarchicalFacets()).sort()},getRefinedHierarchicalFacets:function(){var t=this;return ue(this.hierarchicalFacets.map(function(e){return e.name}),Object.keys(this.hierarchicalFacetsRefinements).filter(function(e){return 0<t.hierarchicalFacetsRefinements[e].length})).sort()},getUnrefinedDisjunctiveFacets:function(){var t=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter(function(e){return-1===t.indexOf(e)})},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","hierarchicalFacets","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacetsRefinements"],getQueryParams:function(){var r=this.managedParameters,n={},i=this;return Object.keys(this).forEach(function(e){var t=i[e];-1===r.indexOf(e)&&void 0!==t&&(n[e]=t)}),n},setQueryParameter:function(e,t){var r;return this[e]===t?this:((r={})[e]=t,this.setQueryParameters(r))},setQueryParameters:function(e){if(!e)return this;var t=o.validate(this,e);if(t)throw t;var r=this,i=o._parseNumbers(e),t=Object.keys(this).reduce(function(e,t){return e[t]=r[t],e},{}),e=Object.keys(i).reduce(function(e,t){var r=void 0!==e[t],n=void 0!==i[t];return r&&!n?te(e,[t]):(n&&(e[t]=i[t]),e)},t);return new this.constructor(e)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(t){return g(this.hierarchicalFacets,function(e){return e.name===t})},getHierarchicalFacetBreadcrumb:function(e){var t;return this.isHierarchicalFacet(e)&&(t=this.getHierarchicalRefinement(e)[0])?(e=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),t.split(e).map(function(e){return e.trim()})):[]},toString:function(){return JSON.stringify(this,null,2)}};function de(e){return Array.isArray(e)?e.filter(Boolean):[]}function me(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)if(t(e[r]))return r;return-1}function pe(e,t){var n=(t||[]).map(function(e){return e.split(":")});return e.reduce(function(e,t){var r=t.split(":"),t=g(n,function(e){return e[0]===r[0]});return 1<r.length||!t?(e[0].push(r[0]),e[1].push(r[1])):(e[0].push(t[0]),e[1].push(t[1])),e},[[],[]])}var ge=o;var ye=function(){return Array.prototype.slice.call(arguments).reduceRight(function(n,i){return Object.keys(Object(i)).forEach(function(e){var t="number"==typeof n[e]?n[e]:0,r=i[e];void 0!==r&&t<=r&&(void 0!==n[e]&&delete n[e],n[e]=r)}),n},{})};var ve=function(e,r,i){return Array.isArray(e)?(Array.isArray(i)||(i=[]),(e=e.map(function(t,e){return{criteria:r.map(function(e){return t[e]}),index:e,value:t}})).sort(function(e,t){for(var r=-1;++r<e.criteria.length;){var n=function(e,t){if(e!==t){var r=void 0!==e,n=null===e,i=void 0!==t,a=null===t;if(!a&&t<e||n&&i||!r)return 1;if(!n&&e<t||a&&r||!i)return-1}return 0}(e.criteria[r],t.criteria[r]);if(n)return!(r>=i.length)&&"desc"===i[r]?-n:n}return e.index-t.index}),e.map(function(e){return e.value})):[]},be=function(m){return function(e,t){function r(e,o,t){var r,c=e;if(0<t){var n=0;for(c=e;n<t;){var i=c&&Array.isArray(c.data)?c.data:[],c=g(i,function(e){return e.isRefined});n++}}return c&&(r=Object.keys(o.data).map(function(e){return[e,o.data[e]]}).filter(function(e){var t,r,n,i,a,e=e[0];return e=e,t=c.path||u,r=f,n=s,a=l,(!(i=u)||0===e.indexOf(i)&&i!==e)&&(!i&&-1===e.indexOf(n)||i&&e.split(n).length-i.split(n).length==1||-1===e.indexOf(n)&&-1===r.indexOf(n)||0===r.indexOf(e)||0===e.indexOf(t+n)&&(a||0===e.indexOf(r)))}),c.data=ve(r.map(function(e){var t,r,n,i,a=e[0],e=e[1];return e=e,a=a,t=s,r=Oe(f),n=o.exhaustive,{name:(i=a.split(t))[i.length-1].trim(),path:a,escapedValue:Se(a),count:e,isRefined:r===a||0===r.indexOf(a+t),exhaustive:n,data:null}}),a[0],a[1])),e}var a,s,u,l,f,n=m.hierarchicalFacets[t],i=m.hierarchicalFacetsRefinements[n.name]&&m.hierarchicalFacetsRefinements[n.name][0]||"",o=m._getHierarchicalFacetSeparator(n),c=m._getHierarchicalRootPath(n),h=m._getHierarchicalShowParentLevel(n),n=pe(m._getHierarchicalFacetSortBy(n)),d=e.every(function(e){return e.exhaustive}),n=(a=n,s=o,l=h,f=i,e);return(n=(u=c)?e.slice(c.split(o).length):n).reduce(r,{name:m.hierarchicalFacets[t].name,count:null,isRefined:!0,path:null,escapedValue:null,exhaustive:d,data:null})}},Se=t,Oe=K;var je=t,Pe=K;function we(e){var r={};return e.forEach(function(e,t){r[e]=t}),r}function Re(e,t,r){t&&t[r]&&(e.stats=t[r])}function xe(l,t,e){var c=t[0]||{},f=(this._rawResults=t,this),r=(Object.keys(c).forEach(function(e){f[e]=c[e]}),ce(e,{persistHierarchicalRootCount:!1})),e=(Object.keys(r).forEach(function(e){f[e]=r[e]}),this.processingTimeMS=t.reduce(function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS},0),this.disjunctiveFacets=[],this.hierarchicalFacets=l.hierarchicalFacets.map(function(){return[]}),this.facets=[],l.getRefinedDisjunctiveFacets()),s=we(l.facets),u=we(l.disjunctiveFacets),n=1,h=c.facets||{};Object.keys(h).forEach(function(e){var t,r,n,i,a=h[e],o=(n=l.hierarchicalFacets,t=e,g(n,function(e){return-1<(e.attributes||[]).indexOf(t)}));o?(n=o.attributes.indexOf(e),r=me(l.hierarchicalFacets,function(e){return e.name===o.name}),f.hierarchicalFacets[r][n]={attribute:e,data:a,exhaustive:c.exhaustiveFacetsCount}):(r=-1!==l.disjunctiveFacets.indexOf(e),n=-1!==l.facets.indexOf(e),r&&(i=u[e],f.disjunctiveFacets[i]={name:e,data:a,exhaustive:c.exhaustiveFacetsCount},Re(f.disjunctiveFacets[i],c.facets_stats,e)),n&&(i=s[e],f.facets[i]={name:e,data:a,exhaustive:c.exhaustiveFacetsCount},Re(f.facets[i],c.facets_stats,e)))}),this.hierarchicalFacets=de(this.hierarchicalFacets),e.forEach(function(e){var i=t[n],a=i&&i.facets?i.facets:{},o=l.getHierarchicalFacetByName(e);Object.keys(a).forEach(function(t){var r,e,n=a[t];o?(r=me(l.hierarchicalFacets,function(e){return e.name===o.name}),-1!==(e=me(f.hierarchicalFacets[r],function(e){return e.attribute===t}))&&(f.hierarchicalFacets[r][e].data=f.persistHierarchicalRootCount?ye(f.hierarchicalFacets[r][e].data,n):ce(n,f.hierarchicalFacets[r][e].data))):(r=u[t],e=c.facets&&c.facets[t]||{},f.disjunctiveFacets[r]={name:t,data:ye(e,n),exhaustive:i.exhaustiveFacetsCount},Re(f.disjunctiveFacets[r],i.facets_stats,t),l.disjunctiveFacetsRefinements[t]&&l.disjunctiveFacetsRefinements[t].forEach(function(e){!f.disjunctiveFacets[r].data[e]&&-1<l.disjunctiveFacetsRefinements[t].indexOf(Pe(e))&&(f.disjunctiveFacets[r].data[e]=0)}))}),n++}),l.getRefinedHierarchicalFacets().forEach(function(e){var c=l.getHierarchicalFacetByName(e),s=l._getHierarchicalFacetSeparator(c),u=l.getHierarchicalRefinement(e);0===u.length||u[0].split(s).length<2||t.slice(n).forEach(function(e){var o=e&&e.facets?e.facets:{};Object.keys(o).forEach(function(t){var e,r,n=o[t],i=me(l.hierarchicalFacets,function(e){return e.name===c.name}),a=me(f.hierarchicalFacets[i],function(e){return e.attribute===t});-1!==a&&(e={},0<u.length&&!f.persistHierarchicalRootCount&&(e[r=u[0].split(s)[0]]=f.hierarchicalFacets[i][a].data[r]),f.hierarchicalFacets[i][a].data=ce(e,n,f.hierarchicalFacets[i][a].data))}),n++})}),Object.keys(l.facetsExcludes).forEach(function(t){var e=l.facetsExcludes[t],r=s[t];f.facets[r]={name:t,data:h[t],exhaustive:c.exhaustiveFacetsCount},e.forEach(function(e){f.facets[r]=f.facets[r]||{name:t},f.facets[r].data=f.facets[r].data||{},f.facets[r].data[e]=0})}),this.hierarchicalFacets=this.hierarchicalFacets.map(be(l)),this.facets=de(this.facets),this.disjunctiveFacets=de(this.disjunctiveFacets),this._state=l}function Ee(r,n){function e(e){return e.name===n}var i,a,t,o,c,s;return r._state.isConjunctiveFacet(n)?(i=g(r.facets,e))?Object.keys(i.data).map(function(e){var t=je(e);return{name:e,escapedValue:t,count:i.data[e],isRefined:r._state.isFacetRefined(n,t),isExcluded:r._state.isExcludeRefined(n,e)}}):[]:r._state.isDisjunctiveFacet(n)?(a=g(r.disjunctiveFacets,e))?Object.keys(a.data).map(function(e){var t=je(e);return{name:e,escapedValue:t,count:a.data[e],isRefined:r._state.isDisjunctiveFacetRefined(n,t)}}):[]:r._state.isHierarchicalFacet(n)?((t=g(r.hierarchicalFacets,e))&&(s=r._state.getHierarchicalFacetByName(n),o=r._state._getHierarchicalFacetSeparator(s),(s=(c=0===(c=Pe(r._state.getHierarchicalRefinement(n)[0]||"")).indexOf(s.rootPath)?c.replace(s.rootPath+o,""):c).split(o)).unshift(n),function t(e,r,n){e.isRefined=e.name===(r[n]&&r[n].trim());e.data&&e.data.forEach(function(e){t(e,r,n+1)})}(t,s,0)),t):void 0}function Fe(e,t){e=g(e,function(e){return e.name===t});return e&&e.stats}function Ie(e,t,r,n,i){var i=g(i,function(e){return e.name===r}),a=i&&i.data&&i.data[n]?i.data[n]:0,i=i&&i.exhaustive||!1;return{type:t,attributeName:r,name:n,count:a,exhaustive:i}}xe.prototype.getFacetByName=function(t){function e(e){return e.name===t}return g(this.facets,e)||g(this.disjunctiveFacets,e)||g(this.hierarchicalFacets,e)},xe.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],xe.prototype.getFacetValues=function(e,t){var l,f,r=Ee(this,e);if(r)return l=ce(t,{sortBy:xe.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),f=this,function t(r,e,n,i){var a;return i=i||0,Array.isArray(e)?r(e,n[i]):e.data&&0!==e.data.length?(a=e.data.map(function(e){return t(r,e,n,i+1)}),a=r(a,n[i]),ce({data:a},e)):e}(function(e,t){t=t;var n,i,a,o,r,c,s,u=(u=f).renderingContent&&u.renderingContent.facetOrdering&&u.renderingContent.facetOrdering.values&&u.renderingContent.facetOrdering.values[t];if(l.facetOrdering&&u)return t=e,n=[],i=[],a=(r=u).hide||[],o=(r.order||[]).reduce(function(e,t,r){return e[t]=r,e},{}),t.forEach(function(e){var t=e.path||e.name,r=-1<a.indexOf(t);r||void 0===o[t]?r||i.push(e):n[o[t]]=e}),n=n.filter(function(e){return e}),"hidden"===(t=r.sortRemainingBy)?n:n.concat(ve(i,(r="alpha"===t?[["path","name"],["asc","asc"]]:[["count"],["desc"]])[0],r[1]));if(Array.isArray(l.sortBy))return t=pe(l.sortBy,xe.DEFAULT_SORT),r=ve(e,t[0],t[1]),0<(c=u&&u.hide?u.hide:[]).length?(s=[],r.forEach(function(e){var t=e.path||e.name;-1===c.indexOf(t)&&s.push(e)}),s):r;if("function"==typeof l.sortBy)return t=l.sortBy,e.sort(t);throw new Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")},r,Array.isArray(r)?[e]:f._state.getHierarchicalFacetByName(r.name).attributes)},xe.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?Fe(this.facets,e):this._state.isDisjunctiveFacet(e)?Fe(this.disjunctiveFacets,e):void 0},xe.prototype.getRefinements=function(){var o=this._state,c=this,s=[];return Object.keys(o.facetsRefinements).forEach(function(t){o.facetsRefinements[t].forEach(function(e){s.push(Ie(0,"facet",t,e,c.facets))})}),Object.keys(o.facetsExcludes).forEach(function(t){o.facetsExcludes[t].forEach(function(e){s.push(Ie(0,"exclude",t,e,c.facets))})}),Object.keys(o.disjunctiveFacetsRefinements).forEach(function(t){o.disjunctiveFacetsRefinements[t].forEach(function(e){s.push(Ie(0,"disjunctive",t,e,c.disjunctiveFacets))})}),Object.keys(o.hierarchicalFacetsRefinements).forEach(function(a){o.hierarchicalFacetsRefinements[a].forEach(function(e){var t,r,n,i;s.push((t=o,r=a,e=e,n=c.hierarchicalFacets,i=t.getHierarchicalFacetByName(r),t=t._getHierarchicalFacetSeparator(i),i=e.split(t),e=g(n,function(e){return e.name===r}),t=i.reduce(function(e,t){var r=e&&g(e.data,function(e){return e.name===t});return void 0!==r?r:e},e),n=t&&t.count||0,i=t&&t.exhaustive||!1,e=t&&t.path||"",{type:"hierarchical",attributeName:r,name:e,count:n,exhaustive:i}))})}),Object.keys(o.numericRefinements).forEach(function(r){var e=o.numericRefinements[r];Object.keys(e).forEach(function(t){e[t].forEach(function(e){s.push({type:"numeric",attributeName:r,name:e,numericValue:e,operator:t})})})}),o.tagRefinements.forEach(function(e){s.push({type:"tag",attributeName:"_tags",name:e})}),s};var _e=xe;var Te=function(r,n){var t,i,a,o={};return n.forEach(function(e){e.forEach(function(e,t){r.includes(e.objectID)||(o[e.objectID]?o[e.objectID]={indexSum:o[e.objectID].indexSum+t,count:o[e.objectID].count+1}:o[e.objectID]={indexSum:t,count:1})})}),t=o,i=n.length,a=[],Object.keys(t).forEach(function(e){t[e].count<2&&(t[e].indexSum+=100),a.push({objectID:e,avgOfIndices:t[e].indexSum/i})}),a.sort(function(e,t){return e.avgOfIndices>t.avgOfIndices?1:-1}).reduce(function(e,t){var r=g(n.reduce(function(e,t){return e.concat(t)},[]),function(e){return e.objectID===t.objectID});return r?e.concat(r):e},[])},K="3.26.1",Ae=t;function i(e,t,r,n){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper (3.26.1)"),this.setClient(e);e=r||{};e.index=t,this.state=ge.make(e),this.recommendState=new ne({params:e.recommendState}),this.lastResults=null,this.lastRecommendResults=null,this._queryId=0,this._recommendQueryId=0,this._lastQueryIdReceived=-1,this._lastRecommendQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0,this._currentNbRecommendQueries=0,this._searchResultsOptions=n,this._recommendCache={}}function De(e){if(e<0)throw new Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function ke(){return this.state.page}J(i,Q),i.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},i.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},i.prototype.searchWithComposition=function(){return this._runComposition({onlyWithDerivedHelpers:!0}),this},i.prototype.recommend=function(){return this._recommend(),this},i.prototype.getQuery=function(){var e=this.state;return se._getHitsSearchParams(e)},i.prototype.searchOnce=function(e,t){var r=e?this.state.setQueryParameters(e):this.state,e=se._getQueries(r.index,r),n=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:r}),!t)return this.client.search(e).then(function(e){return n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),{content:new _e(r,e.results),state:r,_originalResponse:e}},function(e){throw n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),e});this.client.search(e).then(function(e){n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),t(null,new _e(r,e.results),r)}).catch(function(e){n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),t(e,null,r)})},i.prototype.findAnswers=function(e){console.warn("[algoliasearch-helper] answers is no longer supported");var t=this.state,r=this.derivedHelpers[0];if(!r)return Promise.resolve([]);var r=r.getModifiedState(t),t=Y({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:te(se._getHitsSearchParams(r),["attributesToSnippet","hitsPerPage","restrictSearchableAttributes","snippetEllipsisText"])}),n="search for answers was called, but this client does not have a function client.initIndex(index).findAnswers";if("function"!=typeof this.client.initIndex)throw new Error(n);var i=this.client.initIndex(r.index);if("function"!=typeof i.findAnswers)throw new Error(n);return i.findAnswers(r.query,e.queryLanguages,t)},i.prototype.searchForFacetValues=function(r,e,t,n){var i,a,o,c,s="function"==typeof this.client.searchForFacetValues&&"function"!=typeof this.client.searchForFacets,u="function"==typeof this.client.initIndex;if(s||u||"function"==typeof this.client.search)return i=this.state.setQueryParameters(n||{}),a=i.isDisjunctiveFacet(r),n=se.getSearchForFacetQuery(r,e,t,i),this._currentNbQueries++,o=this,t=s?this.client.searchForFacetValues([{indexName:i.index,params:n}]):u?this.client.initIndex(i.index).searchForFacetValues(n):(delete n.facetName,this.client.search([{type:"facet",facet:r,indexName:i.index,params:n}]).then(function(e){return e.results[0]})),this.emit("searchForFacetValues",{state:i,facet:r,query:e}),c=this.lastResults&&this.lastResults.index===i.index&&this.lastResults.renderingContent&&this.lastResults.renderingContent.facetOrdering&&this.lastResults.renderingContent.facetOrdering.values&&this.lastResults.renderingContent.facetOrdering.values[r]&&this.lastResults.renderingContent.facetOrdering.values[r].hide||[],t.then(function(e){return o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),(e=Array.isArray(e)?e[0]:e).facetHits=e.facetHits.reduce(function(e,t){return-1<c.indexOf(t.value)||(t.escapedValue=Ae(t.value),t.isRefined=a?i.isDisjunctiveFacetRefined(r,t.escapedValue):i.isFacetRefined(r,t.escapedValue),e.push(t)),e},[]),e},function(e){throw o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),e});throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues")},i.prototype.searchForCompositionFacetValues=function(t,e,r,n){if("function"!=typeof this.client.searchForFacetValues)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues");var i=this.state.setQueryParameters(n||{}),a=i.isDisjunctiveFacet(t),o=(this._currentNbQueries++,this),n=this.client.searchForFacetValues({compositionID:i.index,facetName:t,searchForFacetValuesRequest:{params:{query:e,maxFacetHits:r,searchQuery:se._getCompositionHitsSearchParams(i)}}});return this.emit("searchForFacetValues",{state:i,facet:t,query:e}),n.then(function(e){return o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),(e=e.results[0]).facetHits.forEach(function(e){e.escapedValue=Ae(e.value),e.isRefined=a?i.isDisjunctiveFacetRefined(t,e.escapedValue):i.isFacetRefined(t,e.escapedValue)}),e},function(e){throw o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),e})},i.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},i.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},i.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},i.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},i.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},i.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},i.prototype.addNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,r),isPageReset:!0}),this},i.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},i.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},i.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},i.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},i.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},i.prototype.addFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.addFrequentlyBoughtTogether(e)}),this},i.prototype.addRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.addRelatedProducts(e)}),this},i.prototype.addTrendingItems=function(e){return this._recommendChange({state:this.recommendState.addTrendingItems(e)}),this},i.prototype.addTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.addTrendingFacets(e)}),this},i.prototype.addLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.addLookingSimilar(e)}),this},i.prototype.removeNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,r),isPageReset:!0}),this},i.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},i.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},i.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},i.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},i.prot