PageSourceSearch

https://sunlitehealthcare.co.uk/assets/submit.functions-BrFyXzxX.js

js sunlitehealthcare.co.uk collected 2026-10-09 22:03:34 UTC 7,955 bytes, 1 lines download raw bytes

1import{p as M,T as y,g as C,i as E,r as g,j as c,c as b}from"./index-CXa8l3Q4.js";import{C as _}from"./circle-check-U-ilY9Qx.js";import{c as q}from"./SiteLayout-Cw5FqoWd.js";function N(r){if(Array.isArray(r))return r.flatMap(l=>N(l));if(typeof r!="string")return[];const s=[];let e=0,o,i,t,a,d;const u=()=>{for(;e<r.length&&/\s/.test(r.charAt(e));)e+=1;return e<r.length},f=()=>(i=r.charAt(e),i!=="="&&i!==";"&&i!==",");for(;e<r.length;){for(o=e,d=!1;u();)if(i=r.charAt(e),i===","){for(t=e,e+=1,u(),a=e;e<r.length&&f();)e+=1;e<r.length&&r.charAt(e)==="="?(d=!0,e=a,s.push(r.slice(o,t)),o=e):e=t+1}else e+=1;(!d||e>=r.length)&&s.push(r.slice(o))}return s}function V(r){return r instanceof Headers?r:Array.isArray(r)?new Headers(r):typeof r=="object"?new Headers(r):null}function A(...r){return r.reduce((s,e)=>{const o=V(e);if(!o)return s;for(const[i,t]of o.entries())i==="set-cookie"?N(t).forEach(a=>s.append("set-cookie",a)):s.set(i,t);return s},new Headers)}function v(r){return r!=="__proto__"&&r!=="constructor"&&r!=="prototype"}function x(r,s){const e=Object.create(null);if(r)for(const o of Object.keys(r))v(o)&&(e[o]=r[o]);if(s&&typeof s=="object")for(const o of Object.keys(s))v(o)&&(e[o]=s[o]);return e}function S(r){return Object.create(null)}var F=()=>{throw new Error("createServerOnlyFn() functions can only be called on the server!")},p=(r,s)=>{const e=s||r||{};return typeof e.method>"u"&&(e.method="GET"),Object.assign(t=>p(void 0,{...e,...t}),{options:e,middleware:t=>{const a=[...e.middleware||[]];t.map(u=>{y in u?u.options.middleware&&a.push(...u.options.middleware):a.push(u)});const d=p(void 0,{...e,middleware:a});return d[y]=!0,d},inputValidator:t=>p(void 0,{...e,inputValidator:t}),handler:(...t)=>{const[a,d]=t,u={...e,extractedFn:a,serverFn:d},f=[...u.middleware||[],H(u)];return a.method=e.method,Object.assign(async l=>{const n=await j(f,"client",{...a,...u,data:l?.data,headers:l?.headers,signal:l?.signal,fetch:l?.fetch,context:S()}),m=M(n.error);if(m)throw m;if(n.error)throw n.error;return n.result},{...a,method:e.method,__executeServer:async l=>{const n=F(),m=n.contextAfterGlobalMiddlewares;return await j(f,"server",{...a,...l,serverFnMeta:a.serverFnMeta,context:x(l.context,m),request:n.request}).then(h=>({result:h.result,error:h.error,context:h.sendContext}))}})}})};async function j(r,s,e){let o=R([...C()?.functionMiddleware||[],...r]);if(s==="server"){const t=F();t?.executedRequestMiddlewares&&(o=o.filter(a=>!t.executedRequestMiddlewares.has(a)))}const i=async t=>{const a=o.shift();if(!a)return t;try{"inputValidator"in a.options&&a.options.inputValidator&&s==="server"&&(t.data=await T(a.options.inputValidator,t.data));let d;if(s==="client"?"client"in a.options&&(d=a.options.client):"server"in a.options&&(d=a.options.server),d){const f=await d({...t,next:async(l={})=>{const n=await i({...t,...l,context:x(t.context,l.context),sendContext:x(t.sendContext,l.sendContext),headers:A(t.headers,l.headers),_callSiteFetch:t._callSiteFetch,fetch:t._callSiteFetch??l.fetch??t.fetch,result:l.result!==void 0?l.result:l instanceof Response?l:t.result,error:l.error??t.error});if(n.error)throw n.error;return n}});if(E(f))return{...t,error:f};if(f instanceof Response)return{...t,result:f};if(!f)throw new Error("User middleware returned undefined. You must call next() or return a result in your middlewares.");return f}return i(t)}catch(d){return{...t,error:d}}};return i({...e,headers:e.headers||{},sendContext:e.sendContext||{},context:e.context||S(),_callSiteFetch:e.fetch})}function R(r,s=100){const e=new Set,o=[],i=(t,a)=>{if(a>s)throw new Error(`Middleware nesting depth exceeded maximum of ${s}. Check for circular references.`);t.forEach(d=>{d.options.middleware&&i(d.options.middleware,a+1),e.has(d)||(e.add(d),o.push(d))})};return i(r,0),o}async function T(r,s){if(r==null)return{};if("~standard"in r){const e=await r["~standard"].validate(s);if(e.issues)throw new Error(JSON.stringify(e.issues,void 0,2));return e.value}if("parse"in r)return r.parse(s);if(typeof r=="function")return r(s);throw new Error("Invalid validator type!")}function H(r){return{"~types":void 0,options:{inputValidator:r.inputValidator,client:async({next:s,sendContext:e,fetch:o,...i})=>{const t={...i,context:e,fetch:o};return s(await r.extractedFn?.(t))},server:async({next:s,...e})=>{const o=await r.serverFn?.(e);return s({...e,result:o})}}}}const P=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],I=q("loader-circle",P);function B({fields:r,submit:s,submitLabel:e="Send Enquiry",successTitle:o="Thank y
1ou. Your enquiry has been received.",successBody:i="Sunlite Health Care will contact you shortly.",intro:t}){const[a,d]=g.useState("idle"),[u,f]=g.useState(null);async function l(n){n.preventDefault(),d("loading"),f(null);const m=new FormData(n.currentTarget),h={};m.forEach((w,O)=>{h[O]=String(w)});try{await s(h),d("success")}catch(w){d("error"),f(w instanceof Error?w.message:"Something went wrong. Please call us instead.")}}return a==="success"?c.jsxs("div",{className:"rounded-2xl border border-border bg-card p-8 text-center shadow-cardish",children:[c.jsx(_,{className:"mx-auto h-12 w-12 text-whatsapp"}),c.jsx("h3",{className:"mt-4 font-display text-2xl",children:o}),c.jsx("p",{className:"mt-2 text-muted-foreground",children:i})]}):c.jsxs("form",{onSubmit:l,className:"rounded-2xl border border-border bg-card p-6 shadow-cardish sm:p-8",children:[t&&c.jsx("div",{className:"mb-6 text-sm text-muted-foreground",children:t}),c.jsx("input",{type:"text",name:"hp",tabIndex:-1,autoComplete:"off",className:"absolute left-[-9999px] h-0 w-0","aria-hidden":!0}),c.jsx("div",{className:"grid gap-4 sm:grid-cols-2",children:r.map(n=>{const m=n.textarea||n.name==="address"||n.name==="client_address"?"sm:col-span-2":"";return c.jsxs("label",{className:`block text-sm ${m}`,children:[c.jsxs("span",{className:"mb-1 block font-medium text-foreground",children:[n.label,n.required&&c.jsx("span",{className:"text-destructive",children:" *"})]}),n.options?c.jsxs("select",{name:n.name,required:n.required,defaultValue:n.defaultValue??"",className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-ring/30",children:[c.jsx("option",{value:"",disabled:!0,children:n.placeholder??"Please choose"}),n.options.map(h=>c.jsx("option",{value:h,children:h},h))]}):n.textarea?c.jsx("textarea",{name:n.name,required:n.required,placeholder:n.placeholder,defaultValue:n.defaultValue,rows:n.rows??5,className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-ring/30"}):c.jsx("input",{name:n.name,type:n.type??"text",required:n.required,placeholder:n.placeholder,defaultValue:n.defaultValue,className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-ring/30"})]},n.name)})}),u&&c.jsx("p",{className:"mt-4 text-sm text-destructive",children:u}),c.jsxs("button",{type:"submit",disabled:a==="loading",className:"mt-6 inline-flex items-center gap-2 rounded-full bg-primary px-6 py-3 text-sm font-semibold text-primary-foreground shadow-cardish hover:opacity-90 disabled:opacity-60",children:[a==="loading"?c.jsx(I,{className:"h-4 w-4 animate-spin"}):null,e]}),c.jsx("p",{className:"mt-3 text-xs text-muted-foreground",children:"By submitting this form you agree to be contacted by Sunlite Health Care about your enquiry."})]})}const L=p({method:"POST"}).handler(b("8f553f9eff62f18cf14ee61661fb663a4f633dbf5aef60f4a9a821a32ed08285")),U=p({method:"POST"}).handler(b("ac8f29c8cf91e9df17fc48a23b31ee1afee423c2b40cf6a67608ceb0f910f604")),$=p({method:"POST"}).handler(b("a3ca8e38a60a88bcda0b54c21ac2dfa40966ed1f5ade444e59adfb99314305dc")),z=p({method:"POST"}).handler(b("694411d34c4905e298645be1f5ea648362f6ab3a63c056c5474702a27cfe34cd"));export{B as F,L as a,U as b,z as c,$ as s};

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.