import{b as g,h as y,B as f,c as d,S as b,f as _,t as h,p as F,Q as B,e as O,r as c,g as u,a as S,L as C,o as n}from"./index-BhWsT2U5.js";import{F as E}from"./FormContact-Ce-25AjX.js";import{F as x}from"./FormBooking-DsNIL4jW.js";import{F as D}from"./FormNewsletter-ld_iFWYq.js";import{F as M}from"./FormDownload-b-AfBGDo.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-Dr7FLb7l.js";import"./FormSuccessScreen-Nt5nhLQq.js";import"./VBtn-5vd7LPoe.js";import"./FormShell-B6ETKAUs.js";const T=["id"],I={key:0,class:"element-form-wrap__skeleton","aria-busy":"true"},L={key:1,class:"element-form-wrap__error",role:"alert"},V={class:"element-form-wrap__error-inner"},P={class:"element-form-wrap__error-text"},A=g({__name:"ElementForm",props:{section:{},previewMode:{type:Boolean,default:!1},presetOverride:{default:null}},setup(m){const a=m,r=c(null),s=c(!0),o=c(null),l=u(()=>{var e;const t=(e=a.section.settings)==null?void 0:e.presetSlug;return typeof t=="string"&&t.trim().length>0?t.trim():"kontakt-standard"});async function i(t){s.value=!0,o.value=null,r.value=null;const e=await S.get(`/forms/presets/${encodeURIComponent(t)}`,{skipAuth:!0});e.success&&e.data?r.value=e.data:(o.value="Das Formular konnte nicht geladen werden.",C.error("SYSTEM","FormPreset konnte nicht geladen werden",{slug:t,error:e.error,status:e.status})),s.value=!1}function k(){if(a.presetOverride){r.value=a.presetOverride,s.value=!1,o.value=null;return}i(l.value)}y(()=>{k()}),f(()=>a.presetOverride,t=>{t?(r.value=t,s.value=!1,o.value=null):i(l.value)}),f(l,(t,e)=>{a.presetOverride||t!==e&&i(t)});const v=u(()=>{if(!r.value)return null;switch(r.value.kind){case"contact":return E;case"booking":return x;case"newsletter":return D;case"download":return M;default:return null}}),w=u(()=>{var e,p;if(((e=a.section.settings)==null?void 0:e.formType)==="contact"||((p=r.value)==null?void 0:p.kind)==="contact")return"kontakt"});return(t,e)=>(n(),d("section",{id:w.value,class:"element-form-wrap"},[s.value?(n(),d("div",I,[...e[0]||(e[0]=[b('<div class="element-form-wrap__skeleton-inner" data-v-dcb8319e><div class="element-form-wrap__skeleton-title" data-v-dcb8319e></div><div class="element-form-wrap__skeleton-subtitle" data-v-dcb8319e></div><div class="element-form-wrap__skeleton-field" data-v-dcb8319e></div><div class="element-form-wrap__skeleton-field" data-v-dcb8319e></div><div class="element-form-wrap__skeleton-field element-form-wrap__skeleton-field--tall" data-v-dcb8319e></div><div class="element-form-wrap__skeleton-button" data-v-dcb8319e></div></div>',1)])])):o.value?(n(),d("div",L,[_("div",V,[_("p",P,h(o.value),1)])])):v.value&&r.value?(n(),F(B(v.value),{key:2,preset:r.value,"preview-mode":m.previewMode},null,8,["preset","preview-mode"])):O("",!0)],8,T))}}),J=N(A,[["__scopeId","data-v-dcb8319e"]]);export{J as default};