(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{183:function(y,m,b){var _,C,I,N=b(1);I=function t(){"use strict";function e(y,m){var b=Object.keys(y);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(y);m&&(_=_.filter((function(m){return Object.getOwnPropertyDescriptor(y,m).enumerable}))),b.push.apply(b,_)}return b}function t(y){for(var m=1;my.length)&&(m=y.length);for(var b=0,_=new Array(m);b=y.length?{done:!0}:{done:!1,value:y[_++]}},e:function e(y){throw y},f:C}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var I,N=!0,P=!1;return{s:function s(){b=b.call(y)},n:function n(){var y=b.next();return N=y.done,y},e:function e(y){P=!0,I=y},f:function f(){try{N||null==b.return||b.return()}finally{if(P)throw I}}}}(b.keys);try{for(D.s();!(Y=D.n()).done;)M(Y.value)}catch(y){D.e(y)}finally{D.f()}}else M()})),b.filter&&(N=b.filter(N));var P=N.slice(0,m.resultsList.maxResults);m.feedback={query:y,matches:N,results:P},C("results",m)},Y="aria-expanded",D="aria-activedescendant",B="aria-selected",q=function v(y,m){y.feedback.selection=t({index:m},y.feedback.results[m])},R=function g(y){y.isOpen||((y.wrapper||y.input).setAttribute(Y,!0),y.list.removeAttribute("hidden"),y.isOpen=!0,C("open",y))},H=function w(y){y.isOpen&&((y.wrapper||y.input).setAttribute(Y,!1),y.input.setAttribute(D,""),y.list.setAttribute("hidden",""),y.isOpen=!1,C("close",y))},U=function O(y,m){var b=m.resultItem,_=m.list.getElementsByTagName(b.tag),I=!!b.selected&&b.selected.split(" ");if(m.isOpen&&_.length){var N,P,M=m.cursor;y>=_.length&&(y=0),y<0&&(y=_.length-1),m.cursor=y,M>-1&&(_[M].removeAttribute(B),I&&(P=_[M].classList).remove.apply(P,i(I))),_[y].setAttribute(B,!0),I&&(N=_[y].classList).add.apply(N,i(I)),m.input.setAttribute(D,_[m.cursor].id),m.list.scrollTop=_[y].offsetTop-m.list.clientHeight+_[y].clientHeight+5,m.feedback.cursor=m.cursor,q(m,y),C("navigate",m)}},W=function A(y){U(y.cursor+1,y)},F=function k(y){U(y.cursor-1,y)},z=function L(y,m,b){(b=b>=0?b:y.cursor)<0||(y.feedback.event=m,q(y,b),C("selection",y),H(y))};function j(y,b){var _=this;return new Promise((function(C,I){var N,Y;return N=b||((Y=y.input)instanceof HTMLInputElement||Y instanceof HTMLTextAreaElement?Y.value:Y.innerHTML),function(y,m,b){return m?m(y):y.length>=b}(N=y.query?y.query(N):N,y.trigger,y.threshold)?P(y,N).then((function(b){try{return y.feedback instanceof Error?C():(M(N,y),y.resultsList&&function(y){var b=y.resultsList,_=y.list,C=y.resultItem,I=y.feedback,N=I.matches,P=I.results;if(y.cursor=-1,_.innerHTML="",N.length||b.noResults){var M=new DocumentFragment;P.forEach((function(y,b){var _=m(C.tag,t({id:"".concat(C.id,"_").concat(b),role:"option",innerHTML:y.match,inside:M},C.class&&{class:C.class}));C.element&&C.element(_,y)})),_.append(M),b.element&&b.element(_,I),R(y)}else H(y)}(y),c.call(_))}catch(y){return I(y)}}),I):(H(y),c.call(_));function c(){return C()}}))}var G=function S(y,m){for(var b in y)for(var _ in y[b])m(b,_)};function E(y){var b=this;return new Promise((function(_,I){var N,M,Y;if(N=y.placeHolder,Y={role:"combobox","aria-owns":(M=y.resultsList).id,"aria-haspopup":!0,"aria-expanded":!1},m(y.input,t(t({"aria-controls":M.id,"aria-autocomplete":"both"},N&&{placeholder:N}),!y.wrapper&&t({},Y))),y.wrapper&&(y.wrapper=m("div",t({around:y.input,class:y.name+"_wrapper"},Y))),M&&(y.list=m(M.tag,t({dest:[M.destination,M.position],id:M.id,role:"listbox",hidden:"hidden"},M.class&&{class:M.class}))),function T(y){var m,b,_,C=y.events,I=(m=function n(){return j(y)},b=y.debounce,function(){clearTimeout(_),_=setTimeout((function(){return m()}),b)}),N=y.events=t({input:t({},C&&C.input)},y.resultsList&&{list:C?t({},C.list):{}}),P={input:{input:function input(){I()},keydown:function keydown(m){!function(y,m){switch(y.keyCode){case 40:case 38:y.preventDefault(),40===y.keyCode?W(m):F(m);break;case 13:m.submit||y.preventDefault(),m.cursor>=0&&z(m,y);break;case 9:m.resultsList.tabSelect&&m.cursor>=0&&z(m,y);break;case 27:m.input.value="",H(m)}}(m,y)},blur:function blur(){H(y)}},list:{mousedown:function mousedown(y){y.preventDefault()},click:function click(m){!function(y,m){var b=m.resultItem.tag.toUpperCase(),_=Array.from(m.list.querySelectorAll(b)),C=y.target.closest(b);C&&C.nodeName===b&&z(m,y,_.indexOf(C))}(m,y)}}};G(P,(function(m,b){(y.resultsList||"input"===b)&&(N[m][b]||(N[m][b]=P[m][b]))})),G(N,(function(m,b){y[m].addEventListener(b,N[m][b])}))}(y),y.data.cache)return P(y).then((function(y){try{return c.call(b)}catch(y){return I(y)}}),I);function c(){return C("init",y),_()}return c.call(b)}))}function x(y){var m=y.prototype;m.init=function(){E(this)},m.start=function(y){j(this,y)},m.unInit=function(){if(this.wrapper){var y=this.wrapper.parentNode;y.insertBefore(this.input,this.wrapper),y.removeChild(this.wrapper)}var m;G((m=this).events,(function(y,b){m[y].removeEventListener(b,m.events[y][b])}))},m.open=function(){R(this)},m.close=function(){H(this)},m.goTo=function(y){U(y,this)},m.next=function(){W(this)},m.previous=function(){F(this)},m.select=function(y){z(this,null,y)},m.search=function(y,m,b){return I(y,m,b)}}return function e(m){this.options=m,this.id=e.instances=(e.instances||0)+1,this.name="autoComplete",this.wrapper=1,this.threshold=1,this.debounce=0,this.resultsList={position:"afterend",tag:"ul",maxResults:5},this.resultItem={tag:"li"},function(m){var b=m.name,_=m.options,C=m.resultsList,I=m.resultItem;for(var N in _)if("object"===n(_[N]))for(var P in m[N]||(m[N]={}),_[N])m[N][P]=_[N][P];else m[N]=_[N];m.selector=m.selector||"#"+b,C.destination=C.destination||m.selector,C.id=C.id||b+"_list_"+m.id,I.id=I.id||b+"_result",m.input=y(m.selector)}(this),x.call(this,e),E(this)}},"object"==N(m)&&void 0!==y?y.exports=I():void 0===(C="function"==typeof(_=I)?_.call(m,b,m,y):_)||(y.exports=C)},472:function(y,m,b){"use strict";b.r(m),b.d(m,"default",(function(){return F}));var _=b(3),C=b.n(_),I=b(4),N=b.n(I),P=b(5),M=b.n(P),Y=b(2),D=b.n(Y),B=b(7),q=b.n(B),R=b(6),H=b.n(R),U=b(183),W=b.n(U);function _callSuper(y,m,b){return m=D()(m),M()(y,function _isNativeReflectConstruct(){try{var y=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(y){}return function _isNativeReflectConstruct(){return!!y}()}()?Reflect.construct(m,b||[],D()(y).constructor):m.apply(y,b))}var F=function(y){function SageSocietyLogin(){var y;return C()(this,SageSocietyLogin),(y=_callSuper(this,SageSocietyLogin)).societyWidget=document.querySelector(y._selectors.SOCIETY_WIDGET),y.societyWidget&&y.initialize(),y}return H()(SageSocietyLogin,y),N()(SageSocietyLogin,[{key:"selectors",get:function get(){return{SOCIETY_WIDGET:".society-login",SOCIETY_SIGN_OUT:'[data-id="society-sign-out"]',SOCIETY_ELEMENT:'[name="societyCode"]',TPS_CONTAINER:".society-login__tps",YM_CONTAINER:".society-login__ym",SOCIETY_DESCRIPTION_EL:".society-login__description",TPS_BUTTON:".btn",SSO_SOCIETY_EL:'[name="ssoSociety"]',AUTOCOMPLETE_ELEMENT:".js--autocomplete-element"}}},{key:"classList",get:function get(){return{DISPLAY_NONE:"d-none",DISPLAY_FLEX:"d-flex"}}},{key:"initialize",value:function initialize(){!function _superPropGet(y,m,b,_){var C=q()(D()(1&_?y.prototype:y),m,b);return 2&_&&"function"==typeof C?function(y){return C.apply(b,y)}:C}(SageSocietyLogin,"initialize",this,3)([]),this.data={},this.autocompleteEl=this.societyWidget.querySelector(this._selectors.AUTOCOMPLETE_ELEMENT),this.societyInput=this.societyWidget.querySelector(this._selectors.SOCIETY_ELEMENT),this.tpsContainer=this.societyWidget.querySelector(this._selectors.TPS_CONTAINER),this.ymContainer=this.societyWidget.querySelector(this._selectors.YM_CONTAINER),this.logoutButton=this.societyWidget.querySelector(this._selectors.SOCIETY_SIGN_OUT),(this.societyInput||this.logoutButton)&&this.control()}},{key:"control",value:function control(){var y;null===(y=this.logoutButton)||void 0===y||y.addEventListener("click",this.onLogoutClick.bind(this)),this.autocompleteEl&&this.autocomplete()}},{key:"getSignOutAntiForgeryToken",value:function getSignOutAntiForgeryToken(){var y;return(null===(y=this.societyWidget.querySelector('input[name="sign-out-anti-forgery-token"]'))||void 0===y?void 0:y.value)||""}},{key:"onLogoutClick",value:function onLogoutClick(y){y.preventDefault(),this.submitLogoutPost("/action/doLogout",window.location.origin+window.location.pathname,this.getSignOutAntiForgeryToken())}},{key:"submitLogoutPost",value:function submitLogoutPost(y,m,b){var _=document.createElement("form");_.method="POST",_.action=y;var C=document.createElement("input");if(C.type="hidden",C.name="redirectUri",C.value=m,_.appendChild(C),b){var I=document.createElement("input");I.type="hidden",I.name="anti-forgery-token",I.value=b,_.appendChild(I)}document.body.appendChild(_),_.submit()}},{key:"onSocietySelection",value:function onSocietySelection(y){switch(this.data=JSON.parse(y),this.resetBlocks(),this.data.society_type){case"YM":this.setYMBlock();break;case"TPS":this.setTPSBlock()}}},{key:"resetBlocks",value:function resetBlocks(){this.tpsContainer.classList.add(this._classList.DISPLAY_NONE),this.ymContainer.classList.add(this._classList.DISPLAY_NONE)}},{key:"setTPSBlock",value:function setTPSBlock(){this.tpsContainer.querySelector(this._selectors.SOCIETY_DESCRIPTION_EL).innerHTML=this.data.society_description;var y=this.tpsContainer.querySelector(this._selectors.TPS_BUTTON);y.setAttribute("href",this.data.society_link),y.querySelector("span").innerText=this.data.society_button_text,this.tpsContainer.classList.remove(this._classList.DISPLAY_NONE)}},{key:"setYMBlock",value:function setYMBlock(){this.ymContainer.querySelector(this._selectors.SOCIETY_DESCRIPTION_EL+" span").innerHTML=this.data.society_name||"",this.ymContainer.querySelector(this._selectors.SSO_SOCIETY_EL).value=this.data.society_code,this.ymContainer.classList.remove(this._classList.DISPLAY_NONE)}},{key:"autocomplete",value:function autocomplete(){var y=JSON.parse(this.autocompleteEl.dataset.data),m=this,b=new W.a({selector:this._selectors.AUTOCOMPLETE_ELEMENT,data:{src:y,keys:["society_name"]},resultsList:{tag:"div",class:"autocomplete dropdown-menu show",maxResults:250,noResults:!0},resultItem:{tag:"div",class:"dropdown-item",highlight:"single_highlight_class"},wrapper:!1,threshold:0,debounce:300,highlight:!0,events:{input:{focus:function focus(){var y=b.input.value||"";b.start(y)},selection:function selection(y){var _=y.detail,C=JSON.stringify(_.selection.value);b.input.value=_.selection.value.society_name,b.input.dataset.value=C,m.onSocietySelection(C)}}}})}}])}(b(8).a)}}]); //# sourceMappingURL=SageSocietyLogin-6c129af0c67a0231094a.js.map