vue-instantsearch
Version:
👀 Lightning-fast Algolia search for Vue apps
1 lines • 338 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){if(e.appId&&e.apiKey)return[e.appId,e.apiKey];if(e.transporter){var t=e.transporter,r=t.headers||t.baseHeaders,n=t.queryParameters||t.baseQueryParameters,i="x-algolia-application-id";return[r[i]||n[i],r["x-algolia-api-key"]||n["x-algolia-api-key"]]}return[e.applicationID,e.apiKey]}function Y(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 G=new RegExp(/\w/i);function X(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 G.test((i=a.value)&&d.test(i)?i.replace(f,function(e){return l[e]}):i)||s!==o?a.isHighlighted:s}function ee(e,t){return(Array.isArray(t)?t:t.split(".")).reduce(function(e,t){return e&&e[t]},e)}function te(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 re(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(te(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(te(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(te(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 ne(e){return(ne="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 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 ae(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){oe(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 oe(e,t,r){var n;return n=function(e,t){if("object"!=ne(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=ne(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==ne(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function se(e,t,r){return e.map(function(e,n){return ae(ae({},e),{},{__position:r*t+n+1})})}function ce(e){return(ce="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 ue(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 le(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?ue(Object(n),!0).forEach(function(t){fe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ue(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function fe(e,t,r){var n;return n=function(e,t){if("object"!=ce(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=ce(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==ce(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function de(e,t){return t?e.map(function(e){return le(le({},e),{},{__queryID:t})}):e}function he(e){return(he="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 me(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 pe(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?me(Object(n),!0).forEach(function(t){ge(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ge(e,t,r){var n;return n=function(e,t){if("object"!=he(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=he(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==he(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ve(e){return(ve="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 ye(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 be(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 be(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 be(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 Se(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 we(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?Se(Object(n),!0).forEach(function(t){Re(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Se(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Re(e,t,r){var n;return n=function(e,t){if("object"!=ve(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=ve(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==ve(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){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 Pe(e){return e!==Object(e)}function je(e,t){if(e===t)return!0;if(Pe(e)||Pe(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(!je(e[i],t[i]))return!1}return!0}function _e(e){return"number"==typeof e&&isFinite(e)}function Fe(e){return e.filter(function(e,t,r){return r.indexOf(e)===t})}function xe(e){return(xe="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 Ie=["facets","disjunctiveFacets","facetsRefinements","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacets","hierarchicalFacetsRefinements","ruleContexts"];function Ee(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 Ae(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?Ee(Object(n),!0).forEach(function(t){Te(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ee(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Te(e,t,r){var n;return n=function(e,t){if("object"!=xe(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=xe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==xe(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ke(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 De=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)})},Le=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:Ae(Ae({},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=ke(t,Ie);return e.setQueryParameters(r)}(function(e,t){return t.facets.reduce(function(e,t){return e.addFacet(t)},e)}(function(e,t){var r=Fe([].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:Ae(Ae({},e.facetsRefinements),t.facetsRefinements)})}(function(e,t){return e.setQueryParameters({facetsExcludes:Ae(Ae({},e.facetsExcludes),t.facetsExcludes)})}(function(e,t){return e.setQueryParameters({disjunctiveFacetsRefinements:Ae(Ae({},e.disjunctiveFacetsRefinements),t.disjunctiveFacetsRefinements)})}(function(e,t){return e.setQueryParameters({numericRefinements:Ae(Ae({},e.numericRefinements),t.numericRefinements)})}(function(e,t){return t.tagRefinements.reduce(function(e,t){return e.addTagRefinement(t)},e)}(De(r,t),t),t),t),t),t),t),t),t),t)})};function Ne(e){return function(e){if(Array.isArray(e))return He(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 He(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 He(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 He(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 Ce(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 Ne(Array(s)).map(function(e,t){return r+t*o})}function Me(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 $e(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 We(e){return(We="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 Ue(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 Qe(e){for(var t=arguments,r=1;r<arguments.length;r++){var n=null!=t[r]?t[r]:{};r%2?Ue(Object(n),!0).forEach(function(t){qe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ue(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"!=We(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=We(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==We(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Be(e){return e.some(function(e){return e.isHighlighted})?e.map(function(t,r){return Qe(Qe({},t),{},{isHighlighted:!X(e,r)})}):e.map(function(e){return Qe(Qe({},e),{},{isHighlighted:!1})})}function Ve(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{fallback:function(){}}).fallback;return"undefined"==typeof window?t():e({window:window})}function Ke(e){return Array.isArray(e)?e:[e]}function ze(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}var Je=ze;function Ze(e){return"function"==typeof e}function Ye(e){return"object"==typeof e&&null!==e}function Ge(e){return void 0===e}ze.prototype._events=void 0,ze.prototype._maxListeners=void 0,ze.defaultMaxListeners=10,ze.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},ze.prototype.emit=function(e){var t,r,n,i,a,o;if(this._events||(this._events={}),"error"===e&&(!this._events.error||Ye(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(Ge(r=this._events[e]))return!1;if(Ze(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(Ye(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},ze.prototype.addListener=function(e,t){var r;if(!Ze(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,Ze(t.listener)?t.listener:t),this._events[e]?Ye(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,Ye(this._events[e])&&!this._events[e].warned&&(r=Ge(this._maxListeners)?ze.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},ze.prototype.on=ze.prototype.addListener,ze.prototype.once=function(e,t){if(!Ze(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},ze.prototype.removeListener=function(e,t){var r,n,i,a;if(!Ze(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||Ze(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(Ye(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},ze.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(Ze(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},ze.prototype.listeners=function(e){return this._events&&this._events[e]?Ze(this._events[e])?[this._events[e]]:this._events[e].slice():[]},ze.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(Ze(t))return 1;if(t)return t.length}return 0},ze.listenerCount=function(e,t){return e.listenerCount(t)};var Xe=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})};function et(e,t,r){this.main=e,this.fn=t,this.recommendFn=r,this.lastResults=null,this.lastRecommendResults=null}Xe(et,Je),et.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},et.prototype.getModifiedState=function(e){return this.fn(e)},et.prototype.getModifiedRecommendState=function(e){return this.recommendFn(e)};var tt=et;var rt=function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},nt=function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")};function it(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}function at(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||(it(i)&&it(n)?e[r]=at(i,n):e[r]="object"==typeof(a=n)&&null!==a?at(Array.isArray(a)?[]:{},a):a)}var a;return e}var ot=function(e){var t=arguments;it(e)||(e={});for(var r=1,n=arguments.length;r<n;r++){var i=t[r];it(i)&&at(e,i)}return e};var st=function(e){return e&&Object.keys(e).length>0};var ct=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 ut(e){e=e||{},this.params=e.params||[]}ut.prototype={constructor:ut,addParams:function(e){var t=this.params.slice();return t.push(e),new ut({params:t})},removeParams:function(e){return new ut({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 lt=ut;function ft(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]})}ft.prototype={constructor:ft};var dt=ft;function ht(e){return Object.keys(e).sort().reduce(function(t,r){return t[r]=e[r],t},{})}var mt={_getQueries:function(e,t){var r=[];return r.push({indexName:e,params:mt._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach(function(n){r.push({indexName:e,params:mt._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=mt._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:mt._getCompositionHitsSearchParams(e)}}]},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(mt._getHitsHierarchicalFacetsAttributes(e)).sort(),r=mt._getFacetFilters(e),n=mt._getNumericFilters(e),i=mt._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),ht(ot({},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(mt._getHitsHierarchicalFacetsAttributes(e)).sort(),r=mt._getFacetFilters(e),n=mt._getNumericFilters(e),i=mt._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,ht(ot({},o,a))},_getDisjunctiveFacetSearchParams:function(e,t,r){var n=mt._getFacetFilters(e,t,r),i=mt._getNumericFilters(e,t),a=mt._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?mt._getDisjunctiveHierarchicalFacetAttribute(e,s,r):t,i.length>0&&(o.numericFilters=i),n.length>0&&(o.facetFilters=n),ht(ot({},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),ht(ot({},mt._getHitsSearchParams(i),a))}},pt=mt,gt=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},{})},vt=function(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)if(t(e[r]))return e[r]};var yt=function(e,t){return e.filter(function(r,n){return t.indexOf(r)>-1&&e.indexOf(r)===n})};var bt=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.")},St=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)},wt={addRefinement:function(e,t,r){if(wt.isRefined(e,t,r))return e;var n=""+r,i=e[t]?e[t].concat(n):[n],a={};return a[t]=i,gt(a,e)},removeRefinement:function(e,t,r){if(void 0===r)return wt.clearRefinement(e,function(e,r){return t===r});var n=""+r;return wt.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 wt.isRefined(e,t,r)?wt.removeRefinement(e,t,r):wt.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return st(e)?{}:e;if("string"==typeof t)return ct(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)}},Rt=wt;function Ot(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,r){return Ot(t[r],e)}):e===t}function Pt(e){var t=e?Pt._parseNumbers(e):{};void 0===t.userToken||St(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!==Pt.PARAMETERS.indexOf(e),i=void 0!==t[e];!n&&i&&(r[e]=t[e])})}Pt.PARAMETERS=Object.keys(new Pt),Pt._parseNumbers=function(e){if(e instanceof Pt)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 ot(e,t)},Pt.make=function(e){var t=new Pt(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},Pt.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&&st(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."):st(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},Pt.prototype={constructor:Pt,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:Rt.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:Rt.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:Rt.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:Rt.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=bt(r);if(this.isNumericRefined(e,t,n))return this;var i=ot({},this.numericRefinements);return i[e]=ot({},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&&Ot(r.val,bt(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 st(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return ct(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 Rt.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:Rt.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 Rt.isRefined(this.fac