vue-instantsearch
Version:
👀 Lightning-fast Algolia search for Vue apps
1 lines • 337 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e=e||self).VueInstantSearch={},e.Vue)}(this,function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var r=0;function n(){}var i=function(e,t){return e};function a(e,t){if(void 0===e||"function"!=typeof e)throw new Error("The render function is not valid (received type ".concat((r=e,Object.prototype.toString.call(r).slice(8,-1)),").\n\n").concat(t));var r}function o(e){var t=e.helper,r=e.attributesToClear,n=void 0===r?[]:r,i=t.state.setPage(0);return i=n.reduce(function(e,t){return i.isNumericRefined(t)?e.removeNumericRefinement(t):i.isHierarchicalFacet(t)?e.removeHierarchicalFacetRefinement(t):i.isDisjunctiveFacet(t)?e.removeDisjunctiveFacetRefinement(t):i.isConjunctiveFacet(t)?e.removeFacetRefinement(t):e},i),-1!==n.indexOf("query")&&(i=i.setQuery("")),i}var s={"&":"&","<":"<",">":">",'"':""","'":"'"},c=/[&<>"']/g,u=RegExp(c.source);var l={"&":"&","<":"<",">":">",""":'"',"'":"'"},f=/&(amp|quot|lt|gt|#39);/g,d=RegExp(f.source);function h(e){return(h="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 m(e){if(!function(e){return"object"===h(e)&&null!==e}(e)||"[object Object]"!==function(e){return null===e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}(e))return!1;if(null===Object.getPrototypeOf(e))return!0;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function p(e){return(p="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 g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=t[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function y(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?v(Object(n),!0).forEach(function(t){b(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function b(e,t,r){var n;return n=function(e,t){if("object"!=p(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==p(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var S={highlightPreTag:"__ais-highlight__",highlightPostTag:"__/ais-highlight__"},w={highlightPreTag:"<mark>",highlightPostTag:"</mark>"};function R(e){return function(e){return e&&u.test(e)?e.replace(c,function(e){return s[e]}):e}(e).replace(new RegExp(S.highlightPreTag,"g"),w.highlightPreTag).replace(new RegExp(S.highlightPostTag,"g"),w.highlightPostTag)}function O(e){return m(e)&&"string"!=typeof e.value?Object.keys(e).reduce(function(t,r){return y(y({},t),{},b({},r,O(e[r])))},{}):Array.isArray(e)?e.map(O):y(y({},e),{},{value:R(e.value)})}function P(e){return void 0===e.__escaped&&((e=e.map(function(e){var t=g({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e));return t._highlightResult&&(t._highlightResult=O(t._highlightResult)),t._snippetResult&&(t._snippetResult=O(t._snippetResult)),t})).__escaped=!0),e}function j(e){var t=w.highlightPreTag,r=w.highlightPostTag;return e.map(function(e){return e.isHighlighted?t+e.value+r:e.value}).join("")}function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function F(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?_(Object(n),!0).forEach(function(t){x(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function x(e,t,r){var n;return n=function(e,t){if("object"!=I(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=I(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==I(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function I(e){return(I="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 E(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,s=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return A(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return A(e,t)}(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 A(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function T(e){var t=e.instantSearchInstance,r=e.helper,n=e.attribute,i=e.widgetType;return function(){for(var e=arguments,a=arguments.length,o=new Array(a),s=0;s<a;s++)o[s]=e[s];var c=o[1],u=o[2],l=void 0===u?"Filter Applied":u,f=o[3],d=void 0===f?{}:f,h=E(o[0].split(":"),2),m=h[0],p=h[1],g="string"==typeof n?n:n(c);if(1===o.length&&"object"===I(o[0]))t.sendEventToInsights(o[0]);else if("click"===m&&o.length>=2&&o.length<=4){var v;(function(e,t,r){return e.state.isHierarchicalFacet(t)?e.state.isHierarchicalFacetRefined(t,r):e.state.isConjunctiveFacet(t)?e.state.isFacetRefined(t,r):e.state.isDisjunctiveFacetRefined(t,r)})(r,g,c)||t.sendEventToInsights({insightsMethod:"clickedFilters",widgetType:i,eventType:m,eventModifier:p,payload:F({eventName:l,index:(null===(v=r.lastResults)||void 0===v?void 0:v.index)||r.state.index,filters:["".concat(g,":").concat(c)]},d),attribute:g})}}}function k(e){return btoa(encodeURIComponent(JSON.stringify(e)))}function D(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function L(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?D(Object(n),!0).forEach(function(t){N(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function N(e,t,r){var n;return n=function(e,t){if("object"!=M(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=M(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==M(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function H(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,s=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return C(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return C(e,t)}(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 C(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function M(e){return(M="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 $(e){var t=e.helper,r=e.widgetType,n=(e.methodName,e.args),i=e.instantSearchInstance;if(1===n.length&&"object"===M(n[0]))return[n[0]];var a=H(n[0].split(":"),2),o=a[0],s=a[1],c=n[1],u=n[2],l=n[3]||{};if(!c)return[];if(("click"===o||"conversion"===o)&&!u)return[];var f=Array.isArray(c)?c:[c];if(0===f.length)return[];var d=f[0].__queryID,h=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,r=[],n=0;n<Math.ceil(e.length/t);n++)r.push(e.slice(n*t,(n+1)*t));return r}(f),m=h.map(function(e){return e.map(function(e){return e.objectID})}),p=h.map(function(e){return e.map(function(e){return e.__position})});return"view"===o?"idle"!==i.status?[]:h.map(function(e,n){var i;return{insightsMethod:"viewedObjectIDs",widgetType:r,eventType:o,payload:L({eventName:u||"Hits Viewed",index:(null===(i=t.lastResults)||void 0===i?void 0:i.index)||t.state.index,objectIDs:m[n]},l),hits:e,eventModifier:s}}):"click"===o?h.map(function(e,n){var i;return{insightsMethod:"clickedObjectIDsAfterSearch",widgetType:r,eventType:o,payload:L({eventName:u||"Hit Clicked",index:(null===(i=t.lastResults)||void 0===i?void 0:i.index)||t.state.index,queryID:d,objectIDs:m[n],positions:p[n]},l),hits:e,eventModifier:s}}):"conversion"===o?h.map(function(e,n){var i;return{insightsMethod:"convertedObjectIDsAfterSearch",widgetType:r,eventType:o,payload:L({eventName:u||"Hit Converted",index:(null===(i=t.lastResults)||void 0===i?void 0:i.index)||t.state.index,queryID:d,objectIDs:m[n]},l),hits:e,eventModifier:s}}):[]}function W(e){var t=e.instantSearchInstance,r=e.helper,n=e.widgetType,i={},a=void 0;return function(){for(var e=arguments,o=arguments.length,s=new Array(o),c=0;c<o;c++)s[c]=e[c];$({widgetType:n,helper:r,methodName:"sendEvent",args:s,instantSearchInstance:t}).forEach(function(e){"click"===e.eventType&&"internal"===e.eventModifier&&i[e.eventType]||(i[e.eventType]=!0,t.sendEventToInsights(e))}),clearTimeout(a),a=setTimeout(function(){i={}},0)}}function U(e){var t=e.helper,r=e.widgetType,n=e.instantSearchInstance;return function(){for(var e=arguments,i=arguments.length,a=new Array(i),o=0;o<i;o++)a[o]=e[o];var s=$({widgetType:r,helper:t,methodName:"bindEvent",args:a,instantSearchInstance:n});return s.length?"data-insights-event=".concat(k(s)):""}}function Q(e){return"ais.index"===e.$$type}function q(e,t){var r=e[t.getIndexId()]||{};t.getHelper().setState(t.getWidgetSearchParameters(t.getHelper().state,{uiState:r})),t.getWidgets().filter(Q).forEach(function(t){return q(e,t)})}var B=Promise.resolve();function V(e){var t=null,r=!1,n=function(){for(var n=arguments,i=arguments.length,a=new Array(i),o=0;o<i;o++)a[o]=n[o];null===t&&(t=B.then(function(){t=null,r?r=!1:e.apply(void 0,a)}))};return n.wait=function(){if(null===t)throw new Error("The deferred function should be called before calling `wait()`");return t},n.cancel=function(){null!==t&&(r=!0)},n}function K(){for(var e=arguments,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=e[n];var i=r.map(function(e){return r=(t=e).name,n=t.connector,["https://www.algolia.com/doc/api-reference/widgets/",r,"/js/",void 0!==n&&n?"#connector":""].join("");var t,r,n}).join(", ");return function(e){return[e,"See documentation: ".concat(i)].filter(Boolean).join("\n\n")}}function z(e){return"number"==typeof e&&e<0||"string"==typeof e?String(e).replace(/^-/,"\\-"):e}function J(e,t){for(var r,n=0;n<e.length;n++)if(t(r=e[n],n,e))return r}function Z(e){var t=w.highlightPostTag,r=w.highlightPreTag,n=e.split(r),i=n.shift(),a=i?[{value:i,isHighlighted:!1}]:[];return n.forEach(function(e){var r=e.split(t);a.push({value:r[0],isHighlighted:!0}),""!==r[1]&&a.push({value:r[1],isHighlighted:!1})}),a}var Y=new RegExp(/\w/i);function G(e,t){var r,n,i,a=e[t],o=(null===(r=e[t+1])||void 0===r?void 0:r.isHighlighted)||!0,s=(null===(n=e[t-1])||void 0===n?void 0:n.isHighlighted)||!0;return Y.test((i=a.value)&&d.test(i)?i.replace(f,function(e){return l[e]}):i)||s!==o?a.isHighlighted:s}function X(e,t){return(Array.isArray(t)?t:t.split(".")).reduce(function(e,t){return e&&e[t]},e)}function ee(e,t,r,n){var i,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o={type:t,attribute:r,name:n,escapedValue:z(n)},s=J(a,function(e){return e.name===r});if("hierarchical"===t){for(var c=e.getHierarchicalFacetByName(r),u=n.split(c.separator),l=function(e){var t;s=s&&s.data&&J(Object.keys(s.data).map((t=s.data,function(e){return t[e]})),function(t){return t.name===u[e]})},f=0;void 0!==s&&f<u.length;++f)l(f);i=s&&s.count}else i=s&&s.data&&s.data[o.name];return void 0!==i&&(o.count=i),s&&void 0!==s.exhaustive&&(o.exhaustive=s.exhaustive),o}function te(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e||{},i=[],a=t.facetsRefinements,o=void 0===a?{}:a,s=t.facetsExcludes,c=void 0===s?{}:s,u=t.disjunctiveFacetsRefinements,l=void 0===u?{}:u,f=t.hierarchicalFacetsRefinements,d=void 0===f?{}:f,h=t.numericRefinements,m=void 0===h?{}:h,p=t.tagRefinements,g=void 0===p?[]:p;return Object.keys(o).forEach(function(e){o[e].forEach(function(r){i.push(ee(t,"facet",e,r,n.facets))})}),Object.keys(c).forEach(function(e){c[e].forEach(function(t){i.push({type:"exclude",attribute:e,name:t,exclude:!0})})}),Object.keys(l).forEach(function(e){l[e].forEach(function(r){var a;i.push(ee(t,"disjunctive",e,"string"==typeof(a=r)?a.replace(/^\\-/,"-"):a,n.disjunctiveFacets))})}),Object.keys(d).forEach(function(e){d[e].forEach(function(r){i.push(ee(t,"hierarchical",e,r,n.hierarchicalFacets))})}),Object.keys(m).forEach(function(e){var t=m[e];Object.keys(t).forEach(function(r){var n=r,a=t[n];(Array.isArray(a)?a:[a]).forEach(function(t){i.push({type:"numeric",attribute:e,name:"".concat(t),numericValue:t,operator:n})})})}),g.forEach(function(e){i.push({type:"tag",attribute:"_tags",name:e})}),r&&t.query&&t.query.trim()&&i.push({attribute:"query",type:"query",name:t.query,query:t.query}),i}function re(e){return(re="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 ne(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ie(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?ne(Object(n),!0).forEach(function(t){ae(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ae(e,t,r){var n;return n=function(e,t){if("object"!=re(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=re(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==re(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function oe(e,t,r){return e.map(function(e,n){return ie(ie({},e),{},{__position:r*t+n+1})})}function se(e){return(se="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 ce(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ue(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?ce(Object(n),!0).forEach(function(t){le(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ce(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function le(e,t,r){var n;return n=function(e,t){if("object"!=se(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=se(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==se(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fe(e,t){return t?e.map(function(e){return ue(ue({},e),{},{__queryID:t})}):e}function de(e){return(de="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 he(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function me(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?he(Object(n),!0).forEach(function(t){pe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):he(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function pe(e,t,r){var n;return n=function(e,t){if("object"!=de(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=de(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==de(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ge(e){return(ge="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 ve(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,s=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ye(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ye(e,t)}(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 ye(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function be(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Se(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?be(Object(n),!0).forEach(function(t){we(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):be(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function we(e,t,r){var n;return n=function(e,t){if("object"!=ge(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=ge(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==ge(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Re(e){return Object.keys(e).map(function(t){return function(e){for(var t=arguments,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=t[i];var a=0;return e.replace(/%s/g,function(){return encodeURIComponent(n[a++])})}("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r}).join("&")}function Oe(e){return e!==Object(e)}function Pe(e,t){if(e===t)return!0;if(Oe(e)||Oe(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var r=0,n=Object.keys(e);r<n.length;r++){var i=n[r];if(!(i in t))return!1;if(!Pe(e[i],t[i]))return!1}return!0}function je(e){return"number"==typeof e&&isFinite(e)}function _e(e){return e.filter(function(e,t,r){return r.indexOf(e)===t})}function Fe(e){return(Fe="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)}var xe=["facets","disjunctiveFacets","facetsRefinements","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacets","hierarchicalFacetsRefinements","ruleContexts"];function Ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ee(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?Ie(Object(n),!0).forEach(function(t){Ae(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ie(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ae(e,t,r){var n;return n=function(e,t){if("object"!=Fe(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Fe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==Fe(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Te(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var ke=function(e,t){return e.setQueryParameters({hierarchicalFacets:t.hierarchicalFacets.reduce(function(e,t){var r=function(e,t){if(!Array.isArray(e))return-1;for(var r=0;r<e.length;r++)if(t(e[r]))return r;return-1}(e,function(e){return e.name===t.name});if(-1===r)return e.concat(t);var n=e.slice();return n.splice(r,1,t),n},e.hierarchicalFacets)})},De=function(){for(var e=arguments,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=e[n];return r.reduce(function(e,t){var r=function(e,t){return e.setQueryParameters({hierarchicalFacetsRefinements:Ee(Ee({},e.hierarchicalFacetsRefinements),t.hierarchicalFacetsRefinements)})}(e,t);return function(e,t){t.facets,t.disjunctiveFacets,t.facetsRefinements,t.facetsExcludes,t.disjunctiveFacetsRefinements,t.numericRefinements,t.tagRefinements,t.hierarchicalFacets,t.hierarchicalFacetsRefinements,t.ruleContexts;var r=Te(t,xe);return e.setQueryParameters(r)}(function(e,t){return t.facets.reduce(function(e,t){return e.addFacet(t)},e)}(function(e,t){var r=_e([].concat(e.ruleContexts).concat(t.ruleContexts).filter(Boolean));return r.length>0?e.setQueryParameters({ruleContexts:r}):e}(function(e,t){return t.disjunctiveFacets.reduce(function(e,t){return e.addDisjunctiveFacet(t)},e)}(function(e,t){return e.setQueryParameters({facetsRefinements:Ee(Ee({},e.facetsRefinements),t.facetsRefinements)})}(function(e,t){return e.setQueryParameters({facetsExcludes:Ee(Ee({},e.facetsExcludes),t.facetsExcludes)})}(function(e,t){return e.setQueryParameters({disjunctiveFacetsRefinements:Ee(Ee({},e.disjunctiveFacetsRefinements),t.disjunctiveFacetsRefinements)})}(function(e,t){return e.setQueryParameters({numericRefinements:Ee(Ee({},e.numericRefinements),t.numericRefinements)})}(function(e,t){return t.tagRefinements.reduce(function(e,t){return e.addTagRefinement(t)},e)}(ke(r,t),t),t),t),t),t),t),t),t),t)})};function Le(e){return function(e){if(Array.isArray(e))return Ne(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Ne(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ne(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ne(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function He(e){var t=e.start,r=void 0===t?0:t,n=e.end,i=e.step,a=void 0===i?1:i,o=0===a?1:a,s=Math.round((n-r)/o);return Le(Array(s)).map(function(e,t){return r+t*o})}function Ce(e,t,r){var n=t.getHelper();return{uiState:r,helper:n,parent:t,instantSearchInstance:e,state:n.state,renderState:e.renderState,templatesConfig:e.templatesConfig,createURL:t.createURL,scopedResults:[],searchMetadata:{isSearchStalled:"stalled"===e.status},status:e.status,error:e.error}}function Me(e,t,r){var n=t.getResultsForWidget(r),i=t.getHelper();return{helper:i,parent:t,instantSearchInstance:e,results:n,scopedResults:t.getScopedResults(),state:n&&"_state"in n?n._state:i.state,renderState:e.renderState,templatesConfig:e.templatesConfig,createURL:t.createURL,searchMetadata:{isSearchStalled:"stalled"===e.status},status:e.status,error:e.error}}function $e(e){return($e="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 We(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ue(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?We(Object(n),!0).forEach(function(t){Qe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):We(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Qe(e,t,r){var n;return n=function(e,t){if("object"!=$e(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=$e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==$e(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function qe(e){return e.some(function(e){return e.isHighlighted})?e.map(function(t,r){return Ue(Ue({},t),{},{isHighlighted:!G(e,r)})}):e.map(function(e){return Ue(Ue({},e),{},{isHighlighted:!1})})}function Be(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{fallback:function(){}}).fallback;return"undefined"==typeof window?t():e({window:window})}function Ve(e){return Array.isArray(e)?e:[e]}function Ke(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}var ze=Ke;function Je(e){return"function"==typeof e}function Ze(e){return"object"==typeof e&&null!==e}function Ye(e){return void 0===e}Ke.prototype._events=void 0,Ke.prototype._maxListeners=void 0,Ke.defaultMaxListeners=10,Ke.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},Ke.prototype.emit=function(e){var t,r,n,i,a,o;if(this._events||(this._events={}),"error"===e&&(!this._events.error||Ze(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var s=new Error('Uncaught, unspecified "error" event. ('+t+")");throw s.context=t,s}if(Ye(r=this._events[e]))return!1;if(Je(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:i=Array.prototype.slice.call(arguments,1),r.apply(this,i)}else if(Ze(r))for(i=Array.prototype.slice.call(arguments,1),n=(o=r.slice()).length,a=0;a<n;a++)o[a].apply(this,i);return!0},Ke.prototype.addListener=function(e,t){var r;if(!Je(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,Je(t.listener)?t.listener:t),this._events[e]?Ze(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,Ze(this._events[e])&&!this._events[e].warned&&(r=Ye(this._maxListeners)?Ke.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[e].length>r&&(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},Ke.prototype.on=Ke.prototype.addListener,Ke.prototype.once=function(e,t){if(!Je(t))throw TypeError("listener must be a function");var r=!1;function n(){this.removeListener(e,n),r||(r=!0,t.apply(this,arguments))}return n.listener=t,this.on(e,n),this},Ke.prototype.removeListener=function(e,t){var r,n,i,a;if(!Je(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(i=(r=this._events[e]).length,n=-1,r===t||Je(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(Ze(r)){for(a=i;a-- >0;)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},Ke.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(Je(r=this._events[e]))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},Ke.prototype.listeners=function(e){return this._events&&this._events[e]?Je(this._events[e])?[this._events[e]]:this._events[e].slice():[]},Ke.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(Je(t))return 1;if(t)return t.length}return 0},Ke.listenerCount=function(e,t){return e.listenerCount(t)};var Ge=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})};function Xe(e,t,r){this.main=e,this.fn=t,this.recommendFn=r,this.lastResults=null,this.lastRecommendResults=null}Ge(Xe,ze),Xe.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},Xe.prototype.getModifiedState=function(e){return this.fn(e)},Xe.prototype.getModifiedRecommendState=function(e){return this.recommendFn(e)};var et=Xe;var tt=function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},rt=function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")};function nt(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}function it(e,t){if(e===t)return e;for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&"__proto__"!==r&&"constructor"!==r){var n=t[r],i=e[r];void 0!==i&&void 0===n||(nt(i)&&nt(n)?e[r]=it(i,n):e[r]="object"==typeof(a=n)&&null!==a?it(Array.isArray(a)?[]:{},a):a)}var a;return e}var at=function(e){var t=arguments;nt(e)||(e={});for(var r=1,n=arguments.length;r<n;r++){var i=t[r];nt(i)&&it(e,i)}return e};var ot=function(e){return e&&Object.keys(e).length>0};var st=function(e,t){if(null===e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i};function ct(e){e=e||{},this.params=e.params||[]}ct.prototype={constructor:ct,addParams:function(e){var t=this.params.slice();return t.push(e),new ct({params:t})},removeParams:function(e){return new ct({params:this.params.filter(function(t){return t.$$id!==e})})},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(e,t){return this.params.filter(function(e){return void 0===t[e.$$id]}).map(function(t){var r=Object.assign({},t,{indexName:e,threshold:t.threshold||0});return delete r.$$id,r})}};var ut=ct;function lt(e,t){this._state=e,this._rawResults={};var r=this;e.params.forEach(function(e){var n=e.$$id;r[n]=t[n],r._rawResults[n]=t[n]})}lt.prototype={constructor:lt};var ft=lt;function dt(e){return Object.keys(e).sort().reduce(function(t,r){return t[r]=e[r],t},{})}var ht={_getQueries:function(e,t){var r=[];return r.push({indexName:e,params:ht._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach(function(n){r.push({indexName:e,params:ht._getDisjunctiveFacetSearchParams(t,n)})}),t.getRefinedHierarchicalFacets().forEach(function(n){var i=t.getHierarchicalFacetByName(n),a=t.getHierarchicalRefinement(n),o=t._getHierarchicalFacetSeparator(i);if(a.length>0&&a[0].split(o).length>1){var s=a[0].split(o).slice(0,-1).reduce(function(e,t,r){return e.concat({attribute:i.attributes[r],value:0===r?t:[e[e.length-1].value,t].join(o)})},[]);s.forEach(function(n,a){var o=ht._getDisjunctiveFacetSearchParams(t,n.attribute,0===a);function c(e){return i.attributes.some(function(t){return t===e.split(":")[0]})}var u=(o.facetFilters||[]).reduce(function(e,t){if(Array.isArray(t)){var r=t.filter(function(e){return!c(e)});r.length>0&&e.push(r)}return"string"!=typeof t||c(t)||e.push(t),e},[]),l=s[a-1];a>0?o.facetFilters=u.concat(l.attribute+":"+l.value):u.length>0?o.facetFilters=u:delete o.facetFilters,r.push({indexName:e,params:o})})}}),r},_getCompositionQueries:function(e){return[{compositionID:e.index,requestBody:{params:ht._getCompositionHitsSearchParams(e)}}]},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(ht._getHitsHierarchicalFacetsAttributes(e)).sort(),r=ht._getFacetFilters(e),n=ht._getNumericFilters(e),i=ht._getTagFilters(e),a={};return t.length>0&&(a.facets=t.indexOf("*")>-1?["*"]:t),i.length>0&&(a.tagFilters=i),r.length>0&&(a.facetFilters=r),n.length>0&&(a.numericFilters=n),dt(at({},e.getQueryParams(),a))},_getCompositionHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets.map(function(t){return e.disjunctiveFacetsRefinements&&e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].length>0?"disjunctive("+t+")":t})).concat(ht._getHitsHierarchicalFacetsAttributes(e)).sort(),r=ht._getFacetFilters(e),n=ht._getNumericFilters(e),i=ht._getTagFilters(e),a={};t.length>0&&(a.facets=t.indexOf("*")>-1?["*"]:t),i.length>0&&(a.tagFilters=i),r.length>0&&(a.facetFilters=r),n.length>0&&(a.numericFilters=n);var o=e.getQueryParams();return delete o.highlightPreTag,delete o.highlightPostTag,delete o.index,dt(at({},o,a))},_getDisjunctiveFacetSearchParams:function(e,t,r){var n=ht._getFacetFilters(e,t,r),i=ht._getNumericFilters(e,t),a=ht._getTagFilters(e),o={hitsPerPage:0,page:0,analytics:!1,clickAnalytics:!1};a.length>0&&(o.tagFilters=a);var s=e.getHierarchicalFacetByName(t);return o.facets=s?ht._getDisjunctiveHierarchicalFacetAttribute(e,s,r):t,i.length>0&&(o.numericFilters=i),n.length>0&&(o.facetFilters=n),dt(at({},e.getQueryParams(),o))},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var r=[];return Object.keys(e.numericRefinements).forEach(function(n){var i=e.numericRefinements[n]||{};Object.keys(i).forEach(function(e){var a=i[e]||[];t!==n&&a.forEach(function(t){if(Array.isArray(t)){var i=t.map(function(t){return n+e+t});r.push(i)}else r.push(n+e+t)})})}),r},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,r){var n=[],i=e.facetsRefinements||{};Object.keys(i).sort().forEach(function(e){(i[e]||[]).slice().sort().forEach(function(t){n.push(e+":"+t)})});var a=e.facetsExcludes||{};Object.keys(a).sort().forEach(function(e){(a[e]||[]).sort().forEach(function(t){n.push(e+":-"+t)})});var o=e.disjunctiveFacetsRefinements||{};Object.keys(o).sort().forEach(function(e){var r=o[e]||[];if(e!==t&&r&&0!==r.length){var i=[];r.slice().sort().forEach(function(t){i.push(e+":"+t)}),n.push(i)}});var s=e.hierarchicalFacetsRefinements||{};return Object.keys(s).sort().forEach(function(i){var a=(s[i]||[])[0];if(void 0!==a){var o,c,u=e.getHierarchicalFacetByName(i),l=e._getHierarchicalFacetSeparator(u),f=e._getHierarchicalRootPath(u);if(t===i){if(-1===a.indexOf(l)||!f&&!0===r||f&&f.split(l).length===a.split(l).length)return;f?(c=f.split(l).length-1,a=f):(c=a.split(l).length-2,a=a.slice(0,a.lastIndexOf(l))),o=u.attributes[c]}else c=a.split(l).length-1,o=u.attributes[c];o&&n.push([o+":"+a])}}),n},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce(function(t,r){var n=e.getHierarchicalRefinement(r.name)[0];if(!n)return t.push(r.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(r),a=n.split(i).length,o=r.attributes.slice(0,a+1);return t.concat(o)},[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,r){var n=e._getHierarchicalFacetSeparator(t);if(!0===r){var i=e._getHierarchicalRootPath(t),a=0;return i&&(a=i.split(n).length),[t.attributes[a]]}var o=(e.getHierarchicalRefinement(t.name)[0]||"").split(n).length-1;return t.attributes.slice(0,o+1)},getSearchForFacetQuery:function(e,t,r,n){var i=n.isDisjunctiveFacet(e)?n.clearRefinements(e):n,a={facetQuery:t,facetName:e};return"number"==typeof r&&(a.maxFacetHits=r),dt(at({},ht._getHitsSearchParams(i),a))}},mt=ht,pt=function(){return Array.prototype.slice.call(arguments).reduceRight(function(e,t){return Object.keys(Object(t)).forEach(function(r){void 0!==t[r]&&(void 0!==e[r]&&delete e[r],e[r]=t[r])}),e},{})},gt=function(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)if(t(e[r]))return e[r]};var vt=function(e,t){return e.filter(function(r,n){return t.indexOf(r)>-1&&e.indexOf(r)===n})};var yt=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.")},bt=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)},St={addRefinement:function(e,t,r){if(St.isRefined(e,t,r))return e;var n=""+r,i=e[t]?e[t].concat(n):[n],a={};return a[t]=i,pt(a,e)},removeRefinement:function(e,t,r){if(void 0===r)return St.clearRefinement(e,function(e,r){return t===r});var n=""+r;return St.clearRefinement(e,function(e,r){return t===r&&n===e})},toggleRefinement:function(e,t,r){if(void 0===r)throw new Error("toggleRefinement should be used with a value");return St.isRefined(e,t,r)?St.removeRefinement(e,t,r):St.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return ot(e)?{}:e;if("string"==typeof t)return st(e,[t]);if("function"==typeof t){var n=!1,i=Object.keys(e).reduce(function(i,a){var o=e[a]||[],s=o.filter(function(e){return!t(e,a,r)});return s.length!==o.length&&(n=!0),i[a]=s,i},{});return n?i:e}},isRefined:function(e,t,r){var n=Boolean(e[t])&&e[t].length>0;if(void 0===r||!n)return n;var i=""+r;return-1!==e[t].indexOf(i)}},wt=St;function Rt(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,r){return Rt(t[r],e)}):e===t}function Ot(e){var t=e?Ot._parseNumbers(e):{};void 0===t.userToken||bt(t.userToken)||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=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var r=this;Object.keys(t).forEach(function(e){var n=-1!==Ot.PARAMETERS.indexOf(e),i=void 0!==t[e];!n&&i&&(r[e]=t[e])})}Ot.PARAMETERS=Object.keys(new Ot),Ot._parseNumbers=function(e){if(e instanceof Ot)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach(function(r){var n=e[r];if("string"==typeof n){var i=parseFloat(n);t[r]=isNaN(i)?n:i}}),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map(function(e){return Array.isArray(e)?e.map(function(e){return parseFloat(e)}):e})),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach(function(t){var n=e.numericRefinements[t]||{};r[t]={},Object.keys(n).forEach(function(e){var i=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});r[t][e]=i})}),t.numericRefinements=r}return at(e,t)},Ot.make=function(e){var t=new Ot(e);return(e.hierarchicalFacets||[]).forEach(function(e){if(e.rootPath){var r=t.getHierarchicalRefinement(e.name);r.length>0&&0!==r[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(r=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}}),t},Ot.validate=function(e,t){var r=t||{};return e.tagFilters&&r.tagRefinements&&r.tagRefinements.length>0?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."):e.tagRefinements.length>0&&r.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&&r.numericRefinements&&ot(r.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."):ot(e.numericRefinements)&&r.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},Ot.prototype={constructor:Ot,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:wt.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:wt.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:wt.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:wt.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},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=yt(r);if(this.isNumericRefined(e,t,n))return this;var i=at({},this.numericRefinements);return i[e]=at({},i[e]),i[e][t]?(i[e][t]=i[e][t].slice(),i[e][t].push(n)):i[e][t]=[n],this.setQueryParameters({numericRefinements:i})},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(e,t,r){var n=r;return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(r,i){return i===e&&r.op===t&&Rt(r.val,yt(n))})}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(r,n){return n===e&&r.op===t})}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(t,r){return r===e})}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return ot(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return st(this.numericRefinements,[e]);if("function"==typeof e){var t=!1,r=this.numericRefinements,n=Object.keys(r).reduce(function(n,i){var a=r[i],o={};return a=a||{},Object.keys(a).forEach(function(r){var n=a[r]||[],s=[];n.forEach(function(t){e({val:t,op:r},i,"numeric")||s.push(t)}),s.length!==n.length&&(t=!0),o[r]=s}),n[i]=o,n},{});return t?n:this.numericRefinements}},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))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return wt.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:wt.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return wt.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:wt.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return wt.isRef