import{b as H,c as n,f as u,t as c,e as r,F as d,j as E,w as W,q as k,x as p,ac as j,y as _,bY as x,k as w,g as i,o as l}from"./index-BhWsT2U5.js";import{F as q}from"./FormSuccessScreen-Nt5nhLQq.js";import{a as z}from"./VBtn-5vd7LPoe.js";import{_ as Y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"form-shell"},J={class:"form-shell__container"},K={key:0,class:"form-shell__header"},O={key:0,class:"form-shell__title"},Q={key:1,class:"form-shell__subtitle"},X={key:0,class:"form-shell__confirm-hint"},Z={class:"form-shell__fields"},ee={key:0,class:"form-shell__consent-group"},te={key:0,class:"form-shell__privacy-paragraph"},se={key:1,class:"form-shell__consent"},ne=["disabled"],le={class:"form-shell__consent-text"},oe=["href"],ae={key:2,class:"form-shell__consent form-shell__consent--tracking"},re=["disabled"],ie={class:"form-shell__consent-text"},ce=["href"],ue={key:3,class:"form-shell__consent form-shell__consent--marketing"},de=["disabled"],me={class:"form-shell__consent-text"},he=["href"],fe={key:1,class:"form-shell__error",role:"alert"},ke=["disabled"],pe={key:0,class:"form-shell__spinner","aria-hidden":"true"},be={key:2,class:"form-shell__preview-hint"},ye=H({__name:"FormShell",props:{preset:{},status:{},errorMessage:{default:""},consent:{type:Boolean},trackingConsent:{type:Boolean,default:!1},marketingConsent:{type:Boolean,default:!1},submitDisabled:{type:Boolean,default:!1},previewMode:{type:Boolean,default:!1},successTitle:{default:""},successText:{default:""},downloadUrl:{default:""},downloadLabel:{default:""},showReset:{type:Boolean,default:!0},analyticsEvent:{default:""},analyticsParams:{default:()=>({})}},emits:["submit","update:consent","update:trackingConsent","update:marketingConsent","reset"],setup(e,{emit:D}){const a=e,h=D,C=i({get:()=>a.consent,set:t=>h("update:consent",t)}),M=i({get:()=>a.trackingConsent,set:t=>h("update:trackingConsent",t)}),T=i({get:()=>a.marketingConsent,set:t=>h("update:marketingConsent",t)}),S=i(()=>{var t;return((t=a.preset.options)==null?void 0:t.showTrackingConsent)===!0}),b=i(()=>{var t;return((t=a.preset.options)==null?void 0:t.showMarketingConsent)===!0}),y=i(()=>{var t,s;return((s=(t=a.preset.options)==null?void 0:t.privacyParagraph)==null?void 0:s.trim())||""}),L=i(()=>a.successTitle||"Vielen Dank!"),N=i(()=>a.successText||a.preset.successMessage||"Wir haben deine Anfrage erhalten."),U=i(()=>a.status==="success"&&a.marketingConsent===!0&&b.value);function g(t){if(!t)return[];const s=[],o=/\[([^\]]+)\]\(([^)]+)\)/g,m=[...t.matchAll(o)];let f=0;for(const B of m){const v=B.index??0;v>f&&s.push({type:"text",text:t.slice(f,v)});const[A,V,F]=B;/^(\/|https?:\/\/)/.test(F)?s.push({type:"link",text:V,href:F}):s.push({type:"text",text:V}),f=v+A.length}return f<t.length&&s.push({type:"text",text:t.slice(f)}),s}const $=i(()=>g(a.preset.consentText||"")),P=i(()=>{var t;return g(((t=a.preset.options)==null?void 0:t.trackingConsentText)||"")}),I=i(()=>{var t;return g(((t=a.preset.options)==null?void 0:t.marketingConsentText)||"")});function R(){a.previewMode||h("submit")}return(t,s)=>(l(),n("section",G,[u("div",J,[e.preset.title||e.preset.subtitle?(l(),n("header",K,[e.preset.title?(l(),n("h2",O,c(e.preset.title),1)):r("",!0),e.preset.subtitle?(l(),n("p",Q,c(e.preset.subtitle),1)):r("",!0)])):r("",!0),e.status==="success"?(l(),n(d,{key:1},[E(q,{title:L.value,text:N.value,"download-url":e.downloadUrl||void 0,"download-label":e.downloadLabel||void 0,"show-reset-button":e.showReset,"reset-label":"Neue Eingabe","analytics-event":e.analyticsEvent||void 0,"analytics-params":e.analyticsParams,onReset:s[0]||(s[0]=o=>h("reset"))},null,8,["title","text","download-url","download-label","show-reset-button","analytics-event","analytics-params"]),U.value?(l(),n("div",X,[E(z,{size:"small",color:"primary",class:"mr-2"},{default:W(()=>[...s[7]||(s[7]=[k("mdi-email-check-outline",-1)])]),_:1}),s[8]||(s[8]=k(" Bitte bestätige deine Marketing-Einwilligung über den Link, den wir dir gerade per E-Mail geschickt haben. ",-1))])):r("",!0)],64)):(l(),n("form",{key:2,class:"form-shell__form",novalidate:"",onSubmit:p(R,["prevent"])},[u("div",Z,[j(t.$slots,"default",{},void 0,!0)]),e.preset.consentText||S.value||b.value||y.value?(l(),n("div",ee,[y.value?(l(),n("p",te,c(y.value),1)):r("",!0),e.preset.consentText?(l(),n("label",se,[_(u("input",{"onUpdate:modelValue":s[1]||(s[1]=o=>C.value=o),type:"checkbox",class:"form-shell__consent-input",disabled:e.status==="submitting"},null,8,ne),[[x,C.value]]),u("span",le,[(l(!0),n(d,null,w($.value,(o,m)=>(l(),n(d,{key:`dp-${m}`},[o.type==="link"?(l(),n("a",{key:0,href:o.href,target:"_blank",rel:"noopener noreferrer",class:"form-shell__consent-link",onClick:s[2]||(s[2]=p(()=>{},["stop"]))},c(o.text),9,oe)):(l(),n(d,{key:1},[k(c(o.text),1)],64))],64))),128))])])):r("",!0),S.value?(l(),n("label",ae,[_(u("input",{"onUpdate:modelValue":s[3]||(s[3]=o=>M.value=o),type:"checkbox",class:"form-shell__consent-input",disabled:e.status==="submitting"},null,8,re),[[x,M.value]]),u("span",ie,[(l(!0),n(d,null,w(P.value,(o,m)=>(l(),n(d,{key:`tc-${m}`},[o.type==="link"?(l(),n("a",{key:0,href:o.href,target:"_blank",rel:"noopener noreferrer",class:"form-shell__consent-link",onClick:s[4]||(s[4]=p(()=>{},["stop"]))},c(o.text),9,ce)):(l(),n(d,{key:1},[k(c(o.text),1)],64))],64))),128))])])):r("",!0),b.value?(l(),n("label",ue,[_(u("input",{"onUpdate:modelValue":s[5]||(s[5]=o=>T.value=o),type:"checkbox",class:"form-shell__consent-input",disabled:e.status==="submitting"},null,8,de),[[x,T.value]]),u("span",me,[(l(!0),n(d,null,w(I.value,(o,m)=>(l(),n(d,{key:`mc-${m}`},[o.type==="link"?(l(),n("a",{key:0,href:o.href,target:"_blank",rel:"noopener noreferrer",class:"form-shell__consent-link",onClick:s[6]||(s[6]=p(()=>{},["stop"]))},c(o.text),9,he)):(l(),n(d,{key:1},[k(c(o.text),1)],64))],64))),128))])])):r("",!0)])):r("",!0),e.status==="error"&&e.errorMessage?(l(),n("p",fe,c(e.errorMessage),1)):r("",!0),u("button",{type:"submit",class:"form-shell__submit",disabled:e.submitDisabled||e.status==="submitting"||e.previewMode},[e.status==="submitting"?(l(),n("span",pe)):r("",!0),u("span",null,c(e.status==="submitting"?"Wird gesendet...":e.preset.buttonLabel),1)],8,ke),e.previewMode?(l(),n("p",be," Vorschau: Formular ist nicht aktiv. ")):r("",!0)],32))])]))}}),we=Y(ye,[["__scopeId","data-v-57c5ff34"]]);export{we as F};