1import{_ as ee}from"./CJAbeZ-w.js";import{e as K,a4 as te,r as j,c as n,a as r,t as l,J as I,n as W,j as t,o as u,s as re,h as x,u as P,P as B,z as Q,b as q,w as F,d as p,i as _,F as se,k as oe,U as ae,T as C,K as E,L as le,a5 as ie,G as ne,_ as ue}from"./DCJDvfEZ.js";const ce={key:0,class:"text-gray-600 mb-2"},de={key:1,class:"text-gray-800 font-medium"},pe=K({__name:"Dropzone",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(M){const b=te(M,"modelValue"),w=j(!1);function S(h){w.value=!1;const e=h.dataTransfer.files[0];e&&(b.value=e)}function c(h){const e=h.target.files[0];e&&(b.value=e)}return(h,e)=>(u(),n("div",{class:W(["border-2 border-dashed p-6 flex flex-col items-center justify-center cursor-pointer transition bg-white hover:bg-gray-50",t(w)?"border-blue-500 bg-blue-50":"border-gray-300"]),onDragover:e[0]||(e[0]=I(z=>w.value=!0,["prevent"])),onDragleave:e[1]||(e[1]=I(z=>w.value=!1,["prevent"])),onDrop:I(S,["prevent"]),onClick:e[2]||(e[2]=z=>h.$refs.input.click())},[b.value?(u(),n("p",de,l(b.value.name),1)):(u(),n("p",ce,l(h.$t("dropzone.default")),1)),r("input",{ref:"input",type:"file",class:"hidden",onChange:c},null,544)],34))}}),me={class:"container mx-auto px-1 py-4 sm:p-8 lg:p-12"},fe={class:"max-w-4xl mx-auto"},he={class:"bg-white shadow-lg overflow-hidden"},ye={key:0,class:"px-6 sm:px-8 lg:px-10 py-6"},ge={class:"text-gray-700 text-sm mt-4 space-y-4"},ve={class:"list-disc pl-5 space-y-2"},ke=["href"],be=["href"],_e=["href"],xe={class:"pt-2"},qe={class:"list-disc pl-5 space-y-2"},we={class:"pt-2"},Fe=["href"],Te={class:"text-gray-500 text-sm mt-3 max-w-2xl"},Ne={class:"mt-6 space-y-6"},je={class:"grid grid-cols-1 md:grid-cols-2 gap-5"},We=["for"],Se={key:0,class:"text-red-600"},ze=["id","onUpdate:modelValue","placeholder","required","onBlur","onInput"],Ce=["id","onUpdate:modelValue","type","placeholder","required","onBlur","onInput"],Ie={key:0,class:"mt-1.5 text-sm text-red-600 flex items-center"},De={key:0,class:"md:col-span-2"},Le={class:"block text-sm font-medium text-gray-700 mb-2"},Ve={key:0,class:"text-red-600"},$e={key:1,class:"text-gray-500 text-xs ml-1"},Re={key:0,class:"mt-1.5 text-sm text-red-600 flex items-center"},Be={key:0,class:"bg-green-50 border-l-4 border-green-600 p-4"},Me={class:"flex items-start"},Ae={class:"font-semibold text-green-900"},Oe={class:"text-sm text-green-700 mt-1"},Ue={key:0,class:"bg-red-50 border-l-4 border-red-600 p-4"},Pe={class:"flex items-start"},Qe={class:"text-sm text-red-700"},Ee={class:"pt-2 pb-4"},Ke=["disabled"],Ge={key:0,class:"flex items-center justify-center"},He={key:1,class:"flex items-center justify-center"},Je=K({__name:"[[slug]]",setup(M){const b=re(),w=ne(),S=x(()=>{const s=b.params.slug;return Array.isArray(s)?s[0]:typeof s=="string"?s:void 0}),{t:c}=P({messages:{en:{title:"Contact",noticeTitle:"Please read carefully before using our contact form:",noticeFreeTechIntro:"In case your question relates to free Ircam technologies",noticeFreeTechLink:"see list",noticeFreeTechOutro:"please open a new thread on our discussion board here:",noticeFaqIntro:"Your question might already appear in our FAQ",noticeFaqLink:"read the FAQ",noticeFaqOutro:"please check before contacting us!",supportTypeIntro:"If you decide to use the contact form, itâs important that you choose the right",supportTypeLabel:"Support Type",supportSalesTitle:"Sales",supportSalesDesc:"only questions about payment, quotes, invoices, your order, etc.",supportWebsiteTitle:"Website",supportWebsiteDesc:"questions about your account, login, profile, downloads, activation keys, access issues, or anything related to the Forum website.",supportSoftwareTitle:"Software",supportSoftwareDesc:"questions about installing, using or troubleshooting Ircam software (bugs, compatibility, errors, documentation).",zendeskCta:"To contact our support, please use the following contact form:"},fr:{title:"Contact",noticeTitle:"Merci de lire attentivement avant dâutiliser notre formulaire de contact :",noticeFreeTechIntro:"Si votre question concerne les technologies Ircam gratuites",noticeFreeTechLink:"voir la liste",noticeFreeTechOutro:"merci dâouvrir un nouveau sujet sur notre forum de discussion ici :",noticeFaqIntro:"V
1otre question figure peut-être déjà dans notre FAQ",noticeFaqLink:"consulter la FAQ",noticeFaqOutro:"merci de vérifier avant de nous contacter !",supportTypeIntro:"Si vous décidez dâutiliser le formulaire de contact, il est important de choisir le bon",supportTypeLabel:"type de support",supportSalesTitle:"Ventes",supportSalesDesc:"uniquement les questions liées au paiement, devis, factures, commande, etc.",supportWebsiteTitle:"Site web",supportWebsiteDesc:"questions sur votre compte, connexion, profil, téléchargements, clés dâactivation, problèmes dâaccès, ou tout sujet lié au site Forum.",supportSoftwareTitle:"Logiciels",supportSoftwareDesc:"questions dâinstallation, dâutilisation ou de dépannage des logiciels Ircam (bugs, compatibilité, erreurs, documentation).",zendeskCta:"Pour contacter notre support, veuillez utiliser le formulaire de contact suivant :"}}}),h={freeTechList:"https://forum.ircam.fr/collections/detail/technologies-ircam-free/",faq:"https://forum.ircam.fr/contact/faq-foire-aux-questions/",discussion:"https://discussion.forum.ircam.fr",zendeskForm:"https://forum.ircam.fr/contact/"},{t:e}=P(),z=["rnbo","max"],D=x(()=>(b.query.product||"").toString().toLowerCase()),G=x(()=>z.includes(D.value)),L=x(()=>{if(!(S.value==="product"&&!G.value))return S.value}),H=x(()=>!L.value),A=x(()=>({companies:{title:e("forms.company.title"),subject:"Company Quote Request",fields:[{key:"companyName",placeholder:e("forms.company.companyName"),required:!0,fullWidth:!0},{key:"website",placeholder:e("forms.company.website"),type:"url",fullWidth:!0},{key:"firstName",placeholder:e("forms.shared.firstName"),required:!0},{key:"lastName",placeholder:e("forms.shared.lastName"),required:!0},{key:"email",placeholder:e("forms.shared.email"),type:"email",required:!0,fullWidth:!0},{key:"message",placeholder:e("forms.shared.message"),textarea:!0,required:!0,fullWidth:!0}]},student:{title:(D.value||"Premium")+": "+e("forms.student.title"),subject:"Student ID Verification",fields:[{key:"firstName",placeholder:e("forms.shared.firstName"),required:!0},{key:"lastName",placeholder:e("forms.shared.lastName"),required:!0},{key:"instituteName",placeholder:e("forms.student.instituteName"),required:!0,fullWidth:!0},{key:"instituteWebsite",placeholder:e("forms.student.instituteWebsite"),type:"url",fullWidth:!0},{key:"email",placeholder:e("forms.student.emailForumAccount"),type:"email",required:!0,fullWidth:!0},{key:"message",placeholder:e("forms.shared.message"),textarea:!0,fullWidth:!0}],file:!0,fileRequired:!0},education:{title:e("forms.education.title"),subject:"Education & Research Quote Request",fields:[{key:"instituteName",placeholder:e("forms.education.instituteName"),required:!0,fullWidth:!0},{key:"instituteWebsite",placeholder:e("forms.education.instituteWebsite"),type:"url",fullWidth:!0},{key:"firstName",placeholder:e("forms.shared.firstName"),required:!0},{key:"lastName",placeholder:e("forms.shared.lastName"),required:!0},{key:"email",placeholder:e("forms.shared.email"),type:"email",required:!0,fullWidth:!0},{key:"function",placeholder:e("forms.education.function"),required:!0,fullWidth:!0},{key:"message",placeholder:e("forms.shared.message"),textarea:!0,required:!0,fullWidth:!0}]},product:{title:(D.value||"Product")+": "+e("forms.product.title"),subject:"Quote Request - "+(b.query.product||""),fields:[{key:"firstName",placeholder:e("forms.shared.firstName"),required:!0},{key:"lastName",placeholder:e("forms.shared.lastName"),required:!0},{key:"email",placeholder:e("forms.shared.email"),type:"email",required:!0,fullWidth:!0},{key:"message",placeholder:e("forms.shared.message"),textarea:!0,required:!0,fullWidth:!0}],file:!0,fileRequired:!1,extra:{product:b.query.product||""}},default:{title:e("forms.default.title"),subject:"Shop contact",fields:[{key:"firstName",placeholder:e("forms.shared.firstName"),required:!0},{key:"lastName",placeholder:e("forms.shared.lastName"),required:!0},{key:"email",placeholder:e("forms.shared.email"),type:"email",required:!0,fullWidth:!0},{key:"message",placeholder:e("forms.shared.message"),textarea:!0,required:!0,fullWidth:!0}],file:!0,fileRequired:!1}})),y=x(()=>{const s=L.value||"default";return A.value[s]||A.value.default}),i=B({subject:y.value.subject,...y.value.extra||{}});Q(y,s=>{i.subject=s.subject;for(const o of Object.keys(i))o!=="subject"&&delete i[o];if(s.extra)for(const o in s.extra)i[o]=s.extra[o];for(const o of s.fields)i[o.key]=""},{immediate:!0});const v=j(null),f=B({}),g=B({}),V=j(!1),T=j(!1),N=j("");function $(s){var o;if(s.required&&!((o=i[s.key])!=null&&o.trim()))return f[s.key]=e("forms.errors.required",{field:s.placeholder}),!1;if(s.type==="email"&&i[s.key]&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i[s.key]))return f[s.key]=e("forms.errors.invalidEmail"),!1;if(s.type==="url"&&i[s.key])try{new URL(i[s.key].startsWith("http")?i[s.key]:"https://"+i[s.key])}catch{return f[s.key]=e("forms.errors.invalidUrl"),!1}return delete f[s.key],!0}function O(s){g[s.key]=!0,$(s)}function U(s){g[s.key]&&$(s)}function J(){y.value.fileRequired&&(g.file=!0,R())}function R(){return y.value.fileRequired&&!v.value?(f.file=e("forms.errors.fileRequired"),!1):(delete f.file,!0)}function Y(){let s=!0;for(const o of y.value.fields)g[o.key]=!0,$(o)||(s=!1);return y.value.file&&(g.file=!0,R()||(s=!1)),s}async function Z(){var s,o;if(!Y()){N.value=e("forms.errors.fixErrors");return}T.value=!0,V.value=!1,N.value="";try{const m=new FormData;for(const d in i)i[d]&&i[d].toString().trim()&&m.append(d,i[d]);if(y.value.file&&v.value){const d=Array.isArray(v.value)?v.value[0]:v.value,a=((d==null?void 0:d.name)||"document.jpg").toString(),k=a.toLowerCase().endsWith(".jpeg")?".jpg":((s=a.toLowerCase().match(/\.(jpg|jpeg|png|pdf)$/))==null?void 0:s[0])||".jpg",X=a.normalize("NFKD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-zA-Z0-9._-]+/g,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"").replace(/\.(jpg|jpeg|png|pdf)$/i,"")+k;m.append("file",d,X||`document${k}`)}await $fetch(`${w.app.baseURL}
1api/contact`,{method:"POST",body:m}),V.value=!0;for(const d of y.value.fields)i[d.key]="";v.value=null,Object.keys(g).forEach(d=>g[d]=!1),Object.keys(f).forEach(d=>delete f[d])}catch(m){console.error(m);const d=(m==null?void 0:m.status)||(m==null?void 0:m.statusCode)||((o=m==null?void 0:m.response)==null?void 0:o.status)||0;N.value=e(d===413?"forms.errors.fileTooLarge":"forms.errors.sendFail")}finally{T.value=!1}}return Q(v,()=>{g.file&&R()}),(s,o)=>{const m=ee,d=pe;return u(),n("div",me,[r("div",fe,[r("div",he,[t(H)?(u(),n("div",ye,[q(m,{size:"md",class:"m-0"},{default:F(()=>[p(l(t(c)("title")),1)]),_:1}),r("div",ge,[r("p",null,[r("strong",null,l(t(c)("noticeTitle")),1)]),r("ul",ve,[r("li",null,[p(l(t(c)("noticeFreeTechIntro"))+" (",1),r("a",{href:h.freeTechList,target:"_blank",rel:"noopener noreferrer",class:"text-blue-600 underline"},l(t(c)("noticeFreeTechLink")),9,ke),p("), "+l(t(c)("noticeFreeTechOutro"))+" ",1),r("a",{href:h.discussion,target:"_blank",rel:"noopener noreferrer",class:"text-blue-600 underline"},l(h.discussion),9,be)]),r("li",null,[p(l(t(c)("noticeFaqIntro"))+" (",1),r("a",{href:h.faq,target:"_blank",rel:"noopener noreferrer",class:"text-blue-600 underline"},l(t(c)("noticeFaqLink")),9,_e),p("), "+l(t(c)("noticeFaqOutro")),1)])]),r("p",xe,[p(l(t(c)("supportTypeIntro"))+" ",1),r("strong",null,l(t(c)("supportTypeLabel")),1),o[1]||(o[1]=p(":"))]),r("ul",qe,[r("li",null,[r("strong",null,l(t(c)("supportSalesTitle")),1),p(": "+l(t(c)("supportSalesDesc")),1)]),r("li",null,[r("strong",null,l(t(c)("supportWebsiteTitle")),1),p(": "+l(t(c)("supportWebsiteDesc")),1)]),r("li",null,[r("strong",null,l(t(c)("supportSoftwareTitle")),1),p(": "+l(t(c)("supportSoftwareDesc")),1)])]),r("p",we,[p(l(t(c)("zendeskCta"))+" ",1),r("a",{href:h.zendeskForm,target:"_blank",rel:"noopener noreferrer",class:"text-blue-600 underline"},l(h.zendeskForm),9,Fe)])])])):(u(),n("form",{key:1,onSubmit:I(Z,["prevent"]),class:"px-6 sm:px-8 lg:px-10 py-6 max-w-4xl mx-auto"},[q(m,{size:"md",class:"m-0"},{default:F(()=>[p(l(t(y).title),1)]),_:1}),r("p",Te,l(t(e)("forms.instructions")),1),r("p",null,[o[2]||(o[2]=r("span",{class:"text-red-600"},"*",-1)),p(" "+l(t(e)("forms.requiredFields")),1)]),r("div",Ne,[r("div",je,[(u(!0),n(se,null,oe(t(y).fields,a=>(u(),n("div",{key:a.key,class:W(a.fullWidth?"md:col-span-2":"")},[r("label",{for:a.key,class:"block text-sm font-medium text-gray-700 mb-2"},[p(l(a.placeholder)+" ",1),a.required?(u(),n("span",Se,"*")):_("",!0)],8,We),a.textarea?E((u(),n("textarea",{key:0,id:a.key,"onUpdate:modelValue":k=>t(i)[a.key]=k,placeholder:a.placeholder,required:a.required,onBlur:k=>O(a),onInput:k=>U(a),class:W(["w-full px-4 py-3 border transition-colors resize-y min-h-[140px]","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",t(g)[a.key]&&t(f)[a.key]?"border-red-500 bg-red-50":"border-gray-300 hover:border-gray-400"])},null,42,ze)),[[le,t(i)[a.key]]]):E((u(),n("input",{key:1,id:a.key,"onUpdate:modelValue":k=>t(i)[a.key]=k,type:a.type||"text",placeholder:a.placeholder,required:a.required,onBlur:k=>O(a),onInput:k=>U(a),class:W(["w-full px-4 py-3 border transition-colors","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",t(g)[a.key]&&t(f)[a.key]?"border-red-500 bg-red-50":"border-gray-300 hover:border-gray-400"])},null,42,Ce)),[[ie,t(i)[a.key]]]),q(C,{name:"fade"},{default:F(()=>[t(g)[a.key]&&t(f)[a.key]?(u(),n("p",Ie,[o[3]||(o[3]=r("svg",{class:"w-4 h-4 mr-1",fill:"currentColor",viewBox:"0 0 20 20"},[r("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1)),p(" "+l(t(f)[a.key]),1)])):_("",!0)]),_:2},1024)],2))),128)),t(y).file?(u(),n("div",De,[r("label",Le,[p(l(t(e)("forms.uploadDocument"))+" ",1),t(y).fileRequired?(u(),n("span",Ve,"*")):_("",!0),t(L)==="student"?(u(),n("span",$e,l(t(e)("forms.studentNote")),1)):_("",!0)]),r("div",{onBlur:J},[q(d,{modelValue:t(v),"onUpdate:modelValue":o[0]||(o[0]=a=>ae(v)?v.value=a:null)},null,8,["modelValue"])],32),q(C,{name:"fade"},{default:F(()=>[t(g).file&&t(f).file?(u(),n("p",Re,[o[4]||(o[4]=r("svg",{class:"w-4 h-4 mr-1",fill:"currentColor",viewBox:"0 0 20 20"},[r("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1)),p(" "+l(t(f).file),1)])):_("",!0)]),_:1})])):_("",!0)]),q(C,{name:"fade"},{default:F(()=>[t(V)?(u(),n("div",Be,[r("div",Me,[o[5]||(o[5]=r("svg",{class:"w-6 h-6 text-green-600 mr-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[r("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),r("div",null,[r("h3",Ae,l(t(e)("forms.sent")),1),r("p",Oe,l(t(e)("forms.successMessage")),1)])])])):_("",!0)]),_:1}),q(C,{name:"fade"},{default:F(()=>[t(N)?(u(),n("div",Ue,[r("div",Pe,[o[6]||(o[6]=r("svg",{class:"w-6 h-6 text-red-600 mr-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[r("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),r("p",Qe,l(t(N)),1)])])):_("",!0)]),_:1}),r("div",Ee,[r("button",{type:"submit",disabled:t(T),class:W(["w-full py-4 px-6 font-semibold text-white transition-all duration-200","focus:outline-none focus:ring-4 focus:ring-blue-300",t(T)?"bg-gray-400 cursor-not-allowed":"bg-blue-600 hover:bg-blue-700 active:bg-blue-800 shadow-lg hover:shadow-xl"])},[t(T)?(u(),n("span",Ge,[o[7]||(o[7]=r("svg",{class:"animate-spin -ml-1 mr-3 h-5 w-5 text-white",f
1ill:"none",viewBox:"0 0 24 24"},[r("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),r("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1)),p(" "+l(t(e)("forms.sending")),1)])):(u(),n("span",He,[p(l(t(e)("forms.send"))+" ",1),o[8]||(o[8]=r("svg",{class:"w-5 h-5 ml-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[r("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1))]))],10,Ke)])])],32))])])])}}}),Xe=ue(Je,[["__scopeId","data-v-79423a7a"]]);export{Xe 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.