@searchstax-inc/searchstudio-ux-react 0.0.11 → 0.2.0
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 +378 -156
- package/dist/@searchstax-inc/components/SearchstaxInputWidget.d.ts +5 -7
- package/dist/@searchstax-inc/components/SearchstaxOverviewWidget.d.ts +5 -0
- package/dist/@searchstax-inc/components/SearchstaxPaginationWidget.d.ts +5 -0
- package/dist/@searchstax-inc/components/SearchstaxResultWidget.d.ts +3 -3
- package/dist/@searchstax-inc/components/SearchstaxSortingWidget.d.ts +5 -0
- package/dist/@searchstax-inc/components/SearchstaxWrapper.d.ts +7 -2
- package/dist/@searchstax-inc/main.d.ts +4 -1
- package/dist/@searchstax-inc/searchstudio-ux-react.cjs +224 -70
- package/dist/@searchstax-inc/searchstudio-ux-react.d.cts +4 -1
- package/dist/@searchstax-inc/searchstudio-ux-react.iife.js +224 -70
- package/dist/@searchstax-inc/searchstudio-ux-react.mjs +2569 -1027
- package/package.json +3 -3
- package/dist/main.d.ts +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("react");var
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("react");var ke={exports:{}},ne={};/**
|
|
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
|
|
9
|
+
*/var Xe;function Et(){if(Xe)return ne;Xe=1;var n=D,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,a=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,u){var g,m={},y=null,R=null;u!==void 0&&(y=""+u),h.key!==void 0&&(y=""+h.key),h.ref!==void 0&&(R=h.ref);for(g in h)s.call(h,g)&&!r.hasOwnProperty(g)&&(m[g]=h[g]);if(l&&l.defaultProps)for(g in h=l.defaultProps,h)m[g]===void 0&&(m[g]=h[g]);return{$$typeof:e,type:l,key:y,ref:R,props:m,_owner:a.current}}return ne.Fragment=t,ne.jsx=c,ne.jsxs=c,ne}var ce={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,82 +14,236 @@
|
|
|
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
|
-
`),S
|
|
21
|
-
`+
|
|
17
|
+
*/var Ge;function It(){return Ge||(Ge=1,process.env.NODE_ENV!=="production"&&function(){var n=D,e=Symbol.for("react.element"),t=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),a=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"),u=Symbol.for("react.suspense"),g=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),R=Symbol.for("react.offscreen"),F=Symbol.iterator,L="@@iterator";function b(i){if(i===null||typeof i!="object")return null;var d=F&&i[F]||i[L];return typeof d=="function"?d:null}var P=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(i){{for(var d=arguments.length,f=new Array(d>1?d-1:0),x=1;x<d;x++)f[x-1]=arguments[x];$("error",i,f)}}function $(i,d,f){{var x=P.ReactDebugCurrentFrame,k=x.getStackAddendum();k!==""&&(d+="%s",f=f.concat([k]));var w=f.map(function(T){return String(T)});w.unshift("Warning: "+d),Function.prototype.apply.call(console[i],console,w)}}var _=!1,j=!1,U=!1,G=!1,N=!1,Z;Z=Symbol.for("react.module.reference");function J(i){return!!(typeof i=="string"||typeof i=="function"||i===s||i===r||N||i===a||i===u||i===g||G||i===R||_||j||U||typeof i=="object"&&i!==null&&(i.$$typeof===y||i.$$typeof===m||i.$$typeof===c||i.$$typeof===l||i.$$typeof===h||i.$$typeof===Z||i.getModuleId!==void 0))}function Y(i,d,f){var x=i.displayName;if(x)return x;var k=d.displayName||d.name||"";return k!==""?f+"("+k+")":f}function Ie(i){return i.displayName||"Context"}function Q(i){if(i==null)return null;if(typeof i.tag=="number"&&C("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 s:return"Fragment";case t:return"Portal";case r:return"Profiler";case a:return"StrictMode";case u:return"Suspense";case g:return"SuspenseList"}if(typeof i=="object")switch(i.$$typeof){case l:var d=i;return Ie(d)+".Consumer";case c:var f=i;return Ie(f._context)+".Provider";case h:return Y(i,i.render,"ForwardRef");case m:var x=i.displayName||null;return x!==null?x:Q(i.type)||"Memo";case y:{var k=i,w=k._payload,T=k._init;try{return Q(T(w))}catch{return null}}}return null}var X=Object.assign,re=0,Pe,we,Fe,je,Oe,Me,Ae;function De(){}De.__reactDisabledLog=!0;function at(){{if(re===0){Pe=console.log,we=console.info,Fe=console.warn,je=console.error,Oe=console.group,Me=console.groupCollapsed,Ae=console.groupEnd;var i={configurable:!0,enumerable:!0,value:De,writable:!0};Object.defineProperties(console,{info:i,log:i,warn:i,error:i,group:i,groupCollapsed:i,groupEnd:i})}re++}}function st(){{if(re--,re===0){var i={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:X({},i,{value:Pe}),info:X({},i,{value:we}),warn:X({},i,{value:Fe}),error:X({},i,{value:je}),group:X({},i,{value:Oe}),groupCollapsed:X({},i,{value:Me}),groupEnd:X({},i,{value:Ae})})}re<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ve=P.ReactCurrentDispatcher,ye;function de(i,d,f){{if(ye===void 0)try{throw Error()}catch(k){var x=k.stack.trim().match(/\n( *(at )?)/);ye=x&&x[1]||""}return`
|
|
18
|
+
`+ye+i}}var xe=!1,ge;{var rt=typeof WeakMap=="function"?WeakMap:Map;ge=new rt}function $e(i,d){if(!i||xe)return"";{var f=ge.get(i);if(f!==void 0)return f}var x;xe=!0;var k=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var w;w=ve.current,ve.current=null,at();try{if(d){var T=function(){throw Error()};if(Object.defineProperty(T.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(T,[])}catch(K){x=K}Reflect.construct(i,[],T)}else{try{T.call()}catch(K){x=K}i.call(T.prototype)}}else{try{throw Error()}catch(K){x=K}i()}}catch(K){if(K&&x&&typeof K.stack=="string"){for(var S=K.stack.split(`
|
|
19
|
+
`),V=x.stack.split(`
|
|
20
|
+
`),O=S.length-1,A=V.length-1;O>=1&&A>=0&&S[O]!==V[A];)A--;for(;O>=1&&A>=0;O--,A--)if(S[O]!==V[A]){if(O!==1||A!==1)do if(O--,A--,A<0||S[O]!==V[A]){var B=`
|
|
21
|
+
`+S[O].replace(" at new "," at ");return i.displayName&&B.includes("<anonymous>")&&(B=B.replace("<anonymous>",i.displayName)),typeof i=="function"&&ge.set(i,B),B}while(O>=1&&A>=0);break}}}finally{xe=!1,ve.current=w,st(),Error.prepareStackTrace=k}var te=i?i.displayName||i.name:"",Ye=te?de(te):"";return typeof i=="function"&&ge.set(i,Ye),Ye}function it(i,d,f){return $e(i,!1)}function nt(i){var d=i.prototype;return!!(d&&d.isReactComponent)}function pe(i,d,f){if(i==null)return"";if(typeof i=="function")return $e(i,nt(i));if(typeof i=="string")return de(i);switch(i){case u:return de("Suspense");case g:return de("SuspenseList")}if(typeof i=="object")switch(i.$$typeof){case h:return it(i.render);case m:return pe(i.type,d,f);case y:{var x=i,k=x._payload,w=x._init;try{return pe(w(k),d,f)}catch{}}}return""}var fe=Object.prototype.hasOwnProperty,qe={},_e=P.ReactDebugCurrentFrame;function me(i){if(i){var d=i._owner,f=pe(i.type,i._source,d?d.type:null);_e.setExtraStackFrame(f)}else _e.setExtraStackFrame(null)}function ct(i,d,f,x,k){{var w=Function.call.bind(fe);for(var T in i)if(w(i,T)){var S=void 0;try{if(typeof i[T]!="function"){var V=Error((x||"React class")+": "+f+" type `"+T+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[T]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw V.name="Invariant Violation",V}S=i[T](d,T,x,f,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(O){S=O}S&&!(S instanceof Error)&&(me(k),C("%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).",x||"React class",f,T,typeof S),me(null)),S instanceof Error&&!(S.message in qe)&&(qe[S.message]=!0,me(k),C("Failed %s type: %s",f,S.message),me(null))}}}var lt=Array.isArray;function be(i){return lt(i)}function ot(i){{var d=typeof Symbol=="function"&&Symbol.toStringTag,f=d&&i[Symbol.toStringTag]||i.constructor.name||"Object";return f}}function ht(i){try{return Ne(i),!1}catch{return!0}}function Ne(i){return""+i}function Ve(i){if(ht(i))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ot(i)),Ne(i)}var ie=P.ReactCurrentOwner,ut={key:!0,ref:!0,__self:!0,__source:!0},He,Be,Ce;Ce={};function dt(i){if(fe.call(i,"ref")){var d=Object.getOwnPropertyDescriptor(i,"ref").get;if(d&&d.isReactWarning)return!1}return i.ref!==void 0}function gt(i){if(fe.call(i,"key")){var d=Object.getOwnPropertyDescriptor(i,"key").get;if(d&&d.isReactWarning)return!1}return i.key!==void 0}function pt(i,d){if(typeof i.ref=="string"&&ie.current&&d&&ie.current.stateNode!==d){var f=Q(ie.current.type);Ce[f]||(C('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(ie.current.type),i.ref),Ce[f]=!0)}}function ft(i,d){{var f=function(){He||(He=!0,C("%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)",d))};f.isReactWarning=!0,Object.defineProperty(i,"key",{get:f,configurable:!0})}}function mt(i,d){{var f=function(){Be||(Be=!0,C("%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)",d))};f.isReactWarning=!0,Object.defineProperty(i,"ref",{get:f,configurable:!0})}}var vt=function(i,d,f,x,k,w,T){var S={$$typeof:e,type:i,key:d,ref:f,props:T,_owner:w};return S._store={},Object.defineProperty(S._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(S,"_self",{configurable:!1,enumerable:!1,writable:!1,value:x}),Object.defineProperty(S,"_source",{configurable:!1,enumerable:!1,writable:!1,value:k}),Object.freeze&&(Object.freeze(S.props),Object.freeze(S)),S};function yt(i,d,f,x,k){{var w,T={},S=null,V=null;f!==void 0&&(Ve(f),S=""+f),gt(d)&&(Ve(d.key),S=""+d.key),dt(d)&&(V=d.ref,pt(d,k));for(w in d)fe.call(d,w)&&!ut.hasOwnProperty(w)&&(T[w]=d[w]);if(i&&i.defaultProps){var O=i.defaultProps;for(w in O)T[w]===void 0&&(T[w]=O[w])}if(S||V){var A=typeof i=="function"?i.displayName||i.name||"Unknown":i;S&&ft(T,A),V&&mt(T,A)}return vt(i,S,V,k,x,ie.current,T)}}var Se=P.ReactCurrentOwner,We=P.ReactDebugCurrentFrame;function ee(i){if(i){var d=i._owner,f=pe(i.type,i._source,d?d.type:null);We.setExtraStackFrame(f)}else We.setExtraStackFrame(null)}var Te;Te=!1;function Le(i){return typeof i=="object"&&i!==null&&i.$$typeof===e}function Ue(){{if(Se.current){var i=Q(Se.current.type);if(i)return`
|
|
22
22
|
|
|
23
|
-
Check the render method of \``+
|
|
23
|
+
Check the render method of \``+i+"`."}return""}}function xt(i){{if(i!==void 0){var d=i.fileName.replace(/^.*[\\\/]/,""),f=i.lineNumber;return`
|
|
24
24
|
|
|
25
|
-
Check your code at `+
|
|
25
|
+
Check your code at `+d+":"+f+"."}return""}}var Qe={};function bt(i){{var d=Ue();if(!d){var f=typeof i=="string"?i:i.displayName||i.name;f&&(d=`
|
|
26
26
|
|
|
27
|
-
Check the top-level render call using <`+c+">.")}return o}}function Be(t,o){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var c=dt(o);if(De[c])return;De[c]=!0;var f="";t&&t._owner&&t._owner!==de.current&&(f=" It was passed a child from "+V(t._owner.type)+"."),N(t),y('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',c,f),N(null)}}function Ue(t,o){{if(typeof t!="object")return;if(he(t))for(var c=0;c<t.length;c++){var f=t[c];pe(f)&&Be(f,o)}else if(pe(t))t._store&&(t._store.validated=!0);else if(t){var b=O(t);if(typeof b=="function"&&b!==t.entries)for(var x=b.call(t),m;!(m=x.next()).done;)pe(m.value)&&Be(m.value,o)}}}function ft(t){{var o=t.type;if(o==null||typeof o=="string")return;var c;if(typeof o=="function")c=o.propTypes;else if(typeof o=="object"&&(o.$$typeof===h||o.$$typeof===I))c=o.propTypes;else return;if(c){var f=V(o);et(c,t.props,"prop",f,t)}else if(o.PropTypes!==void 0&&!fe){fe=!0;var b=V(o);y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",b||"Unknown")}typeof o.getDefaultProps=="function"&&!o.getDefaultProps.isReactClassApproved&&y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function pt(t){{for(var o=Object.keys(t.props),c=0;c<o.length;c++){var f=o[c];if(f!=="children"&&f!=="key"){N(t),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",f),N(null);break}}t.ref!==null&&(N(t),y("Invalid attribute `ref` supplied to `React.Fragment`."),N(null))}}function He(t,o,c,f,b,x){{var m=Ye(t);if(!m){var v="";(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(v+=" 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 A=gt(b);A?v+=A:v+=Fe();var S;t===null?S="null":he(t)?S="array":t!==void 0&&t.$$typeof===e?(S="<"+(V(t.type)||"Unknown")+" />",v=" Did you accidentally export a JSX literal instead of a component?"):S=typeof t,y("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",S,v)}var k=ht(t,o,c,b,x);if(k==null)return k;if(m){var j=o.children;if(j!==void 0)if(f)if(he(j)){for(var q=0;q<j.length;q++)Ue(j[q],t);Object.freeze&&Object.freeze(j)}else y("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 Ue(j,t)}return t===n?pt(k):ft(k),k}}function vt(t,o,c){return He(t,o,c,!0)}function mt(t,o,c){return He(t,o,c,!1)}var bt=mt,yt=vt;Q.Fragment=n,Q.jsx=bt,Q.jsxs=yt}()),Q}(function(r){process.env.NODE_ENV==="production"?r.exports=Ct():r.exports=Rt()})(xt);var St=Object.defineProperty,Et=(r,e,s)=>e in r?St(r,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[e]=s,g=(r,e,s)=>(Et(r,typeof e!="symbol"?e+"":e,s),s);class Z{constructor(e){g(this,"value"),g(this,"observers",[]),this.value=e,this.observers=[]}subscribe(e){this.observers.push(e),e(this.value)}unsubscribe(e){const s=this.observers.indexOf(e);s!==-1&&this.observers.splice(s,1)}setValue(e){this.value=e,this.notify()}getValue(){return this.value}notify(){this.observers.forEach(e=>e(this.value))}}class kt{constructor(){g(this,"searchTermChangeObservable",new Z("")),g(this,"loadingChangeObservable",new Z(!1)),g(this,"searchResultsObservable",new Z(null)),g(this,"searchResultsMetadataObservable",new Z(null)),g(this,"searchAutosuggestObservable",new Z(null)),g(this,"currentPage",1),g(this,"renderingEngine","mustache")}setSearchTerm(e){this.searchTermChangeObservable.setValue(e)}setRenderingEngine(e){this.renderingEngine=e}setCurrentPage(e){this.currentPage=e}setLoading(e){this.loadingChangeObservable.setValue(e)}setSearchResults(e){this.searchResultsObservable.setValue(e)}setSearchResultsMetadata(e){this.searchResultsMetadataObservable.setValue(e)}setSearchAutosuggest(e){this.searchAutosuggestObservable.setValue(e)}get searchResultsValue(){return this.searchResultsObservable.getValue()}get searchTermValue(){return this.searchTermChangeObservable.getValue()}get loadingValue(){return this.loadingChangeObservable.getValue()}get searchAutosuggestValue(){return this.searchAutosuggestObservable.getValue()}get searchResultsMetadataValue(){return this.searchResultsMetadataObservable.getValue()}get currentPageValue(){return this.currentPage}get renderingEngineValue(){return this.renderingEngine}}class ve{static combineResultsWithMetadata(e){const s=[],n=parseInt(e.response.start+"");return e.response.docs.forEach((a,i)=>{const u={custom:null,uniqueId:this.getValueByKey(e.responseHeader.params.uniqueId,a,e)??"",position:n+i+1,ribbon:this.doesMapExist("ribbon",e)?this.getValueByKey("ribbon",a,e):null,paths:this.doesMapExist("paths",e)?this.getValueByKey("paths",a,e):null,url:this.doesMapExist("url",e)?this.getValueByKey("url",a,e):null,title:this.doesMapExist("title",e)?this.getValueByKey("title",a,e):null,promoted:a["[elevated]"]?a["[elevated]"]:!1,thumbnail:this.doesMapExist("thumbnail",e)?this.getValueByKey("thumbnail",a,e):null,date:this.doesMapExist("date",e)?this.getValueByKey("date",a,e):null,snippet:this.doesMapExist("snippet",e)?this.getValueByKey("snippet",a,e):null,description:this.doesMapExist("description",e)?this.getValueByKey("description",a,e):null,unmappedFields:this.getUnmappedFields(a,e),allFields:this.getAllFields(a,e)};s.push(u)}),s}static extractSearchResultsMetadata(e){var s,n,a,i;let u="";return u=((i=(a=(n=(s=e==null?void 0:e.spellcheck)==null?void 0:s.suggestions)==null?void 0:n[0])==null?void 0:a.suggestion)==null?void 0:i[0])??"",typeof u!="string"&&(u=(u==null?void 0:u.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:u}}static findResultByUniqueId(e,s){return s.find(n=>n.uniqueId===e)??null}static getUnmappedFields(e,s){const n=s.metadata.results.filter(i=>i.result_card==="").map(i=>i.name),a=[];for(const i of Object.keys(e))if(n.indexOf(i)!==-1){const u=Array.isArray(e[i])?e[i].join(", "):e[i];a.push({key:i,value:u,isImage:this.checkIfImage(e[i])})}return a}static checkIfImage(e){return e===void 0||typeof e!="string"?!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,s){const n=s.metadata.results.map(i=>i.name),a=[];for(const i of Object.keys(e))n.indexOf(i)!==-1&&a.push({key:i,value:e[i],isImage:this.checkIfImage(e[i])});return a}static doesMapExist(e,s){return s.metadata.results.find(n=>n.result_card===e)!==void 0}static getValueByKey(e,s,n){const a=n.metadata.results.find(u=>u.result_card===e);if(a===void 0)return null;const i=s[a.name];return i===void 0?null:typeof i=="string"?i:Array.isArray(i)?i.join(", "):null}}class Tt{constructor(e,s){g(this,"url",""),g(this,"relatedSearches",""),g(this,"suggester",""),g(this,"authHeader"),g(this,"authHeaderRelated"),g(this,"language","en"),g(this,"trackApiKey",""),g(this,"session",""),g(this,"searchAuthType"),g(this,"controllerSearch"),g(this,"signalSearch"),g(this,"controllerSuggest"),g(this,"signalSuggest"),g(this,"dataLayer"),this.dataLayer=s,this.url=e.searchURL,this.language=e.language,this.suggester=e.suggesterURL,this.trackApiKey=e.trackApiKey,this.session=e.sessionId,this.searchAuthType=e.authType,this.authHeader=new Headers,this.authHeader.append("Accept","application/json");const n=this.searchAuthType==="token"?`Token ${e.searchAuth}`:`Basic ${e.searchAuth}`;this.authHeader.append("Authorization",n),this.authHeaderRelated=new Headers,this.authHeaderRelated.append("Accept","application/json"),this.authHeaderRelated.append("Authorization",e.searchAuth)}search(e,s,n){this.dataLayer.setSearchTerm(e),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const a=new Proxy(new URLSearchParams(window.location.search),{get:(l,h)=>l.get(h)??""}),i=a.languageVariant?"&fq=_language:"+a.languageVariant:"",u=this.url+"?q="+encodeURIComponent(e.trim())+this.toQueryString(n)+"&language="+this.language+i;fetch(u,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch}).then(l=>l.json()).then(l=>{this.dataLayer.setLoading(!1),s(l)}).catch(l=>{this.dataLayer.setLoading(!1),console.log(l)})}suggest(e,s,n){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const a=this.suggester+"?q="+e.trim()+this.toQueryString(n)+"&language="+this.language;fetch(a,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(i=>i.json()).then(i=>{s(i)}).catch(i=>console.log(i))}fields(){return this.fields}toQueryString(e){return"&"+e.join("&")}}class It{static getOrSetCookie(e){let s=this.getCookie(e);return s==null&&(s=this.makeid(25),this.setCookie(e,s,{secure:!0,"max-age":3600})),s}static makeid(e){let s="";const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",a=n.length;for(let i=0;i<e;i++)s+=n.charAt(Math.floor(Math.random()*a));return s}static getCookie(e){const s=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)"));return s?decodeURIComponent(s[1]):void 0}static setCookie(e,s,n){const a={path:"/",...n};n.expires instanceof Date&&(a.expires=n.expires.toUTCString());let i=encodeURIComponent(e)+"="+encodeURIComponent(s);for(const u in a){i+="; "+u;const l=a[u];l!==!0&&(i+="="+l)}document.cookie=i}}class At{static trackClick(e){const s={key:e.trackApiKey,query:e.searchTermValue,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};_msq.push(["trackClick",s])}}/*!
|
|
27
|
+
Check the top-level render call using <`+f+">.")}return d}}function Ke(i,d){{if(!i._store||i._store.validated||i.key!=null)return;i._store.validated=!0;var f=bt(d);if(Qe[f])return;Qe[f]=!0;var x="";i&&i._owner&&i._owner!==Se.current&&(x=" It was passed a child from "+Q(i._owner.type)+"."),ee(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,x),ee(null)}}function ze(i,d){{if(typeof i!="object")return;if(be(i))for(var f=0;f<i.length;f++){var x=i[f];Le(x)&&Ke(x,d)}else if(Le(i))i._store&&(i._store.validated=!0);else if(i){var k=b(i);if(typeof k=="function"&&k!==i.entries)for(var w=k.call(i),T;!(T=w.next()).done;)Le(T.value)&&Ke(T.value,d)}}}function Ct(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 x=Q(d);ct(f,i.props,"prop",x,i)}else if(d.PropTypes!==void 0&&!Te){Te=!0;var k=Q(d);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",k||"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 St(i){{for(var d=Object.keys(i.props),f=0;f<d.length;f++){var x=d[f];if(x!=="children"&&x!=="key"){ee(i),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",x),ee(null);break}}i.ref!==null&&(ee(i),C("Invalid attribute `ref` supplied to `React.Fragment`."),ee(null))}}function Je(i,d,f,x,k,w){{var T=J(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 V=xt(k);V?S+=V:S+=Ue();var O;i===null?O="null":be(i)?O="array":i!==void 0&&i.$$typeof===e?(O="<"+(Q(i.type)||"Unknown")+" />",S=" Did you accidentally export a JSX literal instead of a component?"):O=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",O,S)}var A=yt(i,d,f,k,w);if(A==null)return A;if(T){var B=d.children;if(B!==void 0)if(x)if(be(B)){for(var te=0;te<B.length;te++)ze(B[te],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 ze(B,i)}return i===s?St(A):Ct(A),A}}function Tt(i,d,f){return Je(i,d,f,!0)}function Lt(i,d,f){return Je(i,d,f,!1)}var Rt=Lt,kt=Tt;ce.Fragment=s,ce.jsx=Rt,ce.jsxs=kt}()),ce}process.env.NODE_ENV==="production"?ke.exports=Et():ke.exports=It();var p=ke.exports,Pt=Object.defineProperty,wt=(n,e,t)=>e in n?Pt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,o=(n,e,t)=>(wt(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 Ft{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 M{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 z{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 jt{constructor(e){o(this,"$searchTermChange",new M("")),o(this,"$loadingChange",new M(!1)),o(this,"$searchResults",new M(null)),o(this,"$searchResultsMetadata",new M(null)),o(this,"$searchAutosuggest",new M(null)),o(this,"$searchFacets",new M(null)),o(this,"$searchFacetsCached",new M(null)),o(this,"$searchstaxConfig",new M(null)),o(this,"$autosuggestResults",new M(null)),o(this,"$searchObject",new M({query:"",page:99999999,order:"",facets:[],additionalProps:[]})),o(this,"$searchRelatedSearches",new M(null)),o(this,"$searchInputConfig",new M(null)),o(this,"$searchExternalPromotions",new M(null)),o(this,"$facetsTemplateData",new M(null)),o(this,"$selectedFacetsTemplateData",new M(null)),o(this,"$paginationData",new M(null)),o(this,"$searchFeedbackData",new M(null)),o(this,"$searchSortingData",new M(null)),o(this,"$searchRelatedSearchesData",new M(null)),o(this,"$searchExternalPromotionsData",new M(null)),o(this,"$language",new M("en")),o(this,"currentPageValue",1),o(this,"renderingEngineValue",q.mustache),o(this,"parsedData",new Ft(this)),o(this,"sessionId"),o(this,"autoCorrect",!0),o(this,"forceNotCorrect",!1),this.sessionId=e}setSearchTerm(e){this.$searchTermChange.setValue(z.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 le{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 Ze{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=z.removeXSSRiskyTags((t=e[c].split(":"))==null?void 0:t[0]),h=z.removeXSSRiskyTags(decodeURIComponent((s=e[c].split(":"))==null?void 0:s[1])),u=z.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=z.removeXSSRiskyTags(decodeURIComponent(t[this.routeName+"[page]"])),a=parseInt(s),r=isNaN(a)?1:a;return{query:z.removeXSSRiskyTags(decodeURIComponent(t[this.routeName+"[query]"]))||"",page:r,order:z.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 Mt{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=le.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 At{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 oe{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(oe,"msq",window._msq||[]);/*!
|
|
28
28
|
* mustache.js - Logic-less {{mustache}} templates with JavaScript
|
|
29
29
|
* http://github.com/janl/mustache.js
|
|
30
|
-
*/var
|
|
31
|
-
`&&(
|
|
32
|
-
`),
|
|
33
|
-
`)};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
*/var Dt=Object.prototype.toString,se=Array.isArray||function(n){return Dt.call(n)==="[object Array]"};function Ee(n){return typeof n=="function"}function $t(n){return se(n)?"array":typeof n}function Re(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function et(n,e){return n!=null&&typeof n=="object"&&e in n}function qt(n,e){return n!=null&&typeof n!="object"&&n.hasOwnProperty&&n.hasOwnProperty(e)}var _t=RegExp.prototype.test;function Nt(n,e){return _t.call(n,e)}var Vt=/\S/;function Ht(n){return!Nt(Vt,n)}var Bt={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};function Wt(n){return String(n).replace(/[&<>"'`=\/]/g,function(e){return Bt[e]})}var Ut=/\s*/,Qt=/\s+/,tt=/\s*=/,Kt=/\s*\}/,zt=/#|\^|\/|>|\{|&|=|!/;function Jt(n,e){if(!n)return[];var t=!1,s=[],a=[],r=[],c=!1,l=!1,h="",u=0;function g(){if(c&&!l)for(;r.length;)delete a[r.pop()];else r=[];c=!1,l=!1}var m,y,R;function F(N){if(typeof N=="string"&&(N=N.split(Qt,2)),!se(N)||N.length!==2)throw new Error("Invalid tags: "+N);m=new RegExp(Re(N[0])+"\\s*"),y=new RegExp("\\s*"+Re(N[1])),R=new RegExp("\\s*"+Re("}"+N[1]))}F(e||E.tags);for(var L=new ue(n),b,P,C,$,_,j;!L.eos();){if(b=L.pos,C=L.scanUntil(m),C)for(var U=0,G=C.length;U<G;++U)$=C.charAt(U),Ht($)?(r.push(a.length),h+=$):(l=!0,t=!0,h+=" "),a.push(["text",$,b,b+1]),b+=1,$===`
|
|
31
|
+
`&&(g(),h="",u=0,t=!1);if(!L.scan(m))break;if(c=!0,P=L.scan(zt)||"name",L.scan(Ut),P==="="?(C=L.scanUntil(tt),L.scan(tt),L.scanUntil(y)):P==="{"?(C=L.scanUntil(R),L.scan(Kt),L.scanUntil(y),P="&"):C=L.scanUntil(y),!L.scan(y))throw new Error("Unclosed tag at "+L.pos);if(P==">"?_=[P,C,b,L.pos,h,u,t]:_=[P,C,b,L.pos],u++,a.push(_),P==="#"||P==="^")s.push(_);else if(P==="/"){if(j=s.pop(),!j)throw new Error('Unopened section "'+C+'" at '+b);if(j[1]!==C)throw new Error('Unclosed section "'+j[1]+'" at '+b)}else P==="name"||P==="{"||P==="&"?l=!0:P==="="&&F(C)}if(g(),j=s.pop(),j)throw new Error('Unclosed section "'+j[1]+'" at '+L.pos);return Xt(Yt(a))}function Yt(n){for(var e=[],t,s,a=0,r=n.length;a<r;++a)t=n[a],t&&(t[0]==="text"&&s&&s[0]==="text"?(s[1]+=t[1],s[3]=t[3]):(e.push(t),s=t));return e}function Xt(n){for(var e=[],t=e,s=[],a,r,c=0,l=n.length;c<l;++c)switch(a=n[c],a[0]){case"#":case"^":t.push(a),s.push(a),t=a[4]=[];break;case"/":r=s.pop(),r[5]=a[2],t=s.length>0?s[s.length-1][4]:e;break;default:t.push(a)}return e}function ue(n){this.string=n,this.tail=n,this.pos=0}ue.prototype.eos=function(){return this.tail===""};ue.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};ue.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 s=this,a,r,c,l=!1;s;){if(n.indexOf(".")>0)for(a=s.view,r=n.split("."),c=0;a!=null&&c<r.length;)c===r.length-1&&(l=et(a,r[c])||qt(a,r[c])),a=a[r[c++]];else a=s.view[n],l=et(s.view,n);if(l){t=a;break}s=s.parent}e[n]=t}return Ee(t)&&(t=t.call(this.view)),t};function H(){this.templateCache={_cache:{},set:function(n,e){this._cache[n]=e},get:function(n){return this._cache[n]},clear:function(){this._cache={}}}}H.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};H.prototype.parse=function(n,e){var t=this.templateCache,s=n+":"+(e||E.tags).join(":"),a=typeof t<"u",r=a?t.get(s):void 0;return r==null&&(r=Jt(n,e),a&&t.set(s,r)),r};H.prototype.render=function(n,e,t,s){var a=this.getConfigTags(s),r=this.parse(n,a),c=e instanceof ae?e:new ae(e,void 0);return this.renderTokens(r,c,t,n,s)};H.prototype.renderTokens=function(n,e,t,s,a){for(var r="",c,l,h,u=0,g=n.length;u<g;++u)h=void 0,c=n[u],l=c[0],l==="#"?h=this.renderSection(c,e,t,s,a):l==="^"?h=this.renderInverted(c,e,t,s,a):l===">"?h=this.renderPartial(c,e,t,a):l==="&"?h=this.unescapedValue(c,e):l==="name"?h=this.escapedValue(c,e,a):l==="text"&&(h=this.rawValue(c)),h!==void 0&&(r+=h);return r};H.prototype.renderSection=function(n,e,t,s,a){var r=this,c="",l=e.lookup(n[1]);function h(m){return r.render(m,e,t,a)}if(l){if(se(l))for(var u=0,g=l.length;u<g;++u)c+=this.renderTokens(n[4],e.push(l[u]),t,s,a);else if(typeof l=="object"||typeof l=="string"||typeof l=="number")c+=this.renderTokens(n[4],e.push(l),t,s,a);else if(Ee(l)){if(typeof s!="string")throw new Error("Cannot use higher-order sections without the original template");l=l.call(e.view,s.slice(n[3],n[5]),h),l!=null&&(c+=l)}else c+=this.renderTokens(n[4],e,t,s,a);return c}};H.prototype.renderInverted=function(n,e,t,s,a){var r=e.lookup(n[1]);if(!r||se(r)&&r.length===0)return this.renderTokens(n[4],e,t,s,a)};H.prototype.indentPartial=function(n,e,t){for(var s=e.replace(/[^ \t]/g,""),a=n.split(`
|
|
32
|
+
`),r=0;r<a.length;r++)a[r].length&&(r>0||!t)&&(a[r]=s+a[r]);return a.join(`
|
|
33
|
+
`)};H.prototype.renderPartial=function(n,e,t,s){if(t){var a=this.getConfigTags(s),r=Ee(t)?t(n[1]):t[n[1]];if(r!=null){var c=n[6],l=n[5],h=n[4],u=r;l==0&&h&&(u=this.indentPartial(r,h,c));var g=this.parse(u,a);return this.renderTokens(g,e,t,u,s)}}};H.prototype.unescapedValue=function(n,e){var t=e.lookup(n[1]);if(t!=null)return t};H.prototype.escapedValue=function(n,e,t){var s=this.getConfigEscape(t)||E.escape,a=e.lookup(n[1]);if(a!=null)return typeof a=="number"&&s===E.escape?String(a):s(a)};H.prototype.rawValue=function(n){return n[1]};H.prototype.getConfigTags=function(n){return se(n)?n:n&&typeof n=="object"?n.tags:void 0};H.prototype.getConfigEscape=function(n){if(n&&typeof n=="object"&&!se(n))return n.escape};var E={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 H;E.clearCache=function(){return he.clearCache()};E.parse=function(n,e){return he.parse(n,e)};E.render=function(n,e,t,s){if(typeof n!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+$t(n)+'" was given as the first argument for mustache#render(template, view, partials)');return he.render(n,e,t,s)};E.escape=Wt;E.Scanner=ue;E.Context=ae;E.Writer=H;const Gt={mainTemplate:{template:`
|
|
34
|
+
{{#hasExternalPromotions}}
|
|
35
|
+
<div class="searchstax-external-promotions-container" id="searchstax-external-promotions-container">
|
|
36
|
+
External promotions go here
|
|
37
|
+
</div>
|
|
38
|
+
{{/hasExternalPromotions}}
|
|
39
|
+
`,externalPromotionsContainerId:"searchstax-external-promotions-container"},externalPromotion:{template:`
|
|
40
|
+
<div class="searchstax-external-promotion searchstax-search-result">
|
|
41
|
+
<div class="icon-elevated"></div>
|
|
42
|
+
{{#url}}
|
|
43
|
+
<a href="{{url}}" data-searchstax-unique-result-id="{{uniqueId}}" class="searchstax-result-item-link"></a>
|
|
44
|
+
{{/url}}
|
|
45
|
+
<div class="searchstax-search-result-title-container">
|
|
46
|
+
<span class="searchstax-search-result-title">{{name}}</span>
|
|
47
|
+
</div>
|
|
48
|
+
{{#description}}
|
|
49
|
+
<p class="searchstax-search-result-description searchstax-search-result-common">
|
|
50
|
+
{{description}}
|
|
51
|
+
</p>
|
|
52
|
+
{{/description}}
|
|
53
|
+
{{#url}}
|
|
54
|
+
<p class="searchstax-search-result-description searchstax-search-result-common">
|
|
55
|
+
{{url}}
|
|
56
|
+
</p>
|
|
57
|
+
{{/url}}
|
|
58
|
+
</div>
|
|
59
|
+
`}},Zt={mainTemplateDesktop:{template:`
|
|
60
|
+
{{#hasResultsOrExternalPromotions}}
|
|
61
|
+
<div class="searchstax-facets-container-desktop"></div>
|
|
62
|
+
{{/hasResultsOrExternalPromotions}}
|
|
63
|
+
`,facetsContainerClass:"searchstax-facets-container-desktop",selectedFacetsContainerClass:"searchstax-facets-pills-selected"},mainTemplateMobile:{template:`
|
|
64
|
+
<div class="searchstax-facets-pills-container">
|
|
65
|
+
<div class="searchstax-facets-pills-selected">
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<div class="searchstax-facets-mobile-overlay {{#overlayOpened}} searchstax-show{{/overlayOpened}}" >
|
|
70
|
+
<div class="searchstax-facets-mobile-overlay-header">
|
|
71
|
+
<div class="searchstax-facets-mobile-overlay-header-title">Filter By</div>
|
|
72
|
+
<div class="searchstax-search-close"></div>
|
|
73
|
+
</div>
|
|
74
|
+
<div class="searchstax-facets-container-mobile"></div>
|
|
75
|
+
<button class="searchstax-facets-mobile-overlay-done">Done</button>
|
|
76
|
+
</div>
|
|
77
|
+
`,facetsContainerClass:"searchstax-facets-container-mobile",closeOverlayTriggerClasses:["searchstax-facets-mobile-overlay-done","searchstax-search-close"],filterByContainerClass:"searchstax-facets-pills-container",selectedFacetsContainerClass:"searchstax-facets-pills-selected"},showMoreButtonContainerTemplate:{template:`
|
|
78
|
+
<div class="searchstax-facet-show-more-container">
|
|
79
|
+
{{#showingAllFacets}}
|
|
80
|
+
<div class="searchstax-facet-show-less-button searchstax-facet-show-button">less</div>
|
|
81
|
+
{{/showingAllFacets}}
|
|
82
|
+
{{^showingAllFacets}}
|
|
83
|
+
<div class="searchstax-facet-show-more-button searchstax-facet-show-button">more {{onShowMoreLessClick}}</div>
|
|
84
|
+
{{/showingAllFacets}}
|
|
39
85
|
</div>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<
|
|
44
|
-
{{
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{{/spellingSuggestion}}
|
|
86
|
+
`,showMoreButtonClass:"searchstax-facet-show-more-container"},facetItemContainerTemplate:{template:`
|
|
87
|
+
<div>
|
|
88
|
+
<div class="searchstax-facet-title-container">
|
|
89
|
+
<div class="searchstax-facet-title">
|
|
90
|
+
{{label}}
|
|
91
|
+
</div>
|
|
92
|
+
<div class="searchstax-facet-title-arrow active"></div>
|
|
48
93
|
</div>
|
|
49
|
-
<div>
|
|
50
|
-
|
|
51
|
-
|
|
94
|
+
<div class="searchstax-facet-values-container"></div>
|
|
95
|
+
</div>
|
|
96
|
+
`,facetListTitleContainerClass:"searchstax-facet-title-container",facetListContainerClass:"searchstax-facet-values-container"},clearFacetsTemplate:{template:`
|
|
97
|
+
{{#shouldShow}}}
|
|
98
|
+
<div class="searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all">
|
|
99
|
+
<div class="searchstax-facets-pill-label">Clear Filters</div>
|
|
52
100
|
</div>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
{{/url}}
|
|
58
|
-
{{#ribbon}}
|
|
59
|
-
<div class="searchstax-search-result-ribbon">
|
|
60
|
-
{{ribbon}}
|
|
101
|
+
{{/shouldShow}}
|
|
102
|
+
`,containerClass:"searchstax-facets-pill-clear-all"},facetItemTemplate:{template:`
|
|
103
|
+
<div class="searchstax-facet-input">
|
|
104
|
+
<input type="checkbox" class="searchstax-facet-input-checkbox" {{#disabled}}disabled{{/disabled}} {{#isChecked}}checked{{/isChecked}}/>
|
|
61
105
|
</div>
|
|
62
|
-
{{
|
|
63
|
-
{{
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<span class="searchstax-search-result-title">{{title}}</span>
|
|
106
|
+
<div class="searchstax-facet-value-label">{{value}}</div>
|
|
107
|
+
<div class="searchstax-facet-value-count">({{count}})</div>
|
|
108
|
+
`,inputCheckboxClass:"searchstax-facet-input-checkbox",checkTriggerClasses:["searchstax-facet-value-label","searchstax-facet-value-count"]},filterByTemplate:{template:`
|
|
109
|
+
<div class="searchstax-facets-pill searchstax-facets-pill-filter-by">
|
|
110
|
+
<div class="searchstax-facets-pill-label">Filter By</div>
|
|
68
111
|
</div>
|
|
69
|
-
{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
{{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
112
|
+
`,containerClass:"searchstax-facets-pill-filter-by"},selectedFacetsTemplate:{template:`
|
|
113
|
+
<div class="searchstax-facets-pill searchstax-facets-pill-facets">
|
|
114
|
+
<div class="searchstax-facets-pill-label">{{value}} ({{count}})</div>
|
|
115
|
+
<div class="searchstax-facets-pill-icon-close"></div>
|
|
116
|
+
</div>
|
|
117
|
+
`,containerClass:"searchstax-facets-pill-facets"}},ea={mainTemplate:{template:`
|
|
118
|
+
{{#results.length}}
|
|
119
|
+
<div class="searchstax-pagination-container">
|
|
120
|
+
<div class="searchstax-pagination-content">
|
|
121
|
+
<a class="searchstax-pagination-previous {{#isFirstPage}}disabled{{/isFirstPage}}" id="searchstax-pagination-previous">< Previous</a>
|
|
122
|
+
<div class="searchstax-pagination-details">
|
|
123
|
+
{{startResultIndex}} - {{endResultIndex}} of {{totalResults}}
|
|
124
|
+
</div>
|
|
125
|
+
<a class="searchstax-pagination-next {{#isLastPage}}disabled{{/isLastPage}}" id="searchstax-pagination-next">Next ></a>
|
|
83
126
|
</div>
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
127
|
+
</div>
|
|
128
|
+
{{/results.length}}
|
|
129
|
+
`,nextButtonClass:"searchstax-pagination-next",previousButtonClass:"searchstax-pagination-previous"}},ta={main:{template:`
|
|
130
|
+
{{#hasRelatedSearches}}
|
|
131
|
+
<div class="searchstax-related-searches-container" id="searchstax-related-searches-container">
|
|
132
|
+
Related searches: <span id="searchstax-related-searches"></span>
|
|
133
|
+
{{#relatedSearches}}
|
|
134
|
+
<span class="searchstax-related-search">
|
|
135
|
+
|
|
136
|
+
</span>
|
|
137
|
+
{{/relatedSearches}}
|
|
138
|
+
</div>
|
|
139
|
+
{{/hasRelatedSearches}}
|
|
140
|
+
`,relatedSearchesContainerClass:"searchstax-related-search"},relatedSearch:{template:`
|
|
141
|
+
<span class="searchstax-related-search searchstax-related-search-item">
|
|
142
|
+
{{ related_search }}{{^last}}<span>,</span>{{/last}}
|
|
143
|
+
</span>
|
|
144
|
+
`,relatedSearchContainerClass:"searchstax-related-search-item"}},aa={main:{template:`
|
|
145
|
+
{{#searchExecuted}}
|
|
146
|
+
<div class="searchstax-feedback-container">
|
|
147
|
+
{{#if totalResults}}
|
|
148
|
+
Showing <b>{{startResultIndex}} - {{endResultIndex}}</b> of <b>{{totalResults}}</b> results {{#searchTerm}} for "<b>{{searchTerm}}</b>" {{/searchTerm}}
|
|
149
|
+
<div class="searchstax-feedback-container-suggested">
|
|
150
|
+
{{#autoCorrectedQuery}}
|
|
151
|
+
Search instead for <a href="#" class="searchstax-feedback-original-query">{{originalQuery}}</a>
|
|
152
|
+
{{/autoCorrectedQuery}}
|
|
153
|
+
</div>
|
|
154
|
+
{{/if}}
|
|
155
|
+
</div>
|
|
156
|
+
{{/searchExecuted}}
|
|
157
|
+
`,originalQueryClass:"searchstax-feedback-original-query"}},sa={mainTemplate:{template:`
|
|
158
|
+
<div class="searchstax-search-input-container">
|
|
159
|
+
<div class="searchstax-search-input-wrapper">
|
|
160
|
+
<input type="text" id="searchstax-search-input" class="searchstax-search-input" placeholder="SEARCH FOR..." />
|
|
161
|
+
<button class="searchstax-spinner-icon" id="searchstax-search-input-action-button"></button>
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
`,searchInputId:"searchstax-search-input"},autosuggestItemTemplate:{template:`
|
|
165
|
+
<div class="searchstax-autosuggest-item-term-container">{{{term}}}</div>
|
|
166
|
+
`}},ra={mainTemplate:{template:`
|
|
167
|
+
<div class="searchstax-search-results-container">
|
|
168
|
+
<div class="searchstax-search-results" id="searchstax-search-results"></div>
|
|
169
|
+
</div>
|
|
170
|
+
`,searchResultsContainerId:"searchstax-search-results"},searchResultTemplate:{template:`
|
|
171
|
+
<div class="searchstax-search-result {{#thumbnail}} has-thumbnail {{/thumbnail}}">
|
|
172
|
+
{{#promoted}}
|
|
173
|
+
<div class="searchstax-search-result-promoted"></div>
|
|
174
|
+
{{/promoted}}
|
|
175
|
+
|
|
176
|
+
{{#url}}
|
|
177
|
+
<a href="{{url}}" data-searchstax-unique-result-id="{{uniqueId}}" class="searchstax-result-item-link"></a>
|
|
178
|
+
{{/url}}
|
|
179
|
+
|
|
180
|
+
{{#ribbon}}
|
|
181
|
+
<div class="searchstax-search-result-ribbon">
|
|
182
|
+
{{ribbon}}
|
|
183
|
+
</div>
|
|
184
|
+
{{/ribbon}}
|
|
185
|
+
|
|
186
|
+
{{#thumbnail}}
|
|
187
|
+
<img src="{{thumbnail}}" class="searchstax-thumbnail">
|
|
188
|
+
{{/thumbnail}}
|
|
189
|
+
<div class="searchstax-search-result-title-container">
|
|
190
|
+
<span class="searchstax-search-result-title">{{title}}</span>
|
|
191
|
+
</div>
|
|
192
|
+
|
|
193
|
+
{{#paths}}
|
|
194
|
+
<p class="searchstax-search-result-common">
|
|
195
|
+
{{paths}}
|
|
196
|
+
</p>
|
|
197
|
+
{{/paths}}
|
|
198
|
+
|
|
199
|
+
{{#description}}
|
|
200
|
+
<p class="searchstax-search-result-description searchstax-search-result-common">
|
|
201
|
+
{{description}}
|
|
202
|
+
</p>
|
|
203
|
+
{{/description}}
|
|
204
|
+
|
|
205
|
+
{{#unmappedFields}}
|
|
206
|
+
{{#isImage}}
|
|
207
|
+
<div class="searchstax-search-result-image-container">
|
|
208
|
+
<img src="{{value}}" class="searchstax-result-image">
|
|
209
|
+
</div>
|
|
210
|
+
{{/isImage}}
|
|
211
|
+
{{^isImage}}
|
|
212
|
+
<p class="searchstax-search-result-common">
|
|
213
|
+
{{value}}
|
|
214
|
+
</p>
|
|
215
|
+
{{/isImage}}
|
|
216
|
+
{{/unmappedFields}}
|
|
217
|
+
</div>
|
|
218
|
+
`,searchResultUniqueIdAttribute:"data-searchstax-unique-result-id"},noSearchResultTemplate:{template:`
|
|
219
|
+
<div class="searchstax-no-results">
|
|
220
|
+
Showing <strong>no results</strong> for <strong>"{{ searchTerm }}"</strong>
|
|
221
|
+
<br>
|
|
222
|
+
{{#spellingSuggestion}}
|
|
223
|
+
<span> Did you mean <a href="#" class="searchstax-suggestion-term">{{ spellingSuggestion }}</a>?</span>
|
|
224
|
+
{{/spellingSuggestion}}
|
|
225
|
+
</div>
|
|
226
|
+
<div>
|
|
227
|
+
<p>Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need.</p>
|
|
228
|
+
<p>Lost? Click on the ‘X” in the Search Box to reset your search.</p>
|
|
229
|
+
</div>
|
|
230
|
+
`}},ia={main:{template:`
|
|
231
|
+
{{#searchExecuted}}
|
|
232
|
+
{{#hasResultsOrExternalPromotions}}
|
|
233
|
+
<div class="searchstax-sorting-container">
|
|
234
|
+
<label class="searchstax-sorting-label" for="sort-by">Sort By</label>
|
|
235
|
+
<select id="searchstax-search-order-select" class="searchstax-search-order-select">
|
|
236
|
+
<option value="">
|
|
237
|
+
Relevance
|
|
238
|
+
</option>
|
|
239
|
+
<option value="date desc">
|
|
240
|
+
Newest Content
|
|
241
|
+
</option>
|
|
242
|
+
<option value="date asc">
|
|
243
|
+
Oldest Content
|
|
244
|
+
</option>
|
|
245
|
+
</select>
|
|
246
|
+
</div>
|
|
247
|
+
{{/hasResultsOrExternalPromotions}}
|
|
248
|
+
{{/searchExecuted}}
|
|
249
|
+
`,selectId:"searchstax-search-order-select"}};class v{}o(v,"externalPromotions",Gt),o(v,"facets",Zt),o(v,"pagination",ea),o(v,"relatedSearches",ta),o(v,"searchFeedback",aa),o(v,"searchInput",sa),o(v,"searchResults",ra),o(v,"sorting",ia);class na{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=E.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=E.render(c,e);const l=document.getElementById(this.externalPromotionsContainerId);l&&(l.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class ca{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 b=document.createElement("div");b.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||b.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);b.innerHTML=E.render(P,e),t.appendChild(b);const C=b.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",()=>{b.classList.toggle("active")});const $=b.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(_=>{this.createFacetListItem(_,$)}),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 b=document.createElement("div");b.classList.add("searchstax-facet-value-container"),e.disabled&&b.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);b.innerHTML=E.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(_=>{var j;(j=b.querySelector("."+_))==null||j.addEventListener("click",U=>{this.onFacetSelect(U,e,b)})}),(L=b.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",_=>{this.onFacetSelect(_,e,b,!0)}),t.appendChild(b)}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=E.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=E.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 b of e.facets)this.createFacetItem(b,L);if(this.searchFacetsMainContainer){const b=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));b&&(this.createSelectedFacetsComponents(b),this.createClearFacetsComponents(b))}}}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=E.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=E.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=E.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,b,P,C,$,_;if(e){const j=document.createElement("div");j.classList.add("searchstax-facets-container-mobile");const U=((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(j.innerHTML=E.render(U,{...e,overlayOpened:this.overlayOpened}),(c=this.searchFacetsMainContainer)==null||c.appendChild(j),(h=(l=this.config)==null?void 0:l.templates)!=null&&h.mainTemplateMobile)for(const J of((m=(g=(u=this.config)==null?void 0:u.templates)==null?void 0:g.mainTemplateMobile)==null?void 0:m.closeOverlayTriggerClasses)||[]){const Y=j.querySelector("."+J);Y&&Y.addEventListener("click",this.closeOverlay.bind(this))}else for(const J of v.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Y=j.querySelector("."+J);Y&&Y.addEventListener("click",this.closeOverlay.bind(this))}const G=j.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));G&&this.createFilterByComponent(G);const N=j.querySelector("."+(((P=(b=(L=this.config)==null?void 0:L.templates)==null?void 0:b.mainTemplateMobile)==null?void 0:P.selectedFacetsContainerClass)||v.facets.mainTemplateMobile.selectedFacetsContainerClass));N&&(this.createSelectedFacetsComponents(N),this.createClearFacetsComponents(N));const Z=j.querySelector("."+(((_=($=(C=this.config)==null?void 0:C.templates)==null?void 0:$.mainTemplateMobile)==null?void 0:_.facetsContainerClass)||v.facets.mainTemplateMobile.facetsContainerClass));if(Z){Z.innerHTML="";for(const J of e.facets)this.createFacetItem(J,Z,!0)}}}}}class la{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=E.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class oa{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=E.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=E.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 ha{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=E.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class ua{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=E.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 z.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=E.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 da{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=E.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=>E.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=E.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 ga{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=E.render(r,e),this.markOptionSelected();const c=document.getElementById(this.selectId);c&&c.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class pa{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 jt(At.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&&oe.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 Mt({...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 Ze(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 Ze({})}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&&oe.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=le.combineResultsWithMetadata(e),r=le.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=le.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 ua({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 da({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 la({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new ha({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new ga({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new oa({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 na({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new ca({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=z.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&&oe.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,s;let a=le.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&&(oe.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 I={searchstax:new pa("react")};function fa(n){let e=!1;const[t,s]=D.useState([]);D.useEffect(()=>{if(a(),I.searchstax){const h={};n.afterAutosuggest&&(h.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(h.beforeAutosuggest=n.beforeAutosuggest),I.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||(I.searchstax.dataLayer.$autosuggestResults.subscribe(h=>{s((h==null?void 0:h.suggestions)??[])}),e=!0)}function r(){var h,u;(h=I.searchstax.searchInputWidget)==null||h.resetAutosuggestSelection(),(u=I.searchstax.searchInputWidget)==null||u.markActiveAutosuggestItem()}function c(h){var u;(u=I.searchstax.searchInputWidget)==null||u.onSuggestionEnter(h)}function l(){var h;(h=I.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 ma(n){return D.useEffect(()=>{const e={};n.beforeSearch&&(e.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(e.afterSearch=n.afterSearch),I.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(I.searchstax)},[n.initialized]),p.jsx(p.Fragment,{children:n.children})}function va(n){const[e,t]=D.useState(null),[s,a]=D.useState(""),[r,c]=D.useState(null),l=(u,g)=>{g.preventDefault(),g.stopPropagation(),I.searchstax.executeLinkClick(u.uniqueId)};D.useEffect(()=>{h();const u={};n.afterLinkClick&&(u.afterLinkClick=n.afterLinkClick),I.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:u})},[]);function h(){I.searchstax.dataLayer.$searchResults.subscribe(u=>{t(u)}),I.searchstax.dataLayer.$searchTermChange.subscribe(u=>{a(u)}),I.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 ya(n){let e=!1;const[t,s]=D.useState(!1),[a,r]=D.useState(null),[c]=D.useState(Math.random());D.useEffect(()=>{if(l(),I.searchstax)I.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(I.searchstax.dataLayer.$searchObject.subscribe(()=>{h()}),I.searchstax.dataLayer.$paginationData.subscribe(m=>{r(m)}),e=!0)}function h(){!t&&I.searchstax.routerHelper&&(s(!0),I.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{}))}function u(m){var y;(y=I.searchstax.searchPaginationWidget)==null||y.nextPage(m)}function g(m){var y;(y=I.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 xa(n){let e=!1;const[t,s]=D.useState(null),[a,r]=D.useState(""),[c]=D.useState(Math.random());D.useEffect(()=>{if(l(),I.searchstax)I.searchstax.addSearchSortingWidget("search-sorting-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(I.searchstax.dataLayer.$searchSortingData.subscribe(u=>{s(u)}),I.searchstax.dataLayer.$searchObject.subscribe(u=>{r(decodeURIComponent((u==null?void 0:u.order)??""))}),e=!0)}function h(u){var g;(g=I.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 ba(n){let e=!1;const[t,s]=D.useState(null),[a]=D.useState(Math.random());D.useEffect(()=>{if(r(),I.searchstax)I.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(I.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{s(l)}),e=!0)}function c(l){var h;(h=I.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)})]})})}exports.SearchstaxInputWidget=fa;exports.SearchstaxOverviewWidget=ba;exports.SearchstaxPaginationWidget=ya;exports.SearchstaxResultWidget=va;exports.SearchstaxSortingWidget=xa;exports.SearchstaxWrapper=ma;
|