@searchstax-inc/searchstudio-ux-react 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +440 -4
- package/dist/@searchstax-inc/components/SearchstaxExternalPromotionsWidget.d.ts +5 -0
- package/dist/@searchstax-inc/components/SearchstaxFacetsWidget.d.ts +14 -0
- package/dist/@searchstax-inc/components/SearchstaxRelatedSearchesWidget.d.ts +7 -0
- package/dist/@searchstax-inc/main.d.ts +4 -1
- package/dist/@searchstax-inc/searchstudio-ux-react.cjs +15 -15
- package/dist/@searchstax-inc/searchstudio-ux-react.d.cts +4 -1
- package/dist/@searchstax-inc/searchstudio-ux-react.iife.js +18 -18
- package/dist/@searchstax-inc/searchstudio-ux-react.mjs +1502 -996
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(Y,j){"use strict";var xe={exports:{}},ie={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.min.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Pe;function st(){if(Pe)return ie;Pe=1;var n=
|
|
9
|
+
*/var Pe;function st(){if(Pe)return ie;Pe=1;var n=j,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,s=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,r={key:!0,ref:!0,__self:!0,__source:!0};function c(l,h,d){var p,v={},C=null,E=null;d!==void 0&&(C=""+d),h.key!==void 0&&(C=""+h.key),h.ref!==void 0&&(E=h.ref);for(p in h)a.call(h,p)&&!r.hasOwnProperty(p)&&(v[p]=h[p]);if(l&&l.defaultProps)for(p in h=l.defaultProps,h)v[p]===void 0&&(v[p]=h[p]);return{$$typeof:e,type:l,key:C,ref:E,props:v,_owner:s.current}}return ie.Fragment=t,ie.jsx=c,ie.jsxs=c,ie}var ne={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,23 +14,23 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var
|
|
18
|
-
`+
|
|
19
|
-
`)
|
|
20
|
-
`),
|
|
21
|
-
`+
|
|
17
|
+
*/var Fe;function rt(){return Fe||(Fe=1,process.env.NODE_ENV!=="production"&&function(){var n=j,e=Symbol.for("react.element"),t=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),l=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),C=Symbol.for("react.lazy"),E=Symbol.for("react.offscreen"),A=Symbol.iterator,R="@@iterator";function L(i){if(i===null||typeof i!="object")return null;var g=A&&i[A]||i[R];return typeof g=="function"?g:null}var P=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function T(i){{for(var g=arguments.length,f=new Array(g>1?g-1:0),S=1;S<g;S++)f[S-1]=arguments[S];_("error",i,f)}}function _(i,g,f){{var S=P.ReactDebugCurrentFrame,w=S.getStackAddendum();w!==""&&(g+="%s",f=f.concat([w]));var M=f.map(function(I){return String(I)});M.unshift("Warning: "+g),Function.prototype.apply.call(console[i],console,M)}}var B=!1,N=!1,K=!1,m=!1,y=!1,O;O=Symbol.for("react.module.reference");function H(i){return!!(typeof i=="string"||typeof i=="function"||i===a||i===r||y||i===s||i===d||i===p||m||i===E||B||N||K||typeof i=="object"&&i!==null&&(i.$$typeof===C||i.$$typeof===v||i.$$typeof===c||i.$$typeof===l||i.$$typeof===h||i.$$typeof===O||i.getModuleId!==void 0))}function Z(i,g,f){var S=i.displayName;if(S)return S;var w=g.displayName||g.name||"";return w!==""?f+"("+w+")":f}function ue(i){return i.displayName||"Context"}function Q(i){if(i==null)return null;if(typeof i.tag=="number"&&T("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case a:return"Fragment";case t:return"Portal";case r:return"Profiler";case s:return"StrictMode";case d:return"Suspense";case p:return"SuspenseList"}if(typeof i=="object")switch(i.$$typeof){case l:var g=i;return ue(g)+".Consumer";case c:var f=i;return ue(f._context)+".Provider";case h:return Z(i,i.render,"ForwardRef");case v:var S=i.displayName||null;return S!==null?S:Q(i.type)||"Memo";case C:{var w=i,M=w._payload,I=w._init;try{return Q(I(M))}catch{return null}}}return null}var X=Object.assign,de=0,Ae,Ne,De,_e,He,We,qe;function Be(){}Be.__reactDisabledLog=!0;function ea(){{if(de===0){Ae=console.log,Ne=console.info,De=console.warn,_e=console.error,He=console.group,We=console.groupCollapsed,qe=console.groupEnd;var i={configurable:!0,enumerable:!0,value:Be,writable:!0};Object.defineProperties(console,{info:i,log:i,warn:i,error:i,group:i,groupCollapsed:i,groupEnd:i})}de++}}function ta(){{if(de--,de===0){var i={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:X({},i,{value:Ae}),info:X({},i,{value:Ne}),warn:X({},i,{value:De}),error:X({},i,{value:_e}),group:X({},i,{value:He}),groupCollapsed:X({},i,{value:We}),groupEnd:X({},i,{value:qe})})}de<0&&T("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Se=P.ReactCurrentDispatcher,Te;function pe(i,g,f){{if(Te===void 0)try{throw Error()}catch(w){var S=w.stack.trim().match(/\n( *(at )?)/);Te=S&&S[1]||""}return`
|
|
18
|
+
`+Te+i}}var Le=!1,me;{var aa=typeof WeakMap=="function"?WeakMap:Map;me=new aa}function Ve(i,g){if(!i||Le)return"";{var f=me.get(i);if(f!==void 0)return f}var S;Le=!0;var w=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var M;M=Se.current,Se.current=null,ea();try{if(g){var I=function(){throw Error()};if(Object.defineProperty(I.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(I,[])}catch(ee){S=ee}Reflect.construct(i,[],I)}else{try{I.call()}catch(ee){S=ee}i.call(I.prototype)}}else{try{throw Error()}catch(ee){S=ee}i()}}catch(ee){if(ee&&S&&typeof ee.stack=="string"){for(var k=ee.stack.split(`
|
|
19
|
+
`),U=S.stack.split(`
|
|
20
|
+
`),W=k.length-1,q=U.length-1;W>=1&&q>=0&&k[W]!==U[q];)q--;for(;W>=1&&q>=0;W--,q--)if(k[W]!==U[q]){if(W!==1||q!==1)do if(W--,q--,q<0||k[W]!==U[q]){var z=`
|
|
21
|
+
`+k[W].replace(" at new "," at ");return i.displayName&&z.includes("<anonymous>")&&(z=z.replace("<anonymous>",i.displayName)),typeof i=="function"&&me.set(i,z),z}while(W>=1&&q>=0);break}}}finally{Le=!1,Se.current=M,ta(),Error.prepareStackTrace=w}var re=i?i.displayName||i.name:"",at=re?pe(re):"";return typeof i=="function"&&me.set(i,at),at}function sa(i,g,f){return Ve(i,!1)}function ra(i){var g=i.prototype;return!!(g&&g.isReactComponent)}function fe(i,g,f){if(i==null)return"";if(typeof i=="function")return Ve(i,ra(i));if(typeof i=="string")return pe(i);switch(i){case d:return pe("Suspense");case p:return pe("SuspenseList")}if(typeof i=="object")switch(i.$$typeof){case h:return sa(i.render);case v:return fe(i.type,g,f);case C:{var S=i,w=S._payload,M=S._init;try{return fe(M(w),g,f)}catch{}}}return""}var ve=Object.prototype.hasOwnProperty,$e={},Ue=P.ReactDebugCurrentFrame;function ye(i){if(i){var g=i._owner,f=fe(i.type,i._source,g?g.type:null);Ue.setExtraStackFrame(f)}else Ue.setExtraStackFrame(null)}function ia(i,g,f,S,w){{var M=Function.call.bind(ve);for(var I in i)if(M(i,I)){var k=void 0;try{if(typeof i[I]!="function"){var U=Error((S||"React class")+": "+f+" type `"+I+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[I]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw U.name="Invariant Violation",U}k=i[I](g,I,S,f,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(W){k=W}k&&!(k instanceof Error)&&(ye(w),T("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",S||"React class",f,I,typeof k),ye(null)),k instanceof Error&&!(k.message in $e)&&($e[k.message]=!0,ye(w),T("Failed %s type: %s",f,k.message),ye(null))}}}var na=Array.isArray;function Re(i){return na(i)}function ca(i){{var g=typeof Symbol=="function"&&Symbol.toStringTag,f=g&&i[Symbol.toStringTag]||i.constructor.name||"Object";return f}}function la(i){try{return Ke(i),!1}catch{return!0}}function Ke(i){return""+i}function Qe(i){if(la(i))return T("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ca(i)),Ke(i)}var ge=P.ReactCurrentOwner,oa={key:!0,ref:!0,__self:!0,__source:!0},ze,Je,ke;ke={};function ha(i){if(ve.call(i,"ref")){var g=Object.getOwnPropertyDescriptor(i,"ref").get;if(g&&g.isReactWarning)return!1}return i.ref!==void 0}function ua(i){if(ve.call(i,"key")){var g=Object.getOwnPropertyDescriptor(i,"key").get;if(g&&g.isReactWarning)return!1}return i.key!==void 0}function da(i,g){if(typeof i.ref=="string"&&ge.current&&g&&ge.current.stateNode!==g){var f=Q(ge.current.type);ke[f]||(T('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',Q(ge.current.type),i.ref),ke[f]=!0)}}function ga(i,g){{var f=function(){ze||(ze=!0,T("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",g))};f.isReactWarning=!0,Object.defineProperty(i,"key",{get:f,configurable:!0})}}function pa(i,g){{var f=function(){Je||(Je=!0,T("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",g))};f.isReactWarning=!0,Object.defineProperty(i,"ref",{get:f,configurable:!0})}}var ma=function(i,g,f,S,w,M,I){var k={$$typeof:e,type:i,key:g,ref:f,props:I,_owner:M};return k._store={},Object.defineProperty(k._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(k,"_self",{configurable:!1,enumerable:!1,writable:!1,value:S}),Object.defineProperty(k,"_source",{configurable:!1,enumerable:!1,writable:!1,value:w}),Object.freeze&&(Object.freeze(k.props),Object.freeze(k)),k};function fa(i,g,f,S,w){{var M,I={},k=null,U=null;f!==void 0&&(Qe(f),k=""+f),ua(g)&&(Qe(g.key),k=""+g.key),ha(g)&&(U=g.ref,da(g,w));for(M in g)ve.call(g,M)&&!oa.hasOwnProperty(M)&&(I[M]=g[M]);if(i&&i.defaultProps){var W=i.defaultProps;for(M in W)I[M]===void 0&&(I[M]=W[M])}if(k||U){var q=typeof i=="function"?i.displayName||i.name||"Unknown":i;k&&ga(I,q),U&&pa(I,q)}return ma(i,k,U,w,S,ge.current,I)}}var Ee=P.ReactCurrentOwner,Ye=P.ReactDebugCurrentFrame;function se(i){if(i){var g=i._owner,f=fe(i.type,i._source,g?g.type:null);Ye.setExtraStackFrame(f)}else Ye.setExtraStackFrame(null)}var Ie;Ie=!1;function je(i){return typeof i=="object"&&i!==null&&i.$$typeof===e}function Xe(){{if(Ee.current){var i=Q(Ee.current.type);if(i)return`
|
|
22
22
|
|
|
23
|
-
Check the render method of \``+i+"`."}return""}}function
|
|
23
|
+
Check the render method of \``+i+"`."}return""}}function va(i){{if(i!==void 0){var g=i.fileName.replace(/^.*[\\\/]/,""),f=i.lineNumber;return`
|
|
24
24
|
|
|
25
|
-
Check your code at `+
|
|
25
|
+
Check your code at `+g+":"+f+"."}return""}}var Ge={};function ya(i){{var g=Xe();if(!g){var f=typeof i=="string"?i:i.displayName||i.name;f&&(g=`
|
|
26
26
|
|
|
27
|
-
Check the top-level render call using <`+f+">.")}return d}}function Ze(i,d){{if(!i._store||i._store.validated||i.key!=null)return;i._store.validated=!0;var f=fa(d);if(Ge[f])return;Ge[f]=!0;var b="";i&&i._owner&&i._owner!==ke.current&&(b=" It was passed a child from "+K(i._owner.type)+"."),se(i),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',f,b),se(null)}}function et(i,d){{if(typeof i!="object")return;if(Le(i))for(var f=0;f<i.length;f++){var b=i[f];Ie(b)&&Ze(b,d)}else if(Ie(i))i._store&&(i._store.validated=!0);else if(i){var I=x(i);if(typeof I=="function"&&I!==i.entries)for(var w=I.call(i),T;!(T=w.next()).done;)Ie(T.value)&&Ze(T.value,d)}}}function ma(i){{var d=i.type;if(d==null||typeof d=="string")return;var f;if(typeof d=="function")f=d.propTypes;else if(typeof d=="object"&&(d.$$typeof===h||d.$$typeof===m))f=d.propTypes;else return;if(f){var b=K(d);aa(f,i.props,"prop",b,i)}else if(d.PropTypes!==void 0&&!Ee){Ee=!0;var I=K(d);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",I||"Unknown")}typeof d.getDefaultProps=="function"&&!d.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function va(i){{for(var d=Object.keys(i.props),f=0;f<d.length;f++){var b=d[f];if(b!=="children"&&b!=="key"){se(i),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",b),se(null);break}}i.ref!==null&&(se(i),C("Invalid attribute `ref` supplied to `React.Fragment`."),se(null))}}function tt(i,d,f,b,I,w){{var T=Y(i);if(!T){var S="";(i===void 0||typeof i=="object"&&i!==null&&Object.keys(i).length===0)&&(S+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var $=pa(I);$?S+=$:S+=Xe();var M;i===null?M="null":Le(i)?M="array":i!==void 0&&i.$$typeof===e?(M="<"+(K(i.type)||"Unknown")+" />",S=" Did you accidentally export a JSX literal instead of a component?"):M=typeof i,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",M,S)}var D=ga(i,d,f,I,w);if(D==null)return D;if(T){var B=d.children;if(B!==void 0)if(b)if(Le(B)){for(var re=0;re<B.length;re++)et(B[re],i);Object.freeze&&Object.freeze(B)}else C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else et(B,i)}return i===s?va(D):ma(D),D}}function ya(i,d,f){return tt(i,d,f,!0)}function ba(i,d,f){return tt(i,d,f,!1)}var xa=ba,Ca=ya;ne.Fragment=s,ne.jsx=xa,ne.jsxs=Ca}()),ne}process.env.NODE_ENV==="production"?ye.exports=st():ye.exports=rt();var p=ye.exports,it=Object.defineProperty,nt=(n,e,t)=>e in n?it(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,o=(n,e,t)=>(nt(n,typeof e!="symbol"?e+"":e,t),t),q=(n=>(n[n.mustache=0]="mustache",n[n.vue=1]="vue",n[n.react=2]="react",n[n.angular=3]="angular",n))(q||{});class ct{constructor(e){o(this,"dataLayer"),this.dataLayer=e}get currentPage(){var e;return(e=this.dataLayer.searchObject)==null?void 0:e.page}get totalResults(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.totalResultsValue)||0}get resultsPerPage(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.recordsPerPageValue)||0}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var e;const t=(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+(this.resultsPerPage??0);return t>this.totalResults?this.totalResults:t}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil(this.totalResults/this.resultsPerPage)}get results(){return this.dataLayer.searchResults??[]}get autoCorrectedQuery(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||""}get originalQuery(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get searchTerm(){var e,t;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||((t=this.dataLayer.searchObject)==null?void 0:t.query)||""}get searchExecuted(){var e,t,s;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!=="undefined"&&((s=this.dataLayer.searchObject)==null?void 0:s.query)!==""}get selectedFacets(){var e;const t=this.dataLayer.searchFacetsCached??this.dataLayer.searchFacets;return t?(((e=this.dataLayer.searchObject)==null?void 0:e.facets)??[]).map(s=>{const a=s.name,r=s.value,c=t.find(l=>l.name===a);if(c){const l=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?'"'+h.value+'"'===r:!1);if(l)return l}return null}).filter(s=>s!==null):[]}get relatedSearches(){const e=this.dataLayer.searchRelatedSearches??[];return e[e.length-1]&&(e[e.length-1].last=!0),e}get externalPromotions(){return this.dataLayer.searchExternalPromotions??[]}get data(){return{currentPage:this.currentPage,totalResults:this.totalResults,resultsPerPage:this.resultsPerPage,startResultIndex:this.startResultIndex,endResultIndex:this.endResultIndex,isFirstPage:this.isFirstPage,isLastPage:this.isLastPage,results:this.results,searchTerm:this.searchTerm!=="undefined"?this.searchTerm:"",autoCorrectedQuery:this.autoCorrectedQuery,originalQuery:this.originalQuery,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,relatedSearches:this.relatedSearches,hasRelatedSearches:this.relatedSearches.length>0,externalPromotions:this.externalPromotions,hasExternalPromotions:this.externalPromotions.length>0,hasResults:this.results.length>0,hasResultsOrExternalPromotions:this.results.length>0||this.externalPromotions.length>0}}get trackingData(){var e,t,s,a;return{searchTerm:this.dataLayer.searchTerm!=="undefined"?this.dataLayer.searchTerm:"",trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionId,language:this.dataLayer.language,recordsPerPage:((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.recordsPerPageValue)??0,totalResults:((s=this.dataLayer.searchResultsMetadata)==null?void 0:s.totalResultsValue)??0,currentPage:this.dataLayer.currentPage,latencyVal:((a=this.dataLayer.searchResultsMetadata)==null?void 0:a.latency)??0}}}class W{static deepEqual(e,t){const s=Object.keys(e),a=Object.keys(t);if(s.length!==a.length)return!1;for(const r of s){const c=e[r],l=t[r],h=this.isObject(c)&&this.isObject(l);if(h&&!this.deepEqual(c,l)||!h&&c!==l)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}}class j{constructor(e){o(this,"value"),o(this,"observers",[]),this.value=e,this.observers=[]}subscribe(e){this.observers.push(e),e(this.value)}unsubscribe(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}setValue(e){this.value=e,this.notify()}getValue(){return this.value}notify(){this.observers.forEach(e=>e(this.value))}}class U{static removeXSSRiskyTags(e){var t="script|style|iframe|object|embed|form|input|button",s=new RegExp("</?("+t+")(\\s[^>]*)?>","gi");return e?e.replace(s,""):""}}class lt{constructor(e){o(this,"$searchTermChange",new j("")),o(this,"$loadingChange",new j(!1)),o(this,"$searchResults",new j(null)),o(this,"$searchResultsMetadata",new j(null)),o(this,"$searchAutosuggest",new j(null)),o(this,"$searchFacets",new j(null)),o(this,"$searchFacetsCached",new j(null)),o(this,"$searchstaxConfig",new j(null)),o(this,"$autosuggestResults",new j(null)),o(this,"$searchObject",new j({query:"",page:99999999,order:"",facets:[],additionalProps:[]})),o(this,"$searchRelatedSearches",new j(null)),o(this,"$searchInputConfig",new j(null)),o(this,"$searchExternalPromotions",new j(null)),o(this,"$facetsTemplateData",new j(null)),o(this,"$selectedFacetsTemplateData",new j(null)),o(this,"$paginationData",new j(null)),o(this,"$searchFeedbackData",new j(null)),o(this,"$searchSortingData",new j(null)),o(this,"$searchRelatedSearchesData",new j(null)),o(this,"$searchExternalPromotionsData",new j(null)),o(this,"$language",new j("en")),o(this,"currentPageValue",1),o(this,"renderingEngineValue",q.mustache),o(this,"parsedData",new ct(this)),o(this,"sessionId"),o(this,"autoCorrect",!0),o(this,"forceNotCorrect",!1),this.sessionId=e}setSearchTerm(e){this.$searchTermChange.setValue(U.removeXSSRiskyTags(e))}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){W.deepEqual(e,this.searchResults??[""])||this.$searchResults.setValue(e)}setSearchResultsMetadata(e){W.deepEqual(e,this.searchResultsMetadata??{})||this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){var t,s;let a=e;(s=(t=this.searchstaxConfig)==null?void 0:t.hooks)!=null&&s.beforeSearch&&a&&(a=this.searchstaxConfig.hooks.beforeSearch(a)),a&&(!W.deepEqual(a,this.searchObject??{})||this.forceNotCorrect)&&this.$searchObject.setValue(a)}setSearchFacets(e){W.deepEqual(e,this.searchFacets??[])||this.$searchFacets.setValue(e)}setSearchFacetsCached(e){W.deepEqual(e,this.searchFacetsCached??[])||this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){W.deepEqual(e,this.searchRelatedSearches??[])||this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){W.deepEqual(e,this.searchExternalPromotions??[])||this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}setSearchInputConfig(e){this.$searchInputConfig.setValue(e)}setAutosuggestResults(e){this.$autosuggestResults.setValue(e)}setFacetsTemplateData(e){this.$facetsTemplateData.setValue(e)}setSelectedFacetsTemplateData(e){this.$selectedFacetsTemplateData.setValue(e)}setPaginationData(e){this.$paginationData.setValue(e)}setSearchFeedbackData(e){this.$searchFeedbackData.setValue(e)}setSearchSortingData(e){this.$searchSortingData.setValue(e)}setRelatedSearchesData(e){this.$searchRelatedSearchesData.setValue(e)}setExternalPromotionsData(e){this.$searchExternalPromotionsData.setValue(e)}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()?JSON.parse(JSON.stringify(this.$searchFacets.getValue())):null}get searchFacetsCached(){return this.$searchFacetsCached.getValue()?JSON.parse(JSON.stringify(this.$searchFacetsCached.getValue())):null}get searchResults(){return this.$searchResults.getValue()?JSON.parse(JSON.stringify(this.$searchResults.getValue())):null}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()?JSON.parse(JSON.stringify(this.$searchResultsMetadata.getValue())):null}get currentPage(){return this.currentPageValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return JSON.parse(JSON.stringify(this.$searchObject.getValue()))}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()?JSON.parse(JSON.stringify(this.$searchRelatedSearches.getValue())):null}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()?JSON.parse(JSON.stringify(this.$searchExternalPromotions.getValue())):null}get language(){return this.$language.getValue()}get searchInputConfig(){return this.$searchInputConfig.getValue()}get autosuggestResults(){return this.$autosuggestResults.getValue()}get facetsTemplateData(){return this.$facetsTemplateData.getValue()}get selectedFacetsTemplateData(){return this.$selectedFacetsTemplateData.getValue()}get paginationData(){return this.$paginationData.getValue()}get searchFeedbackData(){return this.$searchFeedbackData.getValue()}get searchSortingData(){return this.$searchSortingData.getValue()}get searchRelatedSearchesData(){return this.$searchRelatedSearchesData.getValue()}get searchExternalPromotionsData(){return this.$searchExternalPromotionsData.getValue()}}class ce{static combineResultsWithMetadata(e){const t=[],s=parseInt(e.response.start+"")-1,a=parseInt(e.responseHeader.params.rows);return e.response.docs.forEach((r,c)=>{const l={custom:null,uniqueId:this.getValueByKey(e.responseHeader.params.uniqueId,r,e)??"",position:s*a+1+c,ribbon:this.doesMapExist("ribbon",e)?this.getValueByKey("ribbon",r,e):null,paths:this.doesMapExist("paths",e)?this.getValueByKey("paths",r,e):null,url:this.doesMapExist("url",e)?this.getValueByKey("url",r,e):null,title:this.doesMapExist("title",e)?this.getValueByKey("title",r,e):null,promoted:r["[elevated]"]?r["[elevated]"]:!1,thumbnail:this.doesMapExist("thumbnail",e)?this.getValueByKey("thumbnail",r,e):null,date:this.doesMapExist("date",e)?this.getValueByKey("date",r,e):null,snippet:this.doesMapExist("snippet",e)?this.getValueByKey("snippet",r,e):null,description:this.doesMapExist("description",e)?this.getValueByKey("description",r,e):null,unmappedFields:this.getUnmappedFields(r,e),allFields:this.getAllFields(r,e)};t.push(l)}),t}static extractFacets(e){const t=[];for(const s of e.metadata.facets){let a={values:[]};if(a.name=s.name,a.label=s.label,s.name in e.facet_counts.facet_fields){const r=e.facet_counts.facet_fields[s.name];for(let c=0;c<r.length;c+=2){const l={};l.value=r[c],l.parentName=a.name,l.count=r[c+1],l.type="checkbox",a.values.push(l)}}a.values.length>0&&t.push(a)}return t}static extractSearchResultsMetadata(e){var t,s,a,r;let c="";return c=((r=(a=(s=(t=e==null?void 0:e.spellcheck)==null?void 0:t.suggestions)==null?void 0:s[0])==null?void 0:a.suggestion)==null?void 0:r[0])??"",typeof c!="string"&&(c=(c==null?void 0:c.word)??""),{recordsPerPageValue:parseInt(e.responseHeader.params.rows),startDocVal:parseInt(e.response.start+""),totalResultsValue:parseInt(e.response.numFound+""),latency:parseInt(e.responseHeader.QTime+""),endDocValue:parseInt(e.responseHeader.params.rows)+parseInt(e.response.start+""),spellingSuggestion:c,autoCorrectedQuery:e.responseHeader.params.autoCorrectedQ??"",impressions:this.getImpressions(e)}}static getImpressions(e){const t=[],s=this.combineResultsWithMetadata(e);for(const a in s){const r=s[a],c={};c.cDocId=this.getDataForAnalytics(r.uniqueId),r.title&&(c.cDocTitle=this.getDataForAnalytics(r.title)),c.position=r.position,t.push(c)}return t}static getDataForAnalytics(e){return e!==null?typeof e>"u"?"":typeof e=="string"?e:typeof e.join<"u"?e[0]:e:""}static findResultByUniqueId(e,t){return t.find(s=>s.uniqueId===e)??null}static getUnmappedFields(e,t){const s=t.metadata.results.filter(r=>r.result_card==="").map(r=>r.name),a=[];for(const r of Object.keys(e))if(s.indexOf(r)!==-1){const c=Array.isArray(e[r])?e[r].join(", "):e[r];a.push({key:r,value:c,isImage:this.checkIfImage(e[r])})}return a}static checkIfImage(e){return e===void 0?!1:typeof e!="string"?Array.isArray(e)&&e[0]?/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e[0]):!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const s=t.metadata.results.map(r=>r.name),a=[];for(const r of Object.keys(e))s.indexOf(r)!==-1&&a.push({key:r,value:e[r],isImage:this.checkIfImage(e[r])});return a}static doesMapExist(e,t){return t.metadata.results.find(s=>s.result_card===e)!==void 0}static getValueByKey(e,t,s){const a=s.metadata.results.find(c=>c.result_card===e);if(a===void 0)return null;const r=t[a.name];return r===void 0?null:typeof r=="string"?r:Array.isArray(r)?r.join(", "):null}}class Fe{constructor(e){o(this,"routeName","searchstax"),o(this,"ignoredKeys",[]),o(this,"queryStringHelper"),o(this,"titleParser"),e.routeName&&(this.routeName=e.routeName),e.ignoredKeys&&(this.ignoredKeys=e.ignoredKeys),e.title&&(this.titleParser=e.title),this.queryStringHelper=new ot(this.routeName)}updateUrl(e){const t=this.searchObjectToUrl(e);let s=document.title;this.titleParser&&(s=this.titleParser(e)),document.title=s,window.location.href!==t&&window.history.pushState({},s,t)}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams(window.location.href)?window.location.href.split("?")[0]+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):window.location.href+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={},s=e.page||1;if(e.query&&(t[this.routeName+"[query]"]=encodeURIComponent(e.query)),t[this.routeName+"[page]"]=s+"",e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const a in e.facets){const r=e.facets[a].type+":"+encodeURIComponent(e.facets[a].name)+":"+encodeURIComponent(e.facets[a].value);t[this.routeName+`[facets][${a}]`]=r}if(this.queryStringHelper.urlHasQueryParams(window.location.href)){const a=this.queryStringHelper.urlToParams(window.location.href);for(const r in a)r.startsWith(this.routeName)&&delete a[r];return{...a,...t}}else return t}extractParamsThatDoNotStartWithRouteName(e){const t={};for(const s in e)s.startsWith(this.routeName)||(t[s]=e[s]);return t}extractArrayOfFacetsFromQueryParameters(e){var t,s,a;const r=[];for(const c in e)if(c.startsWith(this.routeName+"[facets]")){const l=U.removeXSSRiskyTags((t=e[c].split(":"))==null?void 0:t[0]),h=U.removeXSSRiskyTags(decodeURIComponent((s=e[c].split(":"))==null?void 0:s[1])),u=U.removeXSSRiskyTags(decodeURIComponent((a=e[c].split(":"))==null?void 0:a[2]));r.push({type:l,name:h,value:u})}return r}urlToSearchObject(e){const t=this.queryStringHelper.urlToParams(e),s=U.removeXSSRiskyTags(decodeURIComponent(t[this.routeName+"[page]"])),a=parseInt(s),r=isNaN(a)?1:a;return{query:U.removeXSSRiskyTags(decodeURIComponent(t[this.routeName+"[query]"]))||"",page:r,order:U.removeXSSRiskyTags(t[this.routeName+"[order]"])||"",facets:this.extractArrayOfFacetsFromQueryParameters(t)||[]}}}class ot{constructor(e){o(this,"routeName",""),o(this,"stringify",(t,s)=>{const a=this.filterOutIgnoredKeys(t,s.ignoredKeys);return Object.keys(a).map(r=>{const c=a[r];return Array.isArray(c)?c.map(l=>`${r}=${l}`).join("&"):`${r}=${c}`}).join("&")}),this.routeName=e}filterOutIgnoredKeys(e,t){const s=t||[],a={};return Object.keys(e).forEach(r=>{s.includes(r)||e[r]!==""&&(a[r]=e[r])}),a}urlToParams(e){const t={},s=e.split("?")[1];return s&&s.split("&").forEach(a=>{const[r,c]=a.split("=");t[r]=c}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}class ht{constructor(e,t){o(this,"cachedQuery",""),o(this,"url",""),o(this,"relatedSearches",""),o(this,"suggester",""),o(this,"authHeader"),o(this,"authHeaderRelated"),o(this,"trackApiKey",""),o(this,"session",""),o(this,"searchAuthType"),o(this,"searchAuth",""),o(this,"controllerSearch"),o(this,"signalSearch"),o(this,"controllerSuggest"),o(this,"signalSuggest"),o(this,"dataLayer"),this.dataLayer=t,this.url=e.searchURL,this.dataLayer.setLanguage(e.language),this.suggester=e.suggesterURL,this.trackApiKey=e.trackApiKey,this.session=e.sessionId,this.searchAuthType=e.authType,this.searchAuth=e.searchAuth,this.authHeader=new Headers,this.authHeader.append("Accept","application/json");const s=this.searchAuthType==="token"?`Token ${e.searchAuth}`:`Basic ${e.searchAuth}`;this.authHeader.append("Authorization",s),this.authHeaderRelated=new Headers,this.authHeaderRelated.append("Accept","application/json"),this.authHeaderRelated.append("Authorization",e.searchAuth)}generateFacetQuery(e,t){let s=[];if(!t)e.forEach(function(a){const r=a.name+':"'+a.value+'"';s=s.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const a={};e.forEach(function(r){const c=r.name+":"+r.value,l=decodeURIComponent(c).replace(" "," ").split(":");a[l[0]]?a[l[0]].push(l[1]):a[l[0]]=[l[1]]});for(const r in a)if(Object.prototype.hasOwnProperty.call(a,r)){const c=a[r],l=r;let h="";for(const u of c)h+=` ${l}:"${u}"`;s=s.concat("fq="+h.trim())}}return s.length?"&"+s.join("&"):""}getRelatedSearches(e,t,s,a){const r=new Headers;r.append("Accept","application/json"),r.append("Authorization",s),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:r,credentials:"same-origin"}).then(c=>c.json()).then(c=>{a(c)})}cacheFacets(){this.dataLayer.searchObject.query!==this.cachedQuery&&(this.cachedQuery=this.dataLayer.searchObject.query,this.search({query:this.dataLayer.searchObject.query??"*",page:1,order:"",facets:[],additionalProps:this.dataLayer.searchObject.additionalProps},this.cacheFacetsCallback.bind(this)))}cacheFacetsCallback(e){let t=ce.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}search(e,t,s=!1,a=!1){if(e.query&&e.query!=="undefined"){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const r=new Proxy(new URLSearchParams(window.location.search),{get:(g,m)=>g.get(m)??""}),c=r.languageVariant?"&fq=_language:"+r.languageVariant:"",l=e.order?`&sort=${e.order}`:"",h=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+(e.page-1)+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e.facets.filter(g=>g.type==="or"||g.type==="showUnavailable"),!0)+this.generateFacetQuery(e.facets.filter(g=>g.type==="and"||g.type==="tabs"),!1)+l+`&spellcheck.correct=${this.dataLayer.autoCorrect&&!a}&language=`+this.dataLayer.language+c,u={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};s&&delete u.signal,fetch(h,u).then(g=>g.json()).then(g=>{this.dataLayer.setLoading(!1),t(g)}).catch(()=>{this.dataLayer.setLoading(!1)})}}suggest(e,t,s){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const a=this.suggester+"?q="+e.trim()+this.toQueryString(s)+"&language="+this.dataLayer.language;fetch(a,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(r=>r.json()).then(r=>{t(r)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(const s of e)t.push(encodeURIComponent(s.key)+"="+encodeURIComponent(s.value));return"&"+t.join("&")}}class ut{static getOrSetCookie(e){let t=this.getCookie(e);return t==null&&(t=this.makeid(25),this.setCookie(e,t,{secure:!0,"max-age":3600})),t}static makeid(e){let t="";const s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",a=s.length;for(let r=0;r<e;r++)t+=s.charAt(Math.floor(Math.random()*a));return t}static getCookie(e){const t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,s){const a={path:"/",...s};s.expires instanceof Date&&(a.expires=s.expires.toUTCString());let r=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const c in a){r+="; "+c;const l=a[c];l!==!0&&(r+="="+l)}document.cookie=r}}class le{static trackClick(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,cDocId:e.result.uniqueId,cDocTitle:e.result.title,position:e.result.position,language:e.language};setTimeout(()=>{this.msq.push(["trackClick",t])},0)}static trackSearch(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,language:e.language,impressions:e.impressions};setTimeout(()=>{this.msq.push(["track",t])},0)}static trackRelatedSearchClick(e){const t={session:e.session,key:e.trackApiKey,query:e.relatedSearch.search_term,position:e.relatedSearch.position,relatedSearch:e.relatedSearch.related_search,pageNo:e.currentPage,shownHits:e.recordsPerPage,totalHits:e.totalResults,language:e.language};setTimeout(()=>{this.msq.push(["trackRelatedSearchClick",t])},0)}static trackRelatedSearches(e){const t={session:e.session,key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,latency:e.latencyVal,language:e.language,impressions:e.impressions};setTimeout(()=>{this.msq.push(["trackRelatedSearch",t])},0)}}o(le,"msq",window._msq||[]);/*!
|
|
27
|
+
Check the top-level render call using <`+f+">.")}return g}}function Ze(i,g){{if(!i._store||i._store.validated||i.key!=null)return;i._store.validated=!0;var f=ya(g);if(Ge[f])return;Ge[f]=!0;var S="";i&&i._owner&&i._owner!==Ee.current&&(S=" It was passed a child from "+Q(i._owner.type)+"."),se(i),T('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',f,S),se(null)}}function et(i,g){{if(typeof i!="object")return;if(Re(i))for(var f=0;f<i.length;f++){var S=i[f];je(S)&&Ze(S,g)}else if(je(i))i._store&&(i._store.validated=!0);else if(i){var w=L(i);if(typeof w=="function"&&w!==i.entries)for(var M=w.call(i),I;!(I=M.next()).done;)je(I.value)&&Ze(I.value,g)}}}function xa(i){{var g=i.type;if(g==null||typeof g=="string")return;var f;if(typeof g=="function")f=g.propTypes;else if(typeof g=="object"&&(g.$$typeof===h||g.$$typeof===v))f=g.propTypes;else return;if(f){var S=Q(g);ia(f,i.props,"prop",S,i)}else if(g.PropTypes!==void 0&&!Ie){Ie=!0;var w=Q(g);T("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",w||"Unknown")}typeof g.getDefaultProps=="function"&&!g.getDefaultProps.isReactClassApproved&&T("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function ba(i){{for(var g=Object.keys(i.props),f=0;f<g.length;f++){var S=g[f];if(S!=="children"&&S!=="key"){se(i),T("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",S),se(null);break}}i.ref!==null&&(se(i),T("Invalid attribute `ref` supplied to `React.Fragment`."),se(null))}}function tt(i,g,f,S,w,M){{var I=H(i);if(!I){var k="";(i===void 0||typeof i=="object"&&i!==null&&Object.keys(i).length===0)&&(k+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var U=va(w);U?k+=U:k+=Xe();var W;i===null?W="null":Re(i)?W="array":i!==void 0&&i.$$typeof===e?(W="<"+(Q(i.type)||"Unknown")+" />",k=" Did you accidentally export a JSX literal instead of a component?"):W=typeof i,T("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",W,k)}var q=fa(i,g,f,w,M);if(q==null)return q;if(I){var z=g.children;if(z!==void 0)if(S)if(Re(z)){for(var re=0;re<z.length;re++)et(z[re],i);Object.freeze&&Object.freeze(z)}else T("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else et(z,i)}return i===a?ba(q):xa(q),q}}function Ca(i,g,f){return tt(i,g,f,!0)}function Sa(i,g,f){return tt(i,g,f,!1)}var Ta=Sa,La=Ca;ne.Fragment=a,ne.jsx=Ta,ne.jsxs=La}()),ne}process.env.NODE_ENV==="production"?xe.exports=st():xe.exports=rt();var o=xe.exports,it=Object.defineProperty,nt=(n,e,t)=>e in n?it(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,u=(n,e,t)=>(nt(n,typeof e!="symbol"?e+"":e,t),t),V=(n=>(n[n.mustache=0]="mustache",n[n.vue=1]="vue",n[n.react=2]="react",n[n.angular=3]="angular",n))(V||{});class ct{constructor(e){u(this,"dataLayer"),this.dataLayer=e}get currentPage(){var e;return(e=this.dataLayer.searchObject)==null?void 0:e.page}get totalResults(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.totalResultsValue)||0}get resultsPerPage(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.recordsPerPageValue)||0}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var e;const t=(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+(this.resultsPerPage??0);return t>this.totalResults?this.totalResults:t}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil(this.totalResults/this.resultsPerPage)}get results(){return this.dataLayer.searchResults??[]}get autoCorrectedQuery(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||""}get originalQuery(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get searchTerm(){var e,t;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||((t=this.dataLayer.searchObject)==null?void 0:t.query)||""}get searchExecuted(){var e,t,a;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!=="undefined"&&((a=this.dataLayer.searchObject)==null?void 0:a.query)!==""}get selectedFacets(){var e;const t=this.dataLayer.searchFacetsCached??this.dataLayer.searchFacets;return t?(((e=this.dataLayer.searchObject)==null?void 0:e.facets)??[]).map(a=>{const s=a.name,r=a.value,c=t.find(l=>l.name===s);if(c){const l=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?'"'+h.value+'"'===r:!1);if(l)return l}return null}).filter(a=>a!==null):[]}get relatedSearches(){const e=this.dataLayer.searchRelatedSearches??[];return e[e.length-1]&&(e[e.length-1].last=!0),e}get externalPromotions(){return this.dataLayer.searchExternalPromotions??[]}get data(){return{currentPage:this.currentPage,totalResults:this.totalResults,resultsPerPage:this.resultsPerPage,startResultIndex:this.startResultIndex,endResultIndex:this.endResultIndex,isFirstPage:this.isFirstPage,isLastPage:this.isLastPage,results:this.results,searchTerm:this.searchTerm!=="undefined"?this.searchTerm:"",autoCorrectedQuery:this.autoCorrectedQuery,originalQuery:this.originalQuery,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,relatedSearches:this.relatedSearches,hasRelatedSearches:this.relatedSearches.length>0,externalPromotions:this.externalPromotions,hasExternalPromotions:this.externalPromotions.length>0,hasResults:this.results.length>0,hasResultsOrExternalPromotions:this.results.length>0||this.externalPromotions.length>0}}get trackingData(){var e,t,a,s;return{searchTerm:this.dataLayer.searchTerm!=="undefined"?this.dataLayer.searchTerm:"",trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionId,language:this.dataLayer.language,recordsPerPage:((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.recordsPerPageValue)??0,totalResults:((a=this.dataLayer.searchResultsMetadata)==null?void 0:a.totalResultsValue)??0,currentPage:this.dataLayer.currentPage,latencyVal:((s=this.dataLayer.searchResultsMetadata)==null?void 0:s.latency)??0}}}class J{static deepEqual(e,t){const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const r of a){const c=e[r],l=t[r],h=this.isObject(c)&&this.isObject(l);if(h&&!this.deepEqual(c,l)||!h&&c!==l)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}}class D{constructor(e){u(this,"value"),u(this,"observers",[]),this.value=e,this.observers=[]}subscribe(e){this.observers.push(e),e(this.value)}unsubscribe(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}setValue(e){this.value=e,this.notify()}getValue(){return this.value}notify(){this.observers.forEach(e=>e(this.value))}}class G{static removeXSSRiskyTags(e){var t="script|style|iframe|object|embed|form|input|button",a=new RegExp("</?("+t+")(\\s[^>]*)?>","gi");return e?e.replace(a,""):""}}class lt{constructor(e){u(this,"$searchTermChange",new D("")),u(this,"$loadingChange",new D(!1)),u(this,"$searchResults",new D(null)),u(this,"$searchResultsMetadata",new D(null)),u(this,"$searchAutosuggest",new D(null)),u(this,"$searchFacets",new D(null)),u(this,"$searchFacetsCached",new D(null)),u(this,"$searchstaxConfig",new D(null)),u(this,"$autosuggestResults",new D(null)),u(this,"$searchObject",new D({query:"",page:99999999,order:"",facets:[],additionalProps:[]})),u(this,"$searchRelatedSearches",new D(null)),u(this,"$searchInputConfig",new D(null)),u(this,"$searchExternalPromotions",new D(null)),u(this,"$facetsTemplateData",new D(null)),u(this,"$selectedFacetsTemplateData",new D(null)),u(this,"$paginationData",new D(null)),u(this,"$searchFeedbackData",new D(null)),u(this,"$searchSortingData",new D(null)),u(this,"$searchRelatedSearchesData",new D(null)),u(this,"$searchExternalPromotionsData",new D(null)),u(this,"$language",new D("en")),u(this,"currentPageValue",1),u(this,"renderingEngineValue",V.mustache),u(this,"parsedData",new ct(this)),u(this,"sessionId"),u(this,"autoCorrect",!0),u(this,"forceNotCorrect",!1),this.sessionId=e}setSearchTerm(e){this.$searchTermChange.setValue(G.removeXSSRiskyTags(e))}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){J.deepEqual(e,this.searchResults??[""])||this.$searchResults.setValue(e)}setSearchResultsMetadata(e){J.deepEqual(e,this.searchResultsMetadata??{})||this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){var t,a;let s=e;(a=(t=this.searchstaxConfig)==null?void 0:t.hooks)!=null&&a.beforeSearch&&s&&(s=this.searchstaxConfig.hooks.beforeSearch(s)),s&&(!J.deepEqual(s,this.searchObject??{})||this.forceNotCorrect)&&this.$searchObject.setValue(s)}setSearchFacets(e){J.deepEqual(e,this.searchFacets??[])||this.$searchFacets.setValue(e)}setSearchFacetsCached(e){J.deepEqual(e,this.searchFacetsCached??[])||this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){J.deepEqual(e,this.searchRelatedSearches??[])||this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){J.deepEqual(e,this.searchExternalPromotions??[])||this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}setSearchInputConfig(e){this.$searchInputConfig.setValue(e)}setAutosuggestResults(e){this.$autosuggestResults.setValue(e)}setFacetsTemplateData(e){this.$facetsTemplateData.setValue(e)}setSelectedFacetsTemplateData(e){this.$selectedFacetsTemplateData.setValue(e)}setPaginationData(e){this.$paginationData.setValue(e)}setSearchFeedbackData(e){this.$searchFeedbackData.setValue(e)}setSearchSortingData(e){this.$searchSortingData.setValue(e)}setRelatedSearchesData(e){this.$searchRelatedSearchesData.setValue(e)}setExternalPromotionsData(e){this.$searchExternalPromotionsData.setValue(e)}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()?JSON.parse(JSON.stringify(this.$searchFacets.getValue())):null}get searchFacetsCached(){return this.$searchFacetsCached.getValue()?JSON.parse(JSON.stringify(this.$searchFacetsCached.getValue())):null}get searchResults(){return this.$searchResults.getValue()?JSON.parse(JSON.stringify(this.$searchResults.getValue())):null}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()?JSON.parse(JSON.stringify(this.$searchResultsMetadata.getValue())):null}get currentPage(){return this.currentPageValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return JSON.parse(JSON.stringify(this.$searchObject.getValue()))}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()?JSON.parse(JSON.stringify(this.$searchRelatedSearches.getValue())):null}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()?JSON.parse(JSON.stringify(this.$searchExternalPromotions.getValue())):null}get language(){return this.$language.getValue()}get searchInputConfig(){return this.$searchInputConfig.getValue()}get autosuggestResults(){return this.$autosuggestResults.getValue()}get facetsTemplateData(){return this.$facetsTemplateData.getValue()}get selectedFacetsTemplateData(){return this.$selectedFacetsTemplateData.getValue()}get paginationData(){return this.$paginationData.getValue()}get searchFeedbackData(){return this.$searchFeedbackData.getValue()}get searchSortingData(){return this.$searchSortingData.getValue()}get searchRelatedSearchesData(){return this.$searchRelatedSearchesData.getValue()}get searchExternalPromotionsData(){return this.$searchExternalPromotionsData.getValue()}}class ce{static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"")-1,s=parseInt(e.responseHeader.params.rows);return e.response.docs.forEach((r,c)=>{const l={custom:null,uniqueId:this.getValueByKey(e.responseHeader.params.uniqueId,r,e)??"",position:a*s+1+c,ribbon:this.doesMapExist("ribbon",e)?this.getValueByKey("ribbon",r,e):null,paths:this.doesMapExist("paths",e)?this.getValueByKey("paths",r,e):null,url:this.doesMapExist("url",e)?this.getValueByKey("url",r,e):null,title:this.doesMapExist("title",e)?this.getValueByKey("title",r,e):null,promoted:r["[elevated]"]?r["[elevated]"]:!1,thumbnail:this.doesMapExist("thumbnail",e)?this.getValueByKey("thumbnail",r,e):null,date:this.doesMapExist("date",e)?this.getValueByKey("date",r,e):null,snippet:this.doesMapExist("snippet",e)?this.getValueByKey("snippet",r,e):null,description:this.doesMapExist("description",e)?this.getValueByKey("description",r,e):null,unmappedFields:this.getUnmappedFields(r,e),allFields:this.getAllFields(r,e)};t.push(l)}),t}static extractFacets(e){const t=[];for(const a of e.metadata.facets){let s={values:[]};if(s.name=a.name,s.label=a.label,a.name in e.facet_counts.facet_fields){const r=e.facet_counts.facet_fields[a.name];for(let c=0;c<r.length;c+=2){const l={};l.value=r[c],l.parentName=s.name,l.count=r[c+1],l.type="checkbox",s.values.push(l)}}s.values.length>0&&t.push(s)}return t}static extractSearchResultsMetadata(e){var t,a,s,r;let c="";return c=((r=(s=(a=(t=e==null?void 0:e.spellcheck)==null?void 0:t.suggestions)==null?void 0:a[0])==null?void 0:s.suggestion)==null?void 0:r[0])??"",typeof c!="string"&&(c=(c==null?void 0:c.word)??""),{recordsPerPageValue:parseInt(e.responseHeader.params.rows),startDocVal:parseInt(e.response.start+""),totalResultsValue:parseInt(e.response.numFound+""),latency:parseInt(e.responseHeader.QTime+""),endDocValue:parseInt(e.responseHeader.params.rows)+parseInt(e.response.start+""),spellingSuggestion:c,autoCorrectedQuery:e.responseHeader.params.autoCorrectedQ??"",impressions:this.getImpressions(e)}}static getImpressions(e){const t=[],a=this.combineResultsWithMetadata(e);for(const s in a){const r=a[s],c={};c.cDocId=this.getDataForAnalytics(r.uniqueId),r.title&&(c.cDocTitle=this.getDataForAnalytics(r.title)),c.position=r.position,t.push(c)}return t}static getDataForAnalytics(e){return e!==null?typeof e>"u"?"":typeof e=="string"?e:typeof e.join<"u"?e[0]:e:""}static findResultByUniqueId(e,t){return t.find(a=>a.uniqueId===e)??null}static getUnmappedFields(e,t){const a=t.metadata.results.filter(r=>r.result_card==="").map(r=>r.name),s=[];for(const r of Object.keys(e))if(a.indexOf(r)!==-1){const c=Array.isArray(e[r])?e[r].join(", "):e[r];s.push({key:r,value:c,isImage:this.checkIfImage(e[r])})}return s}static checkIfImage(e){return e===void 0?!1:typeof e!="string"?Array.isArray(e)&&e[0]?/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e[0]):!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const a=t.metadata.results.map(r=>r.name),s=[];for(const r of Object.keys(e))a.indexOf(r)!==-1&&s.push({key:r,value:e[r],isImage:this.checkIfImage(e[r])});return s}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a){const s=a.metadata.results.find(c=>c.result_card===e);if(s===void 0)return null;const r=t[s.name];return r===void 0?null:typeof r=="string"?r:Array.isArray(r)?r.join(", "):null}}class we{constructor(e){u(this,"routeName","searchstax"),u(this,"ignoredKeys",[]),u(this,"queryStringHelper"),u(this,"titleParser"),e.routeName&&(this.routeName=e.routeName),e.ignoredKeys&&(this.ignoredKeys=e.ignoredKeys),e.title&&(this.titleParser=e.title),this.queryStringHelper=new ot(this.routeName)}updateUrl(e){const t=this.searchObjectToUrl(e);let a=document.title;this.titleParser&&(a=this.titleParser(e)),document.title=a,window.location.href!==t&&window.history.pushState({},a,t)}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams(window.location.href)?window.location.href.split("?")[0]+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):window.location.href+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={},a=e.page||1;if(e.query&&(t[this.routeName+"[query]"]=encodeURIComponent(e.query)),t[this.routeName+"[page]"]=a+"",e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const s in e.facets){const r=e.facets[s].type+":"+encodeURIComponent(e.facets[s].name)+":"+encodeURIComponent(e.facets[s].value);t[this.routeName+`[facets][${s}]`]=r}if(this.queryStringHelper.urlHasQueryParams(window.location.href)){const s=this.queryStringHelper.urlToParams(window.location.href);for(const r in s)r.startsWith(this.routeName)&&delete s[r];return{...s,...t}}else return t}extractParamsThatDoNotStartWithRouteName(e){const t={};for(const a in e)a.startsWith(this.routeName)||(t[a]=e[a]);return t}extractArrayOfFacetsFromQueryParameters(e){var t,a,s;const r=[];for(const c in e)if(c.startsWith(this.routeName+"[facets]")){const l=G.removeXSSRiskyTags((t=e[c].split(":"))==null?void 0:t[0]),h=G.removeXSSRiskyTags(decodeURIComponent((a=e[c].split(":"))==null?void 0:a[1])),d=G.removeXSSRiskyTags(decodeURIComponent((s=e[c].split(":"))==null?void 0:s[2]));r.push({type:l,name:h,value:d})}return r}urlToSearchObject(e){const t=this.queryStringHelper.urlToParams(e),a=G.removeXSSRiskyTags(decodeURIComponent(t[this.routeName+"[page]"])),s=parseInt(a),r=isNaN(s)?1:s;return{query:G.removeXSSRiskyTags(decodeURIComponent(t[this.routeName+"[query]"]))||"",page:r,order:G.removeXSSRiskyTags(t[this.routeName+"[order]"])||"",facets:this.extractArrayOfFacetsFromQueryParameters(t)||[]}}}class ot{constructor(e){u(this,"routeName",""),u(this,"stringify",(t,a)=>{const s=this.filterOutIgnoredKeys(t,a.ignoredKeys);return Object.keys(s).map(r=>{const c=s[r];return Array.isArray(c)?c.map(l=>`${r}=${l}`).join("&"):`${r}=${c}`}).join("&")}),this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],s={};return Object.keys(e).forEach(r=>{a.includes(r)||e[r]!==""&&(s[r]=e[r])}),s}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(s=>{const[r,c]=s.split("=");t[r]=c}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}class ht{constructor(e,t){u(this,"cachedQuery",""),u(this,"url",""),u(this,"relatedSearches",""),u(this,"suggester",""),u(this,"authHeader"),u(this,"authHeaderRelated"),u(this,"trackApiKey",""),u(this,"session",""),u(this,"searchAuthType"),u(this,"searchAuth",""),u(this,"controllerSearch"),u(this,"signalSearch"),u(this,"controllerSuggest"),u(this,"signalSuggest"),u(this,"dataLayer"),this.dataLayer=t,this.url=e.searchURL,this.dataLayer.setLanguage(e.language),this.suggester=e.suggesterURL,this.trackApiKey=e.trackApiKey,this.session=e.sessionId,this.searchAuthType=e.authType,this.searchAuth=e.searchAuth,this.authHeader=new Headers,this.authHeader.append("Accept","application/json");const a=this.searchAuthType==="token"?`Token ${e.searchAuth}`:`Basic ${e.searchAuth}`;this.authHeader.append("Authorization",a),this.authHeaderRelated=new Headers,this.authHeaderRelated.append("Accept","application/json"),this.authHeaderRelated.append("Authorization",e.searchAuth)}generateFacetQuery(e,t){let a=[];if(!t)e.forEach(function(s){const r=s.name+':"'+s.value+'"';a=a.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const s={};e.forEach(function(r){const c=r.name+":"+r.value,l=decodeURIComponent(c).replace(" "," ").split(":");s[l[0]]?s[l[0]].push(l[1]):s[l[0]]=[l[1]]});for(const r in s)if(Object.prototype.hasOwnProperty.call(s,r)){const c=s[r],l=r;let h="";for(const d of c)h+=` ${l}:"${d}"`;a=a.concat("fq="+h.trim())}}return a.length?"&"+a.join("&"):""}getRelatedSearches(e,t,a,s){const r=new Headers;r.append("Accept","application/json"),r.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:r,credentials:"same-origin"}).then(c=>c.json()).then(c=>{s(c)})}cacheFacets(){this.dataLayer.searchObject.query!==this.cachedQuery&&(this.cachedQuery=this.dataLayer.searchObject.query,this.search({query:this.dataLayer.searchObject.query??"*",page:1,order:"",facets:[],additionalProps:this.dataLayer.searchObject.additionalProps},this.cacheFacetsCallback.bind(this)))}cacheFacetsCallback(e){let t=ce.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}search(e,t,a=!1,s=!1){if(e.query&&e.query!=="undefined"){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const r=new Proxy(new URLSearchParams(window.location.search),{get:(p,v)=>p.get(v)??""}),c=r.languageVariant?"&fq=_language:"+r.languageVariant:"",l=e.order?`&sort=${e.order}`:"",h=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+(e.page-1)+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e.facets.filter(p=>p.type==="or"||p.type==="showUnavailable"),!0)+this.generateFacetQuery(e.facets.filter(p=>p.type==="and"||p.type==="tabs"),!1)+l+`&spellcheck.correct=${this.dataLayer.autoCorrect&&!s}&language=`+this.dataLayer.language+c,d={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete d.signal,fetch(h,d).then(p=>p.json()).then(p=>{this.dataLayer.setLoading(!1),t(p)}).catch(()=>{this.dataLayer.setLoading(!1)})}}suggest(e,t,a){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const s=this.suggester+"?q="+e.trim()+this.toQueryString(a)+"&language="+this.dataLayer.language;fetch(s,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(r=>r.json()).then(r=>{t(r)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(const a of e)t.push(encodeURIComponent(a.key)+"="+encodeURIComponent(a.value));return"&"+t.join("&")}}class ut{static getOrSetCookie(e){let t=this.getCookie(e);return t==null&&(t=this.makeid(25),this.setCookie(e,t,{secure:!0,"max-age":3600})),t}static makeid(e){let t="";const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=a.length;for(let r=0;r<e;r++)t+=a.charAt(Math.floor(Math.random()*s));return t}static getCookie(e){const t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,a){const s={path:"/",...a};a.expires instanceof Date&&(s.expires=a.expires.toUTCString());let r=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const c in s){r+="; "+c;const l=s[c];l!==!0&&(r+="="+l)}document.cookie=r}}class le{static trackClick(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,cDocId:e.result.uniqueId,cDocTitle:e.result.title,position:e.result.position,language:e.language};setTimeout(()=>{this.msq.push(["trackClick",t])},0)}static trackSearch(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,language:e.language,impressions:e.impressions};setTimeout(()=>{this.msq.push(["track",t])},0)}static trackRelatedSearchClick(e){const t={session:e.session,key:e.trackApiKey,query:e.relatedSearch.search_term,position:e.relatedSearch.position,relatedSearch:e.relatedSearch.related_search,pageNo:e.currentPage,shownHits:e.recordsPerPage,totalHits:e.totalResults,language:e.language};setTimeout(()=>{this.msq.push(["trackRelatedSearchClick",t])},0)}static trackRelatedSearches(e){const t={session:e.session,key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,latency:e.latencyVal,language:e.language,impressions:e.impressions};setTimeout(()=>{this.msq.push(["trackRelatedSearch",t])},0)}}u(le,"msq",window._msq||[]);/*!
|
|
28
28
|
* mustache.js - Logic-less {{mustache}} templates with JavaScript
|
|
29
29
|
* http://github.com/janl/mustache.js
|
|
30
|
-
*/var dt=Object.prototype.toString,
|
|
31
|
-
`&&(
|
|
32
|
-
`),r=0;r<
|
|
33
|
-
`)}
|
|
30
|
+
*/var dt=Object.prototype.toString,te=Array.isArray||function(n){return dt.call(n)==="[object Array]"};function be(n){return typeof n=="function"}function gt(n){return te(n)?"array":typeof n}function Ce(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Oe(n,e){return n!=null&&typeof n=="object"&&e in n}function pt(n,e){return n!=null&&typeof n!="object"&&n.hasOwnProperty&&n.hasOwnProperty(e)}var mt=RegExp.prototype.test;function ft(n,e){return mt.call(n,e)}var vt=/\S/;function yt(n){return!ft(vt,n)}var xt={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};function bt(n){return String(n).replace(/[&<>"'`=\/]/g,function(e){return xt[e]})}var Ct=/\s*/,St=/\s+/,Me=/\s*=/,Tt=/\s*\}/,Lt=/#|\^|\/|>|\{|&|=|!/;function Rt(n,e){if(!n)return[];var t=!1,a=[],s=[],r=[],c=!1,l=!1,h="",d=0;function p(){if(c&&!l)for(;r.length;)delete s[r.pop()];else r=[];c=!1,l=!1}var v,C,E;function A(y){if(typeof y=="string"&&(y=y.split(St,2)),!te(y)||y.length!==2)throw new Error("Invalid tags: "+y);v=new RegExp(Ce(y[0])+"\\s*"),C=new RegExp("\\s*"+Ce(y[1])),E=new RegExp("\\s*"+Ce("}"+y[1]))}A(e||F.tags);for(var R=new oe(n),L,P,T,_,B,N;!R.eos();){if(L=R.pos,T=R.scanUntil(v),T)for(var K=0,m=T.length;K<m;++K)_=T.charAt(K),yt(_)?(r.push(s.length),h+=_):(l=!0,t=!0,h+=" "),s.push(["text",_,L,L+1]),L+=1,_===`
|
|
31
|
+
`&&(p(),h="",d=0,t=!1);if(!R.scan(v))break;if(c=!0,P=R.scan(Lt)||"name",R.scan(Ct),P==="="?(T=R.scanUntil(Me),R.scan(Me),R.scanUntil(C)):P==="{"?(T=R.scanUntil(E),R.scan(Tt),R.scanUntil(C),P="&"):T=R.scanUntil(C),!R.scan(C))throw new Error("Unclosed tag at "+R.pos);if(P==">"?B=[P,T,L,R.pos,h,d,t]:B=[P,T,L,R.pos],d++,s.push(B),P==="#"||P==="^")a.push(B);else if(P==="/"){if(N=a.pop(),!N)throw new Error('Unopened section "'+T+'" at '+L);if(N[1]!==T)throw new Error('Unclosed section "'+N[1]+'" at '+L)}else P==="name"||P==="{"||P==="&"?l=!0:P==="="&&A(T)}if(p(),N=a.pop(),N)throw new Error('Unclosed section "'+N[1]+'" at '+R.pos);return Et(kt(s))}function kt(n){for(var e=[],t,a,s=0,r=n.length;s<r;++s)t=n[s],t&&(t[0]==="text"&&a&&a[0]==="text"?(a[1]+=t[1],a[3]=t[3]):(e.push(t),a=t));return e}function Et(n){for(var e=[],t=e,a=[],s,r,c=0,l=n.length;c<l;++c)switch(s=n[c],s[0]){case"#":case"^":t.push(s),a.push(s),t=s[4]=[];break;case"/":r=a.pop(),r[5]=s[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(s)}return e}function oe(n){this.string=n,this.tail=n,this.pos=0}oe.prototype.eos=function(){return this.tail===""},oe.prototype.scan=function(n){var e=this.tail.match(n);if(!e||e.index!==0)return"";var t=e[0];return this.tail=this.tail.substring(t.length),this.pos+=t.length,t},oe.prototype.scanUntil=function(n){var e=this.tail.search(n),t;switch(e){case-1:t=this.tail,this.tail="";break;case 0:t="";break;default:t=this.tail.substring(0,e),this.tail=this.tail.substring(e)}return this.pos+=t.length,t};function ae(n,e){this.view=n,this.cache={".":this.view},this.parent=e}ae.prototype.push=function(n){return new ae(n,this)},ae.prototype.lookup=function(n){var e=this.cache,t;if(e.hasOwnProperty(n))t=e[n];else{for(var a=this,s,r,c,l=!1;a;){if(n.indexOf(".")>0)for(s=a.view,r=n.split("."),c=0;s!=null&&c<r.length;)c===r.length-1&&(l=Oe(s,r[c])||pt(s,r[c])),s=s[r[c++]];else s=a.view[n],l=Oe(a.view,n);if(l){t=s;break}a=a.parent}e[n]=t}return be(t)&&(t=t.call(this.view)),t};function $(){this.templateCache={_cache:{},set:function(n,e){this._cache[n]=e},get:function(n){return this._cache[n]},clear:function(){this._cache={}}}}$.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()},$.prototype.parse=function(n,e){var t=this.templateCache,a=n+":"+(e||F.tags).join(":"),s=typeof t<"u",r=s?t.get(a):void 0;return r==null&&(r=Rt(n,e),s&&t.set(a,r)),r},$.prototype.render=function(n,e,t,a){var s=this.getConfigTags(a),r=this.parse(n,s),c=e instanceof ae?e:new ae(e,void 0);return this.renderTokens(r,c,t,n,a)},$.prototype.renderTokens=function(n,e,t,a,s){for(var r="",c,l,h,d=0,p=n.length;d<p;++d)h=void 0,c=n[d],l=c[0],l==="#"?h=this.renderSection(c,e,t,a,s):l==="^"?h=this.renderInverted(c,e,t,a,s):l===">"?h=this.renderPartial(c,e,t,s):l==="&"?h=this.unescapedValue(c,e):l==="name"?h=this.escapedValue(c,e,s):l==="text"&&(h=this.rawValue(c)),h!==void 0&&(r+=h);return r},$.prototype.renderSection=function(n,e,t,a,s){var r=this,c="",l=e.lookup(n[1]);function h(v){return r.render(v,e,t,s)}if(l){if(te(l))for(var d=0,p=l.length;d<p;++d)c+=this.renderTokens(n[4],e.push(l[d]),t,a,s);else if(typeof l=="object"||typeof l=="string"||typeof l=="number")c+=this.renderTokens(n[4],e.push(l),t,a,s);else if(be(l)){if(typeof a!="string")throw new Error("Cannot use higher-order sections without the original template");l=l.call(e.view,a.slice(n[3],n[5]),h),l!=null&&(c+=l)}else c+=this.renderTokens(n[4],e,t,a,s);return c}},$.prototype.renderInverted=function(n,e,t,a,s){var r=e.lookup(n[1]);if(!r||te(r)&&r.length===0)return this.renderTokens(n[4],e,t,a,s)},$.prototype.indentPartial=function(n,e,t){for(var a=e.replace(/[^ \t]/g,""),s=n.split(`
|
|
32
|
+
`),r=0;r<s.length;r++)s[r].length&&(r>0||!t)&&(s[r]=a+s[r]);return s.join(`
|
|
33
|
+
`)},$.prototype.renderPartial=function(n,e,t,a){if(t){var s=this.getConfigTags(a),r=be(t)?t(n[1]):t[n[1]];if(r!=null){var c=n[6],l=n[5],h=n[4],d=r;l==0&&h&&(d=this.indentPartial(r,h,c));var p=this.parse(d,s);return this.renderTokens(p,e,t,d,a)}}},$.prototype.unescapedValue=function(n,e){var t=e.lookup(n[1]);if(t!=null)return t},$.prototype.escapedValue=function(n,e,t){var a=this.getConfigEscape(t)||F.escape,s=e.lookup(n[1]);if(s!=null)return typeof s=="number"&&a===F.escape?String(s):a(s)},$.prototype.rawValue=function(n){return n[1]},$.prototype.getConfigTags=function(n){return te(n)?n:n&&typeof n=="object"?n.tags:void 0},$.prototype.getConfigEscape=function(n){if(n&&typeof n=="object"&&!te(n))return n.escape};var F={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(n){he.templateCache=n},get templateCache(){return he.templateCache}},he=new $;F.clearCache=function(){return he.clearCache()},F.parse=function(n,e){return he.parse(n,e)},F.render=function(n,e,t,a){if(typeof n!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+gt(n)+'" was given as the first argument for mustache#render(template, view, partials)');return he.render(n,e,t,a)},F.escape=bt,F.Scanner=oe,F.Context=ae,F.Writer=$;const It={mainTemplate:{template:`
|
|
34
34
|
{{#hasExternalPromotions}}
|
|
35
35
|
<div class="searchstax-external-promotions-container" id="searchstax-external-promotions-container">
|
|
36
36
|
External promotions go here
|
|
@@ -56,7 +56,7 @@ Check the top-level render call using <`+f+">.")}return d}}function Ze(i,d){{if(
|
|
|
56
56
|
</p>
|
|
57
57
|
{{/url}}
|
|
58
58
|
</div>
|
|
59
|
-
`}},
|
|
59
|
+
`}},jt={mainTemplateDesktop:{template:`
|
|
60
60
|
{{#hasResultsOrExternalPromotions}}
|
|
61
61
|
<div class="searchstax-facets-container-desktop"></div>
|
|
62
62
|
{{/hasResultsOrExternalPromotions}}
|
|
@@ -114,7 +114,7 @@ Check the top-level render call using <`+f+">.")}return d}}function Ze(i,d){{if(
|
|
|
114
114
|
<div class="searchstax-facets-pill-label">{{value}} ({{count}})</div>
|
|
115
115
|
<div class="searchstax-facets-pill-icon-close"></div>
|
|
116
116
|
</div>
|
|
117
|
-
`,containerClass:"searchstax-facets-pill-facets"}},
|
|
117
|
+
`,containerClass:"searchstax-facets-pill-facets"}},Pt={mainTemplate:{template:`
|
|
118
118
|
{{#results.length}}
|
|
119
119
|
<div class="searchstax-pagination-container">
|
|
120
120
|
<div class="searchstax-pagination-content">
|
|
@@ -141,7 +141,7 @@ Check the top-level render call using <`+f+">.")}return d}}function Ze(i,d){{if(
|
|
|
141
141
|
<span class="searchstax-related-search searchstax-related-search-item">
|
|
142
142
|
{{ related_search }}{{^last}}<span>,</span>{{/last}}
|
|
143
143
|
</span>
|
|
144
|
-
`,relatedSearchContainerClass:"searchstax-related-search-item"}},
|
|
144
|
+
`,relatedSearchContainerClass:"searchstax-related-search-item"}},wt={main:{template:`
|
|
145
145
|
{{#searchExecuted}}
|
|
146
146
|
<div class="searchstax-feedback-container">
|
|
147
147
|
{{#if totalResults}}
|
|
@@ -246,4 +246,4 @@ Check the top-level render call using <`+f+">.")}return d}}function Ze(i,d){{if(
|
|
|
246
246
|
</div>
|
|
247
247
|
{{/hasResultsOrExternalPromotions}}
|
|
248
248
|
{{/searchExecuted}}
|
|
249
|
-
`,selectId:"searchstax-search-order-select"}};class v{}o(v,"externalPromotions",It),o(v,"facets",Pt),o(v,"pagination",wt),o(v,"relatedSearches",Ft),o(v,"searchFeedback",jt),o(v,"searchInput",Ot),o(v,"searchResults",Mt),o(v,"sorting",At);class Dt{constructor(e){o(this,"dataLayer"),o(this,"config"),o(this,"containerId"),o(this,"externalPromotionsContainerId"),o(this,"searchExternalPromotionsMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((s=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:s.externalPromotionsContainerId)||v.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var t,s,a,r;const c=document.getElementById(this.externalPromotionsContainerId);if(c){const l=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.externalPromotion)==null?void 0:a.template)||((r=v.externalPromotions.externalPromotion)==null?void 0:r.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",u=>{this.trackClick(e,u)}),h.innerHTML=k.render(l,e),c.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,s,a,r;const c=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.template)||((r=v.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===q.mustache){this.searchExternalPromotionsMainContainer.innerHTML=k.render(c,e);const l=document.getElementById(this.externalPromotionsContainerId);l&&(l.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class _t{constructor(e,t){o(this,"dataLayer"),o(this,"config"),o(this,"containerId"),o(this,"routerHelper"),o(this,"cachedPhrase",""),o(this,"isCached",!1),o(this,"overlayOpened",!1),o(this,"facetPaginationStep"),o(this,"facetPaginationStepMobile"),o(this,"searchFacetsMainContainer",null),o(this,"searchFacetsMobileContainer",null),o(this,"searchFacetsDesktopContainer",null),o(this,"facetLimits",{}),o(this,"facetLimitsMobile",{}),o(this,"deactivatedFacets",{}),o(this,"cachedData",null),o(this,"cacheFacets"),o(this,"onFacetSelect",(s,a,r,c)=>{if(s.stopPropagation(),!a.disabled){const l=r.querySelector("input");l.checked=c?l.checked:!l.checked;const h=this.dataLayer.searchObject;let u=[...h.facets];const g=this.extractFacetValue(a);l.checked?u.find(m=>W.deepEqual(m,g)?m:!1)||(this.config.facetingType==="tabs"&&(u=u.filter(m=>m.name!==g.name)),u.push(g)):u=u.filter(m=>!W.deepEqual(m,g)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:u,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}}),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const s=t?this.facetPaginationStepMobile:this.facetPaginationStep,a=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{a[r.name]||(a[r.name]=s)}),e.map(r=>({...r,values:r.values.slice(0,a[r.name]),showingAllFacets:r.values.length<=a[r.name],hasMoreFacets:r.values.length>s}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(a=>{var r;const c=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===a.name);return c?{...a,values:a.values.map(l=>{const h=c.values.find(u=>l.type==="range"?!1:l.type==="checkbox"?u.value===l.value:!1);return{...l,disabled:!h,isMobile:e}})}:{...a,values:a.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(a=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(a.name)}));const s={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(s),s}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,s){var a,r,c,l,h,u,g,m,y,R,F,L;const x=document.createElement("div");x.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||x.classList.add("active");const P=((c=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:c.template)||((l=v.facets.facetItemContainerTemplate)==null?void 0:l.template);x.innerHTML=k.render(P,e),t.appendChild(x);const C=x.querySelector("."+(((g=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)||((m=v.facets.facetItemContainerTemplate)==null?void 0:m.facetListTitleContainerClass)));C==null||C.addEventListener("click",()=>{x.classList.toggle("active")});const _=x.querySelector("."+(((F=(R=(y=this.config)==null?void 0:y.templates)==null?void 0:R.facetItemContainerTemplate)==null?void 0:F.facetListContainerClass)||((L=v.facets.facetItemContainerTemplate)==null?void 0:L.facetListContainerClass)));_&&(e.values.forEach(V=>{this.createFacetListItem(V,_)}),e.hasMoreFacets&&this.createHasMoreComponent(e,_,s))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(s=>W.deepEqual(s,this.extractFacetValue(e))))}createFacetListItem(e,t){var s,a,r,c,l,h,u,g,m,y,R,F,L;const x=document.createElement("div");x.classList.add("searchstax-facet-value-container"),e.disabled&&x.classList.add("searchstax-facet-value-disabled");const P=this.isChecked(e),C=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.facetItemTemplate)==null?void 0:r.template)||((c=v.facets.facetItemTemplate)==null?void 0:c.template);x.innerHTML=k.render(C,{...e,isChecked:P});let _=(l=v.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;_=((g=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemTemplate)==null?void 0:g.checkTriggerClasses)||_,_.forEach(V=>{var O;(O=x.querySelector("."+V))==null||O.addEventListener("click",Q=>{this.onFacetSelect(Q,e,x)})}),(L=x.querySelector("."+(((R=(y=(m=this.config)==null?void 0:m.templates)==null?void 0:y.facetItemTemplate)==null?void 0:R.inputCheckboxClass)||((F=v.facets.facetItemTemplate)==null?void 0:F.inputCheckboxClass))))==null||L.addEventListener("click",V=>{this.onFacetSelect(V,e,x,!0)}),t.appendChild(x)}createHasMoreComponent(e,t,s){var a,r,c,l,h,u,g,m;const y=document.createElement("div");y.classList.add("searchstax-facet-show-more-container");const R=((c=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:c.template)||((l=v.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);y.innerHTML=k.render(R,e);const F=y.querySelector("."+(((g=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.showMoreButtonContainerTemplate)==null?void 0:g.showMoreButtonClass)||((m=v.facets.showMoreButtonContainerTemplate)==null?void 0:m.showMoreButtonClass)));F&&(this.attachOnclickToShowMore(e,F,s),t&&t.appendChild(F))}attachOnclickToShowMore(e,t,s){t.addEventListener("click",a=>{this.onShowMoreLessClick(a,e,s)})}onShowMoreLessClick(e,t,s){e.preventDefault();const a=s?this.facetPaginationStepMobile:this.facetPaginationStep,r=s?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=a*2:r[t.name]<=t.values.length?r[t.name]=r[t.name]+a:r[t.name]=a,this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var s,a,r,c,l,h,u,g,m,y,R;if(e&&(!W.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const F=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.mainTemplateDesktop)==null?void 0:r.template)||((c=v.facets.mainTemplateDesktop)==null?void 0:c.template);if(this.dataLayer.renderingEngine===q.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=k.render(F,{...e});const L=(g=this.searchFacetsMainContainer)==null?void 0:g.querySelector("."+(((u=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:u.facetsContainerClass)||v.facets.mainTemplateDesktop.facetsContainerClass));if(L){L.innerHTML="";for(const x of e.facets)this.createFacetItem(x,L);if(this.searchFacetsMainContainer){const x=this.searchFacetsMainContainer.querySelector("."+(((R=(y=(m=this.config)==null?void 0:m.templates)==null?void 0:y.mainTemplateDesktop)==null?void 0:R.selectedFacetsContainerClass)||v.facets.mainTemplateDesktop.selectedFacetsContainerClass));x&&(this.createSelectedFacetsComponents(x),this.createClearFacetsComponents(x))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const s of t){const a=decodeURIComponent(s.name),r=decodeURIComponent(s.value);if(this.dataLayer.searchFacets){const c=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=c==null?void 0:c.find(h=>h.name===a);if(l){const h=l.values.find(u=>u.type==="range"?!1:u.type==="checkbox"?`"${u.value}"`==`"${r}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(s=>{this.createSelectedFacetsComponent(e,s)})}createClearFacetsComponents(e){var t,s,a,r,c,l,h,u;const g=this.dataLayer.searchObject,m=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.clearFacetsTemplate)==null?void 0:a.template)||((r=v.facets.clearFacetsTemplate)==null?void 0:r.template),y=document.createElement("div");y.innerHTML=k.render(m,{shouldShow:g.facets.length>0});const R=y.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:h.containerClass)||((u=v.facets.clearFacetsTemplate)==null?void 0:u.containerClass)));R&&(R.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(R))}createSelectedFacetsComponent(e,t){var s,a,r,c,l,h,u,g;const m=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.selectedFacetsTemplate)==null?void 0:r.template)||((c=v.facets.selectedFacetsTemplate)==null?void 0:c.template),y=document.createElement("div");y.innerHTML=k.render(m,t);const R=y.querySelector("."+(((u=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:u.containerClass)||((g=v.facets.selectedFacetsTemplate)==null?void 0:g.containerClass)));R&&(R.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(R))}unselectFacet(e){const t=this.dataLayer.searchObject;let s=[...t.facets];e.type==="checkbox"&&(s=s.filter(a=>JSON.stringify(a)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:s}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,s,a,r,c,l,h,u;const g=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.filterByTemplate)==null?void 0:a.template)||((r=v.facets.filterByTemplate)==null?void 0:r.template),m=document.createElement("div");m.innerHTML=k.render(g,{});const y=m.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.filterByTemplate)==null?void 0:h.containerClass)||((u=v.facets.filterByTemplate)==null?void 0:u.containerClass)));y&&(e.prepend(y),y.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,s,a,r,c,l,h,u,g,m,y,R,F,L,x,P,C,_,V;if(e){const O=document.createElement("div");O.classList.add("searchstax-facets-container-mobile");const Q=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplateMobile)==null?void 0:a.template)||((r=v.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===q.mustache){if(O.innerHTML=k.render(Q,{...e,overlayOpened:this.overlayOpened}),(c=this.searchFacetsMainContainer)==null||c.appendChild(O),(h=(l=this.config)==null?void 0:l.templates)!=null&&h.mainTemplateMobile)for(const Y of((m=(g=(u=this.config)==null?void 0:u.templates)==null?void 0:g.mainTemplateMobile)==null?void 0:m.closeOverlayTriggerClasses)||[]){const X=O.querySelector("."+Y);X&&X.addEventListener("click",this.closeOverlay.bind(this))}else for(const Y of v.facets.mainTemplateMobile.closeOverlayTriggerClasses){const X=O.querySelector("."+Y);X&&X.addEventListener("click",this.closeOverlay.bind(this))}const te=O.querySelector("."+(((F=(R=(y=this.config)==null?void 0:y.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:F.filterByContainerClass)||v.facets.mainTemplateMobile.filterByContainerClass));te&&this.createFilterByComponent(te);const H=O.querySelector("."+(((P=(x=(L=this.config)==null?void 0:L.templates)==null?void 0:x.mainTemplateMobile)==null?void 0:P.selectedFacetsContainerClass)||v.facets.mainTemplateMobile.selectedFacetsContainerClass));H&&(this.createSelectedFacetsComponents(H),this.createClearFacetsComponents(H));const ae=O.querySelector("."+(((V=(_=(C=this.config)==null?void 0:C.templates)==null?void 0:_.mainTemplateMobile)==null?void 0:V.facetsContainerClass)||v.facets.mainTemplateMobile.facetsContainerClass));if(ae){ae.innerHTML="";for(const Y of e.facets)this.createFacetItem(Y,ae,!0)}}}}}class qt{constructor(e){o(this,"dataLayer"),o(this,"config"),o(this,"containerId"),o(this,"previousButtonClass"),o(this,"nextButtonClass"),o(this,"routerHelper"),o(this,"searchPaginationMainContainer",null);var t,s,a,r,c,l;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.previousButtonClass)??v.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(c=(r=this.config)==null?void 0:r.templates)==null?void 0:c.mainTemplate)==null?void 0:l.nextButtonClass)??v.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t,s,a;const r={...this.dataLayer.parsedData.data,previousPageLink:(t=this.routerHelper)==null?void 0:t.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(r),r}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var t,s,a,r,c,l;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));const h=((c=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:c.template)||((l=v.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.renderingEngine===q.mustache&&(this.searchPaginationMainContainer.innerHTML=k.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Nt{constructor(e){o(this,"dataLayer"),o(this,"config"),o(this,"containerId"),o(this,"relatedSearchesContainerClass"),o(this,"searchRelatedSearchesMainContainer",null),o(this,"track");var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.relatedSearchesContainerClass)||v.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var s,a,r,c,l;const h=document.createElement("div"),u=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.relatedSearch)==null?void 0:r.template)||v.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===q.mustache){h.innerHTML=k.render(u,e);const g=h.querySelector("."+(((l=(c=this.config.templates)==null?void 0:c.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||v.relatedSearches.relatedSearch.relatedSearchContainerClass));g&&(t.appendChild(g),g.addEventListener("click",()=>{this.executeSearch(e)}))}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var t,s,a,r;const c=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||v.relatedSearches.main.template;if(this.dataLayer.renderingEngine===q.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=k.render(c,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,l)}}}class Vt{constructor(e){o(this,"dataLayer"),o(this,"config"),o(this,"containerId"),o(this,"searchFeedbackMainContainer",null),o(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,this.searchFeedbackMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var t;e.stopPropagation(),e.preventDefault();const s=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(s,!0)}attachClick(){var e,t,s,a,r;const c=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:s.originalQueryClass)||((a=v.searchFeedback.main)==null?void 0:a.originalQueryClass)));c&&c.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||v.searchFeedback.main.template;this.dataLayer.renderingEngine===q.mustache&&(this.searchFeedbackMainContainer.innerHTML=k.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class Ht{constructor(e){o(this,"dataLayer"),o(this,"config"),o(this,"suggestAfterMinChars"),o(this,"containerId"),o(this,"currentInputValue",""),o(this,"autosuggestResults"),o(this,"searchInput"),o(this,"actionButton"),o(this,"autosuggestContainer"),o(this,"buttonState","search"),o(this,"selectedAutosuggestItem",-1),o(this,"suggestTrigger"),o(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,s,a;const r=document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const c=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||v.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===q.mustache){const u=k.render(c,{});r.innerHTML=u}const l=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.searchInputId)||v.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${l}`);if(h)this.searchInput=h,h.addEventListener("keyup",this.inputKeyupEvent.bind(this)),h.addEventListener("blur",this.hideAutosuggest.bind(this)),h.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===q.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const s=e[t];t===this.selectedAutosuggestItem?s.classList.add("active"):s.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return U.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,s,a;const r=document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const c=((s=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:s.template)||((a=v.searchInput.autosuggestItemTemplate)==null?void 0:a.template);return r.innerHTML=k.render(c,e),r}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const s=e.suggest[t];for(const a in s)if(Object.prototype.hasOwnProperty.call(s,a)){const r=s[a];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(c=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(c))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class $t{constructor(e){o(this,"dataLayer"),o(this,"config"),o(this,"linkClickCallback"),o(this,"searchCallback"),o(this,"containerId"),o(this,"searchResultsMainContainer"),o(this,"searchResultsContainer"),o(this,"searchResultLinks",[]),this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,s,a,r;const c=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:s.template)||((a=v.searchResults.noSearchResultTemplate)==null?void 0:a.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===q.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=k.render(c,{spellingSuggestion:l,searchTerm:this.dataLayer.searchTerm})),l&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,s,a,r;if(this.dataLayer.renderingEngine===q.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.searchResultTemplate)==null?void 0:a.template)||((r=v.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>k.render(c,h));this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,s,a;return((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)||((a=v.searchResults.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const s=e.getAttribute(this.uniqueIdAttribute)??"";s&&this.linkClickCallback(s)})})}renderMainTemplate(){var e,t,s,a;const r=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:s.template)||((a=v.searchResults.mainTemplate)==null?void 0:a.template);this.dataLayer.renderingEngine===q.mustache&&(this.searchResultsMainContainer.innerHTML=k.render(r,{}),setTimeout(()=>{var c,l,h,u,g,m,y;const R=(h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplate)!=null&&h.searchResultsContainerId?(m=(g=(u=this.config)==null?void 0:u.templates)==null?void 0:g.mainTemplate)==null?void 0:m.searchResultsContainerId:(y=v.searchResults.mainTemplate)==null?void 0:y.searchResultsContainerId,F=document.getElementById(R);if(F)this.searchResultsContainer=F;else throw new Error(`Search Results Container with id ${R} not found`)},0))}}class Bt{constructor(e){o(this,"dataLayer"),o(this,"config"),o(this,"containerId"),o(this,"selectId"),o(this,"searchSortingMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.selectId)||v.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||v.sorting.main.template;if(this.dataLayer.renderingEngine===q.mustache){this.searchSortingMainContainer.innerHTML=k.render(r,e),this.markOptionSelected();const c=document.getElementById(this.selectId);c&&c.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class Wt{constructor(e=q.mustache){o(this,"routerEnabled",!1),o(this,"cachedQuery",""),o(this,"routerHelper"),o(this,"searchHelper"),o(this,"searchResultsConfig"),o(this,"searchPaginationConfig"),o(this,"searchFeedbackConfig"),o(this,"searchSortingConfig"),o(this,"searchFacetsConfig"),o(this,"relatedSearchesConfig"),o(this,"externalPromotionsConfig"),o(this,"searchInputWidget"),o(this,"searchResultsWidget"),o(this,"searchFacetsWidget"),o(this,"searchPaginationWidget"),o(this,"searchFeedbackWidget"),o(this,"searchSortingWidget"),o(this,"relatedSearchesWidget"),o(this,"externalPromotionsWidget"),o(this,"dataLayer",new lt(ut.getOrSetCookie("searchstax_session_id"))),o(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=q.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(s=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(s)}),this.dataLayer.$searchObject.subscribe(s=>{s.query!==""&&this.search(s)}),this.dataLayer.$searchResults.subscribe(s=>{s&&this.dataLayer.searchResultsMetadata&&le.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,s;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ht({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((s=e.router)==null?void 0:s.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new Fe(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new Fe({})}search(e){if(this.searchHelper&&e.query!==""&&e.query!==void 0&&e.query!=="undefined"){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t;const s=(((t=e.response)==null?void 0:t.docs)??[]).map((r,c)=>({...r,position:c+1})),a=[];for(const r of s)a.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&le.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:a}),this.dataLayer.setSearchRelatedSearches(s)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,s;this.handleRouter();let a=ce.combineResultsWithMetadata(e),r=ce.extractFacets(e);this.dataLayer.setSearchFacets(r),(s=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&s.afterSearch&&(a=this.dataLayer.searchstaxConfig.hooks.afterSearch(a)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const c=ce.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(c),this.dataLayer.setSearchResults(a)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,s;let a=e;(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.afterAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(a)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Ht({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new $t({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new qt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Vt({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Bt({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Nt({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Dt({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new _t({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var s,a;const r={...this.dataLayer.searchObject};r.query=U.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let c=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(r);c&&(c=(a=this.routerHelper)==null?void 0:a.extractParamsThatDoNotStartWithRouteName(c)),c&&(r.additionalProps=Object.keys(c).map(l=>c?{key:l,value:c[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r)}executeSuggest(e){var t,s;let a={term:e,queryParams:[]};(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.beforeAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(a)),a&&a.term!==void 0&&a.queryParams!==void 0&&this.suggest(a.term,a.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&le.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,s;let a=ce.findResultByUniqueId(e,this.dataLayer.searchResults??[]);a&&((s=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&s.afterLinkClick&&(a=this.searchResultsConfig.hooks.afterLinkClick(a)),a&&this.dataLayer.searchResultsMetadata&&(le.trackClick({result:a,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(a==null?void 0:a.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,s,a;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(s=this.searchResultsConfig)==null?void 0:s.templates,...e}:e,(a=this.searchResultsWidget)==null||a.changeTemplate())}}const E={searchstax:new Wt("react")};function Ut(n){let e=!1;const[t,s]=A.useState([]);A.useEffect(()=>{if(a(),E.searchstax){const h={};n.afterAutosuggest&&(h.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(h.beforeAutosuggest=n.beforeAutosuggest),E.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars??3,hooks:h,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function a(){console.log(e),e||(E.searchstax.dataLayer.$autosuggestResults.subscribe(h=>{s((h==null?void 0:h.suggestions)??[])}),e=!0)}function r(){var h,u;(h=E.searchstax.searchInputWidget)==null||h.resetAutosuggestSelection(),(u=E.searchstax.searchInputWidget)==null||u.markActiveAutosuggestItem()}function c(h){var u;(u=E.searchstax.searchInputWidget)==null||u.onSuggestionEnter(h)}function l(){var h;(h=E.searchstax.searchInputWidget)==null||h.suggestionChosen()}return p.jsx(p.Fragment,{children:p.jsx("div",{id:"searchstax-input-container",children:p.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&p.jsxs("div",{className:"searchstax-search-input-wrapper",children:[p.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR..."}),p.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(h){return p.jsx("div",{className:"searchstax-autosuggest-item",children:p.jsx("div",{className:"searchstax-autosuggest-item-term-container",dangerouslySetInnerHTML:{__html:h.term},onMouseOver:()=>{c(h)},onClick:()=>{l()}})},h.term)})}),p.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"})]}),n.inputTemplate&&p.jsx(p.Fragment,{children:n.inputTemplate(t,r,c,l)})]})})})}function Qt(n){return A.useEffect(()=>{const e={};n.beforeSearch&&(e.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(e.afterSearch=n.afterSearch),E.searchstax.initialize({language:n.language??"en",searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:e}),n.initialized(E.searchstax)},[n.initialized]),p.jsx(p.Fragment,{children:n.children})}function Kt(n){const[e,t]=A.useState(null),[s,a]=A.useState(""),[r,c]=A.useState(null),l=(u,g)=>{g.preventDefault(),g.stopPropagation(),E.searchstax.executeLinkClick(u.uniqueId)};A.useEffect(()=>{h();const u={};n.afterLinkClick&&(u.afterLinkClick=n.afterLinkClick),E.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:u})},[]);function h(){E.searchstax.dataLayer.$searchResults.subscribe(u=>{t(u)}),E.searchstax.dataLayer.$searchTermChange.subscribe(u=>{a(u)}),E.searchstax.dataLayer.$searchResultsMetadata.subscribe(u=>{c(u)})}return p.jsx(p.Fragment,{children:p.jsx("div",{id:"searchstax-results-container",children:p.jsx("div",{className:"searchstax-search-results-container",children:p.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&!n.noResultTemplate&&p.jsxs("div",{children:[p.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",p.jsx("strong",{children:"no results"})," for ",p.jsxs("strong",{children:['"',s,'"']}),p.jsx("br",{}),(r==null?void 0:r.spellingSuggestion)&&p.jsxs("span",{children:[" Did you mean"," ",p.jsx("a",{href:"#",className:"searchstax-suggestion-term",children:r==null?void 0:r.spellingSuggestion}),"?"]})]}),p.jsxs("div",{children:[p.jsxs("p",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),p.jsx("p",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&n.noResultTemplate&&p.jsx(p.Fragment,{children:n.noResultTemplate(s,r)}),e&&e.length&&!n.resultsTemplate&&p.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(u){return p.jsxs("div",{className:`searchstax-search-result ${u.thumbnail?"has-thumbnail":""}`,children:[u.promoted&&p.jsx("div",{className:"searchstax-search-result-promoted"}),u.url&&p.jsx("a",{href:u.url,"data-searchstax-unique-result-id":u.uniqueId,onClick:g=>{l(u,g)},className:"searchstax-result-item-link"}),u.ribbon&&p.jsx("div",{className:"searchstax-search-result-ribbon",children:u.ribbon}),u.thumbnail&&p.jsx("img",{src:u.thumbnail,className:"searchstax-thumbnail"}),p.jsx("div",{className:"searchstax-search-result-title-container",children:p.jsx("span",{className:"searchstax-search-result-title",children:u.title})}),u.paths&&p.jsx("p",{className:"searchstax-search-result-common",children:u.paths}),u.description&&p.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:u.description}),u.unmappedFields.map(function(g){return p.jsxs("div",{children:[g.isImage&&typeof g.value=="string"&&p.jsx("div",{className:"searchstax-search-result-image-container",children:p.jsx("img",{src:g.value,className:"searchstax-result-image"})}),!g.isImage&&p.jsx("div",{children:p.jsx("p",{className:"searchstax-search-result-common",children:g.value})})]},g.key)})]},u.uniqueId)})}),e&&e.length&&n.resultsTemplate&&p.jsx(p.Fragment,{children:n.resultsTemplate(e,l)})]})})})})}function zt(n){let e=!1;const[t,s]=A.useState(!1),[a,r]=A.useState(null),[c]=A.useState(Math.random());A.useEffect(()=>{if(l(),E.searchstax)E.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(E.searchstax.dataLayer.$searchObject.subscribe(()=>{h()}),E.searchstax.dataLayer.$paginationData.subscribe(m=>{r(m)}),e=!0)}function h(){!t&&E.searchstax.routerHelper&&(s(!0),E.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{}))}function u(m){var y;(y=E.searchstax.searchPaginationWidget)==null||y.nextPage(m)}function g(m){var y;(y=E.searchstax.searchPaginationWidget)==null||y.previousPage(m)}return p.jsx(p.Fragment,{children:p.jsxs("div",{id:"searchstax-pagination-container"+c,children:[!n.paginationTemplate&&a&&(a==null?void 0:a.totalResults)!==0&&p.jsx("div",{className:"searchstax-pagination-container",children:p.jsxs("div",{className:"searchstax-pagination-content",children:[p.jsxs("a",{className:"searchstax-pagination-previous",style:a!=null&&a.isFirstPage?{pointerEvents:"none"}:{},onClick:m=>{g(m)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),p.jsxs("div",{className:"searchstax-pagination-details",children:[" ",a==null?void 0:a.startResultIndex," - ",a==null?void 0:a.endResultIndex," of ",a==null?void 0:a.totalResults]}),p.jsx("a",{className:"searchstax-pagination-next",style:a!=null&&a.isLastPage?{pointerEvents:"none"}:{},onClick:m=>{u(m)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&p.jsx(p.Fragment,{children:n.paginationTemplate(a,u,g)})]})})}function Jt(n){let e=!1;const[t,s]=A.useState(null),[a,r]=A.useState(""),[c]=A.useState(Math.random());A.useEffect(()=>{if(l(),E.searchstax)E.searchstax.addSearchSortingWidget("search-sorting-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(E.searchstax.dataLayer.$searchSortingData.subscribe(u=>{s(u)}),E.searchstax.dataLayer.$searchObject.subscribe(u=>{r(decodeURIComponent((u==null?void 0:u.order)??""))}),e=!0)}function h(u){var g;(g=E.searchstax.searchSortingWidget)==null||g.setOrderQuery(u)}return p.jsx(p.Fragment,{children:p.jsxs("div",{id:"search-sorting-container"+c,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&p.jsxs("div",{className:"searchstax-sorting-container",children:[p.jsx("label",{className:"searchstax-sorting-label",htmlFor:"sort-by",children:"Sort By"}),p.jsxs("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:a,onChange:u=>{h(u.target.value)},children:[p.jsx("option",{value:"",children:" Relevance "}),p.jsx("option",{value:"date desc",children:" Newest Content "}),p.jsx("option",{value:"date asc",children:" Oldest Content "})]})]}),n.searchSortingTemplate&&p.jsx(p.Fragment,{children:n.searchSortingTemplate(t,h,a)})]})})}function Yt(n){let e=!1;const[t,s]=A.useState(null),[a]=A.useState(Math.random());A.useEffect(()=>{if(r(),E.searchstax)E.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(E.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{s(l)}),e=!0)}function c(l){var h;(h=E.searchstax.searchFeedbackWidget)==null||h.onOriginalQueryClick(l)}return p.jsx(p.Fragment,{children:p.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+a,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)&&p.jsxs(p.Fragment,{children:["Showing"," ",p.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",p.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&p.jsxs("span",{children:[' for "',p.jsx("b",{children:t.searchTerm}),'"'," "]}),p.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&p.jsxs("div",{children:[" ","Search instead for"," ",p.jsx("a",{href:"#",onClick:l=>{c(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&p.jsx(p.Fragment,{children:n.searchOverviewTemplate(t,c)})]})})}J.SearchstaxInputWidget=Ut,J.SearchstaxOverviewWidget=Yt,J.SearchstaxPaginationWidget=zt,J.SearchstaxResultWidget=Kt,J.SearchstaxSortingWidget=Jt,J.SearchstaxWrapper=Qt,Object.defineProperty(J,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxReact"]=this["@searchstaxInc/searchstudioUxReact"]||{},React);
|
|
249
|
+
`,selectId:"searchstax-search-order-select"}};class x{}u(x,"externalPromotions",It),u(x,"facets",jt),u(x,"pagination",Pt),u(x,"relatedSearches",Ft),u(x,"searchFeedback",wt),u(x,"searchInput",Ot),u(x,"searchResults",Mt),u(x,"sorting",At);class Nt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"externalPromotionsContainerId"),u(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||x.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var t,a,s,r;const c=document.getElementById(this.externalPromotionsContainerId);if(c){const l=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.externalPromotion)==null?void 0:s.template)||((r=x.externalPromotions.externalPromotion)==null?void 0:r.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",d=>{this.trackClick(e,d)}),h.innerHTML=F.render(l,e),c.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=x.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){this.searchExternalPromotionsMainContainer.innerHTML=F.render(c,e);const l=document.getElementById(this.externalPromotionsContainerId);l&&(l.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class Dt{constructor(e,t){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"routerHelper"),u(this,"cachedPhrase",""),u(this,"isCached",!1),u(this,"overlayOpened",!1),u(this,"facetPaginationStep"),u(this,"facetPaginationStepMobile"),u(this,"searchFacetsMainContainer",null),u(this,"searchFacetsMobileContainer",null),u(this,"searchFacetsDesktopContainer",null),u(this,"facetLimits",{}),u(this,"facetLimitsMobile",{}),u(this,"deactivatedFacets",{}),u(this,"cachedData",null),u(this,"cacheFacets"),u(this,"onFacetSelect",(a,s,r,c)=>{if(a.stopPropagation(),!s.disabled){const l=r.querySelector("input");l.checked=c?l.checked:!l.checked;const h=this.dataLayer.searchObject;let d=[...h.facets];const p=this.extractFacetValue(s);l.checked?d.find(v=>J.deepEqual(v,p)?v:!1)||(this.config.facetingType==="tabs"&&(d=d.filter(v=>v.name!==p.name)),d.push(p)):d=d.filter(v=>!J.deepEqual(v,p)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:d,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}}),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const a=t?this.facetPaginationStepMobile:this.facetPaginationStep,s=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{s[r.name]||(s[r.name]=a)}),e.map(r=>({...r,values:r.values.slice(0,s[r.name]),showingAllFacets:r.values.length<=s[r.name],hasMoreFacets:r.values.length>a}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(s=>{var r;const c=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===s.name);return c?{...s,values:s.values.map(l=>{const h=c.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(s.name)}));const a={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(a),a}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,a){var s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||L.classList.add("active");const P=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:c.template)||((l=x.facets.facetItemContainerTemplate)==null?void 0:l.template);L.innerHTML=F.render(P,e),t.appendChild(L);const T=L.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)||((v=x.facets.facetItemContainerTemplate)==null?void 0:v.facetListTitleContainerClass)));T==null||T.addEventListener("click",()=>{L.classList.toggle("active")});const _=L.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.facetItemContainerTemplate)==null?void 0:A.facetListContainerClass)||((R=x.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));_&&(e.values.forEach(B=>{this.createFacetListItem(B,_)}),e.hasMoreFacets&&this.createHasMoreComponent(e,_,a))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>J.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var a,s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-value-container"),e.disabled&&L.classList.add("searchstax-facet-value-disabled");const P=this.isChecked(e),T=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.facetItemTemplate)==null?void 0:r.template)||((c=x.facets.facetItemTemplate)==null?void 0:c.template);L.innerHTML=F.render(T,{...e,isChecked:P});let _=(l=x.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;_=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||_,_.forEach(B=>{var N;(N=L.querySelector("."+B))==null||N.addEventListener("click",K=>{this.onFacetSelect(K,e,L)})}),(R=L.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.facetItemTemplate)==null?void 0:E.inputCheckboxClass)||((A=x.facets.facetItemTemplate)==null?void 0:A.inputCheckboxClass))))==null||R.addEventListener("click",B=>{this.onFacetSelect(B,e,L,!0)}),t.appendChild(L)}createHasMoreComponent(e,t,a){var s,r,c,l,h,d,p,v;const C=document.createElement("div");C.classList.add("searchstax-facet-show-more-container");const E=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:c.template)||((l=x.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);C.innerHTML=F.render(E,e);const A=C.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)||((v=x.facets.showMoreButtonContainerTemplate)==null?void 0:v.showMoreButtonClass)));A&&(this.attachOnclickToShowMore(e,A,a),t&&t.appendChild(A))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const s=a?this.facetPaginationStepMobile:this.facetPaginationStep,r=a?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=s*2:r[t.name]<=t.values.length?r[t.name]=r[t.name]+s:r[t.name]=s,this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,c,l,h,d,p,v,C,E;if(e&&(!J.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const A=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((c=x.facets.mainTemplateDesktop)==null?void 0:c.template);if(this.dataLayer.renderingEngine===V.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=F.render(A,{...e});const R=(p=this.searchFacetsMainContainer)==null?void 0:p.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:d.facetsContainerClass)||x.facets.mainTemplateDesktop.facetsContainerClass));if(R){R.innerHTML="";for(const L of e.facets)this.createFacetItem(L,R);if(this.searchFacetsMainContainer){const L=this.searchFacetsMainContainer.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.mainTemplateDesktop)==null?void 0:E.selectedFacetsContainerClass)||x.facets.mainTemplateDesktop.selectedFacetsContainerClass));L&&(this.createSelectedFacetsComponents(L),this.createClearFacetsComponents(L))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const s=decodeURIComponent(a.name),r=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const c=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=c==null?void 0:c.find(h=>h.name===s);if(l){const h=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?`"${d.value}"`==`"${r}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var t,a,s,r,c,l,h,d;const p=this.dataLayer.searchObject,v=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=x.facets.clearFacetsTemplate)==null?void 0:r.template),C=document.createElement("div");C.innerHTML=F.render(v,{shouldShow:p.facets.length>0});const E=C.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:h.containerClass)||((d=x.facets.clearFacetsTemplate)==null?void 0:d.containerClass)));E&&(E.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(E))}createSelectedFacetsComponent(e,t){var a,s,r,c,l,h,d,p;const v=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((c=x.facets.selectedFacetsTemplate)==null?void 0:c.template),C=document.createElement("div");C.innerHTML=F.render(v,t);const E=C.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:d.containerClass)||((p=x.facets.selectedFacetsTemplate)==null?void 0:p.containerClass)));E&&(E.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(E))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(s=>JSON.stringify(s)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,a,s,r,c,l,h,d;const p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=x.facets.filterByTemplate)==null?void 0:r.template),v=document.createElement("div");v.innerHTML=F.render(p,{});const C=v.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.filterByTemplate)==null?void 0:h.containerClass)||((d=x.facets.filterByTemplate)==null?void 0:d.containerClass)));C&&(e.prepend(C),C.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,s,r,c,l,h,d,p,v,C,E,A,R,L,P,T,_,B;if(e){const N=document.createElement("div");N.classList.add("searchstax-facets-container-mobile");const K=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=x.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){if(N.innerHTML=F.render(K,{...e,overlayOpened:this.overlayOpened}),(c=this.searchFacetsMainContainer)==null||c.appendChild(N),(h=(l=this.config)==null?void 0:l.templates)!=null&&h.mainTemplateMobile)for(const H of((v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplateMobile)==null?void 0:v.closeOverlayTriggerClasses)||[]){const Z=N.querySelector("."+H);Z&&Z.addEventListener("click",this.closeOverlay.bind(this))}else for(const H of x.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Z=N.querySelector("."+H);Z&&Z.addEventListener("click",this.closeOverlay.bind(this))}const m=N.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.mainTemplateMobile)==null?void 0:A.filterByContainerClass)||x.facets.mainTemplateMobile.filterByContainerClass));m&&this.createFilterByComponent(m);const y=N.querySelector("."+(((P=(L=(R=this.config)==null?void 0:R.templates)==null?void 0:L.mainTemplateMobile)==null?void 0:P.selectedFacetsContainerClass)||x.facets.mainTemplateMobile.selectedFacetsContainerClass));y&&(this.createSelectedFacetsComponents(y),this.createClearFacetsComponents(y));const O=N.querySelector("."+(((B=(_=(T=this.config)==null?void 0:T.templates)==null?void 0:_.mainTemplateMobile)==null?void 0:B.facetsContainerClass)||x.facets.mainTemplateMobile.facetsContainerClass));if(O){O.innerHTML="";for(const H of e.facets)this.createFacetItem(H,O,!0)}}}}}class _t{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"previousButtonClass"),u(this,"nextButtonClass"),u(this,"routerHelper"),u(this,"searchPaginationMainContainer",null);var t,a,s,r,c,l;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.previousButtonClass)??x.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(c=(r=this.config)==null?void 0:r.templates)==null?void 0:c.mainTemplate)==null?void 0:l.nextButtonClass)??x.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t,a,s;const r={...this.dataLayer.parsedData.data,previousPageLink:(t=this.routerHelper)==null?void 0:t.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:(s=this.routerHelper)==null?void 0:s.searchObjectToUrl({...this.dataLayer.searchObject,page:((a=this.dataLayer.searchObject)==null?void 0:a.page)+1})};return this.dataLayer.setPaginationData(r),r}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var t,a,s,r,c,l;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(a=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||a.removeEventListener("click",this.nextPage));const h=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.mainTemplate)==null?void 0:c.template)||((l=x.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.renderingEngine===V.mustache&&(this.searchPaginationMainContainer.innerHTML=F.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Ht{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"relatedSearchesContainerClass"),u(this,"searchRelatedSearchesMainContainer",null),u(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||x.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var a,s,r,c,l;const h=document.createElement("div"),d=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||x.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===V.mustache){h.innerHTML=F.render(d,e);const p=h.querySelector("."+(((l=(c=this.config.templates)==null?void 0:c.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||x.relatedSearches.relatedSearch.relatedSearchContainerClass));p&&(t.appendChild(p),p.addEventListener("click",()=>{this.executeSearch(e)}))}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var t,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.relatedSearches.main.template;if(this.dataLayer.renderingEngine===V.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=F.render(c,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,l)}}}class Wt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"searchFeedbackMainContainer",null),u(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,this.searchFeedbackMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var t;e.stopPropagation(),e.preventDefault();const a=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(a,!0)}attachClick(){var e,t,a,s,r;const c=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:a.originalQueryClass)||((s=x.searchFeedback.main)==null?void 0:s.originalQueryClass)));c&&c.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.searchFeedback.main.template;this.dataLayer.renderingEngine===V.mustache&&(this.searchFeedbackMainContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class qt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"suggestAfterMinChars"),u(this,"containerId"),u(this,"currentInputValue",""),u(this,"autosuggestResults"),u(this,"searchInput"),u(this,"actionButton"),u(this,"autosuggestContainer"),u(this,"buttonState","search"),u(this,"selectedAutosuggestItem",-1),u(this,"suggestTrigger"),u(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;const r=document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const c=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||x.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===V.mustache){const d=F.render(c,{});r.innerHTML=d}const l=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||x.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${l}`);if(h)this.searchInput=h,h.addEventListener("keyup",this.inputKeyupEvent.bind(this)),h.addEventListener("blur",this.hideAutosuggest.bind(this)),h.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===V.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return G.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,a,s;const r=document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const c=((a=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:a.template)||((s=x.searchInput.autosuggestItemTemplate)==null?void 0:s.template);return r.innerHTML=F.render(c,e),r}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const a=e.suggest[t];for(const s in a)if(Object.prototype.hasOwnProperty.call(a,s)){const r=a[s];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(c=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(c))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Bt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"linkClickCallback"),u(this,"searchCallback"),u(this,"containerId"),u(this,"searchResultsMainContainer"),u(this,"searchResultsContainer"),u(this,"searchResultLinks",[]),this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,a,s,r;const c=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:a.template)||((s=x.searchResults.noSearchResultTemplate)==null?void 0:s.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=F.render(c,{spellingSuggestion:l,searchTerm:this.dataLayer.searchTerm})),l&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,a,s,r;if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=x.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>F.render(c,h));this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=x.searchResults.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var e,t,a,s;const r=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:a.template)||((s=x.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===V.mustache&&(this.searchResultsMainContainer.innerHTML=F.render(r,{}),setTimeout(()=>{var c,l,h,d,p,v,C;const E=(h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplate)!=null&&h.searchResultsContainerId?(v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplate)==null?void 0:v.searchResultsContainerId:(C=x.searchResults.mainTemplate)==null?void 0:C.searchResultsContainerId,A=document.getElementById(E);if(A)this.searchResultsContainer=A;else throw new Error(`Search Results Container with id ${E} not found`)},0))}}class Vt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"selectId"),u(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||x.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var t,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.sorting.main.template;if(this.dataLayer.renderingEngine===V.mustache){this.searchSortingMainContainer.innerHTML=F.render(r,e),this.markOptionSelected();const c=document.getElementById(this.selectId);c&&c.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class $t{constructor(e=V.mustache){u(this,"routerEnabled",!1),u(this,"cachedQuery",""),u(this,"routerHelper"),u(this,"searchHelper"),u(this,"searchResultsConfig"),u(this,"searchPaginationConfig"),u(this,"searchFeedbackConfig"),u(this,"searchSortingConfig"),u(this,"searchFacetsConfig"),u(this,"relatedSearchesConfig"),u(this,"externalPromotionsConfig"),u(this,"searchInputWidget"),u(this,"searchResultsWidget"),u(this,"searchFacetsWidget"),u(this,"searchPaginationWidget"),u(this,"searchFeedbackWidget"),u(this,"searchSortingWidget"),u(this,"relatedSearchesWidget"),u(this,"externalPromotionsWidget"),u(this,"dataLayer",new lt(ut.getOrSetCookie("searchstax_session_id"))),u(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=V.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{a.query!==""&&this.search(a)}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&le.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,a;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ht({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new we(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new we({})}search(e){if(this.searchHelper&&e.query!==""&&e.query!==void 0&&e.query!=="undefined"){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t;const a=(((t=e.response)==null?void 0:t.docs)??[]).map((r,c)=>({...r,position:c+1})),s=[];for(const r of a)s.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&le.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,a;this.handleRouter();let s=ce.combineResultsWithMetadata(e),r=ce.extractFacets(e);this.dataLayer.setSearchFacets(r),(a=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&a.afterSearch&&(s=this.dataLayer.searchstaxConfig.hooks.afterSearch(s)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const c=ce.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(c),this.dataLayer.setSearchResults(s)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,a;let s=e;(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.afterAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(s)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new qt({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Bt({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new _t({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Wt({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Vt({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Ht({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Nt({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Dt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var a,s;const r={...this.dataLayer.searchObject};r.query=G.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let c=(a=this.routerHelper)==null?void 0:a.searchObjectToParams(r);c&&(c=(s=this.routerHelper)==null?void 0:s.extractParamsThatDoNotStartWithRouteName(c)),c&&(r.additionalProps=Object.keys(c).map(l=>c?{key:l,value:c[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r)}executeSuggest(e){var t,a;let s={term:e,queryParams:[]};(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.beforeAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(s)),s&&s.term!==void 0&&s.queryParams!==void 0&&this.suggest(s.term,s.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&le.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,a;let s=ce.findResultByUniqueId(e,this.dataLayer.searchResults??[]);s&&((a=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&a.afterLinkClick&&(s=this.searchResultsConfig.hooks.afterLinkClick(s)),s&&this.dataLayer.searchResultsMetadata&&(le.trackClick({result:s,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(s==null?void 0:s.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,a,s;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(s=this.searchResultsWidget)==null||s.changeTemplate())}}const b={searchstax:new $t("react")};function Ut(n){let e=!1;const[t,a]=j.useState([]);j.useEffect(()=>{if(s(),b.searchstax){const h={};n.afterAutosuggest&&(h.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(h.beforeAutosuggest=n.beforeAutosuggest),b.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars??3,hooks:h,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function s(){e||(b.searchstax.dataLayer.$autosuggestResults.subscribe(h=>{a((h==null?void 0:h.suggestions)??[])}),e=!0)}function r(){var h,d;(h=b.searchstax.searchInputWidget)==null||h.resetAutosuggestSelection(),(d=b.searchstax.searchInputWidget)==null||d.markActiveAutosuggestItem()}function c(h){var d;(d=b.searchstax.searchInputWidget)==null||d.onSuggestionEnter(h)}function l(){var h;(h=b.searchstax.searchInputWidget)==null||h.suggestionChosen()}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-input-container",children:o.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&o.jsxs("div",{className:"searchstax-search-input-wrapper",children:[o.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR..."}),o.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(h){return o.jsx("div",{className:"searchstax-autosuggest-item",children:o.jsx("div",{className:"searchstax-autosuggest-item-term-container",dangerouslySetInnerHTML:{__html:h.term},onMouseOver:()=>{c(h)},onClick:()=>{l()}})},h.term)})}),o.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"})]}),n.inputTemplate&&o.jsx(o.Fragment,{children:n.inputTemplate(t,r,c,l)})]})})})}function Kt(n){return j.useEffect(()=>{const e={};n.beforeSearch&&(e.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(e.afterSearch=n.afterSearch),b.searchstax.initialize({language:n.language??"en",searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:e}),n.initialized(b.searchstax)},[n.initialized]),o.jsx(o.Fragment,{children:n.children})}function Qt(n){const[e,t]=j.useState(null),[a,s]=j.useState(""),[r,c]=j.useState(null),l=(d,p)=>{p.preventDefault(),p.stopPropagation(),b.searchstax.executeLinkClick(d.uniqueId)};j.useEffect(()=>{h();const d={};n.afterLinkClick&&(d.afterLinkClick=n.afterLinkClick),b.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:d})},[]);function h(){b.searchstax.dataLayer.$searchResults.subscribe(d=>{t(d)}),b.searchstax.dataLayer.$searchTermChange.subscribe(d=>{s(d)}),b.searchstax.dataLayer.$searchResultsMetadata.subscribe(d=>{c(d)})}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-results-container",children:o.jsx("div",{className:"searchstax-search-results-container",children:o.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&!n.noResultTemplate&&o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",o.jsx("strong",{children:"no results"})," for ",o.jsxs("strong",{children:['"',a,'"']}),o.jsx("br",{}),(r==null?void 0:r.spellingSuggestion)&&o.jsxs("span",{children:[" Did you mean"," ",o.jsx("a",{href:"#",className:"searchstax-suggestion-term",children:r==null?void 0:r.spellingSuggestion}),"?"]})]}),o.jsxs("div",{children:[o.jsxs("p",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),o.jsx("p",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&n.noResultTemplate&&o.jsx(o.Fragment,{children:n.noResultTemplate(a,r)}),e&&e.length&&!n.resultsTemplate&&o.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(d){return o.jsxs("div",{className:`searchstax-search-result ${d.thumbnail?"has-thumbnail":""}`,children:[d.promoted&&o.jsx("div",{className:"searchstax-search-result-promoted"}),d.url&&o.jsx("a",{href:d.url,"data-searchstax-unique-result-id":d.uniqueId,onClick:p=>{l(d,p)},className:"searchstax-result-item-link"}),d.ribbon&&o.jsx("div",{className:"searchstax-search-result-ribbon",children:d.ribbon}),d.thumbnail&&o.jsx("img",{src:d.thumbnail,className:"searchstax-thumbnail"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:d.title})}),d.paths&&o.jsx("p",{className:"searchstax-search-result-common",children:d.paths}),d.description&&o.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:d.description}),d.unmappedFields.map(function(p){return o.jsxs("div",{children:[p.isImage&&typeof p.value=="string"&&o.jsx("div",{className:"searchstax-search-result-image-container",children:o.jsx("img",{src:p.value,className:"searchstax-result-image"})}),!p.isImage&&o.jsx("div",{children:o.jsx("p",{className:"searchstax-search-result-common",children:p.value})})]},p.key)})]},d.uniqueId)})}),e&&e.length&&n.resultsTemplate&&o.jsx(o.Fragment,{children:n.resultsTemplate(e,l)})]})})})})}function zt(n){let e=!1;const[t,a]=j.useState(!1),[s,r]=j.useState(null),[c]=j.useState(Math.random());j.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchObject.subscribe(()=>{h()}),b.searchstax.dataLayer.$paginationData.subscribe(v=>{r(v)}),e=!0)}function h(){!t&&b.searchstax.routerHelper&&(a(!0),b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{}))}function d(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.nextPage(v)}function p(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.previousPage(v)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-pagination-container"+c,children:[!n.paginationTemplate&&s&&(s==null?void 0:s.totalResults)!==0&&o.jsx("div",{className:"searchstax-pagination-container",children:o.jsxs("div",{className:"searchstax-pagination-content",children:[o.jsxs("a",{className:"searchstax-pagination-previous",style:s!=null&&s.isFirstPage?{pointerEvents:"none"}:{},onClick:v=>{p(v)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),o.jsxs("div",{className:"searchstax-pagination-details",children:[" ",s==null?void 0:s.startResultIndex," - ",s==null?void 0:s.endResultIndex," of ",s==null?void 0:s.totalResults]}),o.jsx("a",{className:"searchstax-pagination-next",style:s!=null&&s.isLastPage?{pointerEvents:"none"}:{},onClick:v=>{d(v)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&o.jsx(o.Fragment,{children:n.paginationTemplate(s,d,p)})]})})}function Jt(n){let e=!1;const[t,a]=j.useState(null),[s,r]=j.useState(""),[c]=j.useState(Math.random());j.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addSearchSortingWidget("search-sorting-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchSortingData.subscribe(d=>{a(d)}),b.searchstax.dataLayer.$searchObject.subscribe(d=>{r(decodeURIComponent((d==null?void 0:d.order)??""))}),e=!0)}function h(d){var p;(p=b.searchstax.searchSortingWidget)==null||p.setOrderQuery(d)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"search-sorting-container"+c,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&o.jsxs("div",{className:"searchstax-sorting-container",children:[o.jsx("label",{className:"searchstax-sorting-label",htmlFor:"sort-by",children:"Sort By"}),o.jsxs("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:s,onChange:d=>{h(d.target.value)},children:[o.jsx("option",{value:"",children:" Relevance "}),o.jsx("option",{value:"date desc",children:" Newest Content "}),o.jsx("option",{value:"date asc",children:" Oldest Content "})]})]}),n.searchSortingTemplate&&o.jsx(o.Fragment,{children:n.searchSortingTemplate(t,h,s)})]})})}function Yt(n){let e=!1;const[t,a]=j.useState(null),[s]=j.useState(Math.random());j.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addSearchFeedbackWidget("search-feedback-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.searchFeedbackWidget)==null||h.onOriginalQueryClick(l)}return o.jsx(o.Fragment,{children:o.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+s,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)&&o.jsxs(o.Fragment,{children:["Showing"," ",o.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",o.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&o.jsxs("span",{children:[' for "',o.jsx("b",{children:t.searchTerm}),'"'," "]}),o.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&o.jsxs("div",{children:[" ","Search instead for"," ",o.jsx("a",{href:"#",onClick:l=>{c(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&o.jsx(o.Fragment,{children:n.searchOverviewTemplate(t,c)})]})})}function Xt(n){const[e,t]=j.useState(null),[a,s]=j.useState(null),[r,c]=j.useState([]),[l,h]=j.useState({}),d={},p=Math.random();let v=!1;j.useEffect(()=>{if(C(),b.searchstax)b.searchstax.addFacetsWidget("searchstax-facets-container"+p,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function C(){v||(b.searchstax.dataLayer.$facetsTemplateData.subscribe(m=>{m!=null&&m.isMobile?s(m):t(m)}),b.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(m=>{c((m??[]).filter(O=>O.type==="checkbox"))}),v=!0)}function E(m){var y;(y=b.searchstax.searchFacetsWidget)==null||y.unselectFacet(m)}function A(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.removeSelectedFacets()}function R(m){return!l[m]}function L(m){R(m)?h({...l,[m]:!0}):h({...l,[m]:!1})}function P(m){var y;return(y=b.searchstax.searchFacetsWidget)==null?void 0:y.isChecked(m)}function T(m,y,O,H){var Q,X;const Z=document.createElement("div"),ue=(Q=d[m])==null?void 0:Q.current;Z.innerHTML=ue.outerHTML,(X=b.searchstax.searchFacetsWidget)==null||X.onFacetSelect(y,O,ue,H)}function _(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!1)}function B(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!0)}function N(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.openOverlay()}function K(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.closeOverlay()}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-facets-container"+p,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!n.facetsTemplateDesktop&&o.jsx("div",{className:"searchstax-facets-container-desktop",children:e==null?void 0:e.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=j.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(y),readOnly:!0,disabled:y.disabled,onClick:H=>{T(O+m.name,H,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{T(O+m.name,H,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{T(O+m.name,H,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),m.hasMoreFacets&&o.jsx("div",{className:"searchstax-facet-show-more-container",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{_(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"desktop"))}),n.facetsTemplateDesktop&&o.jsx(o.Fragment,{children:n.facetsTemplateDesktop(e,d,R,L,T,P,_)}),(a==null?void 0:a.hasResultsOrExternalPromotions)&&!n.facetsTemplateMobile&&o.jsx("div",{className:"searchstax-facets-container-mobile",children:o.jsxs("div",{className:"searchstax-facets-pills-container",children:[o.jsx("div",{className:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:()=>{N()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),o.jsxs("div",{className:"searchstax-facets-pills-selected",children:[r.map(m=>o.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{E(m)},children:[o.jsxs("div",{className:"searchstax-facets-pill-label",children:[m.value," (",m.count,")"]}),o.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},m.value)),r.length!==0&&o.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{A()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),o.jsxs("div",{className:`searchstax-facets-mobile-overlay ${a.overlayOpened?"searchstax-show":""}`,children:[o.jsxs("div",{className:"searchstax-facets-mobile-overlay-header",children:[o.jsx("div",{className:"searchstax-facets-mobile-overlay-header-title",children:"Filter By"}),o.jsx("div",{className:"searchstax-search-close",onClick:()=>{K()}})]}),o.jsx("div",{className:"searchstax-facets-container-mobile",children:a==null?void 0:a.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=j.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(y),readOnly:!0,disabled:y.disabled,onClick:H=>{T(O+m.name,H,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{T(O+m.name,H,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{T(O+m.name,H,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),o.jsx("div",{className:"searchstax-facet-show-more-container","v-if":"facet.hasMoreFacets",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{B(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"mobile"))}),o.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{K()},children:"Done"})]})]})}),n.facetsTemplateMobile&&o.jsx(o.Fragment,{children:n.facetsTemplateMobile(a,r,d,R,L,T,P,E,B,N,K,A)})]})})}function Gt(n){let e=!1;const[t,a]=j.useState(null),[s]=j.useState(Math.random());j.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+s,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.relatedSearchesWidget)==null||h.executeSearch(l)}return o.jsxs(o.Fragment,{children:[!n.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&o.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",o.jsx("span",{id:"searchstax-related-searches"}),t.relatedSearches&&o.jsx("span",{className:"searchstax-related-search",children:t.relatedSearches.map(l=>o.jsxs("span",{onClick:()=>{c(l)},className:"searchstax-related-search searchstax-related-search-item",children:[" ",l.related_search,!l.last&&o.jsx("span",{children:","})]},l.related_search))})]}),n.searchRelatedSearchesTemplate&&o.jsx(o.Fragment,{children:n.searchRelatedSearchesTemplate(t,c)})]})}function Zt(n){let e=!1;const[t,a]=j.useState(null),[s]=j.useState(Math.random());j.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(l=>{a(l)}),e=!0)}function c(l,h){var d;(d=b.searchstax.externalPromotionsWidget)==null||d.trackClick(l,h)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-external-promotions-layout-container"+s,children:[!n.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&o.jsx(o.Fragment,{children:t.externalPromotions.map(l=>o.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[o.jsx("div",{className:"icon-elevated"}),l.url&&o.jsx("a",{href:l.url,onClick:h=>{c(l,h)},className:"searchstax-result-item-link"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:l.name})}),l.description&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.description," "]}),l.url&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.url," "]})]},l.id))}),n.searchExternalPromotionsTemplate&&o.jsx(o.Fragment,{children:n.searchExternalPromotionsTemplate(t,c)})]})})}Y.SearchstaxExternalPromotionsWidget=Zt,Y.SearchstaxFacetsWidget=Xt,Y.SearchstaxInputWidget=Ut,Y.SearchstaxOverviewWidget=Yt,Y.SearchstaxPaginationWidget=zt,Y.SearchstaxRelatedSearchesWidget=Gt,Y.SearchstaxResultWidget=Qt,Y.SearchstaxSortingWidget=Jt,Y.SearchstaxWrapper=Kt,Object.defineProperty(Y,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxReact"]=this["@searchstaxInc/searchstudioUxReact"]||{},React);
|