@everymatrix/general-player-register-form-step3 0.0.197 → 0.0.201
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.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).app=t()}(this,function(){"use strict";function Ce(){}function p(e){return e()}function u(){return Object.create(null)}function ve(e){e.forEach(p)}function f(e){return"function"==typeof e}function t(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function ye(e,t){e.appendChild(t)}function ke(e,t,n){e.insertBefore(t,n||null)}function we(e){e.parentNode.removeChild(e)}function $e(t,n){for(let e=0;e<t.length;e+=1)t[e]&&t[e].d(n)}function Me(e){return document.createElement(e)}function _e(e){return document.createTextNode(e)}function Ae(){return _e(" ")}function Ie(e,t,n,o){return e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)}function De(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function r(e,t){e.wholeText!==(t=""+t)&&(e.data=t)}function Fe(e,t){e.value=null==t?"":t}function Pe(t,n){for(let e=0;e<t.options.length;e+=1){const o=t.options[e];if(o.__value===n)return o.selected=!0,0}}function S(e){e=e.querySelector(":checked")||e.options[0];return e&&e.__value}let E;function h(e){E=e}const m=[],e=[],o=[],i=[],g=Promise.resolve();let b=!1;function Se(e){o.push(e)}let a=!1;const s=new Set;function x(){if(!a){a=!0;do{for(let e=0;e<m.length;e+=1){var t=m[e];h(t),function(e){{var t;null!==e.fragment&&(e.update(),ve(e.before_update),t=e.dirty,e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(Se))}}(t.$$)}for(h(null),m.length=0;e.length;)e.pop()();for(let e=0;e<o.length;e+=1){const n=o[e];s.has(n)||(s.add(n),n())}}while(o.length=0,m.length);for(;i.length;)i.pop()();b=!1,a=!1,s.clear()}}const C=new Set;function n(o,e,t,n,i,a,r=[-1]){var s,l=E;h(o);const c=o.$$={fragment:null,ctx:null,props:a,update:Ce,not_equal:i,bound:u(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(l?l.$$.context:e.context||[]),callbacks:u(),dirty:r,skip_bound:!1};let d=!1;if(c.ctx=t?t(o,e.props||{},(e,t,...n)=>{n=n.length?n[0]:t;return c.ctx&&i(c.ctx[e],c.ctx[e]=n)&&(!c.skip_bound&&c.bound[e]&&c.bound[e](n),d&&(n=e,-1===(e=o).$$.dirty[0]&&(m.push(e),b||(b=!0,g.then(x)),e.$$.dirty.fill(0)),e.$$.dirty[n/31|0]|=1<<n%31)),t}):[],c.update(),d=!0,ve(c.before_update),c.fragment=!!n&&n(c.ctx),e.target){if(e.hydrate){const Ce=(n=e.target,Array.from(n.childNodes));c.fragment&&c.fragment.l(Ce),Ce.forEach(we)}else c.fragment&&c.fragment.c();e.intro&&(s=o.$$.fragment)&&s.i&&(C.delete(s),s.i(void 0)),function(t,e,n,o){const{fragment:i,on_mount:a,on_destroy:r,after_update:s}=t.$$;i&&i.m(e,n),o||Se(()=>{var e=a.map(p).filter(f);r?r.push(...e):ve(e),t.$$.on_mount=[]}),s.forEach(Se)}(o,e.target,e.anchor,e.customElement),x()}h(l)}let l;function Ee(e,t,n){const o=e.slice();return o[55]=t[n],o}function Oe(e,t,n){const o=e.slice();return o[58]=t[n],o}function Ne(){let n;return{c(){n=Me("p"),n.textContent="Address must be at least 1 character long and 100 characters maximum.",De(n,"class","InvalidInput")},m(e,t){ke(e,n,t)},d(e){e&&we(n)}}}function Te(){let n;return{c(){n=Me("p"),n.textContent="Postal Code must be at least 1 character long and 20 characters maximum.",De(n,"class","InvalidInput")},m(e,t){ke(e,n,t)},d(e){e&&we(n)}}}function He(){let n;return{c(){n=Me("p"),n.textContent="City must be at least 1 character long and 50 characters maximum.",De(n,"class","InvalidInput")},m(e,t){ke(e,n,t)},d(e){e&&we(n)}}}function Le(e){let n,o,i,a=e[58].Name+"";return{c(){n=Me("option"),o=_e(a),n.__value=i=e[58].Alpha2Code,n.value=n.__value},m(e,t){ke(e,n,t),ye(n,o)},p(e,t){2048&t[0]&&a!==(a=e[58].Name+"")&&r(o,a),2048&t[0]&&i!==(i=e[58].Alpha2Code)&&(n.__value=i,n.value=n.__value)},d(e){e&&we(n)}}}function ze(){let n;return{c(){n=Me("p"),n.textContent="Nationality must be at least 1 character long.",De(n,"class","InvalidInput")},m(e,t){ke(e,n,t)},d(e){e&&we(n)}}}function Re(e){let n,o,i,a=e[55].Prefix+"";return{c(){n=Me("option"),o=_e(a),n.__value=i=e[55].Prefix,n.value=n.__value},m(e,t){ke(e,n,t),ye(n,o)},p(e,t){32768&t[0]&&a!==(a=e[55].Prefix+"")&&r(o,a),32768&t[0]&&i!==(i=e[55].Prefix)&&(n.__value=i,n.value=n.__value)},d(e){e&&we(n)}}}function Be(){let n;return{c(){n=Me("p"),n.textContent="Mobile must be at least 5 character long and 20 characters maximum.",De(n,"class","InvalidInput")},m(e,t){ke(e,n,t)},d(e){e&&we(n)}}}function qe(n){let o,i,a,r,s,l,c,d,p,u,f,h,m,g,b,x,C,v,y,k,w,$,M,_,A,I,D,F,P,S,E,O,N,T,H=!n[20]&&L();return{c(){o=Me("div"),i=Me("label"),a=_e("I want to receive exclusive offers and bonuses."),r=Me("br"),s=_e("I am aware that I can unsubscribe whenever I want to.\n "),l=Me("input"),c=Ae(),d=Me("span"),p=Ae(),u=Me("div"),f=Me("label"),h=_e("SMS\n "),m=Me("input"),b=Ae(),x=Me("span"),C=Ae(),v=Me("label"),y=_e("Emails\n "),k=Me("input"),$=Ae(),M=Me("span"),_=Ae(),A=Me("div"),I=Me("label"),D=_e("I am at least 21 years old and I have read and accepted the Terms of Conditions.\n "),F=Me("input"),P=Ae(),S=Me("span"),E=Ae(),H&&H.c(),O=_e(""),De(l,"type","Checkbox"),l.checked=n[17],De(d,"class","Checkmark"),De(i,"class","Offers"),De(m,"type","Checkbox"),m.disabled=g=!n[17],m.checked=n[18],De(x,"class","Checkmark"),De(f,"class","OffersMethod"),De(k,"type","Checkbox"),k.disabled=w=!n[17],k.checked=n[19],De(M,"class","Checkmark"),De(v,"class","OffersMethod"),De(u,"class","OffersMethodsWrapper"),De(o,"class","OffersContainer"),De(F,"type","Checkbox"),F.checked=n[20],De(S,"class","Checkmark"),De(I,"class","AgeConsent"),De(A,"class","AgeContainer")},m(e,t){ke(e,o,t),ye(o,i),ye(i,a),ye(i,r),ye(i,s),ye(i,l),ye(i,c),ye(i,d),ye(o,p),ye(o,u),ye(u,f),ye(f,h),ye(f,m),ye(f,b),ye(f,x),ye(u,C),ye(u,v),ye(v,y),ye(v,k),ye(v,$),ye(v,M),ke(e,_,t),ke(e,A,t),ye(A,I),ye(I,D),ye(I,F),ye(I,P),ye(I,S),ke(e,E,t),H&&H.m(e,t),ke(e,O,t),N||(T=[Ie(l,"click",n[41]),Ie(m,"click",n[42]),Ie(k,"click",n[43]),Ie(F,"click",n[44])],N=!0)},p(e,t){131072&t[0]&&(l.checked=e[17]),131072&t[0]&&g!==(g=!e[17])&&(m.disabled=g),262144&t[0]&&(m.checked=e[18]),131072&t[0]&&w!==(w=!e[17])&&(k.disabled=w),524288&t[0]&&(k.checked=e[19]),1048576&t[0]&&(F.checked=e[20]),e[20]?H&&(H.d(1),H=null):H||(H=L(),H.c(),H.m(O.parentNode,O))},d(e){e&&we(o),e&&we(_),e&&we(A),e&&we(E),H&&H.d(e),e&&we(O),N=!1,ve(T)}}}function L(){let n;return{c(){n=Me("div"),n.innerHTML="<p>Please accept the Terms and Conditions before proceeding.</p>",De(n,"class","NotificationContainer")},m(e,t){ke(e,n,t)},d(e){e&&we(n)}}}function je(e){let n,o,i;return{c(){n=Me("div"),o=Me("p"),i=_e(e[7]),De(o,"class","RegisterError")},m(e,t){ke(e,n,t),ye(n,o),ye(o,i)},p(e,t){128&t[0]&&r(i,e[7])},d(e){e&&we(n)}}}function c(n){let o,e,i,a,r,s,l,c,d,p,u,f,h,m,g,b,x,C,v,y,k,w,$,M,_,A,I,D,F,P,S,E,O,N,T,H,L,z,R,B,q,j,W,U,V,Z,Y,G,J,K,Q,X,ee,te,ne,oe,ie,ae,re,se,le=n[1]&&Ne(),ce=n[2]&&Te(),de=n[4]&&He(),pe=n[11],ue=[];for(let e=0;e<pe.length;e+=1)ue[e]=Le(Oe(n,pe,e));let fe=n[5]&&ze(),he=n[15],me=[];for(let e=0;e<he.length;e+=1)me[e]=Re(Ee(n,he,e));let ge=n[3]&&Be(),be=n[0]&&qe(n),xe=n[6]&&je(n);return{c(){o=Me("script"),i=Ae(),a=Me("div"),r=Ae(),s=Me("div"),l=Me("button"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.a{fill:#d0046c;}</style></defs><path class="a" d="M12,0,9.818,2.182l8.26,8.26H0v3.117H18.078l-8.26,8.26L12,24,24,12Z" transform="translate(24 24) rotate(180)"></path></svg>\n Back',c=Ae(),d=Me("div"),p=Me("div"),u=Me("div"),f=Me("label"),f.innerHTML='Address:<span class="FormRequired">*</span>',h=Ae(),m=Me("input"),g=Ae(),le&&le.c(),x=Ae(),C=Me("div"),v=Me("label"),v.innerHTML='Postal Code:<span class="FormRequired">*</span>',y=Ae(),k=Me("input"),w=Ae(),ce&&ce.c(),M=Ae(),_=Me("div"),A=Me("label"),A.innerHTML='City:<span class="FormRequired">*</span>',I=Ae(),D=Me("input"),F=Ae(),de&&de.c(),S=Ae(),E=Me("div"),O=Me("label"),O.innerHTML='Country:<span class="FormRequired">*</span>',N=Ae(),T=Me("select");for(let e=0;e<ue.length;e+=1)ue[e].c();H=Ae(),L=Me("div"),z=Me("label"),z.innerHTML='Nationality:<span class="FormRequired">*</span>',R=Ae(),B=Me("input"),q=Ae(),fe&&fe.c(),W=Ae(),U=Me("div"),V=Me("label"),V.innerHTML='Mobile:<span class="FormRequired">*</span>',Z=Ae(),Y=Me("div"),G=Me("select");for(let e=0;e<me.length;e+=1)me[e].c();J=Ae(),K=Me("input"),Q=Ae(),ge&&ge.c(),ee=Ae(),be&&be.c(),te=Ae(),xe&&xe.c(),ne=Ae(),oe=Me("button"),ie=_e("Open Account"),this.c=Ce,o.src!==(e="//www.google.com/recaptcha/api.js?render="+We)&&De(o,"src","//www.google.com/recaptcha/api.js?render=6Lc7w8YcAAAAAEMHc_VNN9bqfVnILoUOHSHyZ0yn"),o.async=!0,o.defer=!0,De(a,"class","g-recaptcha"),De(a,"data-sitekey",We),De(l,"class","BackButton"),De(s,"class","RegisterFormHeader"),De(f,"for","Address"),De(m,"type","text"),De(m,"id","Address"),De(u,"class",b="AddressContainer "+(n[1]?"InvalidField":"")),De(v,"for","PostalCode"),De(k,"type","text"),De(k,"id","PostalCode"),De(C,"class",$="PostalCodeContainer "+(n[2]?"InvalidField":"")),De(p,"class","AddressPostalCodeContainer"),De(A,"for","City"),De(D,"type","text"),De(D,"id","City"),De(_,"class",P="CityContainer "+(n[4]?"InvalidField":"")),De(O,"for","Country"),De(T,"id","Country"),void 0===n[12]&&Se(()=>n[37].call(T)),De(E,"class","CountryContainer"),De(z,"for","Nationality"),De(B,"type","text"),De(B,"id","Nationality"),De(L,"class",j="NationalityContainer "+(n[5]?"InvalidField":"")),De(V,"for","Mobile"),De(G,"class","MobilePrefixSelected"),void 0===n[16]&&Se(()=>n[39].call(G)),De(K,"type","text"),De(K,"oninput","this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');"),De(K,"id","Mobile"),De(K,"class","MobileInput"),De(Y,"class","MobileWrapper"),De(U,"class",X="MobileContainer "+(n[3]?"InvalidField":"")),De(d,"class","RegisterFormContent"),De(oe,"class","RegisterStepNext"),oe.disabled=ae=!n[21]},m(e,t){ye(document.head,o),ke(e,i,t),ke(e,a,t),ke(e,r,t),ke(e,s,t),ye(s,l),ke(e,c,t),ke(e,d,t),ye(d,p),ye(p,u),ye(u,f),ye(u,h),ye(u,m),Fe(m,n[8]),ye(u,g),le&&le.m(u,null),ye(p,x),ye(p,C),ye(C,v),ye(C,y),ye(C,k),Fe(k,n[9]),ye(C,w),ce&&ce.m(C,null),ye(d,M),ye(d,_),ye(_,A),ye(_,I),ye(_,D),Fe(D,n[10]),ye(_,F),de&&de.m(_,null),ye(d,S),ye(d,E),ye(E,O),ye(E,N),ye(E,T);for(let e=0;e<ue.length;e+=1)ue[e].m(T,null);Pe(T,n[12]),ye(d,H),ye(d,L),ye(L,z),ye(L,R),ye(L,B),Fe(B,n[13]),ye(L,q),fe&&fe.m(L,null),ye(d,W),ye(d,U),ye(U,V),ye(U,Z),ye(U,Y),ye(Y,G);for(let e=0;e<me.length;e+=1)me[e].m(G,null);Pe(G,n[16]),ye(Y,J),ye(Y,K),Fe(K,n[14]),ye(Y,Q),ge&&ge.m(Y,null),ye(d,ee),be&&be.m(d,null),ke(e,te,t),xe&&xe.m(e,t),ke(e,ne,t),ke(e,oe,t),ye(oe,ie),re||(se=[Ie(l,"click",n[32]),Ie(m,"input",n[34]),Ie(m,"blur",n[22]),Ie(k,"input",n[35]),Ie(k,"blur",n[23]),Ie(D,"input",n[36]),Ie(D,"blur",n[24]),Ie(T,"change",n[37]),Ie(B,"input",n[38]),Ie(B,"blur",n[25]),Ie(G,"change",n[39]),Ie(K,"input",n[40]),Ie(K,"keyup",n[26]),Ie(oe,"click",n[31])],re=!0)},p(t,n){if(256&n[0]&&m.value!==t[8]&&Fe(m,t[8]),t[1]?le||(le=Ne(),le.c(),le.m(u,null)):le&&(le.d(1),le=null),2&n[0]&&b!==(b="AddressContainer "+(t[1]?"InvalidField":""))&&De(u,"class",b),512&n[0]&&k.value!==t[9]&&Fe(k,t[9]),t[2]?ce||(ce=Te(),ce.c(),ce.m(C,null)):ce&&(ce.d(1),ce=null),4&n[0]&&$!==($="PostalCodeContainer "+(t[2]?"InvalidField":""))&&De(C,"class",$),1024&n[0]&&D.value!==t[10]&&Fe(D,t[10]),t[4]?de||(de=He(),de.c(),de.m(_,null)):de&&(de.d(1),de=null),16&n[0]&&P!==(P="CityContainer "+(t[4]?"InvalidField":""))&&De(_,"class",P),2048&n[0]){let e;for(pe=t[11],e=0;e<pe.length;e+=1){var o=Oe(t,pe,e);ue[e]?ue[e].p(o,n):(ue[e]=Le(o),ue[e].c(),ue[e].m(T,null))}for(;e<ue.length;e+=1)ue[e].d(1);ue.length=pe.length}if(6144&n[0]&&Pe(T,t[12]),8192&n[0]&&B.value!==t[13]&&Fe(B,t[13]),t[5]?fe||(fe=ze(),fe.c(),fe.m(L,null)):fe&&(fe.d(1),fe=null),32&n[0]&&j!==(j="NationalityContainer "+(t[5]?"InvalidField":""))&&De(L,"class",j),32768&n[0]){let e;for(he=t[15],e=0;e<he.length;e+=1){var i=Ee(t,he,e);me[e]?me[e].p(i,n):(me[e]=Re(i),me[e].c(),me[e].m(G,null))}for(;e<me.length;e+=1)me[e].d(1);me.length=he.length}98304&n[0]&&Pe(G,t[16]),16384&n[0]&&K.value!==t[14]&&Fe(K,t[14]),t[3]?ge||(ge=Be(),ge.c(),ge.m(Y,null)):ge&&(ge.d(1),ge=null),8&n[0]&&X!==(X="MobileContainer "+(t[3]?"InvalidField":""))&&De(U,"class",X),t[0]?be?be.p(t,n):(be=qe(t),be.c(),be.m(d,null)):be&&(be.d(1),be=null),t[6]?xe?xe.p(t,n):(xe=je(t),xe.c(),xe.m(ne.parentNode,ne)):xe&&(xe.d(1),xe=null),2097152&n[0]&&ae!==(ae=!t[21])&&(oe.disabled=ae)},i:Ce,o:Ce,d(e){we(o),e&&we(i),e&&we(a),e&&we(r),e&&we(s),e&&we(c),e&&we(d),le&&le.d(),ce&&ce.d(),de&&de.d(),$e(ue,e),fe&&fe.d(),$e(me,e),ge&&ge.d(),be&&be.d(),e&&we(te),xe&&xe.d(e),e&&we(ne),e&&we(oe),re=!1,ve(se)}}}"function"==typeof HTMLElement&&(l=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const{on_mount:e}=this.$$;this.$$.on_disconnect=e.map(p).filter(f);for(const e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(e,t,n){this[e]=n}disconnectedCallback(){ve(this.$$.on_disconnect)}$destroy(){!function(e){const t=e.$$;null!==t.fragment&&(ve(t.on_destroy),t.fragment&&t.fragment.d(1),t.on_destroy=t.fragment=null,t.ctx=[])}(this),this.$destroy=Ce}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{var e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){this.$$set&&0!==Object.keys(e).length&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}});const We="6Lc7w8YcAAAAAEMHc_VNN9bqfVnILoUOHSHyZ0yn";function d(e,t,n){let{userconsentexists:o=!1}=t,{endpoint:i=""}=t,a="",r="",s="",l="",c="",d=!1,p="",u="",f="",h="",m=[],g="",b="",x="",C=[],v="",y=!1,k=!1,w=!1,$=!1,M=!1;const _=()=>{n(21,M=!(a||r||l||c||s||d||o&&$)),(u.length<=0||f.length<=0||h.length<=0||b.length<=0||x.length<=0)&&n(21,M=!1)},A=()=>{!1===y?n(17,y=!0):(n(17,y=!1),n(18,k=!1),n(19,w=!1))},I=()=>{n(18,k=!1===k)},D=()=>{n(19,w=!1===w)},F=()=>{n(20,$=!1===$),_()},P=e=>{if(e.data)switch(e.data.type){case"StepThreeDataBackup":n(8,u=e.data.userData.address1),n(9,f=e.data.userData.postalCode),n(10,h=e.data.userData.city),n(12,g=e.data.userData.country),n(13,b=e.data.userData.nationality),n(16,v=e.data.userData.mobile.prefix),n(14,x=e.data.userData.mobile.number),n(18,k=e.data.userData.userConsents.additionalProp1),n(19,w=e.data.userData.userConsents.additionalProp2),n(20,$=e.data.userData.userConsents.additionalProp3),_();break;case"ShowRegistrationError":n(6,d=e.data.showError),n(7,p=e.data.error)}};return t=()=>(window.addEventListener("message",P,!1),()=>{window.removeEventListener("message",P)}),function(){if(!E)throw new Error("Function called outside component initialization");return E}().$$.on_mount.push(t),e.$$set=e=>{"userconsentexists"in e&&n(0,o=e.userconsentexists),"endpoint"in e&&n(33,i=e.endpoint)},e.$$.update=()=>{4&e.$$.dirty[1]&&i&&fetch(`${i}/player/countries`).then(e=>e.json()).then(e=>{n(11,m=e.countries),n(12,g=m[0].Alpha2Code)}),4&e.$$.dirty[1]&&i&&fetch(`${i}/player/phonecodes`).then(e=>e.json()).then(e=>{n(15,C=e.phoneCodes),n(16,v=C[0].Prefix)})},[o,a,r,s,l,c,d,p,u,f,h,m,g,b,x,C,v,y,k,w,$,M,()=>{n(1,a=!(u&&u.length<=100)),_()},()=>{n(2,r=!(f&&f.length<=20)),_()},()=>{n(4,l=!(h&&h.length<=50)),_()},()=>{n(5,c=!b),_()},()=>{n(3,s=!(x&&5<=x.length&&x.length<=30)),_()},A,I,D,F,()=>{let t;new Promise((t,e)=>{grecaptcha.ready(()=>{grecaptcha.execute(We,{action:"submit"}).then(e=>{t(e)})})}).then(e=>{t={address:u,postalCode:f,city:h,countrySelected:g,nationality:b,mobilePrefixSelected:v,mobile:x,consentOffersSms:k,consentOffersEmail:w,consentTerms:$,token:e},window.postMessage({type:"RegisterStepThree",registerStepThreeData:t},window.location.href)})},()=>{var e={address:u,postalCode:f,city:h,countrySelected:g,nationality:b,mobilePrefixSelected:v,mobile:x,consentOffersSms:k,consentOffersEmail:w,consentTerms:$};window.postMessage({type:"GoBackStepThree",registerStepThreeData:e},window.location.href)},i,function(){u=this.value,n(8,u)},function(){f=this.value,n(9,f)},function(){h=this.value,n(10,h)},function(){g=S(this),n(12,g),n(11,m)},function(){b=this.value,n(13,b)},function(){v=S(this),n(16,v),n(15,C)},function(){x=this.value,n(14,x)},()=>A(),()=>I(),()=>D(),()=>F()]}class v extends l{constructor(e){super(),this.shadowRoot.innerHTML="<style>:host{font-family:system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'}.BackButton{display:inline-flex;color:#07072A;height:24px;line-height:24px;border-radius:5px;border:none;background:transparent;padding:0;text-transform:uppercase;font-size:32px;cursor:pointer;margin-bottom:30px}.BackButton svg{width:24px;height:24px;margin-right:20px;fill:#D0046C}.AddressPostalCodeContainer{display:flex;gap:16px}.CountryContainer label{font-size:14px;font-weight:300;padding-bottom:5px}.CountryContainer select{width:100%;height:44px;border:1px solid #D1D1D1;border-radius:5px;padding:5px;font-size:14px;box-sizing:border-box;padding:5px 15px;font-size:16px;line-height:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>\") no-repeat #FFF;background-position:calc(100% - 0.75rem) center}.CountryContainer select:focus,.CountryContainer select :focus-within,.CountryContainer select :focus-visible,.CountryContainer select :visited{border:1px solid #D0046C;box-shadow:0 0 0 1pt #D0046C}.AddressContainer,.PostalCodeContainer,.CityContainer,.CountryContainer,.NationalityContainer,.MobileContainer{color:#58586B;display:flex;flex-direction:column;padding-bottom:30px;position:relative}.AddressContainer label,.PostalCodeContainer label,.CityContainer label,.CountryContainer label,.NationalityContainer label,.MobileContainer label{font-size:14px;font-weight:300;padding-bottom:5px}.AddressContainer input,.PostalCodeContainer input,.CityContainer input,.CountryContainer select,.NationalityContainer input,.MobileContainer input,.MobileContainer select{width:100%;height:44px;border:1px solid #D1D1D1;border-radius:5px;padding:5px;font-size:14px;box-sizing:border-box;padding:5px 15px;font-size:16px;line-height:18px}.AddressContainer.InvalidField input,.PostalCodeContainer.InvalidField input,.CityContainer.InvalidField input,.NationalityContainer.InvalidField input,.MobileContainer.InvalidField input{border:1px solid #D0046C;background:#FBECF4;color:#D0046C}.AddressContainer{width:65%}.PostalCodeContainer{width:35%}.MobileWrapper{display:flex;gap:16px}.MobileWrapper .MobilePrefixSelected{width:30%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>\") no-repeat #FFF;background-position:calc(100% - 0.75rem) center}.MobileWrapper .MobilePrefixSelected:focus,.MobileWrapper .MobilePrefixSelected :focus-within,.MobileWrapper .MobilePrefixSelected :focus-visible,.MobileWrapper .MobilePrefixSelected :visited{border:1px solid #D0046C;box-shadow:0 0 0 1pt #D0046C}.MobileWrapper .MobileInput{width:70%}.FormRequired{color:#FD2839}.InvalidInput{color:#D0046C;font-size:10px;position:absolute;bottom:-3px;line-height:10px}.OffersMethodsWrapper{padding-left:32px}.Offers,.OffersMethod,.AgeConsent{display:block;position:relative;padding:5.008px 0 0 35.008px;margin-bottom:16px;font-size:16px;user-select:none;line-height:19.2px}.Offers input,.OffersMethod input,.AgeConsent input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.Offers .Checkmark,.OffersMethod .Checkmark,.AgeConsent .Checkmark{position:absolute;top:0;left:0;height:25.008px;width:25.008px;background-color:#D1D1D1;border-radius:50%}.Offers input:checked~.Checkmark,.OffersMethod input:checked~.Checkmark,.AgeConsent input:checked~.Checkmark{background-color:#D0046C}.Offers .Checkmark:after,.OffersMethod .Checkmark:after,.AgeConsent .Checkmark:after{content:\"\";position:absolute;display:none;left:9.008px;top:5.008px;width:5.008px;height:10px;border:solid white;border-width:0 3.008px 3.008px 0;transform:rotate(45deg)}.Offers input:checked~.Checkmark:after,.OffersMethod input:checked~.Checkmark:after,.AgeConsent input:checked~.Checkmark:after{display:block}.NotificationContainer{margin-top:32px}.NotificationContainer p{color:#FD2839;font-size:14px}.RegisterError{color:#FD2839;font-size:16px;line-height:19.2px}.RegisterStepNext{color:#fff;background:#D0046C;border:1px solid #D0046C;border-radius:5px;width:100%;height:60px;padding:0;text-transform:uppercase;font-size:18px;cursor:pointer;margin-top:24px}.RegisterStepNext[disabled]{background:#c1c1c1;border:1px solid #c1c1c1;cursor:not-allowed}</style>",n(this,{target:this.shadowRoot,props:function(e){const t={};for(const n of e)t[n.name]=n.value;return t}(this.attributes),customElement:!0},d,c,t,{userconsentexists:0,endpoint:33},[-1,-1]),e&&(e.target&&ke(e.target,this,e.anchor),e.props&&(this.$set(e.props),x()))}static get observedAttributes(){return["userconsentexists","endpoint"]}get userconsentexists(){return this.$$.ctx[0]}set userconsentexists(e){this.$set({userconsentexists:e}),x()}get endpoint(){return this.$$.ctx[33]}set endpoint(e){this.$set({endpoint:e}),x()}}return customElements.get("general-player-register-form-step3")||customElements.define("general-player-register-form-step3",v),v});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).app=t()}(this,function(){"use strict";function Ce(){}function p(e){return e()}function u(){return Object.create(null)}function xe(e){e.forEach(p)}function f(e){return"function"==typeof e}function t(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function ve(e,t){e.appendChild(t)}function ye(e,t,n){e.insertBefore(t,n||null)}function ke(e){e.parentNode.removeChild(e)}function we(t,n){for(let e=0;e<t.length;e+=1)t[e]&&t[e].d(n)}function $e(e){return document.createElement(e)}function Me(e){return document.createTextNode(e)}function _e(){return Me(" ")}function Ae(e,t,n,o){return e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)}function De(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function r(e,t){e.wholeText!==(t=""+t)&&(e.data=t)}function Ie(e,t){e.value=null==t?"":t}function Fe(t,n){for(let e=0;e<t.options.length;e+=1){const o=t.options[e];if(o.__value===n)return o.selected=!0,0}}function P(e){e=e.querySelector(":checked")||e.options[0];return e&&e.__value}let E;function h(e){E=e}const g=[],e=[],o=[],i=[],m=Promise.resolve();let b=!1;function Se(e){o.push(e)}let a=!1;const s=new Set;function C(){if(!a){a=!0;do{for(let e=0;e<g.length;e+=1){var t=g[e];h(t),function(e){{var t;null!==e.fragment&&(e.update(),xe(e.before_update),t=e.dirty,e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(Se))}}(t.$$)}for(h(null),g.length=0;e.length;)e.pop()();for(let e=0;e<o.length;e+=1){const n=o[e];s.has(n)||(s.add(n),n())}}while(o.length=0,g.length);for(;i.length;)i.pop()();b=!1,a=!1,s.clear()}}const x=new Set;function n(o,e,t,n,i,a,r=[-1]){var s,l=E;h(o);const c=o.$$={fragment:null,ctx:null,props:a,update:Ce,not_equal:i,bound:u(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(l?l.$$.context:e.context||[]),callbacks:u(),dirty:r,skip_bound:!1};let d=!1;if(c.ctx=t?t(o,e.props||{},(e,t,...n)=>{n=n.length?n[0]:t;return c.ctx&&i(c.ctx[e],c.ctx[e]=n)&&(!c.skip_bound&&c.bound[e]&&c.bound[e](n),d&&(n=e,-1===(e=o).$$.dirty[0]&&(g.push(e),b||(b=!0,m.then(C)),e.$$.dirty.fill(0)),e.$$.dirty[n/31|0]|=1<<n%31)),t}):[],c.update(),d=!0,xe(c.before_update),c.fragment=!!n&&n(c.ctx),e.target){if(e.hydrate){const Ce=(n=e.target,Array.from(n.childNodes));c.fragment&&c.fragment.l(Ce),Ce.forEach(ke)}else c.fragment&&c.fragment.c();e.intro&&(s=o.$$.fragment)&&s.i&&(x.delete(s),s.i(void 0)),function(t,e,n,o){const{fragment:i,on_mount:a,on_destroy:r,after_update:s}=t.$$;i&&i.m(e,n),o||Se(()=>{var e=a.map(p).filter(f);r?r.push(...e):xe(e),t.$$.on_mount=[]}),s.forEach(Se)}(o,e.target,e.anchor,e.customElement),C()}h(l)}let l;function Pe(e,t,n){const o=e.slice();return o[53]=t[n],o}function Ee(e,t,n){const o=e.slice();return o[56]=t[n],o}function Oe(e,t,n){const o=e.slice();return o[59]=t[n],o}function Ne(){let n;return{c(){n=$e("p"),n.textContent="Address must be at least 1 character long and 100 characters maximum.",De(n,"class","InvalidInput")},m(e,t){ye(e,n,t)},d(e){e&&ke(n)}}}function Te(){let n;return{c(){n=$e("p"),n.textContent="Postal Code must be at least 1 character long and 20 characters maximum.",De(n,"class","InvalidInput")},m(e,t){ye(e,n,t)},d(e){e&&ke(n)}}}function He(){let n;return{c(){n=$e("p"),n.textContent="City must be at least 1 character long and 50 characters maximum.",De(n,"class","InvalidInput")},m(e,t){ye(e,n,t)},d(e){e&&ke(n)}}}function Le(e){let n,o,i,a=e[59].Name+"";return{c(){n=$e("option"),o=Me(a),n.__value=i=e[59].Alpha2Code,n.value=n.__value},m(e,t){ye(e,n,t),ve(n,o)},p(e,t){1024&t[0]&&a!==(a=e[59].Name+"")&&r(o,a),1024&t[0]&&i!==(i=e[59].Alpha2Code)&&(n.__value=i,n.value=n.__value)},d(e){e&&ke(n)}}}function ze(e){let n,o,i,a=e[56].Name+"";return{c(){n=$e("option"),o=Me(a),n.__value=i=e[56].Alpha2Code,n.value=n.__value},m(e,t){ye(e,n,t),ve(n,o)},p(e,t){4096&t[0]&&a!==(a=e[56].Name+"")&&r(o,a),4096&t[0]&&i!==(i=e[56].Alpha2Code)&&(n.__value=i,n.value=n.__value)},d(e){e&&ke(n)}}}function Re(e){let n,o,i,a=e[53].Prefix+"";return{c(){n=$e("option"),o=Me(a),n.__value=i=e[53].Prefix,n.value=n.__value},m(e,t){ye(e,n,t),ve(n,o)},p(e,t){32768&t[0]&&a!==(a=e[53].Prefix+"")&&r(o,a),32768&t[0]&&i!==(i=e[53].Prefix)&&(n.__value=i,n.value=n.__value)},d(e){e&&ke(n)}}}function Be(){let n;return{c(){n=$e("p"),n.textContent="Mobile must be at least 5 character long and 20 characters maximum.",De(n,"class","InvalidInput")},m(e,t){ye(e,n,t)},d(e){e&&ke(n)}}}function qe(n){let o,i,a,r,s,l,c,d,p,u,f,h,g,m,b,C,x,v,y,k,w,$,M,_,A,D,I,F,S,P,E,O,N,T,H=!n[20]&&L();return{c(){o=$e("div"),i=$e("label"),a=Me("I want to receive exclusive offers and bonuses."),r=$e("br"),s=Me("I am aware that I can unsubscribe whenever I want to.\n "),l=$e("input"),c=_e(),d=$e("span"),p=_e(),u=$e("div"),f=$e("label"),h=Me("SMS\n "),g=$e("input"),b=_e(),C=$e("span"),x=_e(),v=$e("label"),y=Me("Emails\n "),k=$e("input"),$=_e(),M=$e("span"),_=_e(),A=$e("div"),D=$e("label"),I=Me("I am at least 21 years old and I have read and accepted the Terms of Conditions.\n "),F=$e("input"),S=_e(),P=$e("span"),E=_e(),H&&H.c(),O=Me(""),De(l,"type","Checkbox"),l.checked=n[17],De(d,"class","Checkmark"),De(i,"class","Offers"),De(g,"type","Checkbox"),g.disabled=m=!n[17],g.checked=n[18],De(C,"class","Checkmark"),De(f,"class","OffersMethod"),De(k,"type","Checkbox"),k.disabled=w=!n[17],k.checked=n[19],De(M,"class","Checkmark"),De(v,"class","OffersMethod"),De(u,"class","OffersMethodsWrapper"),De(o,"class","OffersContainer"),De(F,"type","Checkbox"),F.checked=n[20],De(P,"class","Checkmark"),De(D,"class","AgeConsent"),De(A,"class","AgeContainer")},m(e,t){ye(e,o,t),ve(o,i),ve(i,a),ve(i,r),ve(i,s),ve(i,l),ve(i,c),ve(i,d),ve(o,p),ve(o,u),ve(u,f),ve(f,h),ve(f,g),ve(f,b),ve(f,C),ve(u,x),ve(u,v),ve(v,y),ve(v,k),ve(v,$),ve(v,M),ye(e,_,t),ye(e,A,t),ve(A,D),ve(D,I),ve(D,F),ve(D,S),ve(D,P),ye(e,E,t),H&&H.m(e,t),ye(e,O,t),N||(T=[Ae(l,"click",n[40]),Ae(g,"click",n[41]),Ae(k,"click",n[42]),Ae(F,"click",n[43])],N=!0)},p(e,t){131072&t[0]&&(l.checked=e[17]),131072&t[0]&&m!==(m=!e[17])&&(g.disabled=m),262144&t[0]&&(g.checked=e[18]),131072&t[0]&&w!==(w=!e[17])&&(k.disabled=w),524288&t[0]&&(k.checked=e[19]),1048576&t[0]&&(F.checked=e[20]),e[20]?H&&(H.d(1),H=null):H||(H=L(),H.c(),H.m(O.parentNode,O))},d(e){e&&ke(o),e&&ke(_),e&&ke(A),e&&ke(E),H&&H.d(e),e&&ke(O),N=!1,xe(T)}}}function L(){let n;return{c(){n=$e("div"),n.innerHTML="<p>Please accept the Terms and Conditions before proceeding.</p>",De(n,"class","NotificationContainer")},m(e,t){ye(e,n,t)},d(e){e&&ke(n)}}}function je(e){let n,o,i;return{c(){n=$e("div"),o=$e("p"),i=Me(e[6]),De(o,"class","RegisterError")},m(e,t){ye(e,n,t),ve(n,o),ve(o,i)},p(e,t){64&t[0]&&r(i,e[6])},d(e){e&&ke(n)}}}function c(n){let o,e,i,a,r,s,l,c,d,p,u,f,h,g,m,b,C,x,v,y,k,w,$,M,_,A,D,I,F,S,P,E,O,N,T,H,L,z,R,B,q,j,W,U,V,Z,Y,G,J,K,Q,X,ee,te,ne,oe,ie,ae,re=n[1]&&Ne(),se=n[2]&&Te(),le=n[4]&&He(),ce=n[10],de=[];for(let e=0;e<ce.length;e+=1)de[e]=Le(Oe(n,ce,e));let pe=n[12],ue=[];for(let e=0;e<pe.length;e+=1)ue[e]=ze(Ee(n,pe,e));let fe=n[15],he=[];for(let e=0;e<fe.length;e+=1)he[e]=Re(Pe(n,fe,e));let ge=n[3]&&Be(),me=n[0]&&qe(n),be=n[5]&&je(n);return{c(){o=$e("script"),i=_e(),a=$e("div"),r=_e(),s=$e("div"),l=$e("button"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.a{fill:#d0046c;}</style></defs><path class="a" d="M12,0,9.818,2.182l8.26,8.26H0v3.117H18.078l-8.26,8.26L12,24,24,12Z" transform="translate(24 24) rotate(180)"></path></svg>\n Back',c=_e(),d=$e("div"),p=$e("div"),u=$e("div"),f=$e("label"),f.innerHTML='Address:<span class="FormRequired">*</span>',h=_e(),g=$e("input"),m=_e(),re&&re.c(),C=_e(),x=$e("div"),v=$e("label"),v.innerHTML='Postal Code:<span class="FormRequired">*</span>',y=_e(),k=$e("input"),w=_e(),se&&se.c(),M=_e(),_=$e("div"),A=$e("label"),A.innerHTML='City:<span class="FormRequired">*</span>',D=_e(),I=$e("input"),F=_e(),le&&le.c(),P=_e(),E=$e("div"),O=$e("label"),O.innerHTML='Country:<span class="FormRequired">*</span>',N=_e(),T=$e("select");for(let e=0;e<de.length;e+=1)de[e].c();H=_e(),L=$e("div"),z=$e("label"),z.innerHTML='Nationality:<span class="FormRequired">*</span>',R=_e(),B=$e("select");for(let e=0;e<ue.length;e+=1)ue[e].c();q=_e(),j=$e("div"),W=$e("label"),W.innerHTML='Mobile:<span class="FormRequired">*</span>',U=_e(),V=$e("div"),Z=$e("select");for(let e=0;e<he.length;e+=1)he[e].c();Y=_e(),G=$e("input"),J=_e(),ge&&ge.c(),Q=_e(),me&&me.c(),X=_e(),be&&be.c(),ee=_e(),te=$e("button"),ne=Me("Open Account"),this.c=Ce,o.src!==(e="//www.google.com/recaptcha/api.js?render="+We)&&De(o,"src","//www.google.com/recaptcha/api.js?render=6Lc7w8YcAAAAAEMHc_VNN9bqfVnILoUOHSHyZ0yn"),o.async=!0,o.defer=!0,De(a,"class","g-recaptcha"),De(a,"data-sitekey",We),De(l,"class","BackButton"),De(s,"class","RegisterFormHeader"),De(f,"for","Address"),De(g,"type","text"),De(g,"id","Address"),De(u,"class",b="AddressContainer "+(n[1]?"InvalidField":"")),De(v,"for","PostalCode"),De(k,"type","text"),De(k,"id","PostalCode"),De(x,"class",$="PostalCodeContainer "+(n[2]?"InvalidField":"")),De(p,"class","AddressPostalCodeContainer"),De(A,"for","City"),De(I,"type","text"),De(I,"id","City"),De(_,"class",S="CityContainer "+(n[4]?"InvalidField":"")),De(O,"for","Country"),De(T,"id","Country"),void 0===n[11]&&Se(()=>n[36].call(T)),De(E,"class","CountryContainer"),De(z,"for","Nationality"),De(B,"id","Nationality"),void 0===n[13]&&Se(()=>n[37].call(B)),De(L,"class","NationalityContainer"),De(W,"for","Mobile"),De(Z,"class","MobilePrefixSelected"),void 0===n[16]&&Se(()=>n[38].call(Z)),De(G,"type","text"),De(G,"oninput","this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');"),De(G,"id","Mobile"),De(G,"class","MobileInput"),De(V,"class","MobileWrapper"),De(j,"class",K="MobileContainer "+(n[3]?"InvalidField":"")),De(d,"class","RegisterFormContent"),De(te,"class","RegisterStepNext"),te.disabled=oe=!n[21]},m(e,t){ve(document.head,o),ye(e,i,t),ye(e,a,t),ye(e,r,t),ye(e,s,t),ve(s,l),ye(e,c,t),ye(e,d,t),ve(d,p),ve(p,u),ve(u,f),ve(u,h),ve(u,g),Ie(g,n[7]),ve(u,m),re&&re.m(u,null),ve(p,C),ve(p,x),ve(x,v),ve(x,y),ve(x,k),Ie(k,n[8]),ve(x,w),se&&se.m(x,null),ve(d,M),ve(d,_),ve(_,A),ve(_,D),ve(_,I),Ie(I,n[9]),ve(_,F),le&&le.m(_,null),ve(d,P),ve(d,E),ve(E,O),ve(E,N),ve(E,T);for(let e=0;e<de.length;e+=1)de[e].m(T,null);Fe(T,n[11]),ve(d,H),ve(d,L),ve(L,z),ve(L,R),ve(L,B);for(let e=0;e<ue.length;e+=1)ue[e].m(B,null);Fe(B,n[13]),ve(d,q),ve(d,j),ve(j,W),ve(j,U),ve(j,V),ve(V,Z);for(let e=0;e<he.length;e+=1)he[e].m(Z,null);Fe(Z,n[16]),ve(V,Y),ve(V,G),Ie(G,n[14]),ve(V,J),ge&&ge.m(V,null),ve(d,Q),me&&me.m(d,null),ye(e,X,t),be&&be.m(e,t),ye(e,ee,t),ye(e,te,t),ve(te,ne),ie||(ae=[Ae(l,"click",n[31]),Ae(g,"input",n[33]),Ae(g,"blur",n[22]),Ae(k,"input",n[34]),Ae(k,"blur",n[23]),Ae(I,"input",n[35]),Ae(I,"blur",n[24]),Ae(T,"change",n[36]),Ae(B,"change",n[37]),Ae(Z,"change",n[38]),Ae(G,"input",n[39]),Ae(G,"keyup",n[25]),Ae(te,"click",n[30])],ie=!0)},p(t,n){if(128&n[0]&&g.value!==t[7]&&Ie(g,t[7]),t[1]?re||(re=Ne(),re.c(),re.m(u,null)):re&&(re.d(1),re=null),2&n[0]&&b!==(b="AddressContainer "+(t[1]?"InvalidField":""))&&De(u,"class",b),256&n[0]&&k.value!==t[8]&&Ie(k,t[8]),t[2]?se||(se=Te(),se.c(),se.m(x,null)):se&&(se.d(1),se=null),4&n[0]&&$!==($="PostalCodeContainer "+(t[2]?"InvalidField":""))&&De(x,"class",$),512&n[0]&&I.value!==t[9]&&Ie(I,t[9]),t[4]?le||(le=He(),le.c(),le.m(_,null)):le&&(le.d(1),le=null),16&n[0]&&S!==(S="CityContainer "+(t[4]?"InvalidField":""))&&De(_,"class",S),1024&n[0]){let e;for(ce=t[10],e=0;e<ce.length;e+=1){var o=Oe(t,ce,e);de[e]?de[e].p(o,n):(de[e]=Le(o),de[e].c(),de[e].m(T,null))}for(;e<de.length;e+=1)de[e].d(1);de.length=ce.length}if(3072&n[0]&&Fe(T,t[11]),4096&n[0]){let e;for(pe=t[12],e=0;e<pe.length;e+=1){var i=Ee(t,pe,e);ue[e]?ue[e].p(i,n):(ue[e]=ze(i),ue[e].c(),ue[e].m(B,null))}for(;e<ue.length;e+=1)ue[e].d(1);ue.length=pe.length}if(12288&n[0]&&Fe(B,t[13]),32768&n[0]){let e;for(fe=t[15],e=0;e<fe.length;e+=1){var a=Pe(t,fe,e);he[e]?he[e].p(a,n):(he[e]=Re(a),he[e].c(),he[e].m(Z,null))}for(;e<he.length;e+=1)he[e].d(1);he.length=fe.length}98304&n[0]&&Fe(Z,t[16]),16384&n[0]&&G.value!==t[14]&&Ie(G,t[14]),t[3]?ge||(ge=Be(),ge.c(),ge.m(V,null)):ge&&(ge.d(1),ge=null),8&n[0]&&K!==(K="MobileContainer "+(t[3]?"InvalidField":""))&&De(j,"class",K),t[0]?me?me.p(t,n):(me=qe(t),me.c(),me.m(d,null)):me&&(me.d(1),me=null),t[5]?be?be.p(t,n):(be=je(t),be.c(),be.m(ee.parentNode,ee)):be&&(be.d(1),be=null),2097152&n[0]&&oe!==(oe=!t[21])&&(te.disabled=oe)},i:Ce,o:Ce,d(e){ke(o),e&&ke(i),e&&ke(a),e&&ke(r),e&&ke(s),e&&ke(c),e&&ke(d),re&&re.d(),se&&se.d(),le&&le.d(),we(de,e),we(ue,e),we(he,e),ge&&ge.d(),me&&me.d(),e&&ke(X),be&&be.d(e),e&&ke(ee),e&&ke(te),ie=!1,xe(ae)}}}"function"==typeof HTMLElement&&(l=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const{on_mount:e}=this.$$;this.$$.on_disconnect=e.map(p).filter(f);for(const e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(e,t,n){this[e]=n}disconnectedCallback(){xe(this.$$.on_disconnect)}$destroy(){!function(e){const t=e.$$;null!==t.fragment&&(xe(t.on_destroy),t.fragment&&t.fragment.d(1),t.on_destroy=t.fragment=null,t.ctx=[])}(this),this.$destroy=Ce}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{var e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){this.$$set&&0!==Object.keys(e).length&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}});const We="6Lc7w8YcAAAAAEMHc_VNN9bqfVnILoUOHSHyZ0yn";function d(e,t,n){let{userconsentexists:o=!1}=t,{endpoint:i=""}=t,a="",r="",s="",l="",c=!1,d="",p="",u="",f="",h=[],g="",m=[],b="",C="",x=[],v="",y=!1,k=!1,w=!1,$=!1,M=!1;const _=()=>{n(21,M=!(a||r||l||s||c||o&&$)),(p.length<=0||u.length<=0||f.length<=0||C.length<=0)&&n(21,M=!1)},A=()=>{!1===y?n(17,y=!0):(n(17,y=!1),n(18,k=!1),n(19,w=!1))},D=()=>{n(18,k=!1===k)},I=()=>{n(19,w=!1===w)},F=()=>{n(20,$=!1===$),_()},S=e=>{if(e.data)switch(e.data.type){case"StepThreeDataBackup":n(7,p=e.data.userData.address1),n(8,u=e.data.userData.postalCode),n(9,f=e.data.userData.city),n(11,g=e.data.userData.country),n(13,b=e.data.userData.nationality),n(16,v=e.data.userData.mobile.prefix),n(14,C=e.data.userData.mobile.number),n(18,k=e.data.userData.userConsents.additionalProp1),n(19,w=e.data.userData.userConsents.additionalProp2),n(20,$=e.data.userData.userConsents.additionalProp3),_();break;case"ShowRegistrationError":n(5,c=e.data.showError),n(6,d=e.data.error)}};return t=()=>(window.addEventListener("message",S,!1),()=>{window.removeEventListener("message",S)}),function(){if(!E)throw new Error("Function called outside component initialization");return E}().$$.on_mount.push(t),e.$$set=e=>{"userconsentexists"in e&&n(0,o=e.userconsentexists),"endpoint"in e&&n(32,i=e.endpoint)},e.$$.update=()=>{2&e.$$.dirty[1]&&i&&fetch(`${i}/player/countries`).then(e=>e.json()).then(e=>{n(10,h=e.countries),g||n(11,g=h[0].Alpha2Code),n(12,m=e.countries),b||n(13,b=m[0].Alpha2Code)}),2&e.$$.dirty[1]&&i&&fetch(`${i}/player/phonecodes`).then(e=>e.json()).then(e=>{n(15,x=e.phoneCodes),v||n(16,v=x[0].Prefix)})},[o,a,r,s,l,c,d,p,u,f,h,g,m,b,C,x,v,y,k,w,$,M,()=>{n(1,a=!(p&&p.length<=100)),_()},()=>{n(2,r=!(u&&u.length<=20)),_()},()=>{n(4,l=!(f&&f.length<=50)),_()},()=>{n(3,s=!(C&&5<=C.length&&C.length<=30)),_()},A,D,I,F,()=>{let t;new Promise((t,e)=>{grecaptcha.ready(()=>{grecaptcha.execute(We,{action:"submit"}).then(e=>{t(e)})})}).then(e=>{t={address:p,postalCode:u,city:f,countrySelected:g,nationalitySelected:b,mobilePrefixSelected:v,mobile:C,consentOffersSms:k,consentOffersEmail:w,consentTerms:$,token:e},window.postMessage({type:"RegisterStepThree",registerStepThreeData:t},window.location.href)})},()=>{var e={address:p,postalCode:u,city:f,countrySelected:g,nationalitySelected:b,mobilePrefixSelected:v,mobile:C,consentOffersSms:k,consentOffersEmail:w,consentTerms:$};window.postMessage({type:"GoBackStepThree",registerStepThreeData:e},window.location.href)},i,function(){p=this.value,n(7,p)},function(){u=this.value,n(8,u)},function(){f=this.value,n(9,f)},function(){g=P(this),n(11,g),n(10,h)},function(){b=P(this),n(13,b),n(12,m)},function(){v=P(this),n(16,v),n(15,x)},function(){C=this.value,n(14,C)},()=>A(),()=>D(),()=>I(),()=>F()]}class v extends l{constructor(e){super(),this.shadowRoot.innerHTML="<style>:host{font-family:system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'}.BackButton{display:inline-flex;color:#07072A;height:24px;line-height:24px;border-radius:5px;border:none;background:transparent;padding:0;text-transform:uppercase;font-size:32px;cursor:pointer;margin-bottom:30px}.BackButton svg{width:24px;height:24px;margin-right:20px;fill:#D0046C}.AddressPostalCodeContainer{display:flex;gap:16px}.CountryContainer label{font-size:14px;font-weight:300;padding-bottom:5px}.CountryContainer select{width:100%;height:44px;border:1px solid #D1D1D1;border-radius:5px;padding:5px;font-size:14px;box-sizing:border-box;padding:5px 15px;font-size:16px;line-height:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>\") no-repeat #FFF;background-position:calc(100% - 0.75rem) center}.CountryContainer select:focus,.CountryContainer select :focus-within,.CountryContainer select :focus-visible,.CountryContainer select :visited{border:1px solid #D0046C;box-shadow:0 0 0 1pt #D0046C}.AddressContainer,.PostalCodeContainer,.CityContainer,.CountryContainer,.NationalityContainer,.MobileContainer{color:#58586B;display:flex;flex-direction:column;padding-bottom:30px;position:relative}.AddressContainer label,.PostalCodeContainer label,.CityContainer label,.CountryContainer label,.NationalityContainer label,.MobileContainer label{font-size:14px;font-weight:300;padding-bottom:5px}.AddressContainer input,.PostalCodeContainer input,.CityContainer input,.CountryContainer select,.NationalityContainer select,.MobileContainer input,.MobileContainer select{width:100%;height:44px;border:1px solid #D1D1D1;border-radius:5px;padding:5px;font-size:14px;box-sizing:border-box;padding:5px 15px;font-size:16px;line-height:18px}.AddressContainer.InvalidField input,.PostalCodeContainer.InvalidField input,.CityContainer.InvalidField input,.MobileContainer.InvalidField input{border:1px solid #D0046C;background:#FBECF4;color:#D0046C}.AddressContainer{width:65%}.PostalCodeContainer{width:35%}.MobileWrapper{display:flex;gap:16px}.MobileWrapper .MobilePrefixSelected{width:30%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>\") no-repeat #FFF;background-position:calc(100% - 0.75rem) center}.MobileWrapper .MobilePrefixSelected:focus,.MobileWrapper .MobilePrefixSelected :focus-within,.MobileWrapper .MobilePrefixSelected :focus-visible,.MobileWrapper .MobilePrefixSelected :visited{border:1px solid #D0046C;box-shadow:0 0 0 1pt #D0046C}.MobileWrapper .MobileInput{width:70%}.FormRequired{color:#FD2839}.InvalidInput{color:#D0046C;font-size:10px;position:absolute;bottom:-3px;line-height:10px}.OffersMethodsWrapper{padding-left:32px}.Offers,.OffersMethod,.AgeConsent{display:block;position:relative;padding:5.008px 0 0 35.008px;margin-bottom:16px;font-size:16px;user-select:none;line-height:19.2px}.Offers input,.OffersMethod input,.AgeConsent input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.Offers .Checkmark,.OffersMethod .Checkmark,.AgeConsent .Checkmark{position:absolute;top:0;left:0;height:25.008px;width:25.008px;background-color:#D1D1D1;border-radius:50%}.Offers input:checked~.Checkmark,.OffersMethod input:checked~.Checkmark,.AgeConsent input:checked~.Checkmark{background-color:#D0046C}.Offers .Checkmark:after,.OffersMethod .Checkmark:after,.AgeConsent .Checkmark:after{content:\"\";position:absolute;display:none;left:9.008px;top:5.008px;width:5.008px;height:10px;border:solid white;border-width:0 3.008px 3.008px 0;transform:rotate(45deg)}.Offers input:checked~.Checkmark:after,.OffersMethod input:checked~.Checkmark:after,.AgeConsent input:checked~.Checkmark:after{display:block}.NotificationContainer{margin-top:32px}.NotificationContainer p{color:#FD2839;font-size:14px}.RegisterError{color:#FD2839;font-size:16px;line-height:19.2px}.RegisterStepNext{color:#fff;background:#D0046C;border:1px solid #D0046C;border-radius:5px;width:100%;height:60px;padding:0;text-transform:uppercase;font-size:18px;cursor:pointer;margin-top:24px}.RegisterStepNext[disabled]{background:#c1c1c1;border:1px solid #c1c1c1;cursor:not-allowed}</style>",n(this,{target:this.shadowRoot,props:function(e){const t={};for(const n of e)t[n.name]=n.value;return t}(this.attributes),customElement:!0},d,c,t,{userconsentexists:0,endpoint:32},[-1,-1]),e&&(e.target&&ye(e.target,this,e.anchor),e.props&&(this.$set(e.props),C()))}static get observedAttributes(){return["userconsentexists","endpoint"]}get userconsentexists(){return this.$$.ctx[0]}set userconsentexists(e){this.$set({userconsentexists:e}),C()}get endpoint(){return this.$$.ctx[32]}set endpoint(e){this.$set({endpoint:e}),C()}}return customElements.get("general-player-register-form-step3")||customElements.define("general-player-register-form-step3",v),v});
|
|
2
2
|
//# sourceMappingURL=general-player-register-form-step3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general-player-register-form-step3.js","sources":["../../../node_modules/svelte/internal/index.mjs","../src/GeneralPlayerRegisterFormStep3.svelte","../src/index.ts"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot_spread(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_spread_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_spread_changes_fn(dirty) | get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.37.0' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to seperate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_custom_elements_slots, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, update_slot_spread, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<svelte:options tag={null} />\n\n<script lang=\"typescript\">\n import { onMount } from \"svelte\";\n\n export let userconsentexists:boolean = false;\n export let endpoint:string = '';\n\n let invalidAddress:string = '';\n\n let invalidPostalCode:string = '';\n let invalidMobile:string = '';\n let invalidCity:string = '';\n let invalidNationality:string = '';\n\n let showError:boolean = false;\n let error:string = '';\n\n let address:string = '';\n let postalCode:string = '';\n let city:string = '';\n let countries:Array<Object> = [];\n let countrySelected:string = '';\n let nationality:string = '';\n let mobile:string = '';\n let mobilePrefixes:Array<Object> = [];\n let mobilePrefixSelected:string = '';\n let consentOffers:boolean = false;\n let consentOffersSms:boolean = false;\n let consentOffersEmail:boolean = false;\n let consentTerms:boolean = false;\n\n let isValid:boolean = false;\n\n const captchaKey = '6Lc7w8YcAAAAAEMHc_VNN9bqfVnILoUOHSHyZ0yn';\n\n const getCountriesList = () => {\n fetch(`${endpoint}/player/countries`)\n .then((res:any) => res.json())\n .then(data => {\n countries = data.countries;\n countrySelected = countries[0].Alpha2Code;\n });\n }\n\n const getPhoneCodes = () => {\n fetch(`${endpoint}/player/phonecodes`)\n .then((res:any) => res.json())\n .then(data => {\n mobilePrefixes = data.phoneCodes;\n mobilePrefixSelected = mobilePrefixes[0].Prefix;\n });\n }\n\n const checkIsValid = () => {\n isValid = !(invalidAddress || invalidPostalCode || invalidCity || invalidNationality || invalidMobile || showError || (userconsentexists && consentTerms));\n if (address.length <= 0 || postalCode.length <= 0 || city.length <= 0 || nationality.length <= 0 || mobile.length <= 0) {\n isValid = false;\n }\n }\n\n const checkAddress = () => {\n if(address && address.length <= 100) {\n return true;\n }\n\n return false;\n }\n\n const validateAddress = () => {\n invalidAddress = !checkAddress();\n checkIsValid();\n }\n\n const checkPostalCode = () => {\n if(postalCode && postalCode.length <= 20) {\n return true;\n }\n\n return false;\n }\n\n const validatePostalCode = () => {\n invalidPostalCode = !checkPostalCode();\n checkIsValid();\n }\n\n const checkCity = () => {\n if(city && city.length <= 50) {\n return true;\n }\n\n return false;\n }\n\n const validateCity = () => {\n invalidCity = !checkCity();\n checkIsValid();\n }\n\n const checkNationality = () => {\n if(nationality) {\n return true;\n }\n\n return false;\n }\n\n const validateNationality = () => {\n invalidNationality = !checkNationality();\n checkIsValid();\n }\n\n const checkMobile = () => {\n if(mobile && mobile.length >= 5 && mobile.length <= 30) {\n return true;\n }\n\n return false;\n }\n\n const validateMobile = () => {\n invalidMobile = !checkMobile();\n checkIsValid();\n }\n\n const toggleOffers = () => {\n if(consentOffers === false) {\n consentOffers = true;\n } else {\n consentOffers = false;\n consentOffersSms = false;\n consentOffersEmail = false;\n }\n }\n\n const toggleOffersSms = () => {\n if(consentOffersSms === false) {\n consentOffersSms = true;\n } else {\n consentOffersSms = false;\n }\n }\n\n const toggleOffersEmail = () => {\n if(consentOffersEmail === false) {\n consentOffersEmail = true;\n } else {\n consentOffersEmail = false;\n }\n }\n\n const toggleTerms = () => {\n if(consentTerms === false) {\n consentTerms = true;\n } else {\n consentTerms = false;\n }\n checkIsValid();\n }\n\n const doRecaptcha = () => {\n return new Promise((resolve, reject) => {\n grecaptcha.ready(() => {\n grecaptcha.execute(captchaKey, { action: \"submit\" }).then((token) => {\n resolve(token);\n });\n });\n });\n }\n\n const goNext = () => {\n let registerStepThreeData = {};\n\n doRecaptcha().then((token) => {\n registerStepThreeData = {\n address,\n postalCode,\n city,\n countrySelected,\n nationality,\n mobilePrefixSelected,\n mobile,\n consentOffersSms,\n consentOffersEmail,\n consentTerms,\n token\n }\n\n window.postMessage({ type: 'RegisterStepThree', registerStepThreeData }, window.location.href);\n });\n }\n\n const goBack = () => {\n let registerStepThreeData = {\n address,\n postalCode,\n city,\n countrySelected,\n nationality,\n mobilePrefixSelected,\n mobile,\n consentOffersSms,\n consentOffersEmail,\n consentTerms\n }\n\n window.postMessage({ type: 'GoBackStepThree', registerStepThreeData }, window.location.href);\n }\n\n const messageHandler = (e:any) => {\n if (e.data) {\n switch(e.data.type) {\n case 'StepThreeDataBackup':\n address = e.data.userData.address1;\n postalCode = e.data.userData.postalCode;\n city = e.data.userData.city;\n countrySelected = e.data.userData.country;\n nationality = e.data.userData.nationality;\n mobilePrefixSelected = e.data.userData.mobile.prefix;\n mobile = e.data.userData.mobile.number;\n consentOffersSms = e.data.userData.userConsents.additionalProp1;\n consentOffersEmail = e.data.userData.userConsents.additionalProp2;\n consentTerms = e.data.userData.userConsents.additionalProp3;\n checkIsValid();\n break;\n\n case 'ShowRegistrationError':\n showError = e.data.showError;\n error = e.data.error;\n\n default:\n // do nothing\n break;\n }\n }\n }\n\n onMount(() => {\n window.addEventListener('message', messageHandler, false);\n\n return () => {\n window.removeEventListener('message', messageHandler);\n }\n });\n\n $: endpoint && getCountriesList();\n $: endpoint && getPhoneCodes();\n</script>\n\n<svelte:head>\n <script src=\"//www.google.com/recaptcha/api.js?render={captchaKey}\" async defer></script>\n</svelte:head>\n\n<div class=\"g-recaptcha\" data-sitekey=\"{captchaKey}\" />\n\n<div class=\"RegisterFormHeader\">\n <button class=\"BackButton\" on:click={goBack}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><defs><style>.a{fill:#d0046c;}</style></defs><path class=\"a\" d=\"M12,0,9.818,2.182l8.26,8.26H0v3.117H18.078l-8.26,8.26L12,24,24,12Z\" transform=\"translate(24 24) rotate(180)\"/></svg>\n Back\n </button>\n</div>\n<div class=\"RegisterFormContent\">\n <div class=\"AddressPostalCodeContainer\">\n <div class=\"AddressContainer {invalidAddress ? 'InvalidField' : ''}\">\n <label for=\"Address\">Address:<span class=\"FormRequired\">*</span></label>\n <input bind:value={address} on:blur={validateAddress} type=\"text\" id=\"Address\" />\n {#if invalidAddress}\n <p class=\"InvalidInput\">Address must be at least 1 character long and 100 characters maximum.</p>\n {/if}\n </div>\n <div class=\"PostalCodeContainer {invalidPostalCode ? 'InvalidField' : ''}\">\n <label for=\"PostalCode\">Postal Code:<span class=\"FormRequired\">*</span></label>\n <input bind:value={postalCode} on:blur={validatePostalCode} type=\"text\" id=\"PostalCode\" />\n {#if invalidPostalCode}\n <p class=\"InvalidInput\">Postal Code must be at least 1 character long and 20 characters maximum.</p>\n {/if}\n </div>\n </div>\n <div class=\"CityContainer {invalidCity ? 'InvalidField' : ''}\">\n <label for=\"City\">City:<span class=\"FormRequired\">*</span></label>\n <input bind:value={city} on:blur={validateCity} type=\"text\" id=\"City\" />\n {#if invalidCity}\n <p class=\"InvalidInput\">City must be at least 1 character long and 50 characters maximum.</p>\n {/if}\n </div>\n <div class=\"CountryContainer\">\n <label for=\"Country\">Country:<span class=\"FormRequired\">*</span></label>\n <select bind:value={countrySelected} id=\"Country\">\n {#each countries as country}\n <option value={country.Alpha2Code}>{country.Name}</option>\n {/each}\n </select>\n </div>\n <div class=\"NationalityContainer {invalidNationality ? 'InvalidField' : ''}\">\n <label for=\"Nationality\">Nationality:<span class=\"FormRequired\">*</span></label>\n <input bind:value={nationality} on:blur={validateNationality} type=\"text\" id=\"Nationality\" />\n {#if invalidNationality}\n <p class=\"InvalidInput\">Nationality must be at least 1 character long.</p>\n {/if}\n </div>\n <div class=\"MobileContainer {invalidMobile ? 'InvalidField' : ''}\">\n <label for=\"Mobile\">Mobile:<span class=\"FormRequired\">*</span></label>\n <div class=\"MobileWrapper\">\n <select bind:value={mobilePrefixSelected} class=\"MobilePrefixSelected\">\n {#each mobilePrefixes as mobilePrefix}\n <option value={mobilePrefix.Prefix}>{mobilePrefix.Prefix}</option>\n {/each}\n </select>\n <input bind:value={mobile} on:keyup={validateMobile} type=\"text\" oninput=\"this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');\" id=\"Mobile\" class=\"MobileInput\" />\n {#if invalidMobile}\n <p class=\"InvalidInput\">Mobile must be at least 5 character long and 20 characters maximum.</p>\n {/if}\n </div>\n </div>\n {#if userconsentexists}\n <div class=\"OffersContainer\">\n <label class=\"Offers\">I want to receive exclusive offers and bonuses.<br/>I am aware that I can unsubscribe whenever I want to.\n <input type=\"Checkbox\" checked=\"{consentOffers}\" on:click={() => toggleOffers()}>\n <span class=\"Checkmark\"></span>\n </label>\n <div class=\"OffersMethodsWrapper\">\n <label class=\"OffersMethod\">SMS\n <input type=\"Checkbox\" disabled={!consentOffers} checked=\"{consentOffersSms}\" on:click={() => toggleOffersSms()}>\n <span class=\"Checkmark\"></span>\n </label>\n <label class=\"OffersMethod\">Emails\n <input type=\"Checkbox\" disabled={!consentOffers} checked=\"{consentOffersEmail}\" on:click={() => toggleOffersEmail()}>\n <span class=\"Checkmark\"></span>\n </label>\n </div>\n </div>\n <div class=\"AgeContainer\">\n <label class=\"AgeConsent\">I am at least 21 years old and I have read and accepted the Terms of Conditions.\n <input type=\"Checkbox\" checked=\"{consentTerms}\" on:click={() => toggleTerms()}>\n <span class=\"Checkmark\"></span>\n </label>\n </div>\n {#if !consentTerms}\n <div class=\"NotificationContainer\">\n <p>Please accept the Terms and Conditions before proceeding.</p>\n </div>\n {/if}\n {/if}\n</div>\n{#if showError}\n <div>\n <p class=\"RegisterError\">{error}</p>\n </div>\n{/if}\n<button class=\"RegisterStepNext\" disabled={!isValid} on:click={goNext}>Open Account</button>\n\n<style lang=\"scss\">\n //This function does a multiplication\n // in order to work with px the\n // same way as working with em\n @function ttp($value) {\n $multiplicator: 16px;\n @return $value * $multiplicator;\n }\n\n :host {\n font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n }\n\n .BackButton {\n display: inline-flex;\n color: #07072A;\n height: ttp(1.5);\n line-height: ttp(1.5);\n border-radius: ttp(0.3125);\n border: none;\n background: transparent;\n padding: 0;\n text-transform: uppercase;\n font-size: ttp(2);\n cursor: pointer;\n margin-bottom: ttp(1.875);\n svg {\n width: ttp(1.5);\n height: ttp(1.5);\n margin-right: ttp(1.25);\n fill: #D0046C;\n }\n }\n\n .AddressPostalCodeContainer {\n display: flex;\n gap: ttp(1);\n }\n\n .CountryContainer {\n label {\n font-size: ttp(0.875);\n font-weight: 300;\n padding-bottom: ttp(0.3125);\n }\n\n select {\n width: 100%;\n height: ttp(2.75);\n border: 1px solid #D1D1D1;\n border-radius: ttp(0.3125);\n padding: ttp(0.3125);\n font-size: ttp(0.875);\n box-sizing: border-box;\n padding: ttp(0.3125) ttp(0.9375);\n font-size: ttp(1);\n line-height: ttp(1.125);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: url(\"data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>\") no-repeat #FFF;\n background-position: calc(100% - 0.75rem) center;\n\n &:focus, :focus-within, :focus-visible, :visited {\n border: 1px solid #D0046C;\n box-shadow: 0 0 0 1pt #D0046C;\n }\n }\n }\n\n\n .AddressContainer,\n .PostalCodeContainer,\n .CityContainer,\n .CountryContainer,\n .NationalityContainer,\n .MobileContainer {\n color: #58586B;\n display: flex;\n flex-direction: column;\n padding-bottom: ttp(1.875);\n position: relative;\n\n label {\n font-size: ttp(0.875);\n font-weight: 300;\n padding-bottom: ttp(0.3125);\n }\n\n input, select {\n width: 100%;\n height: ttp(2.75);\n border: 1px solid #D1D1D1;\n border-radius: ttp(0.3125);\n padding: ttp(0.3125);\n font-size: ttp(0.875);\n box-sizing: border-box;\n padding: ttp(0.3125) ttp(0.9375);\n font-size: ttp(1);\n line-height: ttp(1.125);\n }\n\n &.InvalidField {\n input {\n border: 1px solid #D0046C;\n background: #FBECF4;\n color: #D0046C;\n }\n }\n }\n\n .AddressContainer {\n width: 65%;\n }\n\n .PostalCodeContainer {\n width: 35%;\n }\n\n .MobileWrapper {\n display: flex;\n gap: ttp(1);\n .MobilePrefixSelected {\n width: 30%;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: url(\"data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>\") no-repeat #FFF;\n background-position: calc(100% - 0.75rem) center;\n\n &:focus, :focus-within, :focus-visible, :visited {\n border: 1px solid #D0046C;\n box-shadow: 0 0 0 1pt #D0046C;\n }\n\n }\n .MobileInput {\n width: 70%;\n \n }\n }\n\n .grecaptcha-badge { opacity:0;}\n\n .FormRequired {\n color: #FD2839;\n }\n\n .InvalidInput {\n color: #D0046C;\n font-size: ttp(0.625);\n position: absolute;\n bottom: -3px;\n line-height: ttp(0.625);\n }\n\n .ErrorMessage {\n margin: 0 0 ttp(0.938) 0;\n font-size: ttp(0.75);\n color: #D0046C;\n }\n\n .OffersMethodsWrapper {\n padding-left: ttp(2);\n }\n\n .Offers,\n .OffersMethod,\n .AgeConsent {\n display: block;\n position: relative;\n padding: ttp(0.313) 0 0 ttp(2.188);\n margin-bottom: ttp(1);\n font-size: ttp(1);\n user-select: none;\n line-height: ttp(1.2);\n\n label {\n font-size: ttp(1);\n cursor: pointer;\n }\n\n input {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n height: 0;\n width: 0;\n }\n\n .Checkmark {\n position: absolute;\n top: 0;\n left: 0;\n height: ttp(1.563);\n width: ttp(1.563);\n background-color: #D1D1D1;\n border-radius: 50%;\n }\n\n input:checked ~ .Checkmark {\n background-color: #D0046C;\n }\n\n .Checkmark:after {\n content: \"\";\n position: absolute;\n display: none;\n left: ttp(0.563);\n top: ttp(0.313);\n width: ttp(0.313);\n height: ttp(0.625);\n border: solid white;\n border-width: 0 ttp(0.188) ttp(0.188) 0;\n transform: rotate(45deg);\n }\n\n input:checked ~ .Checkmark:after {\n display: block;\n }\n }\n\n .NotificationContainer {\n margin-top: ttp(2);\n p {\n color: #FD2839;\n font-size: ttp(0.875);\n }\n }\n\n .RegisterError {\n color: #FD2839;\n font-size: ttp(1);\n line-height: ttp(1.2);\n }\n\n .RegisterStepNext {\n color: #fff;\n background: #D0046C;\n border: 1px solid #D0046C;\n border-radius: 5px;\n width: 100%;\n height: ttp(3.75);\n padding: 0;\n text-transform: uppercase;\n font-size: ttp(1.125);\n cursor: pointer;\n margin-top: ttp(1.5);\n &[disabled] {\n background: #c1c1c1;\n border: 1px solid #c1c1c1;\n cursor: not-allowed;\n }\n }\n</style>\n","import GeneralPlayerRegisterFormStep3 from './GeneralPlayerRegisterFormStep3.svelte';\n!customElements.get('general-player-register-form-step3') && customElements.define('general-player-register-form-step3', GeneralPlayerRegisterFormStep3);\nexport default GeneralPlayerRegisterFormStep3;\n"],"names":["noop","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","append","target","node","appendChild","insert","anchor","insertBefore","detach","parentNode","removeChild","destroy_each","iterations","detaching","i","length","d","element","name","document","createElement","text","data","createTextNode","space","listen","event","handler","options","addEventListener","removeEventListener","attr","attribute","value","removeAttribute","getAttribute","setAttribute","set_data","wholeText","set_input_value","input","select_option","select","option","__value","selected","select_value","selected_option","querySelector","current_component","set_current_component","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","add_render_callback","push","flushing","seen_callbacks","Set","flush","$$","dirty","fragment","update","before_update","p","ctx","after_update","pop","callback","has","add","clear","outroing","init","instance","create_fragment","not_equal","props","block","parent_component","bound","on_mount","on_destroy","on_disconnect","context","Map","callbacks","skip_bound","ready","ret","rest","then","fill","hydrate","nodes","Array","from","childNodes","l","c","intro","delete","local","customElement","m","new_on_destroy","map","filter","SvelteElement","Name","Alpha2Code","Prefix","captchaKey","HTMLElement","super","this","attachShadow","mode","key","slotted","_oldValue","newValue","$destroy","type","index","indexOf","splice","$$props","$$set","keys","userconsentexists","endpoint","invalidAddress","invalidPostalCode","invalidMobile","invalidCity","invalidNationality","showError","error","address","postalCode","city","countries","countrySelected","nationality","mobile","mobilePrefixes","mobilePrefixSelected","consentOffers","consentOffersSms","consentOffersEmail","consentTerms","isValid","checkIsValid","toggleOffers","toggleOffersSms","toggleOffersEmail","toggleTerms","messageHandler","e","userData","address1","country","prefix","number","userConsents","additionalProp1","additionalProp2","additionalProp3","window","Error","fetch","res","json","phoneCodes","registerStepThreeData","reject","grecaptcha","execute","action","token","postMessage","location","href","attributes","result","customElements","get","define","GeneralPlayerRegisterFormStep3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"general-player-register-form-step3.js","sources":["../../../node_modules/svelte/internal/index.mjs","../src/GeneralPlayerRegisterFormStep3.svelte","../src/index.ts"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot_spread(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_spread_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_spread_changes_fn(dirty) | get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.37.0' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to seperate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_custom_elements_slots, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, update_slot_spread, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<svelte:options tag={null} />\n\n<script lang=\"typescript\">\n import { onMount } from \"svelte\";\n\n export let userconsentexists:boolean = false;\n export let endpoint:string = '';\n\n let invalidAddress:string = '';\n\n let invalidPostalCode:string = '';\n let invalidMobile:string = '';\n let invalidCity:string = '';\n let invalidNationality:string = '';\n\n let showError:boolean = false;\n let error:string = '';\n\n let address:string = '';\n let postalCode:string = '';\n let city:string = '';\n let countries:Array<Object> = [];\n let countrySelected:string = '';\n let nationalities:Array<Object> = [];\n let nationalitySelected:string = '';\n let mobile:string = '';\n let mobilePrefixes:Array<Object> = [];\n let mobilePrefixSelected:string = '';\n let consentOffers:boolean = false;\n let consentOffersSms:boolean = false;\n let consentOffersEmail:boolean = false;\n let consentTerms:boolean = false;\n\n let isValid:boolean = false;\n\n const captchaKey = '6Lc7w8YcAAAAAEMHc_VNN9bqfVnILoUOHSHyZ0yn';\n\n const getCountriesList = () => {\n fetch(`${endpoint}/player/countries`)\n .then((res:any) => res.json())\n .then(data => {\n countries = data.countries;\n if (!countrySelected) {\n countrySelected = countries[0].Alpha2Code;\n }\n nationalities = data.countries;\n if (!nationalitySelected) {\n nationalitySelected = nationalities[0].Alpha2Code;\n }\n });\n }\n\n const getPhoneCodes = () => {\n fetch(`${endpoint}/player/phonecodes`)\n .then((res:any) => res.json())\n .then(data => {\n mobilePrefixes = data.phoneCodes;\n if (!mobilePrefixSelected) {\n mobilePrefixSelected = mobilePrefixes[0].Prefix;\n }\n });\n }\n\n const checkIsValid = () => {\n isValid = !(invalidAddress || invalidPostalCode || invalidCity || invalidMobile || showError || (userconsentexists && consentTerms));\n if (address.length <= 0 || postalCode.length <= 0 || city.length <= 0 || mobile.length <= 0) {\n isValid = false;\n }\n }\n\n const checkAddress = () => {\n if(address && address.length <= 100) {\n return true;\n }\n\n return false;\n }\n\n const validateAddress = () => {\n invalidAddress = !checkAddress();\n checkIsValid();\n }\n\n const checkPostalCode = () => {\n if(postalCode && postalCode.length <= 20) {\n return true;\n }\n\n return false;\n }\n\n const validatePostalCode = () => {\n invalidPostalCode = !checkPostalCode();\n checkIsValid();\n }\n\n const checkCity = () => {\n if(city && city.length <= 50) {\n return true;\n }\n\n return false;\n }\n\n const validateCity = () => {\n invalidCity = !checkCity();\n checkIsValid();\n }\n\n const checkMobile = () => {\n if(mobile && mobile.length >= 5 && mobile.length <= 30) {\n return true;\n }\n\n return false;\n }\n\n const validateMobile = () => {\n invalidMobile = !checkMobile();\n checkIsValid();\n }\n\n const toggleOffers = () => {\n if(consentOffers === false) {\n consentOffers = true;\n } else {\n consentOffers = false;\n consentOffersSms = false;\n consentOffersEmail = false;\n }\n }\n\n const toggleOffersSms = () => {\n if(consentOffersSms === false) {\n consentOffersSms = true;\n } else {\n consentOffersSms = false;\n }\n }\n\n const toggleOffersEmail = () => {\n if(consentOffersEmail === false) {\n consentOffersEmail = true;\n } else {\n consentOffersEmail = false;\n }\n }\n\n const toggleTerms = () => {\n if(consentTerms === false) {\n consentTerms = true;\n } else {\n consentTerms = false;\n }\n checkIsValid();\n }\n\n const doRecaptcha = () => {\n return new Promise((resolve, reject) => {\n grecaptcha.ready(() => {\n grecaptcha.execute(captchaKey, { action: \"submit\" }).then((token) => {\n resolve(token);\n });\n });\n });\n }\n\n const goNext = () => {\n let registerStepThreeData = {};\n\n doRecaptcha().then((token) => {\n registerStepThreeData = {\n address,\n postalCode,\n city,\n countrySelected,\n nationalitySelected,\n mobilePrefixSelected,\n mobile,\n consentOffersSms,\n consentOffersEmail,\n consentTerms,\n token\n }\n\n window.postMessage({ type: 'RegisterStepThree', registerStepThreeData }, window.location.href);\n });\n }\n\n const goBack = () => {\n let registerStepThreeData = {\n address,\n postalCode,\n city,\n countrySelected,\n nationalitySelected,\n mobilePrefixSelected,\n mobile,\n consentOffersSms,\n consentOffersEmail,\n consentTerms\n }\n\n window.postMessage({ type: 'GoBackStepThree', registerStepThreeData }, window.location.href);\n }\n\n const messageHandler = (e:any) => {\n if (e.data) {\n switch(e.data.type) {\n case 'StepThreeDataBackup':\n address = e.data.userData.address1;\n postalCode = e.data.userData.postalCode;\n city = e.data.userData.city;\n countrySelected = e.data.userData.country;\n nationalitySelected = e.data.userData.nationality;\n mobilePrefixSelected = e.data.userData.mobile.prefix;\n mobile = e.data.userData.mobile.number;\n consentOffersSms = e.data.userData.userConsents.additionalProp1;\n consentOffersEmail = e.data.userData.userConsents.additionalProp2;\n consentTerms = e.data.userData.userConsents.additionalProp3;\n checkIsValid();\n break;\n\n case 'ShowRegistrationError':\n showError = e.data.showError;\n error = e.data.error;\n\n default:\n // do nothing\n break;\n }\n }\n }\n\n onMount(() => {\n window.addEventListener('message', messageHandler, false);\n\n return () => {\n window.removeEventListener('message', messageHandler);\n }\n });\n\n $: endpoint && getCountriesList();\n $: endpoint && getPhoneCodes();\n</script>\n\n<svelte:head>\n <script src=\"//www.google.com/recaptcha/api.js?render={captchaKey}\" async defer></script>\n</svelte:head>\n\n<div class=\"g-recaptcha\" data-sitekey=\"{captchaKey}\" />\n\n<div class=\"RegisterFormHeader\">\n <button class=\"BackButton\" on:click={goBack}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><defs><style>.a{fill:#d0046c;}</style></defs><path class=\"a\" d=\"M12,0,9.818,2.182l8.26,8.26H0v3.117H18.078l-8.26,8.26L12,24,24,12Z\" transform=\"translate(24 24) rotate(180)\"/></svg>\n Back\n </button>\n</div>\n<div class=\"RegisterFormContent\">\n <div class=\"AddressPostalCodeContainer\">\n <div class=\"AddressContainer {invalidAddress ? 'InvalidField' : ''}\">\n <label for=\"Address\">Address:<span class=\"FormRequired\">*</span></label>\n <input bind:value={address} on:blur={validateAddress} type=\"text\" id=\"Address\" />\n {#if invalidAddress}\n <p class=\"InvalidInput\">Address must be at least 1 character long and 100 characters maximum.</p>\n {/if}\n </div>\n <div class=\"PostalCodeContainer {invalidPostalCode ? 'InvalidField' : ''}\">\n <label for=\"PostalCode\">Postal Code:<span class=\"FormRequired\">*</span></label>\n <input bind:value={postalCode} on:blur={validatePostalCode} type=\"text\" id=\"PostalCode\" />\n {#if invalidPostalCode}\n <p class=\"InvalidInput\">Postal Code must be at least 1 character long and 20 characters maximum.</p>\n {/if}\n </div>\n </div>\n <div class=\"CityContainer {invalidCity ? 'InvalidField' : ''}\">\n <label for=\"City\">City:<span class=\"FormRequired\">*</span></label>\n <input bind:value={city} on:blur={validateCity} type=\"text\" id=\"City\" />\n {#if invalidCity}\n <p class=\"InvalidInput\">City must be at least 1 character long and 50 characters maximum.</p>\n {/if}\n </div>\n <div class=\"CountryContainer\">\n <label for=\"Country\">Country:<span class=\"FormRequired\">*</span></label>\n <select bind:value={countrySelected} id=\"Country\">\n {#each countries as country}\n <option value={country.Alpha2Code}>{country.Name}</option>\n {/each}\n </select>\n </div>\n <div class=\"NationalityContainer\">\n <label for=\"Nationality\">Nationality:<span class=\"FormRequired\">*</span></label>\n <select bind:value={nationalitySelected} id=\"Nationality\">\n {#each nationalities as nationality}\n <option value={nationality.Alpha2Code}>{nationality.Name}</option>\n {/each}\n </select>\n </div>\n <div class=\"MobileContainer {invalidMobile ? 'InvalidField' : ''}\">\n <label for=\"Mobile\">Mobile:<span class=\"FormRequired\">*</span></label>\n <div class=\"MobileWrapper\">\n <select bind:value={mobilePrefixSelected} class=\"MobilePrefixSelected\">\n {#each mobilePrefixes as mobilePrefix}\n <option value={mobilePrefix.Prefix}>{mobilePrefix.Prefix}</option>\n {/each}\n </select>\n <input bind:value={mobile} on:keyup={validateMobile} type=\"text\" oninput=\"this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');\" id=\"Mobile\" class=\"MobileInput\" />\n {#if invalidMobile}\n <p class=\"InvalidInput\">Mobile must be at least 5 character long and 20 characters maximum.</p>\n {/if}\n </div>\n </div>\n {#if userconsentexists}\n <div class=\"OffersContainer\">\n <label class=\"Offers\">I want to receive exclusive offers and bonuses.<br/>I am aware that I can unsubscribe whenever I want to.\n <input type=\"Checkbox\" checked=\"{consentOffers}\" on:click={() => toggleOffers()}>\n <span class=\"Checkmark\"></span>\n </label>\n <div class=\"OffersMethodsWrapper\">\n <label class=\"OffersMethod\">SMS\n <input type=\"Checkbox\" disabled={!consentOffers} checked=\"{consentOffersSms}\" on:click={() => toggleOffersSms()}>\n <span class=\"Checkmark\"></span>\n </label>\n <label class=\"OffersMethod\">Emails\n <input type=\"Checkbox\" disabled={!consentOffers} checked=\"{consentOffersEmail}\" on:click={() => toggleOffersEmail()}>\n <span class=\"Checkmark\"></span>\n </label>\n </div>\n </div>\n <div class=\"AgeContainer\">\n <label class=\"AgeConsent\">I am at least 21 years old and I have read and accepted the Terms of Conditions.\n <input type=\"Checkbox\" checked=\"{consentTerms}\" on:click={() => toggleTerms()}>\n <span class=\"Checkmark\"></span>\n </label>\n </div>\n {#if !consentTerms}\n <div class=\"NotificationContainer\">\n <p>Please accept the Terms and Conditions before proceeding.</p>\n </div>\n {/if}\n {/if}\n</div>\n{#if showError}\n <div>\n <p class=\"RegisterError\">{error}</p>\n </div>\n{/if}\n<button class=\"RegisterStepNext\" disabled={!isValid} on:click={goNext}>Open Account</button>\n\n<style lang=\"scss\">\n //This function does a multiplication\n // in order to work with px the\n // same way as working with em\n @function ttp($value) {\n $multiplicator: 16px;\n @return $value * $multiplicator;\n }\n\n :host {\n font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n }\n\n .BackButton {\n display: inline-flex;\n color: #07072A;\n height: ttp(1.5);\n line-height: ttp(1.5);\n border-radius: ttp(0.3125);\n border: none;\n background: transparent;\n padding: 0;\n text-transform: uppercase;\n font-size: ttp(2);\n cursor: pointer;\n margin-bottom: ttp(1.875);\n svg {\n width: ttp(1.5);\n height: ttp(1.5);\n margin-right: ttp(1.25);\n fill: #D0046C;\n }\n }\n\n .AddressPostalCodeContainer {\n display: flex;\n gap: ttp(1);\n }\n\n .CountryContainer {\n label {\n font-size: ttp(0.875);\n font-weight: 300;\n padding-bottom: ttp(0.3125);\n }\n\n select {\n width: 100%;\n height: ttp(2.75);\n border: 1px solid #D1D1D1;\n border-radius: ttp(0.3125);\n padding: ttp(0.3125);\n font-size: ttp(0.875);\n box-sizing: border-box;\n padding: ttp(0.3125) ttp(0.9375);\n font-size: ttp(1);\n line-height: ttp(1.125);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: url(\"data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>\") no-repeat #FFF;\n background-position: calc(100% - 0.75rem) center;\n\n &:focus, :focus-within, :focus-visible, :visited {\n border: 1px solid #D0046C;\n box-shadow: 0 0 0 1pt #D0046C;\n }\n }\n }\n\n\n .AddressContainer,\n .PostalCodeContainer,\n .CityContainer,\n .CountryContainer,\n .NationalityContainer,\n .MobileContainer {\n color: #58586B;\n display: flex;\n flex-direction: column;\n padding-bottom: ttp(1.875);\n position: relative;\n\n label {\n font-size: ttp(0.875);\n font-weight: 300;\n padding-bottom: ttp(0.3125);\n }\n\n input, select {\n width: 100%;\n height: ttp(2.75);\n border: 1px solid #D1D1D1;\n border-radius: ttp(0.3125);\n padding: ttp(0.3125);\n font-size: ttp(0.875);\n box-sizing: border-box;\n padding: ttp(0.3125) ttp(0.9375);\n font-size: ttp(1);\n line-height: ttp(1.125);\n }\n\n &.InvalidField {\n input {\n border: 1px solid #D0046C;\n background: #FBECF4;\n color: #D0046C;\n }\n }\n }\n\n .AddressContainer {\n width: 65%;\n }\n\n .PostalCodeContainer {\n width: 35%;\n }\n\n .MobileWrapper {\n display: flex;\n gap: ttp(1);\n .MobilePrefixSelected {\n width: 30%;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: url(\"data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>\") no-repeat #FFF;\n background-position: calc(100% - 0.75rem) center;\n\n &:focus, :focus-within, :focus-visible, :visited {\n border: 1px solid #D0046C;\n box-shadow: 0 0 0 1pt #D0046C;\n }\n\n }\n .MobileInput {\n width: 70%;\n\n }\n }\n\n .grecaptcha-badge { opacity:0;}\n\n .FormRequired {\n color: #FD2839;\n }\n\n .InvalidInput {\n color: #D0046C;\n font-size: ttp(0.625);\n position: absolute;\n bottom: -3px;\n line-height: ttp(0.625);\n }\n\n .ErrorMessage {\n margin: 0 0 ttp(0.938) 0;\n font-size: ttp(0.75);\n color: #D0046C;\n }\n\n .OffersMethodsWrapper {\n padding-left: ttp(2);\n }\n\n .Offers,\n .OffersMethod,\n .AgeConsent {\n display: block;\n position: relative;\n padding: ttp(0.313) 0 0 ttp(2.188);\n margin-bottom: ttp(1);\n font-size: ttp(1);\n user-select: none;\n line-height: ttp(1.2);\n\n label {\n font-size: ttp(1);\n cursor: pointer;\n }\n\n input {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n height: 0;\n width: 0;\n }\n\n .Checkmark {\n position: absolute;\n top: 0;\n left: 0;\n height: ttp(1.563);\n width: ttp(1.563);\n background-color: #D1D1D1;\n border-radius: 50%;\n }\n\n input:checked ~ .Checkmark {\n background-color: #D0046C;\n }\n\n .Checkmark:after {\n content: \"\";\n position: absolute;\n display: none;\n left: ttp(0.563);\n top: ttp(0.313);\n width: ttp(0.313);\n height: ttp(0.625);\n border: solid white;\n border-width: 0 ttp(0.188) ttp(0.188) 0;\n transform: rotate(45deg);\n }\n\n input:checked ~ .Checkmark:after {\n display: block;\n }\n }\n\n .NotificationContainer {\n margin-top: ttp(2);\n p {\n color: #FD2839;\n font-size: ttp(0.875);\n }\n }\n\n .RegisterError {\n color: #FD2839;\n font-size: ttp(1);\n line-height: ttp(1.2);\n }\n\n .RegisterStepNext {\n color: #fff;\n background: #D0046C;\n border: 1px solid #D0046C;\n border-radius: 5px;\n width: 100%;\n height: ttp(3.75);\n padding: 0;\n text-transform: uppercase;\n font-size: ttp(1.125);\n cursor: pointer;\n margin-top: ttp(1.5);\n &[disabled] {\n background: #c1c1c1;\n border: 1px solid #c1c1c1;\n cursor: not-allowed;\n }\n }\n</style>\n","import GeneralPlayerRegisterFormStep3 from './GeneralPlayerRegisterFormStep3.svelte';\n!customElements.get('general-player-register-form-step3') && customElements.define('general-player-register-form-step3', GeneralPlayerRegisterFormStep3);\nexport default GeneralPlayerRegisterFormStep3;\n"],"names":["noop","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","append","target","node","appendChild","insert","anchor","insertBefore","detach","parentNode","removeChild","destroy_each","iterations","detaching","i","length","d","element","name","document","createElement","text","data","createTextNode","space","listen","event","handler","options","addEventListener","removeEventListener","attr","attribute","value","removeAttribute","getAttribute","setAttribute","set_data","wholeText","set_input_value","input","select_option","select","option","__value","selected","select_value","selected_option","querySelector","current_component","set_current_component","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","add_render_callback","push","flushing","seen_callbacks","Set","flush","$$","dirty","fragment","update","before_update","p","ctx","after_update","pop","callback","has","add","clear","outroing","init","instance","create_fragment","not_equal","props","block","parent_component","bound","on_mount","on_destroy","on_disconnect","context","Map","callbacks","skip_bound","ready","ret","rest","then","fill","hydrate","nodes","Array","from","childNodes","l","c","intro","delete","local","customElement","m","new_on_destroy","map","filter","SvelteElement","Name","Alpha2Code","Prefix","captchaKey","HTMLElement","super","this","attachShadow","mode","key","slotted","_oldValue","newValue","$destroy","type","index","indexOf","splice","$$props","$$set","keys","userconsentexists","endpoint","invalidAddress","invalidPostalCode","invalidMobile","invalidCity","showError","error","address","postalCode","city","countries","countrySelected","nationalities","nationalitySelected","mobile","mobilePrefixes","mobilePrefixSelected","consentOffers","consentOffersSms","consentOffersEmail","consentTerms","isValid","checkIsValid","toggleOffers","toggleOffersSms","toggleOffersEmail","toggleTerms","messageHandler","e","userData","address1","country","nationality","prefix","number","userConsents","additionalProp1","additionalProp2","additionalProp3","window","Error","fetch","res","json","phoneCodes","registerStepThreeData","reject","grecaptcha","execute","action","token","postMessage","location","href","attributes","result","customElements","get","define","GeneralPlayerRegisterFormStep3"],"mappings":"mOAAA,SAASA,MAgBT,SAASC,EAAIC,GACT,OAAOA,IAEX,SAASC,IACL,OAAOC,OAAOC,OAAO,MAEzB,SAASC,GAAQC,GACbA,EAAIC,QAAQP,GAEhB,SAASQ,EAAYC,GACjB,MAAwB,mBAAVA,EAElB,SAASC,EAAeC,EAAGC,GACvB,OAAOD,GAAKA,EAAIC,GAAKA,EAAID,IAAMC,GAAOD,GAAkB,iBAANA,GAAgC,mBAANA,EAkKhF,SAASE,GAAOC,EAAQC,GACpBD,EAAOE,YAAYD,GAEvB,SAASE,GAAOH,EAAQC,EAAMG,GAC1BJ,EAAOK,aAAaJ,EAAMG,GAAU,MAExC,SAASE,GAAOL,GACZA,EAAKM,WAAWC,YAAYP,GAEhC,SAASQ,GAAaC,EAAYC,GAC9B,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAWG,OAAQD,GAAK,EACpCF,EAAWE,IACXF,EAAWE,GAAGE,EAAEH,GAG5B,SAASI,GAAQC,GACb,OAAOC,SAASC,cAAcF,GAoBlC,SAASG,GAAKC,GACV,OAAOH,SAASI,eAAeD,GAEnC,SAASE,KACL,OAAOH,GAAK,KAKhB,SAASI,GAAOtB,EAAMuB,EAAOC,EAASC,GAElC,OADAzB,EAAK0B,iBAAiBH,EAAOC,EAASC,GAC/B,IAAMzB,EAAK2B,oBAAoBJ,EAAOC,EAASC,GAuB1D,SAASG,GAAK5B,EAAM6B,EAAWC,GACd,MAATA,EACA9B,EAAK+B,gBAAgBF,GAChB7B,EAAKgC,aAAaH,KAAeC,GACtC9B,EAAKiC,aAAaJ,EAAWC,GAgGrC,SAASI,EAAShB,EAAMC,GAEhBD,EAAKiB,aADThB,EAAO,GAAKA,KAERD,EAAKC,KAAOA,GAEpB,SAASiB,GAAgBC,EAAOP,GAC5BO,EAAMP,MAAiB,MAATA,EAAgB,GAAKA,EAavC,SAASQ,GAAcC,EAAQT,GAC3B,IAAK,IAAInB,EAAI,EAAGA,EAAI4B,EAAOd,QAAQb,OAAQD,GAAK,EAAG,CAC/C,MAAM6B,EAASD,EAAOd,QAAQd,GAC9B,GAAI6B,EAAOC,UAAYX,EAEnB,OADAU,EAAOE,eAWnB,SAASC,EAAaJ,GACZK,EAAkBL,EAAOM,cAAc,aAAeN,EAAOd,QAAQ,GAC3E,OAAOmB,GAAmBA,EAAgBH,QAqP9C,IAAIK,EACJ,SAASC,EAAsBC,GAC3BF,EAAoBE,EAoDxB,MAAMC,EAAmB,GAEnBC,EAAoB,GACpBC,EAAmB,GACnBC,EAAkB,GAClBC,EAAmBC,QAAQC,UACjC,IAAIC,KAWJ,SAASC,GAAoBvE,GACzBiE,EAAiBO,KAAKxE,GAK1B,IAAIyE,KACJ,MAAMC,EAAiB,IAAIC,IAC3B,SAASC,IACL,IAAIH,EAAJ,CAEAA,KACA,EAAG,CAGC,IAAK,IAAIhD,EAAI,EAAGA,EAAIsC,EAAiBrC,OAAQD,GAAK,EAAG,CACjD,IAAMqC,EAAYC,EAAiBtC,GACnCoC,EAAsBC,GA2BlC,SAAgBe,GACZ,CAAA,IAGUC,EAHU,OAAhBD,EAAGE,WACHF,EAAGG,SACH5E,GAAQyE,EAAGI,eACLH,EAAQD,EAAGC,MACjBD,EAAGC,MAAQ,EAAE,GACbD,EAAGE,UAAYF,EAAGE,SAASG,EAAEL,EAAGM,IAAKL,GACrCD,EAAGO,aAAa9E,QAAQiE,MAjCpBS,CAAOlB,EAAUe,IAIrB,IAFAhB,EAAsB,MACtBE,EAAiBrC,OAAS,EACnBsC,EAAkBtC,QACrBsC,EAAkBqB,KAAlBrB,OAIC,IAAIvC,EAAI,EAAGA,EAAIwC,EAAiBvC,OAAQD,GAAK,EAAG,CACjD,MAAM6D,EAAWrB,EAAiBxC,GAC7BiD,EAAea,IAAID,KAEpBZ,EAAec,IAAIF,GACnBA,YAGRrB,EAAiBvC,OAAS,EACrBqC,EAAiBrC,QAC1B,KAAOwC,EAAgBxC,QACnBwC,EAAgBmB,KAAhBnB,GAEJI,KACAG,KACAC,EAAee,SA0BnB,MAAMC,EAAW,IAAIf,IA2pBrB,SAASgB,EAAK7B,EAAWvB,EAASqD,EAAUC,EAAiBC,EAAWC,EAAOjB,EAAQ,EAAE,IACrF,IA7oBmBkB,EA6oBbC,EAAmBrC,EACzBC,EAAsBC,GACtB,MAAMe,EAAKf,EAAUe,GAAK,CACtBE,SAAU,KACVI,IAAK,KAELY,MAAAA,EACAf,OAAQlF,GACRgG,UAAAA,EACAI,MAAOjG,IAEPkG,SAAU,GACVC,WAAY,GACZC,cAAe,GACfpB,cAAe,GACfG,aAAc,GACdkB,QAAS,IAAIC,IAAIN,EAAmBA,EAAiBpB,GAAGyB,QAAU/D,EAAQ+D,SAAW,IAErFE,UAAWvG,IACX6E,MAAAA,EACA2B,eAEJ,IAAIC,KAkBJ,GAjBA7B,EAAGM,IAAMS,EACHA,EAAS9B,EAAWvB,EAAQwD,OAAS,IAAKtE,EAAGkF,KAAQC,KAC7ChE,EAAQgE,EAAKlF,OAASkF,EAAK,GAAKD,EAOtC,OANI9B,EAAGM,KAAOW,EAAUjB,EAAGM,IAAI1D,GAAIoD,EAAGM,IAAI1D,GAAKmB,MACtCiC,EAAG4B,YAAc5B,EAAGqB,MAAMzE,IAC3BoD,EAAGqB,MAAMzE,GAAGmB,GACZ8D,IAtCWjF,EAuCWA,GAtCP,KADfqC,EAuCWA,GAtCbe,GAAGC,MAAM,KACnBf,EAAiBS,KAAKV,GAluBrBQ,IACDA,KACAH,EAAiB0C,KAAKjC,IAkuBtBd,EAAUe,GAAGC,MAAMgC,KAAK,IAE5BhD,EAAUe,GAAGC,MAAOrD,EAAI,GAAM,IAAO,GAAMA,EAAI,KAmChCkF,IAET,GACN9B,EAAGG,SACH0B,KACAtG,GAAQyE,EAAGI,eAEXJ,EAAGE,WAAWc,GAAkBA,EAAgBhB,EAAGM,KAC/C5C,EAAQ1B,OAAQ,CAChB,GAAI0B,EAAQwE,QAAS,CACjB,MAAMC,IA9oCApF,EA8oCiBW,EAAQ1B,OA7oChCoG,MAAMC,KAAKtF,EAAQuF,eA+oCfpC,UAAYF,EAAGE,SAASqC,EAAEJ,IAC7BA,GAAM1G,QAAQa,SAId0D,EAAGE,UAAYF,EAAGE,SAASsC,IAE3B9E,EAAQ+E,QAhsBGtB,EAisBGlC,EAAUe,GAAGE,WAhsBtBiB,EAAMvE,IACfiE,EAAS6B,OAAOvB,GAChBA,EAAMvE,OAHgB+F,IAqmB9B,SAAyB1D,EAAWjD,EAAQI,EAAQwG,GAChD,MAAM1C,SAAEA,EAAQoB,SAAEA,EAAQC,WAAEA,EAAUhB,aAAEA,GAAiBtB,EAAUe,GACnEE,GAAYA,EAAS2C,EAAE7G,EAAQI,GAC1BwG,GAEDlD,QACI,IAAMoD,EAAiBxB,EAASyB,IAAI7H,GAAK8H,OAAOtH,GAC5C6F,EACAA,EAAW5B,QAAQmD,GAKnBvH,GAAQuH,GAEZ7D,EAAUe,GAAGsB,SAAW,KAGhCf,EAAa9E,QAAQiE,IAlBzB,CA6FwBT,EAAWvB,EAAQ1B,OAAQ0B,EAAQtB,OAAQsB,EAAQkF,eACnE7C,IAEJf,EAAsBoC,GAE1B,IAAI6B,owBCrsCwC3C,MAAQ4C,sDAA7B5C,MAAQ6C,iFAAa7C,MAAQ4C,mCAA7B5C,MAAQ6C,yFAQiB7C,MAAY4C,sDAArC5C,MAAY6C,iFAAa7C,MAAY4C,mCAArC5C,MAAY6C,yFASY7C,MAAa8C,wDAAnC9C,MAAa8C,8EAAS9C,MAAa8C,sCAAnC9C,MAAa8C,iVAgC5B9C,kkBDrGCnD,GAAK,sCCiFyBmD,6FAKGA,gBAAyBA,mGAIzBA,gBAAyBA,oKAO5BA,oeAhBAA,4BAKGA,+CAAyBA,4BAIzBA,+CAAyBA,gCAO5BA,OAI/BA,yYASoBA,2FAAAA,sKAjFnBA,cAOAA,cAQFA,cAOIA,6BAALzD,wCAQKyD,6BAALzD,wCASOyD,6BAALzD,wCAKCyD,cAKJA,eA8BFA,05CA/FoD+C,2KAGjBA,qKAUN/C,KAAiB,eAAiB,iHAO/BA,KAAoB,eAAiB,0IAQ7CA,KAAc,eAAiB,yDASpCA,0HAQAA,qIASEA,2RAHKA,KAAgB,eAAiB,2FAiDpBA,mJArFnBA,4EAOAA,4EAQFA,yHAOCA,iGAQAA,yGASEA,4BAKDA,uIArDcA,uCASIA,uCAOGA,uCAQRA,uGA6BKA,qBAyCoBA,8CArFtCA,WAAAA,MACdA,iGAHuBA,KAAiB,eAAiB,0CAS3CA,WAAAA,MACdA,oGAH0BA,KAAoB,eAAiB,0CAUnDA,WAAAA,MACdA,+FAHoBA,KAAc,eAAiB,8CAU/CA,eAALzD,uIAAAA,0BADgByD,+BASXA,eAALzD,uIAAAA,2BADgByD,gCAUTA,eAALzD,uIAAAA,wBADgByD,6BAKDA,YAAAA,OACdA,gGAToBA,KAAgB,eAAiB,sBAczDA,uEA8BFA,yGAKuCA,+ODyoCjB,mBAAhBgD,cACPL,gBAA8BK,0BAEtBC,QACAC,KAAKC,aAAa,CAAEC,KAAM,6BAG1B,MAAMpC,SAAEA,GAAakC,KAAKxD,GAC1BwD,KAAKxD,GAAGwB,cAAgBF,EAASyB,IAAI7H,GAAK8H,OAAOtH,GAEjD,IAAK,MAAMiI,KAAOH,KAAKxD,GAAG4D,QAEtBJ,KAAKtH,YAAYsH,KAAKxD,GAAG4D,QAAQD,6BAGhB9F,EAAMgG,EAAWC,GACtCN,KAAK3F,GAAQiG,yBAGbvI,GAAQiI,KAAKxD,GAAGwB,2BAlG5B,SAA2BvC,GACvB,MAAMe,EAAKf,EAAUe,GACD,OAAhBA,EAAGE,WACH3E,GAAQyE,EAAGuB,YACXvB,EAAGE,UAAYF,EAAGE,SAASpD,EAiGC,GA9F5BkD,EAAGuB,WAAavB,EAAGE,SAAW,KAC9BF,EAAGM,IAAM,IARjB,CAqG8BkD,MAClBA,KAAKO,SAAW9I,OAEhB+I,EAAMvD,GAEN,MAAMkB,EAAa6B,KAAKxD,GAAG2B,UAAUqC,KAAUR,KAAKxD,GAAG2B,UAAUqC,GAAQ,IAEzE,OADArC,EAAUhC,KAAKc,GACR,KACH,IAAMwD,EAAQtC,EAAUuC,QAAQzD,IACjB,IAAXwD,GACAtC,EAAUwC,OAAOF,EAAO,SAG/BG,GACGZ,KAAKa,OAr+CkB,IAA5BhJ,OAAOiJ,KAq+CsBF,GAr+CZvH,SAs+CZ2G,KAAKxD,GAAG4B,cACR4B,KAAKa,MAAMD,GACXZ,KAAKxD,GAAG4B,wBCx+ChByB,GAAa,mFA9BRkB,kBACAC,EAAkB,MAEzBC,EAAwB,GAExBC,EAA2B,GAC3BC,EAAuB,GACvBC,EAAqB,GAGrBC,KACAC,EAAe,GAEfC,EAAiB,GACjBC,EAAoB,GACpBC,EAAc,GACdC,KACAC,EAAyB,GACzBC,KACAC,EAA6B,GAC7BC,EAAgB,GAChBC,KACAC,EAA8B,GAC9BC,KACAC,KACAC,KACAC,KAEAC,WA8BEC,YACJD,IAAapB,GAAkBC,GAAqBE,GAAeD,GAAiBE,GAAcN,GAAqBqB,KACnHb,EAAQlI,QAAU,GAAKmI,EAAWnI,QAAU,GAAKoI,EAAKpI,QAAU,GAAKyI,EAAOzI,QAAU,SACxFgJ,OAwDEE,YACDN,OACDA,YAEAA,WACAC,WACAC,QAIEK,YAEFN,OADCA,IAOCO,YAEFN,OADCA,IAOCO,YAEFN,OADCA,GAKHE,KAoDIK,EAAkBC,OAClBA,EAAEhJ,YACGgJ,EAAEhJ,KAAK4G,UACP,0BACHe,EAAUqB,EAAEhJ,KAAKiJ,SAASC,cAC1BtB,EAAaoB,EAAEhJ,KAAKiJ,SAASrB,gBAC7BC,EAAOmB,EAAEhJ,KAAKiJ,SAASpB,WACvBE,EAAkBiB,EAAEhJ,KAAKiJ,SAASE,cAClClB,EAAsBe,EAAEhJ,KAAKiJ,SAASG,kBACtChB,EAAuBY,EAAEhJ,KAAKiJ,SAASf,OAAOmB,aAC9CnB,EAASc,EAAEhJ,KAAKiJ,SAASf,OAAOoB,aAChChB,EAAmBU,EAAEhJ,KAAKiJ,SAASM,aAAaC,sBAChDjB,EAAqBS,EAAEhJ,KAAKiJ,SAASM,aAAaE,sBAClDjB,EAAeQ,EAAEhJ,KAAKiJ,SAASM,aAAaG,iBAC5ChB,cAGG,4BACHjB,EAAYuB,EAAEhJ,KAAKyH,eACnBC,EAAQsB,EAAEhJ,KAAK0H,gBD6aR3J,OCnab4L,OAAOpJ,iBAAiB,UAAWwI,WAGjCY,OAAOnJ,oBAAoB,UAAWuI,gBDyZxC,IAAKpH,EACD,MAAM,IAAIiI,MAAM,oDACpB,OAAOjI,KAMiBiB,GAAGsB,SAAS3B,KAAKxE,yIC7ZxCqJ,GA5MDyC,SAASzC,sBACNxC,KAAMkF,GAAYA,EAAIC,QACtBnF,KAAK5E,SACJ8H,EAAY9H,EAAK8H,WACZC,QACHA,EAAkBD,EAAU,GAAG/B,iBAEjCiC,EAAgBhI,EAAK8H,WAChBG,QACHA,EAAsBD,EAAc,GAAGjC,+BAoM5CqB,GA9LDyC,SAASzC,uBACNxC,KAAMkF,GAAYA,EAAIC,QACtBnF,KAAK5E,SACJmI,EAAiBnI,EAAKgK,YACjB5B,QACHA,EAAuBD,EAAe,GAAGnC,iEAqB/CqB,IARGM,GAAWA,EAAQlI,QAAU,MAShCiJ,cAYApB,IARGM,GAAcA,EAAWnI,QAAU,KAStCiJ,cAYAlB,IARGK,GAAQA,EAAKpI,QAAU,KAS1BiJ,cAYAnB,IARGW,GAA2B,GAAjBA,EAAOzI,QAAeyI,EAAOzI,QAAU,KASpDiJ,sBAiDIuB,MAVO9H,SAASC,EAAS8H,KAC3BC,WAAW1F,WACT0F,WAAWC,QAAQnE,IAAcoE,OAAQ,WAAYzF,KAAM0F,IACzDlI,EAAQkI,SASA1F,KAAM0F,IAClBL,GACEtC,QAAAA,EACAC,WAAAA,EACAC,KAAAA,EACAE,gBAAAA,EACAE,oBAAAA,EACAG,qBAAAA,EACAF,OAAAA,EACAI,iBAAAA,EACAC,mBAAAA,EACAC,aAAAA,EACA8B,MAAAA,GAGFX,OAAOY,aAAc3D,KAAM,oBAAqBqD,sBAAAA,GAAyBN,OAAOa,SAASC,kBAKvFR,GACFtC,QAAAA,EACAC,WAAAA,EACAC,KAAAA,EACAE,gBAAAA,EACAE,oBAAAA,EACAG,qBAAAA,EACAF,OAAAA,EACAI,iBAAAA,EACAC,mBAAAA,EACAC,aAAAA,GAGFmB,OAAOY,aAAc3D,KAAM,kBAAmBqD,sBAAAA,GAAyBN,OAAOa,SAASC,oBA2DlE9C,gCAOAC,gCAQFC,gCAOCE,sCAQAE,sCASEG,sCAKDF,0BASgDS,QAK+BC,QAIEC,QAOlCC,orJDsKxE,SAA6B4B,GACzB,MAAMC,EAAS,GACf,IAAK,MAAMjK,KAAagK,EACpBC,EAAOjK,EAAUd,MAAQc,EAAUC,MAEvC,OAAOgK,gbErfVC,eAAeC,IAAI,uCAAyCD,eAAeE,OAAO,qCAAsCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@everymatrix/general-player-register-form-step3",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.201",
|
|
4
4
|
"main": "dist/general-player-register-form-step3.js",
|
|
5
5
|
"svelte": "src/index.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "71051531499cfea745b53a0f7c0a77a252990ae7"
|
|
40
40
|
}
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
let city:string = '';
|
|
22
22
|
let countries:Array<Object> = [];
|
|
23
23
|
let countrySelected:string = '';
|
|
24
|
-
let
|
|
24
|
+
let nationalities:Array<Object> = [];
|
|
25
|
+
let nationalitySelected:string = '';
|
|
25
26
|
let mobile:string = '';
|
|
26
27
|
let mobilePrefixes:Array<Object> = [];
|
|
27
28
|
let mobilePrefixSelected:string = '';
|
|
@@ -39,7 +40,13 @@
|
|
|
39
40
|
.then((res:any) => res.json())
|
|
40
41
|
.then(data => {
|
|
41
42
|
countries = data.countries;
|
|
42
|
-
countrySelected
|
|
43
|
+
if (!countrySelected) {
|
|
44
|
+
countrySelected = countries[0].Alpha2Code;
|
|
45
|
+
}
|
|
46
|
+
nationalities = data.countries;
|
|
47
|
+
if (!nationalitySelected) {
|
|
48
|
+
nationalitySelected = nationalities[0].Alpha2Code;
|
|
49
|
+
}
|
|
43
50
|
});
|
|
44
51
|
}
|
|
45
52
|
|
|
@@ -48,13 +55,15 @@
|
|
|
48
55
|
.then((res:any) => res.json())
|
|
49
56
|
.then(data => {
|
|
50
57
|
mobilePrefixes = data.phoneCodes;
|
|
51
|
-
mobilePrefixSelected
|
|
58
|
+
if (!mobilePrefixSelected) {
|
|
59
|
+
mobilePrefixSelected = mobilePrefixes[0].Prefix;
|
|
60
|
+
}
|
|
52
61
|
});
|
|
53
62
|
}
|
|
54
63
|
|
|
55
64
|
const checkIsValid = () => {
|
|
56
|
-
isValid = !(invalidAddress || invalidPostalCode || invalidCity ||
|
|
57
|
-
if (address.length <= 0 || postalCode.length <= 0 || city.length <= 0 ||
|
|
65
|
+
isValid = !(invalidAddress || invalidPostalCode || invalidCity || invalidMobile || showError || (userconsentexists && consentTerms));
|
|
66
|
+
if (address.length <= 0 || postalCode.length <= 0 || city.length <= 0 || mobile.length <= 0) {
|
|
58
67
|
isValid = false;
|
|
59
68
|
}
|
|
60
69
|
}
|
|
@@ -98,19 +107,6 @@
|
|
|
98
107
|
checkIsValid();
|
|
99
108
|
}
|
|
100
109
|
|
|
101
|
-
const checkNationality = () => {
|
|
102
|
-
if(nationality) {
|
|
103
|
-
return true;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
const validateNationality = () => {
|
|
110
|
-
invalidNationality = !checkNationality();
|
|
111
|
-
checkIsValid();
|
|
112
|
-
}
|
|
113
|
-
|
|
114
110
|
const checkMobile = () => {
|
|
115
111
|
if(mobile && mobile.length >= 5 && mobile.length <= 30) {
|
|
116
112
|
return true;
|
|
@@ -178,7 +174,7 @@
|
|
|
178
174
|
postalCode,
|
|
179
175
|
city,
|
|
180
176
|
countrySelected,
|
|
181
|
-
|
|
177
|
+
nationalitySelected,
|
|
182
178
|
mobilePrefixSelected,
|
|
183
179
|
mobile,
|
|
184
180
|
consentOffersSms,
|
|
@@ -197,7 +193,7 @@
|
|
|
197
193
|
postalCode,
|
|
198
194
|
city,
|
|
199
195
|
countrySelected,
|
|
200
|
-
|
|
196
|
+
nationalitySelected,
|
|
201
197
|
mobilePrefixSelected,
|
|
202
198
|
mobile,
|
|
203
199
|
consentOffersSms,
|
|
@@ -216,7 +212,7 @@
|
|
|
216
212
|
postalCode = e.data.userData.postalCode;
|
|
217
213
|
city = e.data.userData.city;
|
|
218
214
|
countrySelected = e.data.userData.country;
|
|
219
|
-
|
|
215
|
+
nationalitySelected = e.data.userData.nationality;
|
|
220
216
|
mobilePrefixSelected = e.data.userData.mobile.prefix;
|
|
221
217
|
mobile = e.data.userData.mobile.number;
|
|
222
218
|
consentOffersSms = e.data.userData.userConsents.additionalProp1;
|
|
@@ -292,12 +288,13 @@
|
|
|
292
288
|
{/each}
|
|
293
289
|
</select>
|
|
294
290
|
</div>
|
|
295
|
-
<div class="NationalityContainer
|
|
291
|
+
<div class="NationalityContainer">
|
|
296
292
|
<label for="Nationality">Nationality:<span class="FormRequired">*</span></label>
|
|
297
|
-
<
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
293
|
+
<select bind:value={nationalitySelected} id="Nationality">
|
|
294
|
+
{#each nationalities as nationality}
|
|
295
|
+
<option value={nationality.Alpha2Code}>{nationality.Name}</option>
|
|
296
|
+
{/each}
|
|
297
|
+
</select>
|
|
301
298
|
</div>
|
|
302
299
|
<div class="MobileContainer {invalidMobile ? 'InvalidField' : ''}">
|
|
303
300
|
<label for="Mobile">Mobile:<span class="FormRequired">*</span></label>
|
|
@@ -488,7 +485,7 @@
|
|
|
488
485
|
}
|
|
489
486
|
.MobileInput {
|
|
490
487
|
width: 70%;
|
|
491
|
-
|
|
488
|
+
|
|
492
489
|
}
|
|
493
490
|
}
|
|
494
491
|
|