1import{a as ue,b as he,c as C,d as fe,e as ge,f as be,g as ve,i as ye,j as Ce,m as xe,n as Ee,o as we,p as Se,q as Me,r as ke}from"./chunk-4NSGEA2P.js";import{a as de}from"./chunk-ZFM4LN6H.js";import{a as pe,b as me}from"./chunk-C2PFUC67.js";import{d as ce}from"./chunk-WM6ET3ML.js";import{a as le}from"./chunk-I3YUCYU2.js";import"./chunk-BHY37MUJ.js";import"./chunk-7Q3WHFNU.js";import{f as se}from"./chunk-3LYEIYKS.js";import"./chunk-PZC3LLEY.js";import{a as _}from"./chunk-HADTWAPA.js";import"./chunk-IHQP7CVM.js";import{b as re}from"./chunk-3OFPMO5Z.js";import{$ as F,$b as w,Ab as T,Eb as ee,Fb as te,Gb as ie,Ha as c,Hb as ne,L as k,Lb as a,M as A,O as y,P as f,Pa as h,Tb as P,Ua as g,Ub as z,V as O,Va as I,Vb as V,W as D,Zb as q,Zd as ae,_b as L,aa as Q,e as K,g as U,i as G,ib as J,ka as Y,kb as x,lb as E,oa as Z,od as oe,qb as d,rb as s,sb as l,tb as u,u as W,ub as b,vb as v,w as $,yb as X}from"./chunk-UUOU5G4C.js";import"./chunk-EQDQRRRY.js";var j=class{};var S=class{static cannotBeBlank(p){let t=p.value;return t===""?null:t?.trim().length===0?{invalid:!0}:null}};var Oe=new y("recaptcha-language"),De=new y("recaptcha-base-url"),Ie=new y("recaptcha-nonce-tag"),Te=new y("recaptcha-settings"),Pe=new y("recaptcha-v3-site-key"),ze=new y("recaptcha-loader-options");function Ve(e,p,t,{url:i,lang:n,nonce:o}={}){window.ng2recaptchaloaded=()=>{t(grecaptcha)};let m=document.createElement("script");m.innerHTML="";let{url:r,nonce:M}=p(new URL(i||"https://www.google.com/recaptcha/api.js"));r.searchParams.set("render",e==="explicit"?e:e.key),r.searchParams.set("onload","ng2recaptchaloaded"),r.searchParams.set("trustedtypes","true"),n&&r.searchParams.set("hl",n),m.src=r.href;let H=M||o;H&&m.setAttribute("nonce",H),m.async=!0,m.defer=!0,document.head.appendChild(m)}function qe({v3SiteKey:e,onBeforeLoad:p,onLoaded:t}){let i=e?{key:e}:"explicit";Fe.loadScript(i,p,t)}var Fe={loadScript:Ve,newLoadScript:qe};function Le(e){return e.asObservable().pipe(W(p=>p!==null))}var _e=(()=>{class e{static{this.ready=null}constructor(t,i,n,o,m,r){this.platformId=t,this.language=i,this.baseUrl=n,this.nonce=o,this.v3SiteKey=m,this.options=r;let M=this.init();this.ready=M?Le(M):G()}init(){if(e.ready)return e.ready;if(!ae(this.platformId))return;let t=new K(null);return e.ready=t,Fe.newLoadScript({v3SiteKey:this.v3SiteKey,onBeforeLoad:i=>{if(this.options?.onBeforeLoad)return this.options.onBeforeLoad(i);let n=new URL(this.baseUrl??i);return this.language&&n.searchParams.set("hl",this.language),{url:n,nonce:this.nonce}},onLoaded:i=>{let n=i;this.options?.onLoaded&&(n=this.options.onLoaded(i)),t.next(n)}}),t}static{this.\u0275fac=function(i){return new(i||e)(f(Z),f(Oe,8),f(De,8),f(Ie,8),f(Pe,8),f(ze,8))}}static{this.\u0275prov=k({token:e,factory:e.\u0275fac})}}return e})(),He=0,je=(()=>{class e{constructor(t,i,n,o){this.elementRef=t,this.loader=i,this.zone=n,this.id=`ngrecaptcha-${He++}`,this.errorMode="default",this.resolved=new F,this.error=new F,this.errored=new F,o&&(this.siteKey=o.siteKey,this.theme=o.theme,this.type=o.type,this.size=o.size,this.badge=o.badge)}ngAfterViewInit(){this.subscription=this.loader.ready.subscribe(t=>{t!=null&&t.render instanceof Function&&(this.grecaptcha=t,this.renderRecaptcha())})}ngOnDestroy(){this.grecaptchaReset(),this.subscription&&this.subscription.unsubscribe()}execute(){this.size==="invisible"&&(this.widget!=null?this.grecaptcha.execute(this.widget):this.executeRequested=!0)}reset(){this.widget!=null&&(this.grecaptcha.getResponse(this.widget)&&this.resolved.emit(null),this.grecaptchaReset())}get __unsafe_widgetValue(){return this.widget!=null?this.grecaptcha.getResponse(this.widget):null}expired(){this.resolved.emit(null)}onError(t){this.error.emit(t),this.errored.emit(t)}captchaResponseCallback(t){this.resolved.emit(t)}grecaptchaReset(){this.widget!=null&&this.zone.runOutsideAngular(()=>this.grecaptcha.reset(this.widget))}renderRecaptcha(){let t={badge:this.badge,callback:i=>{this.zone.run(()=>this.captchaResponseCallback(i))},"expired-callback":()=>{this.zone.run(()=>this.expired())},sitekey:this.siteKey,size:this.size,tabindex:this.tabIndex,theme:this.theme,type:this.t
1ype};this.errorMode==="handled"&&(t["error-callback"]=(...i)=>{this.zone.run(()=>this.onError(i))}),this.widget=this.grecaptcha.render(this.elementRef.nativeElement,t),this.executeRequested===!0&&(this.executeRequested=!1,this.execute())}static{this.\u0275fac=function(i){return new(i||e)(h(Y),h(_e),h(Q),h(Te,8))}}static{this.\u0275cmp=g({type:e,selectors:[["re-captcha"]],hostVars:1,hostBindings:function(i,n){i&2&&J("id",n.id)},inputs:{id:"id",siteKey:"siteKey",theme:"theme",type:"type",size:"size",tabIndex:"tabIndex",badge:"badge",errorMode:"errorMode"},outputs:{resolved:"resolved",error:"error",errored:"errored"},exportAs:["reCaptcha"],standalone:!1,decls:0,vars:0,template:function(i,n){},encapsulation:2})}}return e})(),Ke=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=I({type:e})}static{this.\u0275inj=A({})}}return e})(),Re=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=I({type:e})}static{this.\u0275inj=A({providers:[_e],imports:[Ke]})}}return e})();var N=(()=>{class e{constructor(t){this.http=t}sendEmail(t){return this.http.post(`${_.marketingUrl}/tokenised-email`,t)}static{this.\u0275fac=function(i){return new(i||e)(f(re))}}static{this.\u0275prov=k({token:e,factory:e.\u0275fac})}}return e})();var We=["captchaRef"],B=e=>({"invalid-input":e}),Ne=()=>({standalone:!0});function $e(e,p){e&1&&a(0," ENVIAR ")}function Qe(e,p){e&1&&a(0," ENVIANDO... ")}function Ye(e,p){e&1&&a(0," \xA1MENSAJE ENVIADO! ")}function Ze(e,p){e&1&&a(0," ERROR, INT\xC9NTALO DE NUEVO ")}var Be=(()=>{class e{constructor(t,i){this.contactService=t,this.formBuilder=i}ngOnInit(){this.emailSubmitted=!1,this.emailCouldNotBeSent=!1,this.emailBeingSent=!1,this.recaptchaSiteKey=_.recaptchaKey,this.tokenisedEmail=new j,this.populateForm()}ngAfterViewInit(){this.recaptchaSubscription=this.captchaRef.resolved.subscribe(t=>{t&&this.emailSubmitted===!1&&(this.emailBeingSent=!0,this.tokenisedEmail.email=this.contactForm.getRawValue(),this.tokenisedEmail.token=t,this.tokenisedEmail.email.subject=`Nuevo mensaje de ${this.tokenisedEmail.email.fullName}`,this.tokenisedEmail.email.message=`<div class="block-grid" style="min-width: 320px; max-width: 640px; overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; Margin: 0 auto; background-color: #ffffff;"><div style="border-collapse: collapse;display: table;width: 100%;background-color:#ffffff;"><div class="col num12" style="min-width: 320px; max-width: 640px; display: table-cell; vertical-align: top; width: 640px;"><div class="col_cont" style="width:100% !important;"><div style="border-top:0px solid transparent; border-left:0px solid transparent; border-bottom:0px solid transparent; border-right:0px solid transparent; padding-top:0px; padding-bottom:0px; padding-right: 0px; padding-left: 0px;"><div align="center" class="img-container center autowidth" style="padding-right: 0px;padding-left: 0px;"></div><div style="line-height:1.2;padding-bottom:10px;padding-top: 30px;"><div class="txtTinyMce-wrapper" style="line-height: 1.2; mso-line-height-alt: 14px;"><p style="font-size: 30px; line-height: 1.2; text-align: center; word-break: break-word; mso-line-height-alt: 55px; margin: 0;letter-spacing: 2px; font-weight: bold;">\xA1<span style="font-size: 30px;color:#8b2331;">Gracias</span> por tu email!</p></div></div><div style="color:#000000;line-height:0;"><div class="txtTinyMce-wrapper" style="line-height: 1.5; font-size: 12px; mso-line-height-alt: 18px;"><p style="line-height: 1.5; word-break: break-word; font-size: 14px; mso-line-height-alt: 24px; margin-bottom: 10px;"><span style="font-size: 18px; color: #000000;">Hola ${this.tokenisedEmail.email.fullName},</p><p style="line-height: 1.5; word-break: break-word; font-size: 14px; mso-line-height-alt: 24px;"><span style="font-size: 18px; color: #000000;">Muchas gracias por contactar con el equipo de <span style="color: black !important">InfoTabaco.com</span>. Atenderemos tu consulta a la mayor brevedad y nuestro equipo se pondr\xE1 en contacto contigo. A continuaci\xF3n te dejamos una copia de tu email:</p><p style="line-height: 1.5; word-break: break-word; font-size: 14px; mso-line-height-alt: 24px; margin-top: 20px; margin-bottom: 0;"><span style="font-size: 18px; color: #000000;"><span style="font-weight: bold;color:#8b2331;">Nombre: </span>${this.tokenisedEmail.email.fullName}</p><p style="line-height: 1.5; word-break: break-word; font-size: 14px; mso-line-height-alt: 24px; margin-top: 0; margin-bottom: 0;"><span style="font-size: 18px; color: #000000;"><span style="font-weight: bold;color:#8b2331;">
1Email: </span>${this.tokenisedEmail.email.contactEmail}</p><p style="line-height: 1.5; word-break: break-word; font-size: 14px; mso-line-height-alt: 24px; margin-top: 0; margin-bottom: 0;"><span style="font-size: 18px; color: #000000;"><span style="font-weight: bold;color:#8b2331;">Tel\xE9fono: </span>${this.tokenisedEmail.email.phone}</p><p style="line-height: 1.5; word-break: break-word; font-size: 14px; mso-line-height-alt: 24px; margin-bottom: 0;"><span style="font-size: 18px; color: #000000;"><span style="font-weight: bold;color:#8b2331;">Mensaje: </span></p><p style="line-height: 1.5; word-break: break-word; font-size: 14px; mso-line-height-alt: 24px; margin-top: 0; margin-bottom: 0;"><span style="font-size: 18px; color: #000000;">${this.message}</p></div></div></div></div></div></div></div>`,this.contactService.sendEmail(this.tokenisedEmail).pipe($(i=>(console.log("Error submitting new contact request",i),this.emailCouldNotBeSent=!0,this.emailBeingSent=!1,this.captchaRef.reset(),U))).subscribe(i=>{i?(this.emailSubmitted=!0,this.emailCouldNotBeSent=!1):this.emailCouldNotBeSent=!0,this.emailBeingSent=!1}))})}ngOnDestroy(){this.recaptchaSubscription?.unsubscribe()}onSubmit(){this.captchaRef.execute()}populateForm(){this.contactForm=this.formBuilder.group({fullName:["",[C.required,S.cannotBeBlank]],contactEmail:["",[C.required,C.pattern("^[a-z0-9._%+-a-z0-9.-]+@[a-z0-9.-]+\\.[a-z]{2,10}$"),S.cannotBeBlank]],phone:["",[C.minLength(9),C.maxLength(15),C.pattern("^[0-9]*$")]]}),this.contactForm.markAllAsTouched(),this.contactForm.get("contactEmail").valueChanges.subscribe(t=>{this.contactForm.get("contactEmail").setValue(t.toLowerCase(),{emitEvent:!1})})}static{this.\u0275fac=function(i){return new(i||e)(h(N),h(Se))}}static{this.\u0275cmp=g({type:e,selectors:[["app-contact-form"]],viewQuery:function(i,n){if(i&1&&ee(We,5),i&2){let o;te(o=ie())&&(n.captchaRef=o.first)}},decls:26,vars:26,consts:[["emailMessage","ngModel"],["captchaRef","reCaptcha"],[3,"ngSubmit","formGroup"],[1,"mb-3"],[1,"form-group"],["type","text","placeholder","Nombre*","formControlName","fullName","required","",1,"form-control","py-2","px-1",3,"ngClass"],["type","email","placeholder","Email*","formControlName","contactEmail",1,"form-control","py-2","px-1",3,"ngClass"],["type","text","placeholder","Tel\xE9fono","formControlName","phone","OnlyNumbers","",1,"form-control","py-2","px-1",3,"ngClass"],["maxlength","3000","rows","4","placeholder","Mensaje. Recuerda que no somos ning\xFAn estanco*","name","emailMessage","pattern",".{3,}","required","",1,"form-control","py-2","px-1","max-height-200px",2,"max-height","200px",3,"ngModelChange","ngModel","ngClass","ngModelOptions"],[1,"form-group","form-check"],["type","checkbox",1,"custom-control-input","form-check-input",3,"ngModelChange","disabled","ngModel","ngModelOptions"],[1,"form-check-label","ms-2"],["target","_blank","routerLink","/politica-de-privacidad",1,"fw-bold","black"],["size","invisible","errorMode","handled",3,"siteKey"],["type","submit",1,"btn","fw-bold","transition",3,"disabled"]],template:function(i,n){if(i&1){let o=X();s(0,"form",2),T("ngSubmit",function(){return n.onSubmit()}),s(1,"h3",3),a(2," Cont\xE1ctanos para enviarnos tus comentarios o nueva funcionalidad que te gustar\xEDa que tuviera la p\xE1gina. "),l(),s(3,"div",4),u(4,"input",5),l(),s(5,"div",4),u(6,"input",6),l(),s(7,"div",4),u(8,"input",7),l(),s(9,"div",4)(10,"textarea",8,0),V("ngModelChange",function(r){return O(o),z(n.message,r)||(n.message=r),D(r)}),a(12," "),l()(),s(13,"div",9)(14,"input",10),V("ngModelChange",function(r){return O(o),z(n.privacyPolicyAccepted,r)||(n.privacyPolicyAccepted=r),D(r)}),l(),s(15,"label",11),a(16,"He le\xEDdo y acepto la "),s(17,"a",12),a(18,"Pol\xEDtica de Privacidad"),l()()(),u(19,"re-captcha",13,1),s(21,"button",14),x(22,$e,1,0),x(23,Qe,1,0),x(24,Ye,1,0),x(25,Ze,1,0),l()()}if(i&2){let o=ne(11);d("formGroup",n.contactForm),c(4),d("ngClass",w(16,B,!n.contactForm.controls.fullName.pristine&&n.contactForm.controls.fullName.invalid)),c(2),d("ngClass",w(18,B,!n.contactForm.controls.contactEmail.pristine&&n.contactForm.controls.contactEmail.invalid)),c(2),d("ngClass",w(20,B,!n.contactForm.controls.phone.pristine&&n.contactForm.controls.phone.invalid)),c(2),P("ngModel",n.message),d("ngClass",w(22,B,o.dirty&&o.invalid))("ngModelOptions",L(24,Ne)),c(4),d("disabled",n.emailBeingSent),P("ngModel",n.privacyPolicyAccepted),d("ngModelOptions",L(25,Ne)),c(5),d("siteKey",n.recaptchaSiteKey),c(2),d("disabled",n.contactForm.invali
1d||n.emailBeingSent||n.emailSubmitted||!n.privacyPolicyAccepted||!n.message),c(),E(!n.emailSubmitted&&!n.emailBeingSent&&!n.emailCouldNotBeSent?22:-1),c(),E(n.emailBeingSent?23:-1),c(),E(n.emailSubmitted&&!n.emailBeingSent&&!n.emailCouldNotBeSent?24:-1),c(),E(!n.emailSubmitted&&!n.emailBeingSent&&n.emailCouldNotBeSent?25:-1)}},dependencies:[Me,ve,he,ue,fe,ge,xe,Ee,we,be,ke,Ce,ye,oe,se,Re,je],styles:[".invalid-input[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]:focus:invalid, input[_ngcontent-%COMP%]:focus:invalid{border:2px solid #cc1e1e!important;box-shadow:0 0 0 .2rem #e9686840!important}.max-height-200px[_ngcontent-%COMP%]{max-height:200px}.form-group[_ngcontent-%COMP%]{margin-bottom:.5rem}.form-control[_ngcontent-%COMP%]{width:100%;background:transparent;border-radius:0;border:none;padding:10px!important;outline:none;font-style:italic;border:1px solid gray;min-height:50px}.form-check-input[_ngcontent-%COMP%]{width:.75rem!important;height:.75rem!important;margin-top:0rem;cursor:pointer;width:100%;border:1px solid gray;outline:none;padding:10px}","input[_ngcontent-%COMP%]{width:100%;background:transparent;border-radius:0;border:1px solid black;padding:10px;color:#000;outline:none;font-style:italic}[_ngcontent-%COMP%]::placeholder{color:#8b2331;opacity:1}[_ngcontent-%COMP%]::-ms-input-placeholder{color:#8b2331}.form-check-input[_ngcontent-%COMP%]{width:.75rem!important;height:.75rem!important;margin-top:0rem;cursor:pointer}.invalid-input[_ngcontent-%COMP%], input[_ngcontent-%COMP%]:focus:required:invalid{border:2px solid #cc1e1e!important;box-shadow:0 0 0 .2rem #e9686840}"],changeDetection:0})}}return e})();var Ae=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=g({type:e,selectors:[["app-contact-details"]],decls:15,vars:0,consts:[[1,"green"],[1,"fst-italic"]],template:function(i,n){i&1&&(b(0,"h2",0),a(1,` Danos tu opini\xF3n sobre la web InfoTabaco.com 2`),v(),b(2,"p"),a(3," Siempre queremos mejorar, y tu opini\xF3n es lo que m\xE1s nos importa. "),v(),b(4,"p"),a(5," Muchas de las ideas del portal nos las aportan nuestros usuarios y es por eso que tu "),b(6,"span",1),a(7,"feedback"),v(),a(8,` tiene un impacto directo en esta p\xE1gina. 3`),v(),b(9,"p"),a(10,` Si quieres aportar tu granito de arena para hacer mejor esta web, te invitamos a que nos contactes para darnos tu punto de vista o tus ideas. Le\xE9mos todos los comentarios y los valoramos junto con nuestro equipo de desarrollar para ver su viabilidad para poder llevarlos a cabo. 4`),v(),b(11,"p"),a(12,` InfoTabaco.com es el portal de consulta de informaci\xF3n de los estancos de Espa\xF1a, pero no representamos a ninguna marca, tabacalera ni estanco, por lo que cualquier tipo de incidencia o cuesti\xF3n relacionada con ella deber\xE1s indic\xE1rsela a la persona o entidad que corresponda. 5`),v(),b(13,"p",1),a(14,` \xA1Muchas gracias por tu aportaci\xF3n! 6`),v())},encapsulation:2,changeDetection:0})}}return e})();var zt=(()=>{class e{constructor(t){this.seoService=t}ngOnInit(){this.seoService.setTitleAndTags("Contacta con nosotros | InfoTabaco","Encuentra el estanco m\xE1s cercano cerca de ti abierto ahora, en tu provincia, municipio o localidad y ahorra tiempo buscando una tabacalera cerca","article","/assets/contacto.webp"),this.breadCrumbs=[{name:"Inicio",title:"P\xE1gina de inicio de InfoTabaco.com",uri:"/"},{name:"Contacto",title:"Contacta con nosotros",uri:"/contacto"}]}static{this.\u0275fac=function(i){return new(i||e)(h(ce))}}static{this.\u0275cmp=g({type:e,selectors:[["app-contact"]],features:[q([N])],decls:10,vars:1,consts:[["heading","Contacta con nosotros","desktopImageUrl","/assets/contacto.webp","mobileImageUrl","/assets/contacto-mobile.webp"],[3,"breadCrumbs"],[1,"max-width-1000px","pb-5"],["adSlot","3522868141"],[1,"row"],[1,"col-12","col-md-6","mb-5","mb-md-0"],[1,"col-12","col-md-6"]],template:function(i,n){i&1&&(u(0,"app-page-introduction",0)(1,"app-bread-crumbs",1),s(2,"div",2),u(3,"app-ad-sense-desktop-only-banner",3),s(4,"div",4)(5,"div",5),u(6,"app-contact-details"),l(),s(7,"div",6),u(8,"app-contact-form"),l()(),u(9,"app-ad-sense-banner-standard",3),l()),i&2&&(c(),d("breadCrumbs",n.breadCrumbs))},dependencies:[me,pe,de,Ae,Be,le],encapsulation:2})}}return e})();export{zt as ContactComponent};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.