import{l as A,a7 as n,v as u,V as r,ab as i,a9 as I,a2 as k,aj as W,P as v,ay as _,F as d,af as g,Z as x,k as c,ae as s}from"./vue-core-BWkI2jmS.js";import{F as j}from"./FormSuccessScreen-uBnFk0ky.js";import{b as H}from"./admin-Ct38yXux.js";const Z={class:"form-shell"},q={class:"form-shell__container"},z={key:0,class:"form-shell__header"},G={key:0,class:"form-shell__title"},J={key:1,class:"form-shell__subtitle"},K={class:"form-shell__fields"},O={key:0,class:"form-shell__consent-group"},Q={key:0,class:"form-shell__privacy-paragraph"},X={key:1,class:"form-shell__consent"},Y=["disabled"],ee={class:"form-shell__consent-text"},te=["href"],se={key:2,class:"form-shell__consent form-shell__consent--tracking"},ne=["disabled"],le={class:"form-shell__consent-text"},oe=["href"],ae={key:3,class:"form-shell__consent form-shell__consent--marketing"},re=["disabled"],ie={class:"form-shell__consent-text"},ce=["href"],ue={key:1,class:"form-shell__error",role:"alert"},de=["disabled"],me={key:0,class:"form-shell__spinner","aria-hidden":"true"},he={key:2,class:"form-shell__preview-hint"},fe=A({__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=c({get:()=>a.consent,set:t=>h("update:consent",t)}),w=c({get:()=>a.trackingConsent,set:t=>h("update:trackingConsent",t)}),M=c({get:()=>a.marketingConsent,set:t=>h("update:marketingConsent",t)}),T=c(()=>{var t;return((t=a.preset.options)==null?void 0:t.showTrackingConsent)===!0}),S=c(()=>{var t;return((t=a.preset.options)==null?void 0:t.showMarketingConsent)===!0}),p=c(()=>{var t,l;return((l=(t=a.preset.options)==null?void 0:t.privacyParagraph)==null?void 0:l.trim())||""}),P=c(()=>a.successTitle||"Vielen Dank!"),U=c(()=>a.successText||a.preset.successMessage||"Wir haben deine Anfrage erhalten.");function b(t){if(!t)return[];const l=[],o=/\[([^\]]+)\]\(([^)]+)\)/g,m=[...t.matchAll(o)];let f=0;for(const B of m){const y=B.index??0;y>f&&l.push({type:"text",text:t.slice(f,y)});const[R,V,F]=B;/^(\/|https?:\/\/)/.test(F)?l.push({type:"link",text:V,href:F}):l.push({type:"text",text:V}),f=y+R.length}return f<t.length&&l.push({type:"text",text:t.slice(f)}),l}const $=c(()=>b(a.preset.consentText||"")),E=c(()=>{var t;return b(((t=a.preset.options)==null?void 0:t.trackingConsentText)||"")}),L=c(()=>{var t;return b(((t=a.preset.options)==null?void 0:t.marketingConsentText)||"")});function N(){a.previewMode||h("submit")}return(t,l)=>(s(),n("section",Z,[u("div",q,[e.preset.title||e.preset.subtitle?(s(),n("header",z,[e.preset.title?(s(),n("h2",G,r(e.preset.title),1)):i("",!0),e.preset.subtitle?(s(),n("p",J,r(e.preset.subtitle),1)):i("",!0)])):i("",!0),e.status==="success"?(s(),I(j,{key:1,title:P.value,text:U.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:l[0]||(l[0]=o=>h("reset"))},null,8,["title","text","download-url","download-label","show-reset-button","analytics-event","analytics-params"])):(s(),n("form",{key:2,class:"form-shell__form",novalidate:"",onSubmit:k(N,["prevent"])},[u("div",K,[W(t.$slots,"default",{},void 0,!0)]),e.preset.consentText||T.value||S.value||p.value?(s(),n("div",O,[p.value?(s(),n("p",Q,r(p.value),1)):i("",!0),e.preset.consentText?(s(),n("label",X,[v(u("input",{"onUpdate:modelValue":l[1]||(l[1]=o=>C.value=o),type:"checkbox",class:"form-shell__consent-input",disabled:e.status==="submitting"},null,8,Y),[[_,C.value]]),u("span",ee,[(s(!0),n(d,null,g($.value,(o,m)=>(s(),n(d,{key:`dp-${m}`},[o.type==="link"?(s(),n("a",{key:0,href:o.href,target:"_blank",rel:"noopener noreferrer",class:"form-shell__consent-link",onClick:l[2]||(l[2]=k(()=>{},["stop"]))},r(o.text),9,te)):(s(),n(d,{key:1},[x(r(o.text),1)],64))],64))),128))])])):i("",!0),T.value?(s(),n("label",se,[v(u("input",{"onUpdate:modelValue":l[3]||(l[3]=o=>w.value=o),type:"checkbox",class:"form-shell__consent-input",disabled:e.status==="submitting"},null,8,ne),[[_,w.value]]),u("span",le,[(s(!0),n(d,null,g(E.value,(o,m)=>(s(),n(d,{key:`tc-${m}`},[o.type==="link"?(s(),n("a",{key:0,href:o.href,target:"_blank",rel:"noopener noreferrer",class:"form-shell__consent-link",onClick:l[4]||(l[4]=k(()=>{},["stop"]))},r(o.text),9,oe)):(s(),n(d,{key:1},[x(r(o.text),1)],64))],64))),128))])])):i("",!0),S.value?(s(),n("label",ae,[v(u("input",{"onUpdate:modelValue":l[5]||(l[5]=o=>M.value=o),type:"checkbox",class:"form-shell__consent-input",disabled:e.status==="submitting"},null,8,re),[[_,M.value]]),u("span",ie,[(s(!0),n(d,null,g(L.value,(o,m)=>(s(),n(d,{key:`mc-${m}`},[o.type==="link"?(s(),n("a",{key:0,href:o.href,target:"_blank",rel:"noopener noreferrer",class:"form-shell__consent-link",onClick:l[6]||(l[6]=k(()=>{},["stop"]))},r(o.text),9,ce)):(s(),n(d,{key:1},[x(r(o.text),1)],64))],64))),128))])])):i("",!0)])):i("",!0),e.status==="error"&&e.errorMessage?(s(),n("p",ue,r(e.errorMessage),1)):i("",!0),u("button",{type:"submit",class:"form-shell__submit",disabled:e.submitDisabled||e.status==="submitting"||e.previewMode},[e.status==="submitting"?(s(),n("span",me)):i("",!0),u("span",null,r(e.status==="submitting"?"Wird gesendet...":e.preset.buttonLabel),1)],8,de),e.previewMode?(s(),n("p",he," Vorschau: Formular ist nicht aktiv. ")):i("",!0)],32))])]))}}),ye=H(fe,[["__scopeId","data-v-7071aee3"]]);export{ye as F};