PageSourceSearch

https://www.nibe.at/assets/FormRenderer-B-e3HyQQ.js

js nibe.at collected 2026-10-09 21:31:25 UTC 14,944 bytes, 3 lines download raw bytes

1import{_ as e,a as t,i as n,m as r,r as i}from"./clsx-Dsh3LPXs.js";import{_ as a,c as o,d as s,f as c,g as l,h as u,j as d,m as f,p,t as m,u as h,v as g,y as _}from"./SmartLink-Bv_SLLZx.js";import{R as v}from"./index-C2-8pY_V.js";var y=e(r(),1),b=i({method:`POST`}).handler(t(`e446a262440eeedceb2839c5c45d370e9ffc4aad4e3ff2d28cc7325f90ebfd29`)),x=i({method:`POST`}).handler(t(`a061e4713df7a1e01663797dadbee1272176b9dafd72f07bb36b2e9fa8ff0246`)),S=n();function C({open:e,onOpenChange:t,config:n,onSave:r,onReset:i}){let{busy:m}=d(),[v,b]=(0,y.useState)(n);(0,y.useEffect)(()=>{e&&b(n)},[e]);let x=(e,t)=>b(n=>({...n,[e]:t})),C=(e,t)=>b(n=>({...n,fields:n.fields.map((n,r)=>r===e?{...n,...t}:n)})),w=(e,t,n=!1)=>(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(c,{htmlFor:`form-${String(e)}`,children:t}),n?(0,S.jsx)(s,{id:`form-${String(e)}`,rows:3,value:String(v[e]??``),onChange:t=>x(e,t.target.value)}):(0,S.jsx)(p,{id:`form-${String(e)}`,value:String(v[e]??``),onChange:t=>x(e,t.target.value)})]});return(0,S.jsx)(f,{open:e,onOpenChange:t,children:(0,S.jsxs)(u,{className:`max-h-[85vh] overflow-y-auto sm:max-w-2xl`,children:[(0,S.jsxs)(g,{children:[(0,S.jsx)(_,{children:`Edit form`}),(0,S.jsx)(l,{children:`Change all texts, choices and required fields. Saved as a draft until you publish.`})]}),(0,S.jsxs)(`div`,{className:`space-y-4`,children:[w(`heading`,`Form heading`),w(`intro`,`Intro text`,!0),(0,S.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,S.jsx)(`p`,{className:`mb-3 text-sm font-medium`,children:`Fields`}),(0,S.jsx)(`div`,{className:`space-y-5`,children:v.fields.map((e,t)=>(0,S.jsxs)(`div`,{className:`space-y-2 border-t border-border pt-4 first:border-0 first:pt-0`,children:[(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsxs)(c,{htmlFor:`fl-${e.name}`,children:[`Label (`,e.type,`)`]}),(0,S.jsx)(s,{id:`fl-${e.name}`,rows:2,value:e.label,onChange:e=>C(t,{label:e.target.value})})]}),(e.type===`text`||e.type===`email`||e.type===`tel`||e.type===`textarea`||e.type===`select`)&&(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(c,{htmlFor:`fp-${e.name}`,children:`Placeholder`}),(0,S.jsx)(p,{id:`fp-${e.name}`,value:e.placeholder??``,onChange:e=>C(t,{placeholder:e.target.value})})]}),(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(c,{htmlFor:`fh-${e.name}`,children:`Help text`}),(0,S.jsx)(s,{id:`fh-${e.name}`,rows:2,value:e.help??``,onChange:e=>C(t,{help:e.target.value})})]}),(e.type===`radios`||e.type===`checkboxes`||e.type===`select`)&&(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(c,{htmlFor:`fo-${e.name}`,children:`Choices (one per line)`}),(0,S.jsx)(s,{id:`fo-${e.name}`,rows:3,value:(e.options??[]).join(`
2`),onChange:e=>C(t,{options:e.target.value.split(`
3`).map(e=>e.trim()).filter(Boolean)})})]}),(0,S.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,S.jsx)(h,{checked:!!e.required,onCheckedChange:e=>C(t,{required:e===!0})}),`Required field`]})]},e.name))})]}),w(`submitLabel`,`Submit button`),w(`sendingLabel`,`Button while sending`),w(`successTitle`,`Success heading`),w(`successText`,`Success message`,!0),w(`errorText`,`Error message`,!0),w(`requiredMessage`,`Message for empty required fields`),w(`emailMessage`,`Message for an invalid email address`),w(`privacyLabel`,`Privacy link text`),w(`privacyHref`,`Privacy link target`),w(`recipient`,`Email recipient for submissions`)]}),(0,S.jsxs)(a,{className:`gap-2 sm:justify-between`,children:[(0,S.jsx)(o,{type:`button`,variant:`ghost`,disabled:m,onClick:async()=>{await i()&&t(!1)},children:`Reset to original`}),(0,S.jsxs)(`div`,{className:`flex gap-2`,children:[(0,S.jsx)(o,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,S.jsx)(o,{type:`button`,disabled:m,onClick:async()=>{await r(v)&&t(!1)},children:`Save draft`})]})]})]})})}var w=`0x4AAAAAAEz5cfn6bd3i0oj5`,T=`https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit`,E;function D(){return typeof window>`u`||window.turnstile?Promise.resolve():(E||=new Promise((e,t)=>{let n=document.querySelector(`script[src="${T}"]`),r=n??document.createElement(`script`);r.src=T,r.async=!0,r.defer=!0,r.addEventListener(`load`,()=>e()),r.addEventListener(`error`,()=>t(Error(`turnstile`))),n||document.head.appendChild(r)}),E)}function O({onToken:e,onStatus:t}){let n=(0,y.useRef)(null),r=(0,y.useRef)(null),i=(0,y.useRef)(e);i.current=e;let a=(0,y.useRef)(t);return a.current=t,(0,y.useEffect)(()=>{let e=!1,t=window.setTimeout(()=>{!e&&!r.current&&a.current?.(`unavailable`)},8e3);return a.current?.(`loading`),D().then(()=>
3{if(e||!n.current||!window.turnstile){e||a.current?.(`unavailable`);return}r.current=window.turnstile.render(n.current,{sitekey:w,theme:`light`,callback:e=>{a.current?.(`ready`),i.current(e)},"expired-callback":()=>{a.current?.(`loading`),i.current(``)},"error-callback":()=>{a.current?.(`unavailable`),i.current(``)}})}).catch(()=>{e||a.current?.(`unavailable`)}),()=>{e=!0,window.clearTimeout(t),r.current&&window.turnstile&&(window.turnstile.remove(r.current),r.current=null)}},[]),(0,S.jsx)(`div`,{ref:n,className:`mt-8`})}var k=`Die Sicherheitsprüfung konnte nicht geladen werden – meist blockiert ein Werbe- oder Skriptblocker challenges.cloudflare.com. Bitte deaktivieren Sie ihn für diese Seite und laden Sie sie neu, oder schreiben Sie uns direkt an [email protected].`,A=e=>/^[^\s@]+@[^\s@]+\.[a-z]{2,}$/i.test(e.trim());function j(e,t,n=[]){if(!e.showIf)return!0;let r=t[e.showIf.field];if(e.showIf.oneOf){if(typeof r!=`string`||!e.showIf.oneOf.includes(r))return!1}else if(r!==e.showIf.equals)return!1;let i=n.find(t=>t.name===e.showIf.field);return!i||i===e||j(i,t,n.filter(t=>t!==e))}function M(e,t){let n=e.options??[];if(!e.autoSelect)return n;let r=t[e.autoSelect.field];if(typeof r!=`string`||!r)return n;let i=e.autoSelect.optionIndex[r];if(i===void 0)return n;let a=n[i];return a?[a]:n}function N(e){let t={};for(let n of e.fields)t[n.name]=n.type===`checkboxes`?[]:n.type!==`consent`&&``;return t}function P({scope:e,formId:t,defaults:n,className:r=``,extraEntries:i=[],onSuccess:a}){let{get:o,save:s,reset:c}=d(),l=`form.${t}`,u=o(e,l,n),f=(0,y.useMemo)(()=>({...n,...u}),[n,u]),[p,h]=(0,y.useState)(()=>N(f)),[g,_]=(0,y.useState)({}),[w,T]=(0,y.useState)(`idle`),[E,D]=(0,y.useState)(``),[P,F]=(0,y.useState)(!1),[I,L]=(0,y.useState)(``),[R,z]=(0,y.useState)(`loading`),[B,V]=(0,y.useState)(``),[H,U]=(0,y.useState)({}),W=(e,t)=>{h(n=>{let r={...n,[e]:t};for(let n of f.fields){if(!n.autoSelect||n.autoSelect.field!==e)continue;let i=typeof t==`string`?n.autoSelect.optionIndex[t]:void 0,a=i===void 0?void 0:n.options?.[i];r[n.name]=a??``}return r}),_(t=>{if(!t[e])return t;let n={...t};return delete n[e],n})},G=async(e,t)=>{if(!t){W(e,``),U(t=>({...t,[e]:``}));return}U(t=>({...t,[e]:`Datei wird hochgeladen …`}));try{let n=new FormData;n.set(`file`,t);let{url:r}=await x({data:n});W(e,r),U(n=>({...n,[e]:`${t.name} wurde hochgeladen.`}))}catch(t){W(e,``),U(n=>({...n,[e]:t instanceof Error&&t.message?t.message:`Die Datei konnte nicht hochgeladen werden.`}))}},K=()=>{let e={};for(let t of f.fields){if(!j(t,p,f.fields))continue;let n=p[t.name];if(t.required&&(Array.isArray(n)&&n.length===0||typeof n==`string`&&n.trim()===``||n===!1||n===void 0)){e[t.name]=f.requiredMessage;continue}t.type===`email`&&typeof n==`string`&&n.trim()!==``&&(A(n)||(e[t.name]=f.emailMessage))}return _(e),e},q=async n=>{n.preventDefault();let r=K(),o=Object.keys(r)[0];if(o){document.getElementById(`${t}-${o}`)?.focus();return}T(`sending`);try{let n=f.fields.filter(e=>e.type!==`section`&&j(e,p,f.fields)).map(e=>{let t=p[e.name];return{name:e.name,label:e.label,value:Array.isArray(t)?t.join(`, `):typeof t==`boolean`?t?`Ja`:`Nein`:String(t??``)}}),r=await b({data:{formId:t,scope:e,subject:f.heading,entries:[...n,...i],trap:E,turnstileToken:I,turnstileUnavailable:R===`unavailable`}});if(r.ok){T(`success`),a?.([...n,...i]);return}V(r.reason===`turnstile`?k:f.errorText),T(`error`)}catch{V(f.errorText),T(`error`)}};if(w===`success`)return(0,S.jsxs)(`div`,{className:r,role:`status`,"aria-live":`polite`,children:[(0,S.jsx)(`h3`,{className:`text-[22px] font-semibold text-foreground`,children:f.successTitle}),(0,S.jsx)(`p`,{className:`mt-3 max-w-2xl text-[15px] text-muted-foreground`,children:f.successText})]});let J=(0,S.jsxs)(`form`,{className:r,onSubmit:q,noValidate:!0,children:[(0,S.jsx)(`h2`,{className:`text-[26px] font-semibold text-foreground`,children:f.heading}),(0,S.jsx)(`p`,{className:`mt-3 text-[17px] text-muted-foreground`,children:f.intro}),(0,S.jsx)(`div`,{className:`mt-8 grid gap-6 md:grid-cols-2`,children:f.fields.map(e=>{if(!j(e,p,f.fields))return null;let n=`${t}-${e.name}`,r=g[e.name];if(e.type===`section`)return(0,S.jsx)(`h3`,{className:`mt-2 text-[20px] font-semibold text-foreground md:col-span-2`,children:e.label},e.name);let i=e.type===`radios`||e.type===`checkboxes`,a=i?`fieldset`:`div`,o=i?`legend`:`label`,s=[e.help?`${n}-help`:null,r?`${n}
3-error`:null].filter(Boolean).join(` `)||void 0;return(0,S.jsxs)(`div`,{className:e.half?`md:col-span-1`:`md:col-span-2`,children:[e.type===`consent`?(0,S.jsxs)(`label`,{className:`flex items-start gap-3 text-[17px] text-foreground`,children:[(0,S.jsx)(`input`,{id:n,type:`checkbox`,checked:p[e.name]===!0,onChange:t=>W(e.name,t.target.checked),"aria-required":e.required?!0:void 0,"aria-invalid":r?!0:void 0,...s?{"aria-describedby":s}:{},className:`mt-1 h-5 w-5 shrink-0 rounded border-input accent-[var(--primary)]`}),(0,S.jsx)(`span`,{children:e.noPrivacy?(0,S.jsxs)(S.Fragment,{children:[e.label,e.required&&(0,S.jsx)(`span`,{"aria-hidden":`true`,children:` *`})]}):e.label.includes(`{privacy}`)?(0,S.jsxs)(S.Fragment,{children:[e.label.split(`{privacy}`)[0],(0,S.jsx)(m,{to:f.privacyHref,className:`link-brand underline`,children:f.privacyLabel}),e.label.split(`{privacy}`)[1],e.required&&(0,S.jsx)(`span`,{"aria-hidden":`true`,children:` *`})]}):(0,S.jsxs)(S.Fragment,{children:[e.label,e.required&&(0,S.jsx)(`span`,{"aria-hidden":`true`,children:` *`}),` `,(0,S.jsx)(m,{to:f.privacyHref,className:`link-brand underline`,children:f.privacyLabel}),`.`]})})]}):(0,S.jsxs)(a,{className:`border-0 p-0`,children:[(0,S.jsxs)(o,{...i?{}:{htmlFor:n},className:`mb-2 block text-[17px] font-medium text-foreground`,children:[e.label,e.required&&(0,S.jsx)(`span`,{"aria-hidden":`true`,children:` *`})]}),(e.help||e.helpLink)&&(0,S.jsxs)(`p`,{id:`${n}-help`,className:`mb-2 text-[17px] text-muted-foreground`,children:[e.help,e.helpLink&&(0,S.jsxs)(S.Fragment,{children:[e.help?` `:``,(0,S.jsx)(m,{to:e.helpLink.href,external:!0,className:`link-brand underline`,children:e.helpLink.label}),e.helpLink.after?` ${e.helpLink.after}`:``]})]}),e.type===`file`&&(0,S.jsxs)(`div`,{className:`space-y-2`,children:[(0,S.jsx)(`input`,{id:n,type:`file`,accept:`image/jpeg,image/png,image/webp,image/gif,image/avif,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document`,onChange:t=>G(e.name,t.target.files?.[0]??null),"aria-required":e.required?!0:void 0,"aria-invalid":r?!0:void 0,...s?{"aria-describedby":s}:{},className:`block w-full text-[14px] text-foreground file:mr-3 file:min-h-11 file:rounded-md file:border file:border-input file:bg-background file:px-4 file:py-2 file:text-[14px] file:text-foreground`}),(0,S.jsx)(`p`,{role:`status`,"aria-live":`polite`,className:`text-[13px] text-muted-foreground`,children:H[e.name]??``})]}),(e.type===`text`||e.type===`email`||e.type===`tel`||e.type===`url`||e.type===`number`||e.type===`date`)&&(0,S.jsx)(`input`,{id:n,type:e.type===`text`?`text`:e.type,...e.type===`number`?{min:0,step:1}:{},value:String(p[e.name]??``),placeholder:e.placeholder??``,onChange:t=>W(e.name,t.target.value),"aria-required":e.required?!0:void 0,"aria-invalid":r?!0:void 0,...s?{"aria-describedby":s}:{},className:`min-h-11 w-full rounded-md border border-input bg-background px-3 py-2 text-[15px] text-foreground`}),e.type===`textarea`&&(0,S.jsx)(`textarea`,{id:n,rows:5,value:String(p[e.name]??``),placeholder:e.placeholder??``,onChange:t=>W(e.name,t.target.value),"aria-required":e.required?!0:void 0,"aria-invalid":r?!0:void 0,...s?{"aria-describedby":s}:{},className:`w-full rounded-md border border-input bg-background px-3 py-2 text-[15px] text-foreground`}),e.type===`select`&&(0,S.jsxs)(`select`,{id:n,value:String(p[e.name]??``),onChange:t=>W(e.name,t.target.value),"aria-required":e.required?!0:void 0,"aria-invalid":r?!0:void 0,...s?{"aria-describedby":s}:{},className:`min-h-11 w-full rounded-md border border-input bg-background px-3 py-2 text-[15px] text-foreground`,children:[(0,S.jsx)(`option`,{value:``,children:e.placeholder??`Bitte wählen`}),(e.options??[]).map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))]}),e.type===`radios`&&(0,S.jsx)(`div`,{className:`space-y-2`,children:M(e,p).map((r,i)=>(0,S.jsxs)(`label`,{className:`flex items-start gap-3 text-[17px] text-foreground`,children:[(0,S.jsx)(`input`,{...i===0?{id:n}:{},type:`radio`,name:`${t}-${e.name}`,value:r,checked:p[e.name]===r,onChange:()=>W(e.name,r),"aria-required":e.required?!0:void 0,...s?{"aria-describedby":s}:{},className:`mt-1 h-5 w-5 shrink-0 accent-[var(--primary)]`}),(0,S.jsx)(`span`,{children:r})]},r))}),e.type===`checkboxes`&&(0,S.jsx)(`div`,{className:`space-y-2`,children:(e.options??[]).map((t,r)=>{let i=Array.isArray(p[e.name])?p[e.name]:[];return(0,S.jsxs)(`label`,{className:`flex items-start gap-3 text-[17px] text-foreground`,children:[(0,S.jsx)(`input`,{...r===0?{id:n}:{},type:`checkbox`,value:t,checked:i.includes(t),onChange:n=>W(e.name,n.target.checked?[...i,t]:i.filter(e=>e!==t)),...s?{"aria-describedby":s}:{},className:`mt-1 h-5 w-5 shrink-0 rounded border-input accent-[var(--primary)]`}),(0,S.jsx)(`span`,{children:t})]},t)})})]}),r&&(0,S.jsx)(`p`,{id:`${n}-error`,className:`mt-2 text-[13px] text-destructive`,children:r})]},e.name)})}),(0,S.jsxs)(`div`,{"aria-hidden":`true`,className:`absolute left-[-9999px] h-px w-px overflow-hidden`,children:[(0,S.jsx)(`label`,{htmlFor:`${t}-website`,children:`Website`}),(0,S.jsx)(`input`,{id:`${t}-website`,tabIndex:-1,autoComplete:`off`,value:E,onChange:e=>D(e.target.value)})]}),(0,S.jsx)(O,{onToken:L,onStatus:z}),(0,S.jsxs)(`div`,{className:`mt-6 flex flex-wrap items-center gap-4`,children:[(0,S.jsx)(`button`,{type:`submit`,disabled:w===`sending`,className:`inline-flex min-h-11 items-center rounded-md bg-primary px-6 py-3 text-[15px] font-medium text-primary-foreground disabled:opacity-60`,children:w===`sending`?f.sendingLabel:f.submitLabel}),(0,S.jsx)(`p`,{role:`status`,"aria-live":`polite`,className:`text-[14px] text-destructive`,children:w===`error`?B||f.errorText:``})]})]});return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(v,{label:`Formular`,onEdit:()=>F(!0),children:J}),(0,S.jsx)(C,{open:P,onOpenChange:F,config:f,onSave:t=>s(e,l,`form`,t),onReset:()=>c(e,l)})]})}export{P as t};

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.