PageSourceSearch

https://hyscore.io/assets/admin.pages._id-B9EkVAMW.js

js hyscore.io collected 2026-09-24 09:27:01 UTC 86,313 bytes, 1 lines download raw bytes

1import{r as _,j as e,s as He,eq as Y,er as Ue,b as V,es as Ge,el as Je,et as qe,eu as We,ev as Ze,ew as Qe,ex as Xe,ey as Ye,ez as en,a3 as nn,e as xe,bp as Ie,ae as ne,L as sn,eA as ge,eB as ln,eC as rn,eD as De,a4 as tn,eE as Fe,eF as an,eG as on,eH as Me,eI as cn,eJ as ke,eK as Ce,eL as we,dl as dn,eM as un,dz as gn,eN as hn}from"./index-B4mWWRqi.js";import{T as mn}from"./TiptapEditor-Bbp8dDSy.js";import{n as xn,I as K}from"./ImageField-DjynsU8G.js";import{S as pn}from"./SegmentOverviewBlockEditor-DxJPcwSf.js";import{L as bn}from"./LanguageTabs-CCHM8BAd.js";import{i as vn,T as jn}from"./TranslateButton-dld6eHLO.js";import{b as Pe}from"./translate.functions-DTd8fj_Y.js";import"./index-C7yKKq-w.js";import"./MediaPicker-uZu41fQW.js";import"./media.functions-D2ApE3M0.js";import"./auto-optimize-CSunNiYz.js";function fn(d){return d.replace(/\.[^.]+$/,"").replace(/^Logo[-_ ]?/i,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim()}function yn({logos:d,onAppend:s}){const g=_.useRef(null),[l,j]=_.useState(!1),[n,h]=_.useState(null),[c,S]=_.useState(null),I=async C=>{S(null),j(!0),h({done:0,total:C.length});const t=[];try{for(let i=0;i<C.length;i++){const p=C[i],y=await xn(p),B=y.name.split(".").pop()?.toLowerCase()??"png",P=`logos/${Date.now()}-${Math.random().toString(36).slice(2,8)}.${B}`,{error:z}=await He.storage.from("cms-media").upload(P,y,{cacheControl:"31536000",upsert:!1,contentType:y.type||void 0});if(z)throw z;const{data:E}=He.storage.from("cms-media").getPublicUrl(P);t.push({src:E.publicUrl,alt:fn(p.name),href:""}),h({done:i+1,total:C.length})}t.length>0&&s(t)}catch(i){S(i instanceof Error?i.message:"Upload fehlgeschlagen")}finally{j(!1),g.current&&(g.current.value="")}};return e.jsxs("div",{className:"rounded-md border border-dashed border-border bg-card/30 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"Logos hochladen (mehrere möglich)"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Dateien werden in den CMS-Speicher geladen und als neue Logo-Einträge angehängt. Alt-Text wird aus dem Dateinamen abgeleitet."})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsxs("span",{className:"text-xs text-muted-foreground",children:[n.done,"/",n.total]}),e.jsx("button",{type:"button",disabled:l,onClick:()=>g.current?.click(),className:"rounded-md border border-border bg-background px-3 py-2 text-sm hover:bg-accent disabled:opacity-50",children:l?"Lädt…":"Dateien wählen"}),e.jsx("input",{ref:g,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:C=>{const t=C.target.files;t&&t.length>0&&I(t)}})]})]}),c&&e.jsx("p",{className:"mt-2 text-xs text-destructive",children:c}),d.length>0&&e.jsxs("p",{className:"mt-2 text-xs text-muted-foreground",children:["Aktuell ",d.length," Logo",d.length===1?"":"s"," in dieser Sektion."]})]})}function Nn({src:d,size:s,position:g,repeat:l,attachment:j,parallax:n,strength:h,opacity:c,blend:S}){const I=_.useRef(null),C=_.useRef(null),[t,i]=_.useState(!1),p=j==="fixed",y=!p&&!!n&&!t,B=Y(h)/100;_.useEffect(()=>{typeof window>"u"||i(!!window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches)},[]),_.useEffect(()=>{const z=I.current,E=C.current;if(!z||!E)return;let x=0;const v=()=>{x=0;const D=z.scrollTop;p?E.style.transform=`translate3d(0, ${D}px, 0)`:y?E.style.transform=`translate3d(0, ${(D*B).toFixed(1)}px, 0)`:E.style.transform=""},T=()=>{x||(x=window.requestAnimationFrame(v))};return v(),z.addEventListener("scroll",T,{passive:!0}),()=>{z.removeEventListener("scroll",T),x&&window.cancelAnimationFrame(x)}},[p,y,B,d,s,g,l]);const P={backgroundImage:d?`url(${JSON.stringify(d).slice(1,-1)})`:void 0,backgroundSize:s||"cover",backgroundPosition:g||"center",backgroundRepeat:l||"no-repeat",opacity:c!=null?Math.min(100,Math.max(0,c))/100:1,...S&&S!=="normal"?{mixBlendMode:S}:{}};return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center justify-between text-[11px] text-muted-foreground",children:[e.jsx("span",{children:"Live-Vorschau (im Kasten scrollen)"}),e.jsxs("span",{children:[p?"Fixiert":y?`Parallax ${Math.round(B*100)}%`:"Mitscrollen",t&&n&&!p?" – Bewegung reduziert":""]})]}),e.jsx("div",{ref:I,className:"h-56 overflow-y-auto rounded-md border border-border bg-background",children:e.jsxs("div",{className:"relative",style:{height:620}
1,children:[e.jsx("div",{ref:C,"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0",style:{...P,top:y?"-15%":0,height:y?"130%":"100%",willChange:"transform"}}),e.jsxs("div",{className:"relative space-y-3 p-4 text-xs",children:[e.jsx("p",{className:"rounded bg-background/80 p-2",children:"Beispieltext oben – scrolle im Kasten, um die Wirkung zu sehen."}),e.jsx("div",{style:{height:200}}),e.jsx("p",{className:"rounded bg-background/80 p-2",children:"Beispieltext Mitte"}),e.jsx("div",{style:{height:200}}),e.jsx("p",{className:"rounded bg-background/80 p-2",children:"Beispieltext unten"})]})]})})]})}const he={_size:"Größe & Ausrichtung","_size.width":"Größe · Breite","_size.widthUnit":"Größe · Breiten-Einheit","_size.height":"Größe · Höhe","_size.heightUnit":"Größe · Höhen-Einheit","_size.align":"Größe · Ausrichtung",title:"Titel",subtitle:"Untertitel",text:"Text",body:"Text",image:"Bild",image_url:"Bild-URL",href:"Link",cta:"Call-to-Action",items:"Einträge"};function _n(d){if(!d)return"Block-Daten";if(he[d])return he[d];for(const s of Object.keys(he))if(d.startsWith(s+".")){const g=d.slice(s.length+1);return`${he[s]} → ${g}`}return d.replace(/\./g," › ")}function kn(d){const s=(d.message||"").trim();if(!s.startsWith("["))return[{blockIndex:null,fieldKey:null,fieldLabel:"Allgemein",message:s||"Unbekannter Fehler",rawPath:""}];try{const g=JSON.parse(s);return!Array.isArray(g)||g.length===0?[]:g.map(l=>{const j=Array.isArray(l.path)?l.path:[],n=j.join(".");let h=null,c="";return j[0]==="blocks"&&typeof j[1]=="number"?(h=j[1],c=j.slice(j[2]==="data"?3:2).map(I=>String(I)).join(".")):c=j.map(S=>String(S)).join("."),{blockIndex:h,fieldKey:c||null,fieldLabel:_n(c),message:l.message??"Ungültiger Wert",rawPath:n}})}catch{return[{blockIndex:null,fieldKey:null,fieldLabel:"Allgemein",message:"Speichern fehlgeschlagen (Server-Validierung).",rawPath:""}]}}function $n(){const{id:d}=Ue.useParams(),s=V(Ge),g=V(Je),l=V(qe),j=V(We),n=V(Ze),h=V(Qe),c=V(Xe),S=V(Ye),I=V(en),C=nn(),t=xe({queryKey:["cms","page",d],queryFn:()=>s({data:{id:d}})}),[i,p]=_.useState(null),[y,B]=_.useState([]),[P,z]=_.useState([]),[E,x]=_.useState(null),[v,T]=_.useState("de"),[D,A]=_.useState([]),[H,O]=_.useState(()=>typeof window>"u"?!0:window.localStorage.getItem("cms:autosave")!=="off"),[Se,re]=_.useState(null);_.useEffect(()=>{typeof window<"u"&&window.localStorage.setItem("cms:autosave",H?"on":"off")},[H]);const pe=_.useRef(""),be=_.useRef(""),te=_.useRef({}),ae=_.useRef({}),$=_.useRef({}),[Q,Be]=_.useState({}),[G,ve]=_.useState({}),ie=xe({queryKey:["cms","page",d,"translations"],queryFn:()=>j({data:{page_id:d}})}),J=xe({queryKey:["cms","page-preview-link",d,i?.id],queryFn:()=>S({data:{id:i.id}}),enabled:!!i?.id,staleTime:1800*1e3,refetchInterval:1800*1e3,refetchIntervalInBackground:!0,retry:!1});_.useEffect(()=>{if(!ie.data)return;const a={};for(const N of ie.data.pages){const M=N.locale;M!=="de"&&(a[M]={title:N.title,meta_description:N.meta_description,og_image:N.og_image})}const m={};for(const N of ie.data.blocks){const M=N.locale;if(M==="de")continue;const q=m[M]??{};q[N.block_id]=N.data,m[M]=q}Be(a),ve(m);const b={},f={};for(const N of Ie)N!=="de"&&(b[N]=JSON.stringify(a[N]??null),f[N]=JSON.stringify(m[N]??{}));te.current=b,ae.current=f},[ie.data]),_.useEffect(()=>{if(t.data){p(t.data.page);const a=t.data.blocks.map(m=>({id:m.id,type:m.type,sort_order:m.sort_order,data:m.data}));B(a),z(structuredClone(a)),pe.current=JSON.stringify({title:t.data.page.title,slug:t.data.page.slug,meta_description:t.data.page.meta_description,og_image:t.data.page.og_image,is_published:t.data.page.is_published,is_home:t.data.page.is_home}),be.current=JSON.stringify(a.map(m=>({id:m.id,type:m.type,data:m.data})))}},[t.data]);const oe=ne({mutationFn:()=>g({data:{id:i.id,slug:i.slug,title:i.title,meta_description:i.meta_description,og_image:i.og_image,is_published:i.is_published,is_home:i.is_home}}),onSuccess:()=>{x("Seiten-Einstellungen gespeichert."),C.invalidateQueries({queryKey:["cms","pages"]})},onError:a=>x(a.message)}),X=ne({mutationFn:()=>l({data:{page_id:i.id,blocks:y.map((a,m)=>({id:a.id,type:a.type,sort_order:m,data:JSON.parse(JSON.stringify(a.data??{}))}))}}),onSuccess:()=>{x("Inhalte gespeichert."),A([]),C.invalidateQueries({queryKey:["cms","page",d]}),vn(`autoTranslate:page:${d}`)&&(x("Inhalte gespeichert. Übersetze in EN/FR/IT/TR…"),Pe({data:{page_id:d}}).then(()=>{x("Inhalte gespeichert & automatisch übersetzt."),C.invalidateQueries({queryKey:["cms","page",d,"translations"]})}).catch(a=>x(`Auto-Übersetzung fehlgeschlagen: ${a.message}`)))},onError:a=>{const m=kn(a);A(m);const b=m.length;x(b===0?"Speichern fehlgeschlagen.":b===1?"Speichern fehlgeschlagen — 1 Feld ist ungültig.":`Speichern fehlgeschlagen — ${b} Felder sind ungültig.`)}}),ce=ne({mutationFn:()=>{const a=Q[v];return n({data:{page_id:i.id,locale:v,title:a?.title??"",meta_description:a?.meta_description??null,og_image:a?.og_image??null}})},onSuccess:()=>
1{x("Seiten-Übersetzung gespeichert."),C.invalidateQueries({queryKey:["cms","page",d,"translations"]})},onError:a=>x(a.message)}),de=ne({mutationFn:()=>{const a=G[v]??{},m=y.filter(b=>b.id&&a[b.id]).map(b=>({block_id:b.id,data:a[b.id]}));return h({data:{locale:v,blocks:m}})},onSuccess:()=>{x("Block-Übersetzungen gespeichert."),C.invalidateQueries({queryKey:["cms","page",d,"translations"]})},onError:a=>x(a.message)}),Oe=ne({mutationFn:async a=>(await c({data:{block_id:a,locale:v}}),{block_id:a}),onSuccess:({block_id:a})=>{ve(m=>{const b={...m[v]??{}};return delete b[a],{...m,[v]:b}}),x("Übersetzung zurückgesetzt — fällt auf Deutsch zurück.")},onError:a=>x(a.message)}),U=v==="de";if(_.useEffect(()=>{if(!H||!i||!U)return;const a=JSON.stringify({title:i.title,slug:i.slug,meta_description:i.meta_description,og_image:i.og_image,is_published:i.is_published,is_home:i.is_home});if(a===pe.current)return;const m=setTimeout(async()=>{if(!$.current.page){$.current.page=!0;try{await oe.mutateAsync(),pe.current=a,re(new Date)}catch{}finally{$.current.page=!1}}},1500);return()=>clearTimeout(m)},[i,H,U]),_.useEffect(()=>{if(!H||!i||!U)return;const a=JSON.stringify(y.map(b=>({id:b.id,type:b.type,data:b.data})));if(a===be.current)return;const m=setTimeout(async()=>{if(!$.current.blocks){$.current.blocks=!0;try{await X.mutateAsync(),be.current=a,re(new Date)}catch{}finally{$.current.blocks=!1}}},2e3);return()=>clearTimeout(m)},[y,H,U,i]),_.useEffect(()=>{if(!H||!i||U)return;const a=Q[v];if(!a||!a.title)return;const m=JSON.stringify(a);if(m===te.current[v])return;const b=`pageTr:${v}`,f=setTimeout(async()=>{if(!$.current[b]){$.current[b]=!0;try{await ce.mutateAsync(),te.current={...te.current,[v]:m},re(new Date)}catch{}finally{$.current[b]=!1}}},1500);return()=>clearTimeout(f)},[Q,v,H,U,i]),_.useEffect(()=>{if(!H||!i||U)return;const a=G[v];if(!a)return;const m=JSON.stringify(a);if(m===ae.current[v])return;const b=`blockTr:${v}`,f=setTimeout(async()=>{if(!$.current[b]){$.current[b]=!0;try{await de.mutateAsync(),ae.current={...ae.current,[v]:m},re(new Date)}catch{}finally{$.current[b]=!1}}},2e3);return()=>clearTimeout(f)},[G,v,H,U,i]),t.isLoading||!i)return e.jsx("div",{className:"text-sm text-muted-foreground",children:"Lade…"});const Te=(a,m)=>{if(v==="de"){B(f=>f.map((N,M)=>M===a?{...N,data:m}:N));return}const b=y[a];b.id&&ve(f=>{const N={...f[v]??{}};return N[b.id]=m,{...f,[v]:N}})},Ae=(a,m)=>{B(b=>{const f=a+m;if(f<0||f>=b.length)return b;const N=[...b];return[N[a],N[f]]=[N[f],N[a]],N})},Re=a=>{B(m=>m.filter((b,f)=>f!==a))},$e=async a=>{const m=ge.find(f=>f.type===a);if(!m)return;let b=structuredClone(m.defaultData);if(a==="header"||a==="footer")try{const f=await I({data:{type:a}});f?.data&&(b=structuredClone(f.data))}catch{}B(f=>[...f,{type:a,sort_order:f.length,data:b}])},Ke=a=>{if(v!=="de")return!1;const m=y[a],b=P.find(M=>M.id&&M.id===m.id);if(!b||b.type!==m.type||JSON.stringify(b.data)!==JSON.stringify(m.data))return!0;const f=a;return P.findIndex(M=>M.id===m.id)!==f},Le={};for(const a of Ie){if(a==="de")continue;const m=!!Q[a]?.title,b=!!G[a]&&Object.keys(G[a]).length>0;Le[a]=m||b}const w=v==="de",ue=w?{title:i.title,meta_description:i.meta_description,og_image:i.og_image}:Q[v]??{title:"",meta_description:null,og_image:null},je=a=>{w?p({...i,title:a.title??i.title,meta_description:a.meta_description!==void 0?a.meta_description:i.meta_description,og_image:a.og_image!==void 0?a.og_image:i.og_image}):Be(m=>{const b=m[v]??ue;return{...m,[v]:{...b,...a}}})},fe=a=>w||!a.id?a.data:G[v]?.[a.id]??a.data,ze=a=>!w&&!!a.id&&!!G[v]?.[a.id],ye=J.data?.url??null,Ee=J.data?.expiresAt??null,Ne=ye?v&&v!=="de"?`/${v}${ye}`:ye:null,Ve=async a=>{if(!Ne)return;const m=Ee?Date.parse(Ee):0;if(!(!m||m-Date.now()<60*1e3))return;a.preventDefault();const f=window.open("about:blank","_blank","noopener,noreferrer");
1try{f?.document.write('<!doctype html><meta charset="utf-8"><title>Vorschau wird vorbereitet…</title><style>body{font:14px system-ui;margin:0;display:flex;align-items:center;justify-content:center;height:100vh;color:#334155;background:#f8fafc}</style><p>Vorschau-Link wird erneuert…</p>')}catch{}try{const N=await J.refetch(),M=N.data?.url;if(!M)throw new Error(N.error instanceof Error?N.error.message:"Der Server hat keinen neuen Vorschau-Link geliefert.");const q=v&&v!=="de"?`/${v}${M}`:M;f?f.location.href=q:window.open(q,"_blank","noopener,noreferrer")}catch(N){const M=N instanceof Error?N.message:"Unbekannter Fehler.";try{f?.document.write('<!doctype html><meta charset="utf-8"><title>Vorschau nicht verfügbar</title><style>body{font:14px system-ui;margin:0;padding:2rem;max-width:32rem;color:#0f172a}h1{font-size:1.25rem;margin:0 0 .5rem}p{color:#475569;margin:.25rem 0}code{background:#f1f5f9;padding:.15rem .35rem;border-radius:.25rem;font-size:.85em}</style><h1>Vorschau konnte nicht geladen werden</h1><p>Der Vorschau-Link konnte nicht automatisch erneuert werden.</p><p><strong>Fehler:</strong> '+M.replace(/[<>&]/g,q=>({"<":"&lt;",">":"&gt;","&":"&amp;"})[q])+"</p><p>Bitte dieses Fenster schließen und im Editor erneut auf <em>Vorschau</em> klicken. Falls das Problem bestehen bleibt, Seite neu laden oder erneut anmelden.</p>")}catch{f?.close()}tn.error("Vorschau nicht verfügbar",{description:M,action:{label:"Erneut versuchen",onClick:()=>{J.refetch()}}})}};return e.jsxs("div",{className:"w-full space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(sn,{to:"/admin/pages",className:"text-xs text-muted-foreground hover:underline",children:"← Zurück zur Übersicht"}),e.jsx("h1",{className:"text-2xl font-bold truncate",children:i.title}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["/",i.slug]})]}),Ne?e.jsx("a",{href:Ne,target:"_blank",rel:"noopener noreferrer",onClick:Ve,className:"rounded-md border border-border bg-background px-3 py-2 text-sm hover:bg-muted",title:i.is_published?"Aktuelle veröffentlichte Version in einem neuen Tab ansehen":"Entwurf in einem neuen Tab ansehen",children:"Vorschau ↗"}):e.jsx("button",{type:"button",disabled:!0,className:"rounded-md border border-border bg-background px-3 py-2 text-sm opacity-60",title:J.error instanceof Error?J.error.message:"Vorschau-Link wird vorbereitet",children:J.error?"Vorschau nicht verfügbar":"Vorschau wird vorbereitet…"}),e.jsx(bn,{active:v,onChange:T,hasTranslation:Le}),e.jsx(jn,{onRun:async()=>{const a=await Pe({data:{page_id:d}});return C.invalidateQueries({queryKey:["cms","page",d,"translations"]}),a},autoStorageKey:`autoTranslate:page:${d}`})]}),E&&e.jsxs("div",{className:D.length>0?"rounded-md border border-destructive/60 bg-destructive/10 px-3 py-2 text-sm text-destructive":"rounded-md border border-border bg-card px-3 py-2 text-sm",children:[e.jsx("div",{className:"font-medium",children:E}),D.length>0&&e.jsx("ul",{className:"mt-2 space-y-1 text-xs",children:D.map((a,m)=>{const b=a.blockIndex!==null?`Block ${a.blockIndex+1}${y[a.blockIndex]?` (${ge.find(f=>f.type===y[a.blockIndex].type)?.label??y[a.blockIndex].type})`:""}`:null;return e.jsxs("li",{className:"flex flex-wrap items-baseline gap-x-2",children:[b&&e.jsx("button",{type:"button",onClick:()=>{document.getElementById(`cms-block-${a.blockIndex}`)?.scrollIntoView({behavior:"smooth",block:"center"})},className:"underline underline-offset-2 hover:opacity-80",children:b}),e.jsxs("span",{className:"font-medium",children:[a.fieldLabel,":"]}
1),e.jsx("span",{children:a.message})]},m)})})]}),e.jsxs("div",{className:"flex items-center justify-end gap-3 text-xs text-muted-foreground",children:[e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:H,onChange:a=>O(a.target.checked)}),"Autospeicherung"]}),e.jsx("span",{"aria-live":"polite",children:H?Se?`Zuletzt gespeichert um ${Se.toLocaleTimeString("de-DE")}`:"Änderungen werden automatisch gespeichert":"Autospeicherung aus"})]}),e.jsxs("section",{className:"rounded-2xl border border-border bg-card p-6 space-y-3",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("h2",{className:"font-semibold",children:["Seiten-Einstellungen",!w&&e.jsxs("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:["(",v.toUpperCase()," — Übersetzung)"]})]})}),!w&&!Q[v]?.title&&e.jsx("div",{className:"rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-600 dark:text-amber-400",children:"Keine Übersetzung vorhanden — die Seite fällt im Frontend auf Deutsch zurück, bis hier ein Titel hinterlegt ist."}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(k,{label:w?"Titel":`Titel (${v.toUpperCase()})`,children:e.jsx("input",{value:ue.title,onChange:a=>je({title:a.target.value}),className:u})}),e.jsx(k,{label:"Slug",children:e.jsx("input",{value:i.slug,disabled:!w,onChange:a=>p({...i,slug:a.target.value.toLowerCase().replace(/[^a-z0-9-]/g,"-")}),className:u+(w?"":" opacity-60 cursor-not-allowed")})}),e.jsx(k,{label:w?"Meta-Description":`Meta-Description (${v.toUpperCase()})`,children:e.jsx("textarea",{value:ue.meta_description??"",onChange:a=>je({meta_description:a.target.value||null}),className:u,rows:2})}),e.jsx(K,{label:w?"OG-Image":`OG-Image (${v.toUpperCase()})`,value:ue.og_image??"",onChange:a=>je({og_image:a||null})})]}),e.jsxs("div",{className:"flex items-center gap-6 text-sm pt-2",children:[w&&e.jsxs(e.Fragment,{children:[e.jsxs("label",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",checked:i.is_published,onChange:a=>p({...i,is_published:a.target.checked})}),"Veröffentlicht"]}),e.jsxs("label",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",checked:i.is_home,onChange:a=>p({...i,is_home:a.target.checked})}),"Startseite"]})]}),e.jsx("button",{onClick:()=>w?oe.mutate():ce.mutate(),disabled:w?oe.isPending:ce.isPending,className:"ml-auto rounded-md bg-primary text-primary-foreground px-3 py-2 text-sm disabled:opacity-50",children:(w?oe.isPending:ce.isPending)?"Speichern…":w?"Einstellungen speichern":`Übersetzung speichern (${v.toUpperCase()})`})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("h2",{className:"font-semibold",children:["Inhalts-Blöcke",!w&&e.jsxs("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:["(",v.toUpperCase()," — Übersetzung)"]})]}),e.jsx("button",{onClick:()=>w?X.mutate():de.mutate(),disabled:w?X.isPending:de.isPending,className:"rounded-md bg-primary text-primary-foreground px-3 py-2 text-sm disabled:opacity-50",children:(w?X.isPending:de.isPending)?"Speichern…":w?"Inhalte speichern":`Übersetzungen speichern (${v.toUpperCase()})`})]}),!w&&e.jsxs("div",{className:"rounded-md border border-border bg-card/60 px-3 py-2 text-xs text-muted-foreground",children:["Reihenfolge, Block-Typen und neue Blöcke werden nur im DE-Tab verwaltet. Hier kannst du die Texte und Bilder pro Block für ",e.jsx("strong",{children:v.toUpperCase()})," übersetzen. Felder ohne Übersetzung fallen automatisch auf Deutsch zurück."]}),y.map((a,m)=>{const b=D.filter(f=>f.blockIndex===m);return e.jsxs("div",{id:`cms-block-${m}`,className:"rounded-2xl border bg-card p-5 space-y-3 "+(b.length>0?"border-destructive ring-2 ring-destructive/40":"border-border"),children:[b.length>0&&e.jsxs("div",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:[e.jsx("div",{className:"font-medium mb-1",children:b.length===1?"1 Feld ist ungültig:":`${b.length} Felder sind ungültig:`}),e.jsx("ul",{className:"space-y-0.5",children:b.map((f,N)=>e.jsxs("li",{children:[e.jsxs("span",{className:"font-medium",children:[f.fieldLabel,":"]}
1)," ",f.message]},N))})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"text-xs uppercase tracking-wider text-muted-foreground",children:[ge.find(f=>f.type===a.type)?.label??a.type,!w&&!a.id&&e.jsx("span",{className:"ml-2 text-amber-500",children:"(neuer Block — zuerst im DE-Tab speichern)"}),!w&&a.id&&!ze(a)&&e.jsx("span",{className:"ml-2 text-amber-500",children:"(keine Übersetzung — Fallback DE)"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[w&&e.jsxs(e.Fragment,{children:[e.jsx(ee,{onClick:()=>Ae(m,-1),title:"Nach oben",children:"↑"}),e.jsx(ee,{onClick:()=>Ae(m,1),title:"Nach unten",children:"↓"}),e.jsx(ee,{onClick:()=>{confirm("Block löschen?")&&Re(m)},title:"Löschen",destructive:!0,children:"✕"})]}),!w&&ze(a)&&a.id&&e.jsx(ee,{onClick:()=>{confirm(`Übersetzung (${v.toUpperCase()}) für diesen Block löschen?`)&&Oe.mutate(a.id)},title:"Übersetzung zurücksetzen",destructive:!0,children:"↺"})]})]}),e.jsx(Sn,{type:a.type,data:fe(a),onChange:f=>Te(m,f)}),w&&e.jsx("div",{className:"pt-2",children:e.jsx(ln,{value:rn(fe(a)),onChange:f=>Te(m,{...fe(a),_size:f})})}),w&&e.jsx("div",{className:"flex justify-end pt-2",children:e.jsx(wn,{dirty:Ke(m),pending:X.isPending,onClick:()=>X.mutate()})})]},a.id??`new-${m}`)}),w&&e.jsxs("div",{className:"rounded-2xl border border-dashed border-border bg-card/40 p-4",children:[e.jsx("div",{className:"text-sm font-medium mb-2",children:"Block hinzufügen"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:ge.map(a=>e.jsxs("button",{onClick:()=>$e(a.type),className:"rounded-md border border-border bg-background px-3 py-1.5 text-sm hover:bg-accent",children:["+ ",a.label]},a.type))}),e.jsx(Cn,{onPick:(a,m)=>{B(b=>[...b,{type:"custom",sort_order:b.length,data:{custom_block_key:a,content:m}}])}})]})]})]})}function Cn({onPick:d}){const s=V(dn),l=(xe({queryKey:["custom_blocks"],queryFn:()=>s({data:{}})}).data??[]).filter(j=>j.scope==="cms"||j.scope==="both");return l.length===0?null:e.jsxs("div",{className:"mt-3 border-t border-border/60 pt-3",children:[e.jsx("div",{className:"text-xs font-medium text-muted-foreground mb-2",children:"Eigene Blöcke"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:l.map(j=>e.jsxs("button",{onClick:()=>d(j.key,un(j.slots)),title:j.description??void 0,className:"rounded-md border border-border bg-background px-3 py-1.5 text-sm hover:bg-accent",children:["+ ",j.name]},j.id))})]})}const u="mt-1 w-full rounded-md border border-border bg-background px-3 py-2 text-sm";function k({label:d,children:s,hint:g}){return e.jsxs("div",{children:[e.jsxs("label",{className:"text-xs font-medium text-muted-foreground inline-flex items-center gap-1",children:[d,g&&e.jsx(le,{text:g})]}),s]})}function le({text:d}){return e.jsxs(ke,{children:[e.jsx(Ce,{asChild:!0,children:e.jsx("button",{type:"button","aria-label":"Info",className:"inline-flex items-center text-muted-foreground hover:text-foreground",children:e.jsx(gn,{className:"h-3.5 w-3.5"})})}),e.jsx(we,{className:"max-w-xs text-left leading-snug",children:d})]})}function ee({onClick:d,title:s,destructive:g,children:l}){return e.jsx("button",{onClick:d,title:s,className:"h-7 w-7 grid place-items-center rounded-md border border-border text-sm hover:bg-accent "+(g?"text-destructive hover:bg-destructive/10":""),children:l})}function wn({dirty:d,pending:s,onClick:g}){return d?e.jsx("button",{onClick:g,disabled:s,className:"rounded-md bg-primary text-primary-foreground px-3 py-2 text-sm disabled:opacity-50",children:s?"Speichern…":"Inhalte speichern"}):e.jsx("button",{disabled:!0,className:"rounded-md bg-neutral-700 text-neutral-400 px-3 py-2 text-sm cursor-not-allowed",children:"Keine Änderung"})}function r(d,s,g=""){const l=d[s];return typeof l=="string"?l:g}function L(d,s){const g=d[s];return g&&typeof g=="object"&&!Array.isArray(g)?g:{}}function F(d,s){const g=d[s];return Array.isArray(g)?g:[]}function Sn({type:d,data:s,onChange:g}){const l=(t,i)=>g({...s,[t]:i}),j=(t,i)=>g({...s,cta:{...L(s,"cta"),[t]:i}}),n=(t,i)=>g({...s,media:{...L(s,"media"),[t]:i}}),h=(t,i)=>g({...s,background:{...L(s,"background"),[t]:i}}),c=t=>g({...s,ctas:t}),S=t=>g({...s,badges:t}),I=(t,i,p)=>{const y={...L(s,"responsive")},B={...L(y,t)};p===null||Number.isNaN(p)?delete B[i]:B[i]=p,Object.keys(B).length===0?delete y[t]:y[t]=B,g({...s,responsive:y})},C=(t,i,p=0)=>{const y=t[i];return typeof y=="number"?y:p};switch(d){case"hero":{const t=r(s,"variant")||(r(s,"image")?"background":"centered"),i=r(s,"align")||(t.startsWith("split")?"left":"center"),p=L(s,"media"),y=L(s,"background"),B=F(s,"ctas"),P=F(s,"badges"),z=L(s,"cta"),E=B.length===0&&r(z,"label")?[{...z,style:"primary"}]:B;return e.jsx(cn,{delayDuration:150,children:e.jsxs("div",{className:"space-y-3",children:[e.jsx(Bn,{data:s}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(k,{label:"Layout-Variante",hint:"Bestimmt das Grundgerüst des Heros: zentrierter Text, geteilt mit Bild links/rechts, formatfüllendes Hintergrundbild oder eine minimale Nur-Text-Variante.",children:e.jsxs("select",{className:u,value:t,onChange:x=>l("variant",x.target.value),children:[e.jsx("option",{value:"centered",children:"Zentriert"}),e.jsx("option",{value:"split-left",children:"Geteilt · Bild links"}),e.jsx("option",{value:"split-right",children:"Geteilt · Bild rechts"}),e.jsx("option",{value:"background",children:"Vollbild-Hintergrund"}),e.jsx("option",{value:"minimal",children:"Minimal (nur Text)"})]})}),(t==="centered"||t==="minimal"||t==="background")&&e.jsx(k,{label:"Ausrichtung",hint:"Steuert, ob Eyebrow, Headline, Subline und Buttons mittig oder linksbündig ausgerichtet werden.",children:e.jsxs("select",{className:u,value:i,onChange:x=>l("align",x.target.value),children:[e.jsx("option",{value:"center",children:"Mittig"}),e.jsx("option",{value:"left",children:"Links"})]})})]}),e.jsx(k,{label:"Eyebrow",hint:"Kleiner, hervorgehobener Text über der Headline (z. B. Kategorie oder Themenlabel wie „Neu“, „Produkt“, „Use Case“). Optional.",children:e.jsx("input",{className:u,value:r(s,"eyebrow"),onChange:x=>l("eyebrow",x.target.value)})}),e.jsx(k,{label:"Headline",hint:"Hauptüberschrift des Heros (H1). Kurz, prägnant – idealerweise mit klarem Nutzenversprechen.",children:e.jsx("input",{className:u,value:r(s,"headline"),onChange:x=>l("headline",x.target.value)})}),e.jsx(k,{label:"Headline (gradient)",hint:"Optionaler Textteil, der direkt hinter der Headline im Farbverlauf hervorgehoben wird (gleicher Stil wie in den anderen Blöcken).",children:e.jsx("input",{className:u,value:r(s,"headline_highlight"),onChange:x=>l("headline_highlight",x.target.value)})}),e.jsxs("label",{className:"flex items-start gap-2 text-xs",children:[e.jsx("input",{type:"checkbox",className:"mt-0.5",checked:s.highlight_break===!0,onChange:x=>l("highlight_break",x.target.checked)}),e.jsxs("span",{children:["Highlight in neuer Zeile anzeigen",e.jsxs("span",{className:"block text-[11px] text-muted-foreground",children:["Alternativ am Ende der Headline ",e.jsx("code",{className:"text-[10px]",children:"<br>"})," einfügen."]})]})]}),e.jsxs(k,{label:"Subline",hint:"Ein bis zwei Sätze, die die Headline erläutern. Erscheint kleiner unter der Headline. Optional. Zeilenumbruch: Enter drücken oder <br> im Text schreiben.",children:[e.jsx("textarea",{className:u,rows:2,value:r(s,"subline"),onChange:x=>l("subline",x.target.value)}),e.jsxs("p",{className:"mt-1 text-[11px] text-muted-foreground",children:["Tipp: ",e.jsx("kbd",{className:"px-1 rounded border border-border bg-muted text-[10px]",children:"Enter"})," für eine neue Zeile oder ",e.jsx("code",{className:"text-[10px]",children:"<br>"})," im Text einfügen."]})]}),(t==="centered"||t==="split-left"||t==="split-right")&&e.jsxs("div",{className:"rounded-md border border-border p-3 space-y-3",children:[e.jsxs("div",{className:"text-xs font-semibold uppercase text-muted-foreground inline-flex items-center gap-1",children:["Media",e.jsx(le,{text:"Bild oder Video, das neben (Split-Layout) oder unter (Zentriert) dem Text angezeigt wird."})]}),e.jsx(k,{label:"Typ",hint:"Wähle, ob ein Bild, ein Video oder kein Medium angezeigt werden soll.",children:e.jsxs("select",{className:u,value:r(p,"type")||"none",onChange:x=>n("type",x.target.value),children:[e.jsx("option",{value:"none",children:"Keins"}),e.jsx("option",{value:"image",children:"Bild"}),e.jsx("option",{value:"video",children:"Video"})]})}),r(p,"type")==="image"&&e.jsxs(e.Fragment,{children:[e.jsx(K,{label:"Bild",value:r(p,"src"),onChange:x=>n("src",x)}),e.jsx(k,{label:"Alt-Text",hint:"Beschreibung des Bildes für Screenreader und SEO. Wichtig für Barrierefreiheit – leer lassen nur bei rein dekorativen Bildern.",children:e.jsx("input",{className:u,value:r(p,"alt"),onChange:x=>n("alt",x.target.value)})})]}),r(p,"type")==="video"&&e.jsxs(e.Fragment,{children:[e.jsx(k,{label:"Video-URL",hint:"Direkte URL zu einer Videodatei (z. B. .mp4). YouTube-/Vimeo-Links werden nicht unterstützt.",children:e.jsx("input",{className:u,value:r(p,"src"),onChange:x=>n("src",x.target.value)})}),e.jsx(k,{label:"Poster-Bild (optional)",hint:"Standbild, das vor dem Abspielen angezeigt wird. URL eines Bildes.",children:e.jsx("input",{className:u,value:r(p,"poster"),onChange:x=>n("poster",x.target.value)})})]})]}),t==="background"&&e.jsxs("div",{className:"rounded-md border border-border p-3 space-y-3",children:[e.jsxs("div",{className:"text-xs font-semibold uppercase text-muted-foreground inline-flex items-center gap-1",children:["Hintergrund",e.jsx(le,{text:"Bild, das den gesamten Hero-Bereich ausfüllt. Wird mit einem dunklen Overlay abgedunkelt, damit der Text lesbar bleibt."})]}),e.jsx(K,{label:"Hintergrundbild",value:r(y,"src")||r(s,"image"),onChange:x=>{h("src",x),h("type","image")}}),e.jsx(k,{label:`Overlay-Stärke: ${C(y,"overlay",40)}%`,hint:"Wie stark das Hintergrundbild abgedunkelt wird. 0 % = Bild voll sichtbar, 100 % = Bild fast unsichtbar.",children:e.jsx("input",{type:"range",min:0,max:100,value:C(y,"overlay",40),onChange:x=>h("overlay",Number(x.target.value)),className:"w-full"})})]}),e.jsxs("div",{className:"rounded-md border border-border p-3 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"text-xs font-semibold uppercase text-muted-foreground inline-flex items-center gap-1",children:["Call-to-Actions",e.
1jsx(le,{text:"Buttons, die zur gewünschten Aktion führen (z. B. „Termin vereinbaren“, „Mehr erfahren“). Der erste Button wird i. d. R. als primärer Button gestaltet."})]}),e.jsx("button",{type:"button",className:"text-xs rounded-md border border-border px-2 py-1 hover:bg-accent",onClick:()=>c([...E,{label:"",href:"#",style:E.length===0?"primary":"secondary"}]),children:"+ CTA hinzufügen"})]}),E.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine CTAs."}),E.map((x,v)=>{const T=x&&typeof x=="object"&&!Array.isArray(x)?x:{},D=(A,H)=>{const O=[...E];O[v]={...T,[A]:H},c(O)};return e.jsxs("div",{className:"grid sm:grid-cols-[1fr_1fr_140px_auto] gap-2 items-end",children:[e.jsx(k,{label:"Label",children:e.jsx("input",{className:u,value:r(T,"label"),onChange:A=>D("label",A.target.value)})}),e.jsx(k,{label:"Link",children:e.jsx("input",{className:u,value:r(T,"href"),onChange:A=>D("href",A.target.value)})}),e.jsx(k,{label:"Stil",children:e.jsxs("select",{className:u,value:r(T,"style")||"primary",onChange:A=>D("style",A.target.value),children:[e.jsx("option",{value:"primary",children:"Primär"}),e.jsx("option",{value:"secondary",children:"Sekundär"}),e.jsx("option",{value:"ghost",children:"Ghost"})]})}),e.jsx(ee,{destructive:!0,title:"Entfernen",onClick:()=>c(E.filter((A,H)=>H!==v)),children:"×"})]},v)})]}),e.jsxs("div",{className:"rounded-md border border-border p-3 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-xs font-semibold uppercase text-muted-foreground",children:"Badges"}),e.jsx("button",{type:"button",className:"text-xs rounded-md border border-border px-2 py-1 hover:bg-accent",onClick:()=>S([...P,{label:"",icon:""}]),children:"+ Badge hinzufügen"})]}),P.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine Badges."}),P.map((x,v)=>{const T=x&&typeof x=="object"&&!Array.isArray(x)?x:{},D=(A,H)=>{const O=[...P];O[v]={...T,[A]:H},S(O)};return e.jsxs("div",{className:"grid sm:grid-cols-[1fr_180px_auto] gap-2 items-end",children:[e.jsx(k,{label:"Label",children:e.jsx("input",{className:u,value:r(T,"label"),onChange:A=>D("label",A.target.value)})}),e.jsx(k,{label:"Icon",children:e.jsxs("select",{className:u,value:r(T,"icon"),onChange:A=>D("icon",A.target.value),children:[e.jsx("option",{value:"",children:"– kein Icon –"}),De.map(A=>e.jsx("option",{value:A,children:A},A))]})}),e.jsx(ee,{destructive:!0,title:"Entfernen",onClick:()=>S(P.filter((A,H)=>H!==v)),children:"×"})]},v)})]}),(()=>{const x=L(s,"responsive"),v=[{key:"padding_y",label:"Innenabstand oben/unten",suffix:"px",placeholderM:"96",placeholderD:"96",hint:"Vertikaler Innenabstand (padding-top/bottom) der Hero-Sektion. Größere Werte = mehr Luft über und unter dem Inhalt."},{key:"headline_size",label:"Headline-Größe",suffix:"px",placeholderM:"36",placeholderD:"60",hint:"Schriftgröße der Hauptüberschrift (H1) in Pixel. Mobile typischerweise kleiner als Desktop."},{key:"subline_size",label:"Subline-Größe",suffix:"px",placeholderM:"18",placeholderD:"18",hint:"Schriftgröße des erklärenden Texts unter der Headline."},{key:"cta_gap",label:"Abstand zwischen CTAs",suffix:"px",placeholderM:"12",placeholderD:"12",hint:"Abstand zwischen den Call-to-Action-Buttons."}];return e.jsxs("div",{className:"rounded-md border border-border p-3 space-y-3",children:[e.jsx("div",{className:"text-xs font-semibold uppercase text-muted-foreground",children:"Responsive Einstellungen"}),e.jsxs("div",{className:"grid grid-cols-[1fr_110px_110px] gap-2 text-xs text-muted-foreground",children:[e.jsx("div",{}),e.jsx("div",{className:"text-center",children:"Mobile"}),e.jsx("div",{className:"text-center",children:"Desktop (≥ 768 px)"})]}),v.map(T=>{const D=L(x,T.key),A=D.mobile,H=D.desktop;return e.jsxs("div",{className:"grid grid-cols-[1fr_110px_110px] gap-2 items-center",children:[e.jsxs("label",{className:"text-xs flex items-center gap-1",children:[T.label,e.jsx(le,{text:T.hint})]}),e.jsxs(ke,{children:[e.jsx(Ce,{asChild:!0,children:e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"number",min:0,className:u+" pr-8",placeholder:T.placeholderM,value:typeof A=="number"?A:"",onChange:O=>I(T.key,"mobile",O.target.value===""?null:Number(O.target.value))}),e.jsx("span",{className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-xs text-muted-foreground",children:T.suffix})]})}),e.jsx(we,{side:"top",className:"max-w-xs",children:e.jsxs("p",{className:"text-xs leading-relaxed",children:["Mobile · ",T.hint]})})]}),e.jsxs(ke,{children:[e.jsx(Ce,{asChild:!0,children:e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"number",min:0,className:u+" pr-8",placeholder:T.placeholderD,value:typeof H=="number"?H:"",onCh
1ange:O=>I(T.key,"desktop",O.target.value===""?null:Number(O.target.value))}),e.jsx("span",{className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-xs text-muted-foreground",children:T.suffix})]})}),e.jsx(we,{side:"top",className:"max-w-xs",children:e.jsxs("p",{className:"text-xs leading-relaxed",children:["Desktop (≥ 768 px) · ",T.hint]})})]})]},T.key)}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Leer lassen, um den Standardwert zu verwenden."})]})})()]})})}case"richtext":return e.jsxs("div",{className:"space-y-3",children:[e.jsx(k,{label:"Titel (Headline)",children:e.jsx("input",{className:u,value:r(s,"title"),onChange:t=>l("title",t.target.value)})}),e.jsx(k,{label:"Headline (Verlauf/Gradient)",children:e.jsx("input",{className:u,placeholder:"z. B. hervorgehobener Teil",value:r(s,"title_highlight"),onChange:t=>l("title_highlight",t.target.value)})}),e.jsxs("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx("input",{type:"checkbox",checked:s.title_highlight_newline===!0,onChange:t=>l("title_highlight_newline",t.target.checked)}),"Verlaufs-Headline in neuer Zeile"]}),e.jsx(k,{label:"Inhalt",children:e.jsx(mn,{value:r(s,"html"),onChange:t=>l("html",t)})}),e.jsxs("div",{className:"rounded-md border border-dashed border-border bg-muted/30 p-2",children:[e.jsx("div",{className:"mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Breite (Mobile / Desktop)"}),e.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[["width_mobile","width_mobile_unit","Mobile (< 768 px)"],["width_desktop","width_desktop_unit","Desktop (≥ 768 px)"]].map(([t,i,p])=>{const y=s[t],B=typeof y=="number"?String(y):"",P=s[i]==="px"?"px":"%";return e.jsxs("div",{className:"contents",children:[e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:p}),e.jsx("input",{type:"number",min:0,placeholder:"auto",className:u,value:B,onChange:z=>{const E=z.target.value.trim();l(t,E===""?null:Number(E))}})]}),e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Einheit"}),e.jsxs("select",{className:u,value:P,onChange:z=>l(i,z.target.value),children:[e.jsx("option",{value:"%",children:"%"}),e.jsx("option",{value:"px",children:"px"})]})]})]},t)})}),e.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2",children:[e.jsx("p",{className:"text-[10px] text-muted-foreground",children:"Leer = automatisch. Desktop übernimmt den Mobile-Wert, wenn leer."}),e.jsx("button",{type:"button",className:"rounded-md border border-border px-2 py-1 text-[11px] hover:bg-accent",onClick:()=>{g({...s,width_mobile:null,width_desktop:null})},children:"Zurücksetzen"})]})]}),e.jsxs("div",{className:"rounded-md border border-dashed border-border bg-muted/30 p-2",children:[e.jsx("div",{className:"mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Ausrichtung"}),e.jsxs("select",{className:u,value:(()=>{const t=r(s,"align");return t==="left"||t==="right"?t:"center"})(),onChange:t=>l("align",t.target.value),children:[e.jsx("option",{value:"left",children:"Links"}),e.jsx("option",{value:"center",children:"Mittig"}),e.jsx("option",{value:"right",children:"Rechts"})]}),e.jsx("p",{className:"mt-1.5 text-[10px] text-muted-foreground",children:"Wirkt unabhängig von der eingestellten Breite."})]}),e.jsxs("div",{className:"rounded-md border border-dashed border-border bg-muted/30 p-2 space-y-2",children:[e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Hintergrund & Abstände"}),e.jsxs("label",{className:"space-y-1 text-xs block",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Hintergrund"}),e.jsxs("select",{className:u,value:r(s,"bg_mode")||"none",onChange:t=>l("bg_mode",t.target.value),children:[e.jsx("option",{value:"none",children:"Kein Hintergrund"}),e.jsx("option",{value:"color",children:"Farbe"}),e.jsx("option",{value:"gradient",children:"Verlauf"}),e.jsx("option",{value:"image",children:"Grafik"})]})]}),(r(s,"bg_mode")||"none")!=="none"&&e.jsxs("label",{className:"space-y-1 text-xs block",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Hintergrund-Bereich"}),e.jsxs("select",{className:u,value:r(s,"bg_scope")==="full"?"full":"container",onChange:t=>l("bg_scope",t.target.value),children:[e.jsx("option",{value:"container",children:"Nur Content-Container"}),e.jsx("option",{value:"full",children:"Full-Bleed (gesamte Blockbreite)"})]}),e.jsx("p",{className:"mt-1.5 text-[10px] text-muted-foreground",children:"Full-Bleed zieht Farbe/Verlauf/Grafik samt Abständen über die volle Breite."})]}),r(s,"bg_mode")==="color"&&e.jsxs("label",{className:"space-y-1 text-xs block",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Farbe"}),e.jsx("input",{type:"color",className:"h-9 w-full rounded-md border border-border bg-background",value:r(s,"bg_color")||"#f5f5f5",onChange:t=>l("bg_color",t.target.value)})]}),r(s,"bg_mode")==="gradient"&&e.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Von"}),e.jsx("input",{type:"color",className:"h-9 w-full rounded-md border border-border bg-background",value:r(s,"bg_gradient_from")||"#111827",onChange:t=>l("bg_gradient_from",t.target.value)})]}),e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Nach"}),e.jsx("input",{type:"color",className:"h-9 w-full rounded-md border border-border bg-background",value:r(s,"bg_gradient_to")||"#2563eb",onChange:t=>l("bg_gradient_to",t.target.value)})]}),e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Winkel (°)"}),e.jsx("input",{type:"number",className:u,value:typeof s.bg_gradient_angle=="number"?String(s.bg_gradient_angle):"",placeholder:"135",onChange:t=>{const i=t.target.value.trim();l("bg_gradient_angle",i===""?null:Number(i))}})]})]}),r(s,"bg_mode")==="image"&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{label:"Hintergrundgrafik",value:r(s,"bg_image"),onChange:t=>l("bg_image",t)}),e.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Skalierung"}),e.jsxs("select",{className:u,value:r(s,"bg_image_size")||"cover",onChange:t=>l("bg_image_size",t.target.value),children:[e.jsx("option",{value:"cover",children:"Ausfüllen (cover)"}),e.jsx("option",{value:"contain",children:"Einpassen (contain)"}),e.jsx("option",{value:"auto",children:"Originalgröße (auto)"}),e.jsx("option",{value:"100% 100%",children:"Strecken (100% 100%)"})]})]}),e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Position"}),e.jsxs("select",{className:u,value:r(s,"bg_image_position")||"center",onChange:t=>l("bg_image_position",t.target.value),children:[e.jsx("option",{value:"center",children:"Zentriert"}),e.jsx("option",{value:"top",children:"Oben"}),e.jsx("option",{value:"bottom",children:"Unten"}),e.jsx("option",{value:"left",children:"Links"}),e.jsx("option",{value:"right",children:"Rechts"}),e.jsx("option",{value:"top left",children:"Oben links"}),e.jsx("option",{value:"top right",children:"Oben rechts"}),e.jsx("option",{value:"bottom left",children:"Unten links"}),e.jsx("option",{value:"bottom right",children:"Unten rechts"})]})]}),e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Wiederholung"}),e.jsxs("select",{className:u,value:r(s,"bg_image_repeat")||"no-repeat",onCh
1ange:t=>l("bg_image_repeat",t.target.value),children:[e.jsx("option",{value:"no-repeat",children:"Keine (no-repeat)"}),e.jsx("option",{value:"repeat",children:"Kacheln (repeat)"}),e.jsx("option",{value:"repeat-x",children:"Horizontal (repeat-x)"}),e.jsx("option",{value:"repeat-y",children:"Vertikal (repeat-y)"}),e.jsx("option",{value:"space",children:"Verteilt (space)"}),e.jsx("option",{value:"round",children:"Angepasst (round)"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Blend-Modus"}),e.jsxs("select",{className:u,value:r(s,"bg_image_blend")||"normal",onChange:t=>l("bg_image_blend",t.target.value),children:[e.jsx("option",{value:"normal",children:"Normal"}),e.jsx("option",{value:"multiply",children:"Multiplizieren"}),e.jsx("option",{value:"screen",children:"Bildschirm"}),e.jsx("option",{value:"overlay",children:"Überlagern"}),e.jsx("option",{value:"soft-light",children:"Weiches Licht"}),e.jsx("option",{value:"hard-light",children:"Hartes Licht"}),e.jsx("option",{value:"darken",children:"Abdunkeln"}),e.jsx("option",{value:"lighten",children:"Aufhellen"}),e.jsx("option",{value:"color-dodge",children:"Farbig abwedeln"}),e.jsx("option",{value:"color-burn",children:"Farbig nachbelichten"}),e.jsx("option",{value:"difference",children:"Differenz"}),e.jsx("option",{value:"exclusion",children:"Ausschluss"}),e.jsx("option",{value:"hue",children:"Farbton"}),e.jsx("option",{value:"saturation",children:"Sättigung"}),e.jsx("option",{value:"color",children:"Farbe"}),e.jsx("option",{value:"luminosity",children:"Luminanz"})]})]}),e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsxs("span",{className:"block text-muted-foreground",children:["Deckkraft Grafik:"," ",typeof s.bg_image_opacity=="number"?`${s.bg_image_opacity}%`:"wie Hintergrund"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"range",min:0,max:100,step:1,className:"w-full",value:typeof s.bg_image_opacity=="number"?s.bg_image_opacity:typeof s.bg_opacity=="number"?s.bg_opacity:100,onChange:t=>l("bg_image_opacity",Number(t.target.value))}),e.jsx("button",{type:"button",className:"shrink-0 text-[11px] underline text-muted-foreground",onClick:()=>l("bg_image_opacity",null),children:"Zurücksetzen"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Verhalten beim Scrollen"}),e.jsxs("select",{className:u,value:r(s,"bg_image_attachment")==="fixed"?"fixed":"scroll",onChange:t=>l("bg_image_attachment",t.target.value),children:[e.jsx("option",{value:"scroll",children:"Mitscrollen (scroll)"}),e.jsx("option",{value:"fixed",children:"Fixiert (fixed)"})]})]}),r(s,"bg_image_attachment")!=="fixed"&&e.jsxs("div",{className:"space-y-1 text-xs",children:[e.jsxs("label",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",checked:s.bg_image_parallax===!0,onChange:t=>l("bg_image_parallax",t.target.checked)}),e.jsx("span",{className:"text-muted-foreground",children:"Parallax (Grafik scrollt langsamer)"})]}),s.bg_image_parallax===!0&&e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"block text-muted-foreground",children:["Stärke: ",Y(s.bg_image_parallax_strength),"%"," ","(max. ",Fe,"%)"]}),e.jsx("input",{type:"range",min:an,max:Fe,step:5,className:"w-full",value:Y(s.bg_image_parallax_strength),onChange:t=>l("bg_image_parallax_strength",Y(t.target.value))}),(()=>{const t=on(Y(s.bg_image_parallax_strength));return t?e.jsx("p",{className:"text-[11px] text-amber-600",children:t}):null})(),e.jsxs("button",{type:"button",className:"text-[11px] text-muted-foreground underline",onClick:()=>l("bg_image_parallax_strength",Me),children:["Auf ",Me,"% zurücksetzen"]})]})]})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Auf Mobilgeräten wird „Fixiert“ automatisch wie „Mitscrollen“ dargestellt. Bei aktivierter Systemeinstellung „Bewegung reduzieren“ bleibt Parallax aus."}
1),r(s,"bg_image")?e.jsx(Nn,{src:r(s,"bg_image"),size:r(s,"bg_image_size")||"cover",position:r(s,"bg_image_position")||"center",repeat:r(s,"bg_image_repeat")||"no-repeat",attachment:r(s,"bg_image_attachment")||"scroll",parallax:s.bg_image_parallax===!0,strength:Y(s.bg_image_parallax_strength),opacity:typeof s.bg_image_opacity=="number"?s.bg_image_opacity:typeof s.bg_opacity=="number"?s.bg_opacity:100,blend:r(s,"bg_image_blend")||"normal"}):e.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Wähle eine Hintergrundgrafik, um die Live-Vorschau zu sehen."})]}),(r(s,"bg_mode")||"none")!=="none"&&e.jsxs("label",{className:"space-y-1 text-xs block",children:[e.jsxs("span",{className:"block text-muted-foreground",children:["Deckkraft Hintergrund:"," ",typeof s.bg_opacity=="number"?s.bg_opacity:100,"%"]}),e.jsx("input",{type:"range",min:0,max:100,step:1,className:"w-full",value:typeof s.bg_opacity=="number"?s.bg_opacity:100,onChange:t=>l("bg_opacity",Number(t.target.value))})]}),e.jsxs("label",{className:"space-y-1 text-xs block",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Overlay"}),e.jsxs("select",{className:u,value:r(s,"bg_overlay_mode")||"none",onChange:t=>l("bg_overlay_mode",t.target.value),children:[e.jsx("option",{value:"none",children:"Kein Overlay"}),e.jsx("option",{value:"color",children:"Farbe"}),e.jsx("option",{value:"gradient",children:"Verlauf"})]})]}),r(s,"bg_overlay_mode")==="color"&&e.jsxs("label",{className:"space-y-1 text-xs block",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Overlay-Farbe"}),e.jsx("input",{type:"color",className:"h-9 w-full rounded-md border border-border bg-background",value:r(s,"bg_overlay_color")||"#000000",onChange:t=>l("bg_overlay_color",t.target.value)})]}),r(s,"bg_overlay_mode")==="gradient"&&e.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Von"}),e.jsx("input",{type:"color",className:"h-9 w-full rounded-md border border-border bg-background",value:r(s,"bg_overlay_from")||"#000000",onChange:t=>l("bg_overlay_from",t.target.value)})]}),e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Bis"}),e.jsx("input",{type:"color",className:"h-9 w-full rounded-md border border-border bg-background",value:r(s,"bg_overlay_to")||"#ffffff",onChange:t=>l("bg_overlay_to",t.target.value)})]}),e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Winkel (°)"}),e.jsx("input",{type:"number",min:0,max:360,className:u,value:typeof s.bg_overlay_angle=="number"?String(s.bg_overlay_angle):"",placeholder:"135",onChange:t=>{const i=t.target.value.trim();l("bg_overlay_angle",i===""?null:Number(i))}})]})]}),(r(s,"bg_overlay_mode")||"none")!=="none"&&e.jsxs("label",{className:"space-y-1 text-xs block",children:[e.jsxs("span",{className:"block text-muted-foreground",children:["Overlay-Transparenz:"," ",typeof s.bg_overlay_opacity=="number"?s.bg_overlay_opacity:40,"%"]}),e.jsx("input",{type:"range",min:0,max:100,step:1,className:"w-full",value:typeof s.bg_overlay_opacity=="number"?s.bg_overlay_opacity:40,onChange:t=>l("bg_overlay_opacity",Number(t.target.value))})]}),e.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[["pad_x","Innenabstand X (px)"],["pad_y","Innenabstand Y (px)"],["radius","Eckenradius (px)"],["border_width","Rahmenbreite (px)"]].map(([t,i])=>e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:i}),e.jsx("input",{type:"number",min:0,placeholder:"0",className:u,value:typeof s[t]=="number"?String(s[t]):"",onChange:p=>{const y=p.target.value.trim();l(t,y===""?null:Number(y))}})]},t))}),e.jsxs("div",{className:"flex items-end justify-between gap-2",children:[e.jsxs("label",{className:"space-y-1 text-xs",children:[e.jsx("span",{className:"block text-muted-foreground",children:"Rahmenfarbe"}),e.jsx("input",{type:"color",className:"h-9 w-24 rounded-md border border-border bg-background",value:r(s,"border_color")||"#e5e7eb",onChange:t=>l("border_color",t.target.value)})]}),e.jsx("button",{type:"button",className:"rounded-md border border-border px-2 py-1 text-[11px] hover:bg-accent",onClick:()=>g({...s,bg_mode:"none",bg_scope:null,bg_color:null,bg_gradient_from:null,bg_gradient_to:null,bg_gradient_angle:null,bg_image:null,bg_image_size:null,bg_image_position:null,bg_image_repeat:null,bg_image_blend:null,bg_image_opacity:null,bg_image_attachment:null,bg_image_parallax:null,bg_image_parallax_strength:null,bg_opacity:null,bg_overlay_mode:"none",bg_overlay_color:null,bg_overlay_from:null,bg_overlay_to:null,bg_overlay_angle:null,bg_overlay_opacity:null,pad_x:null,pad_y:null,radius:null,border_width:null,border_color:null}),children:"Zurücksetzen"})]})]})]});case"image":return e.jsxs("div",{className:"space-y-3",children:[e.jsx(K,{label:"Bild",value:r(s,"src"),onChange:t=>l("src",t)}),e.jsx(k,{label:"Alt-Text",children:e.jsx("input",{className:u,value:r(s,"alt"),onChange:t=>l("alt",t.target.value)})}),e.jsx(k,{label:"Bildunterschrift",children:e.jsx("input",{className:u,value:r(s,"caption"),onChange:t=>l("caption",t.target.value)})})]});case"two_column":return e.jsxs("div",{className:"space-y-3",children:[e.jsx(k,{label:"Titel",children:e.jsx("input",{className:u,value:r(s,"title"),onChange:t=>l("title",t.target.value)})}),e.jsx(k,{label:"Text",children:e.jsx("textarea",{className:u,rows:4,value:r(s,"body"),onChange:t=>l("body",t.target.value)})}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(K,{label:"Bild",value:r(s,"image"),onChange:t=>l("image",t)}),e.jsx(k,{label:"Alt-Text",children:e.jsx("input",{className:u,value:r(s,"alt"),onChange:t=>l("alt",t.target.value)})})]})]});case"feature_grid":{const t=F(s,"items"),i=p=>l("items",p);return e.jsxs("div",{className:"space-y-3",children:[e.jsx(k,{label:"Titel",children:e.jsx("input",{className:u,value:r(s,"title"),onChange:p=>l("title",p.target.value)})}),e.jsxs("div",{className:"space-y-2",children:[t.map((p,y)=>{const B=p&&typeof p=="object"&&!Array.isArray(p)?p:{},P=(z,E)=>{const x=[...t];x[y]={...B,[z]:E},i(x)};return e.jsxs("div",{className:"rounded-md border border-border bg-background p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"text-xs text-muted-foreground",children:["Eintrag ",y+1]}),e.jsx("button",{onClick:()=>i(t.filter((z,E)=>E!==y)),className:"text-xs text-destructive hover:underline",children:"entfernen"})]}),e.jsx("input",{className:u,placeholder:"Titel",value:r(B,"title"),onChange:z=>P("title",z.target.value)}),e.jsx("textarea",{className:u,rows:2,placeholder:"Text",value:r(B,"body"),onChange:z=>P("body",z.target.value)})]},y)}),e.jsx("button",{onClick:()=>i([...t,{title:"",body:""}]),className:"rounded-md border border-border px-3 py-1.5 text-sm hover:bg-accent",children:"+ Eintrag hinzufügen"})]})]})}case"cta":return e.jsxs("div",{className:"space-y-3",children:[e.jsx(k,{label:"Titel",children:e.jsx("input",{className:u,value:r(s,"title"),onChange:t=>l("title",t.target.value)})}),e.jsx(k,{label:"Text",children:e.jsx("textarea",{className:u,rows:2,value:r(s,"body"),onChange:t=>l("body",t.target.value)})}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(k,{label:"Button-Label",children:e.jsx("input",{className:u,value:r(L(s,"cta"),"label"),onChange:t=>j("label",t.target.value)})}),e.jsx(k,{label:"Button-Link",children:e.jsx("input",{className:u,value:r(L(s,"cta"),"href"),onChange:t=>j("href",t.target.value)})})]})]});default:return e.jsx(An,{type:d,data:s,onChange:g})}}function Bn({data:d}){const[s,g]=_.useState("desktop"),l=L(d,"responsive"),j=i=>{const y=L(l,i)[s];return typeof y=="number"?y:null},n=j("padding_y"),h=j("headline_size"),c=j("subline_size"),S=j("cta_gap"),I={},C=(i,p)=>{p!==null&&(I[`--hero-${i}-m`]=`${p}px`,I[`--hero-${i}-d`]=`${p}px`)};C("py",n),C("h1",h),C("sub",c),C("cta-gap",S);const t=s==="mobile"?390:1280;return e.jsxs("div",{className:"rounded-md border border-border bg-card p-3 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-xs font-semibold uppercase text-muted-foreground",children:"Live-Vorschau"}),e.jsxs("div",{className:"inline-flex rounded-md border border-border overflow-hidden text-xs",children:[e.jsx("button",{type:"button",onClick:()=>g("mobile"),className:"px-3 py-1 "+(s==="mobile"?"bg-primary text-primary-foreground":"hover:bg-accent"),children:"Mobile"}),e.jsx("button",{type:"button",onClick:()=>g("desktop"),className:"px-3 py-1 border-l border-border "+(s==="desktop"?"bg-primary text-primary-foreground":"hover:bg-accent"),children:"Desktop"})]})]}),e.jsx("div",{className:"overflow-auto rounded-md border border-border bg-background",children:e.jsx("div",{className:"mx-auto transition-[width] duration-200",style:{width:t,...I},children:e.jsx(hn,{data:d})})}),e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:["Vorschau zeigt die gewählten Mobile-/Desktop-Werte. Tailwind-Breakpoints richten sich n
1ach der Container-Breite (",t,"px)."]})]})}function W(d,s,g=0){const l=d[s];return typeof l=="number"?l:g}function Z(d,s){return d[s]===!0}function o({label:d,value:s,onChange:g,multiline:l,rows:j,hint:n}){return e.jsx(k,{label:d,hint:n,children:l?e.jsx("textarea",{className:u,rows:j??3,value:s,onChange:h=>g(h.target.value)}):e.jsx("input",{className:u,value:s,onChange:h=>g(h.target.value)})})}function se({label:d,value:s,onChange:g}){return e.jsx(k,{label:d,children:e.jsx("input",{type:"number",className:u,value:s,onChange:l=>g(Number(l.target.value)||0)})})}function _e({label:d,value:s,onChange:g}){return e.jsx(k,{label:d,children:e.jsx("select",{className:u,value:s,onChange:l=>g(l.target.value),children:De.map(l=>e.jsx("option",{value:l,children:l},l))})})}function R({label:d,items:s,onChange:g,render:l,newItem:j,itemLabel:n}){return e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-xs font-medium text-muted-foreground",children:d}),s.map((h,c)=>{const S=h&&typeof h=="object"&&!Array.isArray(h)?h:{},I=(t,i)=>{const p=[...s];p[c]={...S,[t]:i},g(p)},C=t=>{const i=c+t;if(i<0||i>=s.length)return;const p=[...s];[p[c],p[i]]=[p[i],p[c]],g(p)};return e.jsxs("div",{className:"rounded-md border border-border bg-background p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"text-xs text-muted-foreground",children:[n??"Eintrag"," ",c+1]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("button",{onClick:()=>C(-1),className:"text-xs px-1.5 py-0.5 border border-border rounded",children:"↑"}),e.jsx("button",{onClick:()=>C(1),className:"text-xs px-1.5 py-0.5 border border-border rounded",children:"↓"}),e.jsx("button",{onClick:()=>g(s.filter((t,i)=>i!==c)),className:"text-xs text-destructive hover:underline ml-1",children:"entfernen"})]})]}),l(S,I)]},c)}),e.jsx("button",{onClick:()=>g([...s,{...j}]),className:"rounded-md border border-border px-3 py-1.5 text-sm hover:bg-accent",children:"+ Eintrag hinzufügen"})]})}function me({label:d,items:s,onChange:g,placeholder:l}){return e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-xs font-medium text-muted-foreground",children:d}),s.map((j,n)=>{const h=typeof j=="string"?j:"";return e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{className:u,value:h,placeholder:l,onChange:c=>{const S=[...s];S[n]=c.target.value,g(S)}}),e.jsx("button",{onClick:()=>g(s.filter((c,S)=>S!==n)),className:"text-xs text-destructive px-2",children:"×"})]},n)}),e.jsx("button",{onClick:()=>g([...s,""]),className:"rounded-md border border-border px-3 py-1.5 text-sm hover:bg-accent",children:"+ hinzufügen"})]})}function Tn({data:d,onChange:s}){const g=(t,i)=>s({...d,[t]:i}),l=(t,i,p)=>s({...d,[t]:{...L(d,t),[i]:p}}),[j,n]=_.useState("fields"),[h,c]=_.useState(()=>JSON.stringify(d,null,2)),[S,I]=_.useState(null);_.useEffect(()=>{j==="fields"&&(c(JSON.stringify(d,null,2)),I(null))},[j,d]);const C=t=>{c(t);try{const i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i)){I("JSON muss ein Objekt sein.");return}I(null),s(i)}catch(i){I(i.message)}};return e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"flex items-center justify-end",children:e.jsxs("div",{className:"inline-flex rounded-md border border-border overflow-hidden text-xs",children:[e.jsx("button",{type:"button",onClick:()=>n("fields"),className:`px-3 py-1 ${j==="fields"?"bg-primary text-primary-foreground":"bg-background hover:bg-accent"}`,children:"Felder"}),e.jsx("button",{type:"button",onClick:()=>n("json"),className:`px-3 py-1 border-l border-border ${j==="json"?"bg-primary text-primary-foreground":"bg-background hover:bg-accent"}`,children:"JSON"})]})}),j==="fields"?e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(K,{label:"Logo",value:r(d,"logo"),onChange:t=>g("logo",t)}),e.jsx(o,{label:"Tagline",value:r(d,"tagline"),onChange:t=>g("tagline",t)}),e.jsx(o,{label:"Menü-Label",value:r(d,"menu_label"),onChange:t=>g("menu_label",t)}),e.jsx(o,{label:"Marke (Alt)",value:r(d,"brand"),onChange:t=>g("brand",t)})]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"CTA Label",value:r(L(d,"cta"),"label"),onChange:t=>l("cta","label",t)}),e.jsx(o,{label:"CTA Link",value:r(L(d,"cta"),"href"),onChange:t=>l("cta","href",t)})]}),e.jsx(R,{label:"Navigation",itemLabel:"Menüpunkt",items:F(d,"nav"),onChange:t=>g("nav",t),newItem:{label:"",href:"#"},render:(t,i)=>e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx("input",{className:u,placeholder:"Label",value:r(t,"label"),onChange:p=>i("label",p.target.value)}),e.jsx("input",{className:u,placeholder:"Link",value:r(t,"href"),onChange:p=>i("href",p.target.value)})]})}),e.jsxs("div",{className:"space-y-2 rounded-md border border-border p-3",children:[e.jsx("div",{className:"text-sm font-medium",children:'"Nach oben"-Button'}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Erscheint unten rechts beim Scrollen und springt zum Anker ",e.jsx("code",{children:"#top"})," (Header/Hero)."]}),e.jsxs("div",{className:"grid sm:grid-cols-3 gap-3",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:L(d,"back_to_top").enabled!==!1,onChange:t=>l("back_to_top","enabled",t.target.checked)}),"Aktiv"]}),e.jsx(o,{label:"Label / Tooltip",value:r(L(d,"back_to_top"),"label","Nach oben"),onChange:t=>l("back_to_top","label",t)}),e.jsxs("label",{className:"flex flex-col gap-1 text-xs",children:[e.jsx("span",{className:"text-muted-foreground",children:"Sichtbar ab Scroll (px)"}),e.jsx("input",{type:"number",min:0,step:50,className:u,value:Number(L(d,"back_to_top").threshold??400),onChange:t=>l("back_to_top","threshold",Number(t.target.value)||0)})]})]})]})]}):e.jsxs("div",{className:"space-y-2",children:[e.jsx("textarea",{className:`${u} font-mono text-xs`,rows:18,spellCheck:!1,value:h,onChange:t=>C(t.target.value)}),S?e.jsxs("div",{className:"text-xs text-destructive",children:["JSON-Fehler: ",S]}):e.jsx("div",{className:"text-xs text-muted-foreground",children:"Änderungen werden direkt übernommen, sobald das JSON gültig ist."})]})]})}function An({type:d,data:s,onChange:g}){const l=(n,h)=>g({...s,[n]:h}),j=(n,h,c)=>g({...s,[n]:{...L(s,n),[h]:c}});switch(d){case"header":return e.jsx(Tn,{data:s,onChange:g});case"hero_pro":return e.jsxs("div",{className:"space-y-3",children:[e.jsx(o,{label:"Eyebrow",value:r(s,"eyebrow"),onChange:n=>l("eyebrow",n)}),e.jsxs("div",{className:"grid sm:grid-cols-3 gap-3",children:[e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_gradient"),onChange:n=>l("headline_gradient",n)}),e.jsx(o,{label:"Headline (main)",value:r(s,"headline_main"),onChange:n=>l("headline_main",n)}),e.jsx(o,{label:"Headline (muted)",value:r(s,"headline_muted"),onChange:n=>l("headline_muted",n)})]}),e.jsx(o,{label:"Subline",multiline:!0,rows:3,value:r(s,"subline"),onChange:n=>
1l("subline",n),hint:"Zeilenumbruch: Enter drücken oder <br> im Text schreiben."}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Primary CTA Label",value:r(L(s,"primary_cta"),"label"),onChange:n=>j("primary_cta","label",n)}),e.jsx(o,{label:"Primary CTA Link",value:r(L(s,"primary_cta"),"href"),onChange:n=>j("primary_cta","href",n)}),e.jsx(o,{label:"Secondary CTA Label",value:r(L(s,"secondary_cta"),"label"),onChange:n=>j("secondary_cta","label",n)}),e.jsx(o,{label:"Secondary CTA Link",value:r(L(s,"secondary_cta"),"href"),onChange:n=>j("secondary_cta","href",n)})]}),e.jsx(K,{label:"Hintergrundbild",value:r(s,"image"),onChange:n=>l("image",n)}),e.jsx(R,{label:"Stats",itemLabel:"Stat",items:F(s,"stats"),onChange:n=>l("stats",n),newItem:{value:"",label:""},render:(n,h)=>e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx("input",{className:u,placeholder:"Wert",value:r(n,"value"),onChange:c=>h("value",c.target.value)}),e.jsx("input",{className:u,placeholder:"Label",value:r(n,"label"),onChange:c=>h("label",c.target.value)})]})})]});case"problem":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor (ID)",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)})]}),e.jsx(o,{label:"Intro",multiline:!0,value:r(s,"intro"),onChange:n=>l("intro",n)}),e.jsx(K,{label:"Bild",value:r(s,"image"),onChange:n=>l("image",n)}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Alt-Text",value:r(s,"image_alt"),onChange:n=>l("image_alt",n)}),e.jsx(o,{label:"Bildunterschrift",value:r(s,"image_caption"),onChange:n=>l("image_caption",n)})]}),e.jsx(R,{label:"Punkte",items:F(s,"items"),onChange:n=>l("items",n),newItem:{n:"",t:"",d:""},render:(n,h)=>e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"grid sm:grid-cols-3 gap-2",children:[e.jsx("input",{className:u,placeholder:"Nummer",value:r(n,"n"),onChange:c=>h("n",c.target.value)}),e.jsx("input",{className:u+" sm:col-span-2",placeholder:"Titel",value:r(n,"t"),onChange:c=>h("t",c.target.value)})]}),e.jsx("textarea",{className:u,rows:2,placeholder:"Beschreibung",value:r(n,"d"),onChange:c=>h("d",c.target.value)})]})})]});case"gap":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)})]}),e.jsx(me,{label:"Listenpunkte",items:F(s,"items"),onChange:n=>l("items",n)}),e.jsx(o,{label:"Zitat",multiline:!0,rows:3,value:r(s,"quote"),onChange:n=>l("quote",n)}),e.jsx(o,{label:"Zitat-Autor",value:r(s,"quote_author"),onChange:n=>l("quote_author",n)})]});case"solution":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)})]}),e.jsx(o,{label:"Intro",multiline:!0,value:r(s,"intro"),onChange:n=>l("intro",n)}),e.jsx(R,{label:"Features",items:F(s,"features"),onChange:n=>l("features",n),newItem:{icon:"Sparkles",t:"",d:""},render:(n,h)=>e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx(_e,{label:"Icon",value:r(n,"icon","Sparkles"),onChange:c=>h("icon",c)}),e.jsx("input",{className:u+" self-end",placeholder:"Titel",value:r(n,"t"),onChange:c=>h("t",c.target.value)})]}),e.jsx("textarea",{className:u,rows:2,placeholder:"Beschreibung",value:r(n,"d"),onChange:c=>h("d",c.target.value)})]})})]});case"brand_safety":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)})]}),e.jsx(o,{label:"Intro",multiline:!0,value:r(s,"intro"),onChange:n=>l("intro",n)}),e.jsx(me,{label:"Bullets",items:F(s,"bullets"),onChange:n=>l("bullets",n)}),e.jsx(o,{label:"Score-Karte Titel",value:r(s,"score_title"),onChange:n=>l("score_title",n)}),e.jsx(R,{label:"Scores",items:F(s,"scores"),onChange:n=>l("scores",n),newItem:{name:"",score:50},render:(n,h)=>e.jsxs("div",{className:"grid sm:grid-cols-3 gap-2",children:[e.jsx("input",{className:u+" sm:col-span-2",placeholder:"Name",value:r(n,"name"),onChange:c=>h("name",c.target.value)}),e.jsx("input",{type:"number",min:0,max:100,className:u,placeholder:"Score",value:W(n,"score"),onChange:c=>h("score",Number(c.target.value)||0)})]})})]});case"technology":case"technology_reverse":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)}),e.jsx(o,{label:"Bild Alt",value:r(s,"image_alt"),onChange:n=>l("image_alt",n)})]}),e.jsx(K,{label:"Bild",value:r(s,"image"),onChange:n=>l("image",n)}),e.jsxs("div",{className:"rounded-lg border border-border p-3 space-y-2",children:[e.jsx("div",{className:"text-sm font-medium",children:"Grafik-Größe"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(se,{label:"Breite (%)",value:W(s,"image_width",100),onChange:n=>l("image_width",n)}),e.jsx(se,{label:"Höhe (px)",value:W(s,"image_height",256),onChange:n=>l("image_height",n)})]}),e.jsx("button",{type:"button",className:"rounded-md border border-border px-3 py-1.5 text-xs hover:bg-accent",onClick:()=>g({...s,image_width:100,image_height:256}),children:"Auf Standard zurücksetzen (100 % / 256 px)"})]}),e.jsxs("div",{className:"rounded-lg border border-border p-3 space-y-3",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm font-medium",children:[e.jsx("input",{type:"checkbox",checked:s.image_zoom_enabled===!0,onChange:n=>l("image_zoom_enabled",n.target.checked)}),"Bild bei Klick in Modal-Fenster öffnen"]}),s.image_zoom_enabled===!0&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(se,{label:"Modal-Breite (px)",value:W(s,"image_modal_width",1e3),onChange:n=>l("image_modal_width",n)}),e.jsx(se,{label:"Modal-Höhe (px)",value:W(s,"image_modal_height",700),onChange:n=>l("image_modal_height",n)})]}),e.jsx("button",{type:"button",className:"rounded-md border border-border px-3 py-1.5 text-xs hover:bg-accent",onClick:()=>g({...s,image_modal_width:1e3,image_modal_height:700}),children:"Modal-Größe zurücksetzen (1000 × 700 px)"})]})]}),e.jsx(R,{label:"Stats",items:F(s,"stats"),onChange:n=>l("stats",n),newItem:{value:"",label:""},render:(n,h)=>e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx("input",{className:u,placeholder:"Wert",value:r(n,"value"),onChange:c=>h("value",c.target.value)}),e.jsx("input",{className:u,placeholder:"Label",value:r(n,"label"),onChange:c=>h("label",c.target.value)})]})}),e.jsx(R,{label:"Tech-Items",items:F(s,"tech_items"),onChange:n=>l("tech_items",n),newItem:{icon:"Cpu",t:"",d:""},render:(n,h)=>e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx(_e,{label:"Icon",value:r(n,"icon","Cpu"),onChange:c=>h("icon",c)}),e.jsx("input",{className:u+" self-end",placeholder:"Titel",value:r(n,"t"),onChange:c=>h("t",c.target.value)})]}),e.jsx("textarea",{className:u,rows:2,placeholder:"Beschreibung",value:r(n,"d"),onChange:c=>h("d",c.target.value)})]})}),e.jsxs("div",{className:"rounded-lg border border-border p-3 space-y-3",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm font-medium",children:[e.jsx("input",{type:"checkbox",checked:Z(s,"cta_enabled"),onChange:n=>l("cta_enabled",n.target.checked)}),"CTA-Button anzeigen"]}),Z(s,"cta_enabled")&&e.jsxs("div",{className:"grid sm:grid-cols-3 gap-3",children:[e.jsx(o,{label:"Button-Label",value:r(s,"cta_label"),onChange:n=>l("cta_label",n)}),e.jsx(o,{label:"Button-Link",value:r(s,"cta_href"),onChange:n=>l("cta_href",n)}),e.jsxs("label",{className:"block text-sm",children:[e.jsx("span",{className:"mb-1 block text-muted-foreground",children:"Position"}),e.jsxs("select",{className:u,value:r(s,"cta_align","left"),onChange:n=>l("cta_align",n.target.value),children:[e.jsx("option",{value:"left",children:"Links unten"}),e.jsx("option",{value:"right",children:"Rechts unten"}),e.jsx("option",{value:"top",children:"Oben links (über den Kacheln)"})]})]})]}),Z(s,"cta_enabled")&&e.jsxs(e.Fragment,{children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm font-medium",children:[e.jsx("input",{type:"checkbox",checked:Z(s,"cta2_enabled"),onChange:n=>l("cta2_enabled",n.target.checked)}),"Zweiten CTA-Button rechts daneben anzeigen"]}),Z(s,"cta2_enabled")&&e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Button 2 – Label",value:r(s,"cta2_label"),onChange:n=>l("cta2_label",n)}),e.jsx(o,{label:"Button 2 – Link",value:r(s,"cta2_href"),onChange:n=>l("cta2_href",n)})]})]})]})]});case"case_study":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)})]}),e.jsx(o,{label:"Intro",multiline:!0,value:r(s,"intro"),onChange:n=>l("intro",n)}),e.jsxs("div",{className:"grid sm:grid-cols-3 gap-3",children:[e.jsx(o,{label:"Multiplier (z.B. 3×)",value:r(s,"multiplier"),onChange:n=>l("multiplier",n)}),e.jsx(o,{label:"Multiplier Titel",value:r(s,"multiplier_title"),onChange:n=>l("multiplier_title",n)}),e.jsx(o,{label:"Multiplier Sub",value:r(s,"multiplier_sub"),onChange:n=>l("multiplier_sub",n)})]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Chart-Titel",value:r(s,"chart_title"),onChange:n=>l("chart_title",n)}),e.jsx(se,{label:"Max-Wert (Skala)",value:W(s,"max",35),onChange:n=>l("max",n)})]}),e.jsx(R,{label:"Balken",items:F(s,"bars"),onChange:n=>l("bars",n),newItem:{label:"",value:0,highlight:!1},render:(n,h)=>e.jsxs("div",{className:"space-y-2",children:[e.jsx("input",{className:u,placeholder:"Label",value:r(n,"label"),onChange:c=>h("label",c.target.value)}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx("input",{type:"number",className:u,placeholder:"Wert",value:W(n,"value"),onChange:c=>h("value",Number(c.target.value)||0)}),e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:Z(n,"highlight"),onChange:c=>h("highlight",c.target.checked)}),"Highlight"]})]})]})}),e.jsx(o,{label:"Fußnote",value:r(s,"footnote"),onChange:n=>l("footnote",n)})]});case"comparison_table":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)}),e.jsx(o,{label:"Spaltenkopf links",value:r(s,"head_left"),onChange:n=>l("head_left",n)}),e.jsx(o,{label:"Spaltenkopf rechts",value:r(s,"head_right"),onChange:n=>l("head_right",n)})]}),e.jsx(R,{label:"Zeilen",items:F(s,"rows"),onChange:n=>l("rows",n),newItem:{old:"",new:""},render:(n,h)=>e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx("textarea",{className:u,rows:2,placeholder:"Alt",value:r(n,"old"),onChange:c=>h("old",c.target.value)}),e.jsx("textarea",{className:u,rows:2,placeholder:"Neu",value:r(n,"new"),onChange:c=>h("new",c.target.value)})]})})]});case"pricing_tiers":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)})]}),e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:s.highlight_break===!0,onChange:n=>l("highlight_break",n.target.checked)}),"Highlight in neuer Zeile anzeigen",e.jsx("span",{className:"text-xs text-muted-foreground",children:"(alternativ am Ende der Headline <br> einfügen)"})]}),e.jsx(R,{label:"Pakete",itemLabel:"Paket",items:F(s,"tiers"),onChange:n=>l("tiers",n),newItem:{name:"",tag:"",featured:!1,features:[]},render:(n,h)=>e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"grid sm:grid-cols-3 gap-2",children:[e.jsx("input",{className:u,placeholder:"Name",value:r(n,"name"),onChange:c=>h("name",c.target.value)}),e.jsx("input",{className:u,placeholder:"Tag",value:r(n,"tag"),onChange:c=>h("tag",c.target.value)}),e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:Z(n,"featured"),onChange:c=>h("featured",c.target.checked)}),"Hervorgehoben"]})]}),e.jsx(me,{label:"Features",items:F(n,"features"),onChange:c=>h("features",c)})]})}),e.jsx(R,{label:"Schritte",itemLabel:"Schritt",items:F(s,"steps"),onChange:n=>l("steps",n),newItem:{icon:"Calendar",t:""},render:(n,h)=>e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx(_e,{label:"Icon",value:r(n,"icon","Calendar"),onChange:c=>h("icon",c)}),e.jsx("input",{className:u+" self-end",placeholder:"Text",value:r(n,"t"),onChange:c=>h("t",c.target.value)})]})})]});case"cta_final":return e.jsxs("div",{className:"space-y-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Eyebrow",value:r(s,"eyebrow"),onChange:n=>l("eyebrow",n)}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)})]}),e.jsx(o,{label:"Subline",multiline:!0,value:r(s,"subline"),onChange:n=>
1l("subline",n),hint:"Zeilenumbruch: Enter drücken oder <br> im Text schreiben."}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Button-Label",value:r(s,"button_label"),onChange:n=>l("button_label",n)}),e.jsx(o,{label:"Button-Link",value:r(s,"button_href"),onChange:n=>l("button_href",n)})]})]});case"footer":return e.jsxs("div",{className:"space-y-3",children:[e.jsx(o,{label:"Marke",value:r(s,"brand"),onChange:n=>l("brand",n)}),e.jsx(o,{label:"Copyright (Platzhalter: {year})",value:r(s,"copyright"),onChange:n=>l("copyright",n)})]});case"client_logos":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)})]}),e.jsx(o,{label:"Footnote",value:r(s,"footnote"),onChange:n=>l("footnote",n)}),e.jsx(yn,{logos:F(s,"logos"),onAppend:n=>l("logos",[...F(s,"logos"),...n])}),e.jsx(R,{label:"Logos",itemLabel:"Logo",items:F(s,"logos"),onChange:n=>l("logos",n),newItem:{src:"",alt:"",href:""},render:(n,h)=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{label:"Bild",value:r(n,"src"),onChange:c=>h("src",c),normalize:!0}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx("input",{className:u,placeholder:"Alt-Text",value:r(n,"alt"),onChange:c=>h("alt",c.target.value)}),e.jsx("input",{className:u,placeholder:"Link (optional)",value:r(n,"href"),onChange:c=>h("href",c.target.value)})]})]})})]});case"about_hero":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Eyebrow",value:r(s,"eyebrow"),onChange:n=>l("eyebrow",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)}),e.jsx(o,{label:"Headline Suffix",value:r(s,"headline_suffix"),onChange:n=>l("headline_suffix",n)})]}),e.jsx(me,{label:"Absätze",items:F(s,"paragraphs"),onChange:n=>l("paragraphs",n),placeholder:"Absatztext…"})]});case"about_team":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)})]}),e.jsx(R,{label:"Personen",itemLabel:"Person",items:F(s,"people"),onChange:n=>l("people",n),newItem:{name:"",role:"",description:"",image:"",linkedin:""},render:(n,h)=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{label:"Foto",value:r(n,"image"),onChange:c=>h("image",c)}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2",children:[e.jsx("input",{className:u,placeholder:"Name",value:r(n,"name"),onChange:c=>h("name",c.target.value)}),e.jsx("input",{className:u,placeholder:"Rolle",value:r(n,"role"),onChange:c=>h("role",c.target.value)})]}),e.jsx("textarea",{className:u,placeholder:"Beschreibung",rows:2,value:r(n,"description"),onChange:c=>h("description",c.target.value)}),e.jsx("input",{className:u,placeholder:"LinkedIn-URL",value:r(n,"linkedin"),onChange:c=>h("linkedin",c.target.value)})]})})]});case"about_why":return e.jsxs("div",{className:"space-y-3",children:[e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)})]}),e.jsx(o,{label:"Text",value:r(s,"body"),onChange:n=>l("body",n),multiline:!0,rows:5})]});case"about_location":return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsx(o,{label:"Anchor",value:r(s,"anchor"),onChange:n=>l("anchor",n)}),e.jsx(o,{label:"Kicker",value:r(s,"kicker"),onChange:n=>l("kicker",n)}),e.jsx(o,{label:"Headline",value:r(s,"headline"),onChange:n=>l("headline",n)}),e.jsx(o,{label:"Headline (gradient)",value:r(s,"headline_highlight"),onChange:n=>l("headline_highlight",n)}),e.jsx(o,{label:"Firma",value:r(s,"company"),onChange:n=>l("company",n)}),e.jsx(o,{label:"E-Mail",value:r(s,"email"),onChange:n=>l("email",n)}),e.jsx(o,{label:"Telefon",value:r(s,"phone"),onChange:n=>l("phone",n)})]}),e.jsx(o,{label:"Adresse",value:r(s,"address"),onChange:n=>l("address",n),multiline:!0,rows:3}),e.jsx(o,{label:"Hinweis (unten)",value:r(s,"note"),onChange:n=>l("note",n),multiline:!0,rows:2}),e.jsx(o,{label:"Karten-iframe-URL (OpenStreetMap embed)",value:r(s,"map_src"),onChange:n=>l("map_src",n),multiline:!0,rows:2})]});case"segment_overview":return e.jsx(pn,{data:s,onChange:n=>g(n)});case"contact_form":return e.jsx("div",{className:"rounded-md border border-border bg-muted/30 p-3 text-sm text-muted-foreground",children:'Rendert das Standard-Kontaktformular (identisch mit der Seite „Kontakt"). Empfänger, Captcha und Pflichtfelder werden zentral in den CRM-/Captcha-Einstellungen konfiguriert — dieser Block hat keine eigenen Optionen.'});default:return null}}export{An as SectionBlockEditor,$n as component};

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.