1/*! For license information please see AutocompleteProvider-871c424e2b236e786e02.js.LICENSE.txt */ 2(self.webpackChunkPlug_and_Play_Template=self.webpackChunkPlug_and_Play_Template||[]).push([[701],{64945:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return h}});r(33948);var n=r(67294),o=r(45697),c=r.n(o),a=r(27354),s=r(98069);class l{constructor(e){if(!e||0===e.length)throw new Error("At least one adapter is required for AutocompleteService");this.autocompleteAdapters=[],Array.from(e).forEach((e=>{if(!e||!e.hasOwnProperty("autocomplete"))throw new Error("".concat(e.constructor.name," is not implemented yet"));this.registerAdapter(e)}))}registerAdapter(e){this.autocompleteAdapters.push(e)}getResults(e,t){return Promise.all(this.autocompleteAdapters.map((r=>r.getResults(e,t)))).then((e=>{const t=[];let r=0,n=0;return e.map(((e,o)=>{let{data:c}=e;return r+=c.length,t[o]=[],c.length&&c.forEach((e=>{t[o][n++]=e})),t})),{results:t,count:r}})).catch((e=>(console.error(e),{results:[],count:0,error:e})))}}var u=r(48131),i=r(6838),m=r(66004);function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},d.apply(this,arguments)}const p=e=>{let{fetching:t,onSubmit:r,componentId:o}=e;return t?n.createElement("div",{className:"autocomplete-concierge__loader","aria-hidden":"true"},n.createElement("svg",{className:"svg-icon",role:"img",focusable:!1},n.createElement("use",{href:"#spinner"}))):n.createElement("button",{type:"submit",className:"autocomplete-concierge__submit",onClick:r,"aria-labelledby":"".concat(o,"-submit-label")},n.createElement("svg",{className:"svg-icon",role:"img",focusable:!1},n.createElement("title",{id:"".concat(o,"-submit-label")},"Submit search"),n.createElement("use",{href:"#search"})))};function f(e){const{id:t,templates:o,placeholder:c,debounce:l,action:i,method:f,hiddenFields:h,inputAttributes:E,showSubmit:g,onClose:b,showClear:y,showLoader:v}=e,{setSelectedIndex:C,selectedIndex:_,count:S,fetchResults:w,fetching:P}
2=(0,u.o)(),[k,T]=(0,n.useState)(null),[O,N]=(0,n.useState)(null),[x,A]=(0,n.useState)(null),[I,L]=(0,n.useState)(""),[R,U]=(0,n.useState)(""),[D,j]=(0,n.useState)(!1),[q,M]=(0,n.useState)("autocomplete-concierge__results"),F=(0,n.useRef)(),W=(0,n.useRef)(),K=(0,n.useRef)(null),G=(0,m.uY)(),[Y,B]=(0,m.S5)(),{keyboardProps:Q}=(0,a.v5)({onKeyUp:e=>{let t=-1;if(27===e.keyCode)return j(!1),C(-1),x||b(),void(K.current&&K.current.focus());if(40===e.keyCode&&(t=_+1>=S?0:_+1,Y[t]&&Y[t].scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"})),38===e.keyCode&&(t=_-1<0?S-1:_-1,Y[t]&&Y[t].scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"})),13===e.keyCode){if(-1===_)return void N(!0);Y[_].click()}C(t),T(t),j(!0)},onKeyDown:e=>(40===e.keyCode||38===e.keyCode||13===e.keyCode||27===e.keyCode?e.preventDefault():K.current.focus(),!1)}),{focusWithinProps:V}=(0,a.L_)({onFocusWithin:()=>{j(!0)},onBlurWithin:()=>{j(!1)}});(0,n.useEffect)((()=>{A((()=>D&&S>0))}),[S,D]),(0,n.useEffect)((()=>{const e=["autocomplete-concierge__results"];P&&x&&(e.push("autocomplete-concierge__results--expanding"),M(e.join(" "))),!P&&x&&(e.push("autocomplete-concierge__results--open"),M(e.join(" "))),P||x||(e.push("autocomplete-concierge__results--collapsing"),M(e.join(" ")))}),[x]),(0,n.useEffect)((()=>{const e=(0,m.jS)(document.location.href,"query");L(e||"")}),[]),(0,n.useEffect)((()=>{if(!I)return;const e=S>0?"".concat(S," results for ").concat(I):"No results found for ".concat(I);U(e)}),[S,I]),(0,n.useEffect)((()=>{const e=setTimeout((async()=>{""===I&&K.current.focus(),await w(I,o)}),l);return()=>clearTimeout(e)}),[I]),(0,n.useEffect)((()=>{if(O&&F.current&&K.current){if(K.current.value=I,G){const e={TYPE:"SUBMIT",title:"NEEDS_REFRESH",url:window.location.href,time:Date.now()};return void G.trackedEventWithCb(e,F.current.submit())}F.current.submit()}}),[O]);const z=(e,t,r)=>{if(G){const n={TYPE:"CLICK",url:e,query:I,title:t};G.trackedEventWithCb(n,r)}r&&!G&&r()},H=(0,n.useCallback)(((e,t)=>{e.preventDefault();const{action:r,action_t:n,title:o}=t;if("Q"===n||void 0===n)return L(r||t),void N(!0);z(r,o,(()=>document.location.href=r))}),[]);return n.createElement("div",d({className:"autocomplete-concierge no-wysiwyg",role:"search"},V),n.createElement("form",{ref:F,action:i,method:f,className:"autocomplete-concierge__form"},n.createElement("label",{className:"sr-only","aria-live":"polite",id:"".concat(t,"-label")},R),v&&n.createElement(p,{fetching:P,onSubmit:()=>N(!0),componentId:t}),n.createElement("input",d({id:"".concat(t,"-inputField"),ref:K,type:"text",autoComplete:"off",role:"combobox","aria-expanded":x,"aria-haspopup":"grid","aria-labelledby":"".concat(t,"-label"),"aria-autocomplete":"list","aria-controls":"".concat(t,"-grid"),"aria-activedescendant":-1===k?void 0:k,onChange:e=>{let{currentTarget:{value:t}}=e;L(t)},value:I,placeholder:c,className:"autocomplete-concierge__input",name:"query"},Q,E)),h&&h.map((e=>n.createElement("input",{key:e.id,type:"hidden",name:e.name,value:e.value}))),n.createElement("button",{type:"button",className:["autocomplete-concierge__submit",!y||y&&0===I.length?"hidden":""].join(" "),onClick:()=>L(""),onKeyUp:e=>{e.preventDefault(),13===e.keyCode&&L("")}},n.createElement("svg",{className:"svg-icon",role:"img",focusable:!1},n.createElement("title",null,"Clear search"),n.createElement("use",{href:"#close"})),"Clear"),g&&!v&&n.createElement("button",{type:"submit",className:"autocomplete-concierge__submit",onClick:()=>N(!0),"aria-labelledby":"".concat(t,"-submit-label")},n.createElement("svg",{className:"svg-icon",role:"img",focusable:!1},n.createElement("title",{id:"".concat(t,"-submit-label")},"Submit search"),n.createElement("use",{href:"#search"})))),n.createElement("div",d({ref:W,role:"grid","aria-labelledby":"".concat(t,"-label"),"aria-hidden":!x,id:"".concat(t,"-grid"),className:q,tabIndex:-1},Q,{style:{display:x?"":"none"}}),o&&o.map(((e,t)=>(e=>{const{template:t}=e,o=t.toLowerCase(),c=(0,n.useMemo)((()=>(0,n.lazy)((()=>r(42276)("./".concat(o))))),[]);return n.createElement(n.Suspense,{key:"component-".concat(o),fallback:n.createElement("span",{className:"sr-only"},"Loading template...")},n.createElement(c,e))})({...e,templateId:t,handleClick:H,trackedClick:z,childRefs:B})))),n.createElement(s.U4,{onDismiss:()=>A(!1)}))}function h(e){const{adapters:t}=e,r=new l(t);return n.createElement(u.g,{initialState:i.E3,reducer:i.fG,autocompleteService:r},n.createElement(f,e))}const{string:E,arrayOf:g,shape:b,number:y,bool:v,func:C}=c();
2f.propTypes={id:E,templates:g(b({id:E,label:E,template:E,serviceUrl:E,params:E})).isRequired,placeholder:E,debounce:y,action:E,method:E,showSubmit:v,isOpen:v,onClose:C,showClear:v,showLoader:v},f.defaultProps={id:"autocomplete-search",placeholder:"Start your search here...",debounce:500,action:"search.html",method:"GET",showSubmit:!0,isOpen:!1,onClose:()=>{},showClear:!1,showLoader:!1}},6838:function(e,t,r){"use strict";r.d(t,{E3:function(){return l},Ix:function(){return i},fG:function(){return u}});const n="PNP/AUTOCOMPLETE/UPDATE_RESULTS",o="PNP/AUTOCOMPLETE/SET_SELECTED",c="PNP/AUTOCOMPLETE/LOAD_REQUEST",a="PNP/AUTOCOMPLETE/LOAD_FAILED",s="PNP/AUTOCOMPLETE/LOAD_SUCCESS",l={results:[],count:0,query:"",selectedIndex:-1,fetching:!1,error:""},u=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case c:return{...e,fetching:!0};case a:return{...e,error:t.error,fetching:!1};case s:return{...e,fetching:!1};case n:return{...e,results:t.results,count:t.count,query:t.query,selectedIndex:-1};case o:return{...e,selectedIndex:t.selectedIndex};default:return{...e}}},i=(e,t)=>({updateResults:(t,r)=>{e({type:n,results:t,count:r})},setSelectedIndex:t=>{e({type:o,selectedIndex:t})},fetchResults:async r=>{if(!r)return void e({type:n,results:[],count:0});e({type:c});const{results:o,count:l,error:u}=await t.getResults(r);if(u)return console.error("There was an error fetching results from the service."),console.info(u.message),e({type:n,results:[],count:0}),void e({type:a,error:u.message});e({type:n,results:o,count:l,query:r}),e({type:s})}})},48131:function(e,t,r){"use strict";r.d(t,{g:function(){return s},o:function(){return a}});r(33948);var n=r(67294),o=r(6838);const c=(0,n.createContext)();c.displayName="PNP-STORE";const a=()=>(0,n.useContext)(c),s=e=>{let{children:t,initialState:r,reducer:a,autocompleteService:s}=e;const[l,u]=(0,n.useReducer)(a,r),i=(0,n.useMemo)((()=>(0,o.Ix)(u,s)),[]);return n.createElement(c.Provider,{value:{...i,dispatch:u,...l}},t)}},42276:function(e,t,r){var n={"./organic":[44113,113],"./organic.jsx":[44113,113],"./people--v15":[62140,140],"./people--v15.jsx":[62140,140],"./people--v16":[12507,507],"./people--v16.jsx":[12507,507],"./programs--v15":[86588,588],"./programs--v15.jsx":[86588,588],"./programs--v16":[32723,723],"./programs--v16.jsx":[32723,723]};function o(e){if(!r.o(n,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],o=t[0];return r.e(t[1]).then((function(){return r(o)}))}o.keys=function(){return Object.keys(n)},o.id=42276,e.exports=o}}]); 3//# sourceMappingURL=AutocompleteProvider-871c424e2b236e786e02.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.