PageSourceSearch

https://creativelighting.co/assets/ContactForm-BHmBvUYp.js

js creativelighting.co collected 2026-10-08 12:37:45 UTC 5,976 bytes, 1 lines download raw bytes

1import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{i as t,r as n}from"./framework-CXnKph_e.js";var r=e(t(),1),i=n(),a=[`Founder / Partner`,`Design Director / Creative Director`,`Head of Visualisation`,`Technology / Innovation / Digital Practice Lead`,`Studio / Team Lead`,`Architect / Designer`,`Visualisation Artist`,`Other`],o=[`1`,`2–5`,`6–10`,`11–20`,`21–50`,`51–100`,`100+`],s=[`AI Workflow Masterclass`,`Private Studio Training`,`AI Workflow Advisory`,`Speaking, Events & Partnerships`,`Review Spaces`,`Other`];function c(){let[e,t]=(0,r.useState)(`idle`),[n,c]=(0,r.useState)(``),l=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(e!==`success`)return;let t=window.requestAnimationFrame(()=>{l.current?.scrollIntoView({behavior:`smooth`,block:`start`}),l.current?.focus({preventScroll:!0})});return()=>window.cancelAnimationFrame(t)},[e]);async function u(n){if(n.preventDefault(),e===`sending`)return;let r=n.currentTarget,i=new FormData(r),a=Object.fromEntries(i.entries()),o=globalThis.crypto?.randomUUID?.()||`contact-${Date.now()}-${Math.random().toString(36).slice(2)}`;t(`sending`),c(``);try{let e=await fetch(`/api/contact`,{method:`POST`,headers:{"Content-Type":`application/json`,"X-Idempotency-Key":o},body:JSON.stringify(a)});if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.message||`We couldn’t send your enquiry. Please try again.`)}r.reset(),t(`success`)}catch(e){t(`error`),c(e instanceof Error?e.message:`We couldn’t send your enquiry. Please try again.`)}}return e===`success`?(0,i.jsxs)(`div`,{className:`ct-form-success`,ref:l,tabIndex:-1,role:`status`,"aria-live":`polite`,children:[(0,i.jsx)(`div`,{className:`ct-success-mark`,"aria-hidden":`true`,children:`✓`}),(0,i.jsx)(`p`,{className:`ct-success-kicker`,children:`Enquiry received`}),(0,i.jsxs)(`h3`,{children:[`Thank you for`,(0,i.jsx)(`br`,{}),(0,i.jsx)(`em`,{children:`reaching out.`})]}),(0,i.jsxs)(`div`,{className:`ct-success-copy`,children:[(0,i.jsx)(`p`,{children:`Your enquiry has been received and will be reviewed personally. We’ll consider the context, priorities, and type of support or collaboration involved, then respond with the most relevant way forward.`}),(0,i.jsx)(`p`,{children:`We appreciate your interest in Creative Lighting and look forward to continuing the conversation.`})]}),(0,i.jsx)(`span`,{className:`ct-success-signoff`,children:`Creative Lighting · Athens · Global`})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`div`,{className:`ct-form-index`,children:[(0,i.jsx)(`span`,{children:`Required fields`}),(0,i.jsx)(`b`,{children:`*`})]}),(0,i.jsxs)(`form`,{className:`ct-form`,onSubmit:u,children:[(0,i.jsxs)(`div`,{className:`ct-honeypot`,"aria-hidden":`true`,children:[(0,i.jsx)(`label`,{htmlFor:`website`,children:`Website`}),(0,i.jsx)(`input`,{id:`website`,name:`website`,type:`text`,tabIndex:-1,autoComplete:`off`})]}),(0,i.jsxs)(`div`,{className:`ct-field ct-field-wide`,children:[(0,i.jsxs)(`label`,{htmlFor:`fullName`,children:[`Full Name `,(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`*`})]}),(0,i.jsx)(`input`,{id:`fullName`,name:`fullName`,type:`text`,autoComplete:`name`,maxLength:120,required:!0})]}),(0,i.jsxs)(`div`,{className:`ct-field ct-field-wide`,children:[(0,i.jsxs)(`label`,{htmlFor:`workEmail`,children:[`Work Email `,(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`*`})]}),(0,i.jsx)(`input`,{id:`workEmail`,name:`workEmail`,type:`email`,autoComplete:`email`,maxLength:254,required:!0})]}),(0,i.jsxs)(`div`,{className:`ct-field ct-field-wide`,children:[(0,i.jsxs)(`label`,{htmlFor:`company`,children:[`Company / Studio / Organisation `,(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`*`})]}),(0,i.jsx)(`input`,{id:`company`,name:`company`,type:`text`,autoComplete:`organization`,maxLength:160,required:!0})]}),(0,i.jsxs)(`div`,{className:`ct-field`,children:[(0,i.jsxs)(`label`,{htmlFor:`role`,children:[`Your Role `,(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`*`})]}),(0,i.jsxs)(`select`,{id:`role`,name:`role`,defaultValue:``,required:!0,children:[(0,i.jsx)(`option`,{value:``,disabled:!0,children:`Select an option`}),a.map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))]})]}),(0,i.jsxs)(`div`,{className:`ct-field`,children:[(0,i.jsxs)(`label`,{htmlFor:`teamSize`,children:[`Studio / Company Team Size `,(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`*`})]}),(0,i.jsxs)(`select`,{id:`teamSize`,name:`teamSize`,defaultValue:``,required:!0,children:[(0,i.jsx)(`option`,{value:``,disabled:!0,children:`Select an option`}),o.map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))]})]}),(0,i.jsxs)(`div`,{className:`ct-field ct-field-wide`,children:[(0,i.jsxs)(`label`,{htmlFor:`interest`,children:[`What Are You Interested In? `,(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`*`})]}),(0,i.jsxs)(`select`,{id:`interest`,name:`interest`,defaultValue:``,required:!0,children:[(0,i.jsx)(`option`,{value:``,disabled:!0,children:`Select an option`}),s.map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))]})]}),(0,i.jsxs)(`div`,{className:`ct-field ct-field-wide`,children:[(0,i.jsxs)(`label`,{htmlFor:`enquiry`,children:[`Tell Us About Your Enquiry `,(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`*`})]}),(0,i.jsx)(`textarea`,{id:`enquiry`,name:`enquiry`,required:!0,maxLength:5e3,placeholder:`Tell us what you are working toward, what kind of support or collaboration you are interested in, and any relevant context that would help us understand your enquiry.`})]}),(0,i.jsxs)(`div`,{className:`ct-form-finish ct-field-wide`,children:[e===`error`?(0,i.jsxs)(`p`,{className:`ct-form-error`,role:`alert`,children:[n,` You can also email us at `,(0,i.jsx)(`a`,{href:`mailto:[email protected]`,children:`[email protected]`}),`.`]}):(0,i.jsx)(`span`,{"aria-hidden":`true`}
1),(0,i.jsxs)(`button`,{type:`submit`,disabled:e===`sending`,children:[e===`sending`?`Sending…`:`Start the conversation`,(0,i.jsx)(`span`,{children:e===`sending`?`·`:`↗`})]})]})]})]})}export{c as default};

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.