PageSourceSearch

https://assets.prod.prolicht.at/build/assets/NewsletterSection-C6bwXexv.js

js prolicht.at collected 2026-10-04 18:02:50 UTC 13,246 bytes, 1 lines download raw bytes

1import{o as b,f as x,a as t,m as $,i as N,u as z,j as W,d as J,p as h,e as v,v as G,c as Q,w as R,b as f,g as o,k as T,t as _,s as F,R as X,F as Z,D as ee,E as te,N as le}from"./app-f0MxXKHs.js";import{_ as E,a as ae}from"./FormField-HMIf5Zys.js";import{a as se,_ as ne}from"./AnimatedButton-Czi8AioW.js";import{u as re}from"./useCountries-C0O9BWyx.js";const I="/build/assets/sun-Cj-cCLnn.svg",P="/build/assets/sunyellow-B5kEkuK1.svg",oe="/build/assets/SmallCircle-B7c3K33T.svg",ie="/build/assets/ArrowRight-B-ONE0F7.svg",ce="/build/assets/checkmark-DJlSwf04.svg",ue={class:"w-4 h-4 relative flex-shrink-0"},de={key:0,class:"w-3 h-3 absolute left-[2px] top-[2px]",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},pe=["stroke"],me={__name:"Checkbox",props:{checked:{type:Boolean,default:!1},variant:{type:String,default:"default",validator:e=>["default","muted"].includes(e)}},setup(e){return(s,a)=>(b(),x("div",ue,[t("div",{class:$(["w-4 h-4 left-0 top-0 absolute border",e.variant==="muted"?"border-gray-300":"border-border-dark"])},null,2),e.checked?(b(),x("svg",de,[t("path",{d:"M2 6L5 9L10 3",stroke:e.variant==="muted"?"#9CA3AF":"#18191A","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,8,pe)])):N("",!0)]))}},U="recaptcha-v3-script";function fe(e){return`https://www.google.com/recaptcha/api.js?render=${encodeURIComponent(e)}`}function A(e){return typeof e=="string"&&e.trim().length>0}function ve(e,s=null){const a=e?.recaptcha?.siteKey;return A(a)?a:A(s)?s:null}const D=new WeakMap;function O(e,s=document){if(!A(e))return Promise.resolve(!1);const a=s.getElementById(U);if(a)return D.get(a)||Promise.resolve(!0);const c=s.createElement("script");c.id=U,c.src=fe(e),c.async=!0,c.defer=!0;const d=new Promise(m=>{c.onload=()=>m(!0)});return D.set(c,d),s.head.appendChild(c),d}async function ge(e,s,{doc:a=document,win:c=window}={}){return A(e)?(await O(e,a),new Promise(d=>{const m=c.grecaptcha;if(!m||typeof m.ready!="function"){d(null);return}m.ready(()=>{m.execute(e,{action:s}).then(k=>d(k||null)).catch(()=>d(null))})})):null}const M=/already (exists|subscribed)/i,he=new Set(["unknown_conflict","already_exists"]);function j(e){const s=e?.data?.errors;return Array.isArray(s)?s:[]}function _e(e){return he.has(String(e?.code??"").toLowerCase())||M.test(String(e?.title??""))?!0:Array.isArray(e?.details)&&e.details.some(s=>M.test(String(s)))}function be(e){if(!e)return!1;const s=j(e);return s.some(_e)?!0:e.status===409&&s.length===0}function we(e,s){if(be(e))return{field:"email",message:s("newsletter_modal.error_already_subscribed","This email address is already subscribed to our newsletter.")};if(e?.status===422){const a=j(e)[0]?.details??[];if(a.length)return{field:null,message:a.join(" · ")}}return{field:null,message:s("newsletter_modal.error_generic","Something went wrong. Please try again.")}}const ye={class:"space-y-5"},xe={class:"grid grid-cols-2 gap-4"},ke={class:"pt-2"},Se={class:"flex items-start gap-3 cursor-pointer select-none"},Ce={class:"mt-0.5"},Ee=["checked"],$e={class:"text-sm font-light font-narrow text-dark leading-5"},Ae=["href"],Ve={key:0,class:"mt-2 text-[11px] leading-[13px] font-light font-narrow text-red-500"},Ne={key:0,class:"text-xs text-red-500"},Te={class:"pt-4"},Be={__name:"NewsletterModal",props:{show:{type:Boolean,default:!1},initialEmail:{type:String,default:""}},emits:["close","subscribed"],setup(e,{emit:s}){const{t:a}=z(),c=W(),d=ve(c.props,"6Lfl-CctAAAAAFODUEiQBXJL9KPg_SgLrWSYF1u6"),{localePath:m}=J(),k=e,S=s,w=()=>({firstName:"",lastName:"",gender:"",email:k.initialEmail||"",country:"",locale:c.props.locale||"en",privacyAccepted:!1}),l=h(w()),r=h({}),g=h(!1),y=h(""),B=v(()=>[{label:a("newsletter_modal.gender_female","Female"),value:"female"},{label:a("newsletter_modal.gender_male","Male"),value:"male"},{label:a("newsletter_modal.gender_other","Other"),value:"other"},{label:a("newsletter_modal.gender_prefer_not_to_say","Prefer not to say"),value:"prefer_not_to_say"}]),u=v(()=>[{label:"English",value:"en"},{label:"Deutsch",value:"de"},{label:"Français",value:"fr"},{label:"Italiano",value:"it"},{label:"Español",value:"es"},{label:"Português",value:"pt"}]),C=v(()=>l.value.locale),{countries:K}=re(C),Y=v(()=>K.value.map(p=>({label:p.name,value:p.code}))),q=v(()=>m("/legal/privacy"));G(()=>k.show,p=>{p&&(l.value=w(),r.value={},y.value="",A(d)&&O(d))});const H=async()=>
1{if(g.value)return;r.value={},y.value="";const p=a("newsletter_modal.error_required","This field is required"),n={};if(l.value.firstName.trim()||(n.first_name=p),l.value.lastName.trim()||(n.last_name=p),l.value.gender||(n.gender=p),l.value.country||(n.country=p),l.value.locale||(n.locale=p),(!l.value.email||!l.value.email.includes("@"))&&(n.email=a("newsletter_modal.error_invalid_email","Please enter a valid email address")),l.value.privacyAccepted||(n.privacy_policy=a("newsletter_modal.error_privacy_required","You must accept the privacy policy to subscribe")),Object.keys(n).length>0){r.value=n;return}g.value=!0;try{const i={male:"male",female:"female",other:"unspecified",prefer_not_to_say:"unspecified"},V=await ge(d,"newsletter");await X.post("/api/v1/prolicht/users/newsletter-sub",{firstname:l.value.firstName.trim(),lastname:l.value.lastName.trim(),gender:i[l.value.gender]??"unspecified",email:l.value.email.trim(),country:l.value.country,language:l.value.locale,privacy_policy_accepted:l.value.privacyAccepted,recaptcha_token:V}),S("subscribed")}catch(i){const{field:V,message:L}=we(i.response,a);V?r.value={...r.value,[V]:L}:y.value=L}finally{g.value=!1}};return(p,n)=>(b(),Q(ae,{show:e.show,title:o(a)("newsletter_modal.title","PROLICHT NEWSLETTER"),onClose:n[8]||(n[8]=i=>p.$emit("close"))},{"title-icon":R(()=>[f(ne,{name:"plus",size:16,class:"text-dark shrink-0"})]),default:R(()=>[t("div",ye,[f(E,{id:"newsletter-first-name",label:o(a)("newsletter_modal.first_name","First name"),modelValue:l.value.firstName,"onUpdate:modelValue":n[0]||(n[0]=i=>l.value.firstName=i),error:r.value.first_name},null,8,["label","modelValue","error"]),f(E,{id:"newsletter-last-name",label:o(a)("newsletter_modal.last_name","Last name"),modelValue:l.value.lastName,"onUpdate:modelValue":n[1]||(n[1]=i=>l.value.lastName=i),error:r.value.last_name},null,8,["label","modelValue","error"]),f(E,{id:"newsletter-gender",type:"select",label:o(a)("newsletter_modal.gender","Gender"),options:B.value,modelValue:l.value.gender,"onUpdate:modelValue":n[2]||(n[2]=i=>l.value.gender=i),error:r.value.gender},null,8,["label","options","modelValue","error"]),f(E,{id:"newsletter-email",type:"email",label:o(a)("newsletter_modal.email","Email"),modelValue:l.value.email,"onUpdate:modelValue":n[3]||(n[3]=i=>l.value.email=i),error:r.value.email},null,8,["label","modelValue","error"]),t("div",xe,[f(E,{id:"newsletter-country",type:"select",label:o(a)("newsletter_modal.country","Country"),options:Y.value,modelValue:l.value.country,"onUpdate:modelValue":n[4]||(n[4]=i=>l.value.country=i),error:r.value.country},null,8,["label","options","modelValue","error"]),f(E,{id:"newsletter-locale",type:"select",label:o(a)("newsletter_modal.locale","Language"),options:u.value,modelValue:l.value.locale,"onUpdate:modelValue":n[5]||(n[5]=i=>l.value.locale=i),error:r.value.locale},null,8,["label","options","modelValue","error"])]),t("div",ke,[t("label",Se,[t("span",Ce,[f(me,{checked:l.value.privacyAccepted},null,8,["checked"])]),t("input",{type:"checkbox",class:"sr-only",checked:l.value.privacyAccepted,onChange:n[6]||(n[6]=i=>l.value.privacyAccepted=i.target.checked)},null,40,Ee),t("span",$e,[T(_(o(a)("newsletter_modal.privacy_prefix","I accept the"))+" ",1),t("a",{href:q.value,target:"_blank",rel:"noopener",class:"underline hover:no-underline",onClick:n[7]||(n[7]=F(()=>{},["stop"]))},_(o(a)("newsletter_modal.privacy_link","privacy policy")),9,Ae)])]),r.value.privacy_policy?(b(),x("p",Ve,_(r.value.privacy_policy),1)):N("",!0)]),y.value?(b(),x("p",Ne,_(y.value),1)):N("",!0),t("div",Te,[f(se,{variant:"primary",label:g.value?o(a)("newsletter_modal.submitting","Subscribing…"):o(a)("newsletter_modal.subscribe","Subscribe"),disabled:g.value,onClick:H},null,8,["label","disabled"])])])]),_:1},8,["show","title"]))}},Le={class:"w-full bg-dark"},Re={class:"max-w-[1600px] mx-auto flex flex-col gap-10 px-5 py-7 md:flex-row md:gap-10 md:items-center md:justify-between md:h-newsletter md:px-10 md:py-0 lg:px-gutter"},Ie={class:"flex items-center gap-6 shrink-0"},Pe={class:"relative w-14 h-14"},Ue=["src"],De=["src"],Me={class:"flex flex-col gap-3"},ze={class:"flex items-center gap-1"},Fe={class:"relative w-[9px] h-[9px]"},Oe=["src"],je=["src"],Ke={class:"text-[22px] leading-7 font-light font-narrow text-white"},Ye={class:"flex-1 md:max-w-[440px] md:mx-6"},qe={class:"flex items-center w-full border-b border-white/30 focus-within:border-white transition-colors duration-200"},He=["placeholder","onKeydown"],We={class:"flex items-center gap-2 h-12"},Je={class:"w-12 h-12 relative overflow-hidden"},Ge={class:"absolute right-0 top-1/2 -translate-y-1/2 transition-opacity duration-300 [transition-timing-function:cubic-bezier(0,0,0.58,1)] group-hover/btn:opacity-0"},Qe=["src"],Xe={class:"absolute right-0 top-1/2 -translate-y-1/2 origin-right scale-0 transition-transform duration-300 [transition-timing-function:cubic-bezier(0,0,0.58,1)] group-hover/btn:scale-100"},Ze={class:"w-12 h-12 bg-white rounded-full flex items-center justify-center overflow-hidden"},et=["src"],tt={class:"relative text-xs font-[325] font-narrow uppercase leading-[18px] tracking-[0.12px] text-white"},lt={key:1,class:"flex items-center gap-2 h-8"},at=["src"],st={class:"relative text-xs font-[325] font-narrow uppercase leading-[18px] tracking-[0.12px] text-white"},nt={__name:"NewsletterSection",props:{label:{type:String,default:null},heading:{type:String,default:null},buttonText:{type:String,default:null},background:{type:String,default:"default",validator:e=>["default","dark"].includes(e)}},setup(e){const{t:s}=z(),a=e,c=v(()=>a.label??s("newsletter.label")),d=v(()=>a.heading??s("newsletter.heading")),m=v(()=>a.buttonText??s("newsletter.button")),k=v(()=>s("newsletter.placeholder")),S=h(""),w=h(!1),l=h(!1),r=h(!1),g=()=>{l.value||(w.value=!0)},y=()=>{l.value=!0,w.value=!1,S.value=""};return(B,u)=>(b(),x("section",Le,[t("div",Re,[t("div",Ie,[t("div",Pe,[t("img",{src:o(I),alt:"",class:$(["absolute inset-0 w-14 h-14 transition-opacity duration-700 [transition-timing-function:cubic-bezier(0.68,-0.55,0.265,1.55)]",r.value?"opacity-0":"opacity-100"])},null,10,Ue),t("img",{src:o(P),alt:"",class:$(["absolute inset-0 w-14 h-14 transition-opacity duration-700 [transition-timing-function:cubic-bezier(0.68,-0.55,0.265,1.55)]",r.value?"opacity-100":"opacity-0"])},null,10,De)]),t("div",Me,[t("div",ze,[t("div",Fe,[t("img",{src:o(I),alt:"",class:$(["absolute inset-0 w-[9px] h-[9px] transition-opacity duration-700 [transition-timing-function:cubic-bezier(0.68,-0.55,0.265,1.55)]",r.value?"opacity-0":"opacity-100"])},null,10,Oe),t("img",{src:o(P),alt:"",class:$(["absolute inset-0 w-[9px] h-[9px] transition-opacity duration-700 [transition-timing-function:cubic-bezier(0.68,-0.55,0.265,1.55)]",r.value?"opacity-100":"opacity-0"])},null,10,je)]),t("span",{class:$(["text-xs font-[325] leading-[18px] tracking-[0.12px] uppercase font-narrow transition-colors duration-700 [transition-timing-function:cubic-bezier(0.68,-0.55,0.265,1.55)]",r.value?"text-[#DBB956]":"text-white"])},_(c.value),3)]),t("p",Ke,_(d.value),1)])]),l.value?(b(),x("div",lt,[t("img",{src:o(ce),alt:"",class:"w-5 h-5"},null,8,at),t("span",st,[T(_(o(s)("newsletter.success","SUCCESSFULLY SUBSCRIBED"))+" ",1),u[5]||(u[5]=t("span",{class:"absolute left-0 -bottom-1.5 w-full h-px bg-white"},null,-1))])])):(b(),x(Z,{key:0},[t("div",Ye,[t("label",qe,[ee(t("input",{"onUpdate:modelValue":u[0]||(u[0]=C=>S.value=C),"data-testid":"newsletter-inline-email",type:"email",placeholder:k.value,class:"w-full bg-transparent border-0 px-0 py-3 text-base leading-5 font-light font-narrow text-white placeholder:text-white/60 focus:outline-none focus:ring-0",onKeydown:le(F(g,["prevent"]),["enter"])},null,40,He),[[te,S.value]])])]),t("div",{class:"group/btn flex flex-col items-center cursor-pointer md:items-end shrink-0",onClick:g,onMouseenter:u[1]||(u[1]=C=>r.value=!0),onMouseleave:u[2]||(u[2]=C=>r.value=!1)},[t("div",We,[t("div",Je,[t("div",Ge,[t("img",{src:o(oe),alt:"",class:"w-[9px] h-[9px]"},null,8,Qe)]),t("div",Xe,[t("div",Ze,[t("img",{src:o(ie),alt:"",class:"w-6 h-6 -translate-x-full transition-transform duration-300 delay-[170ms] [transition-timing-function:cubic-bezier(0,0,0.58,1)] group-hover/btn:translate-x-0"},null,8,et)])])]),t("span",tt,[T(_(m.value)+" ",1),u[4]||(u[4]=t("span",{class:"absolute left-0 -bottom-1.5 w-full h-px bg-white transition-all duration-300 [transition-timing-function:cubic-bezier(0,0,0.58,1)] group-hover/btn:w-0 group-hover/btn:opacity-0"},null,-1))])])],32)],64))]),f(Be,{show:w.value,"initial-email":S.value,onClose:u[3]||(u[3]=C=>w.value=!1),onSubscribed:y},null,8,["show","initial-email"])]))}},ut=Object.freeze(Object.defineProperty({__proto__:null,default:nt},Symbol.toStringTag,{value:"Module"}));
1export{ut as N,nt as _,me as a,ge as e,A as i,O as l,ve as r};

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.