1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4842],{21929:(e,t,i)=>{"use strict";i.d(t,{J:()=>a.J});var a=i(71547)},22542:(e,t,i)=>{"use strict";i.d(t,{y:()=>a.y$});var a=i(36401)},40244:(e,t,i)=>{"use strict";i.d(t,{A:()=>u});var a=i(54568),r=i(7620),n=i(40153),s=i(92775),l=i(21929),o=i(37394),c=i(37765),d=i(22542),x=i(55929),m=i.n(x);function u(e){let{isOpen:t,onClose:i,organizationName:x}=e,[u,p]=(0,r.useState)(null),[f,h]=(0,r.useState)(""),[v,g]=(0,r.useState)(""),[j,y]=(0,r.useState)(!1),[_,N]=(0,r.useState)(""),[C,b]=(0,r.useState)(!1),S=async e=>{if(e.preventDefault(),!u)return void N("Please select a file to upload.");if(!v.trim())return void N("Please provide a contact email address.");y(!0),N("");try{let e=await new Promise((e,t)=>{let i=new FileReader;i.onload=()=>{e(i.result.split(",")[1])},i.onerror=t,i.readAsDataURL(u)}),t=await fetch("/api/tax-exemption/request",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({fileName:u.name,fileContent:e,fileType:u.type,organizationName:x,contactName:f.trim()||void 0,contactEmail:v.trim()})}),i=await t.json();if(t.ok&&i.success){b(!0),p(null),h(""),g("");let e=document.getElementById("tax-cert-file");e&&(e.value="")}else N(i.error||"Failed to submit tax exemption request")}catch(e){console.error("Tax exemption submission error:",e),N("An unexpected error occurred. Please try again.")}finally{y(!1)}},F=()=>{j||(p(null),h(""),g(""),N(""),b(!1),i())};return(0,a.jsx)(o.a,{isOpen:t,onClose:F,title:"Tax Exemption Certificate",children:(0,a.jsx)("div",{className:m().content,children:C?(0,a.jsxs)("div",{className:m().successContent,children:[(0,a.jsx)(c.F,{variant:"success",title:"Certificate Submitted Successfully!",children:(0,a.jsxs)("p",{children:["Your tax exemption certificate has been sent for review. You will be contacted at"," ",v," when the review is complete."]})}),(0,a.jsx)("div",{className:m().actions,children:(0,a.jsx)(n.$,{onClick:F,variant:"primary",children:"Close"})})]}):(0,a.jsxs)("form",{onSubmit:S,children:[(0,a.jsxs)("div",{className:m().description,children:[(0,a.jsxs)("p",{children:["To request tax exemption for ",(0,a.jsx)("strong",{children:x}),", please upload your tax exemption certificate and provide contact information."]}),(0,a.jsxs)("p",{children:[(0,a.jsx)("strong",{children:"Accepted file types:"})," PDF, JPG, PNG, Word documents",(0,a.jsx)("br",{}),(0,a.jsx)("strong",{children:"Maximum file size:"})," 5MB"]})]}),_&&(0,a.jsx)(c.F,{variant:"error",children:_}),(0,a.jsxs)("div",{className:m().formGroup,children:[(0,a.jsx)(l.J,{htmlFor:"tax-cert-file",required:!0,children:"Tax Exemption Certificate"}),(0,a.jsx)(s.p,{id:"tax-cert-file",type:"file",accept:".pdf,.jpg,.jpeg,.png,.doc,.docx",onChange:e=>{var t;let i=null==(t=e.target.files)?void 0:t[0];return i?["application/pdf","image/jpeg","image/jpg","image/png","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document"].includes(i.type)?i.size>5242880?void N("File size must be less than 5MB."):void(p(i),N("")):void N("Please upload a PDF, image, or Word document."):void 0},disabled:j,required:!0}),u&&(0,a.jsxs)("div",{className:m().fileInfo,children:[(0,a.jsx)("span",{className:m().fileName,children:u.name}),(0,a.jsxs)("span",{className:m().fileSize,children:["(",(u.size/1024/1024).toFixed(2)," MB)"]})]})]}),(0,a.jsxs)("div",{className:m().formGroup,children:[(0,a.jsx)(l.J,{htmlFor:"contact-name",children:"Contact Name"}),(0,a.jsx)(s.p,{id:"contact-name",type:"text",value:f,onChange:e=>h(e.target.value),placeholder:"Your name",disabled:j})]}),(0,a.jsxs)("div",{className:m().formGroup,children:[(0,a.jsx)(l.J,{htmlFor:"contact-email",required:!0,children:"Contact Email"}),(0,a.jsx)(s.p,{id:"contact-email",type:"email",value:v,onChange:e=>g(e.target.value),placeholder:"[email protected]",disabled:j,required:!0}),(0,a.jsx)("div",{className:m().fieldNote,children:"We'll contact you at this email address when the review is complete."})]}),(0,a.jsxs)("div",{className:m().actions,children:[(0,a.jsx)(n.$,{type:"button",onClick:F,variant:"secondary",disabled:j,children:"Cancel"}),(0,a.jsx)(n.$,{type:"submit",variant:"primary",disabled:j||!u,children:j?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(d.y,{size:"small"}),"Submitting..."]}):"Submit Certificate"})]})]})})})}},55929:e=>{e.exports={content:"TaxExemptionModal_content__et7z0",description:"TaxExemptionModal_description__LZLCc",formGroup:"TaxExemptionModal_formGroup__aLMsk",fileInfo:"TaxExemptionModal_fileInfo___4dEH",fileName:"TaxExemptionModal_fileName__a53BA",fileSize:"TaxExemptionModal_fileSize__yZX_3",fieldNote:"TaxExemptionModal_fieldNote__FFnPG",actions:"TaxExemptionModal_actions__Erzxy",successContent:"TaxExemptionModal_successContent__Hns9e"}},65797:(e,t,i)=>{"use strict";i.d(t,{DR:()=>m,Gr:()=>d,jZ:()=>c,qh:()=>x,rh:()=>u,vQ:()=>p});var a=i(42349);let r={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},n={"&":"&","<":"<",">":">",""":'"',"'":"'","/":"/","`":"`","=":"=","'":"'"};function s(e){return e?String(e).replace(/[&<>"'`=/]/g,e=>r[e]||e):""}function l(e){return e?String(e).replace(/&(amp|lt|gt|quot|#39|#x2F|#x60|#x3D|apos);/g,e=>n[e]||e):""}function o(e){return!!e&&/&(amp|lt|gt|quot|#39|#x2F|#x60|#x3D|apos);/.test(String(e))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;if(!e)return"";let i=String(e).trim().slice(0,t);return o(i)&&(i=l(i)),i=(i=s(i)).replace(/[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]/g,"")}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;if(!e)return"";let i=String(e).trim().slice(0,t);return o(i)&&(i=l(i)),i=i.replace(/[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]/g,"")}function x(e){if(!e)return"";let t=String(e).trim().toLowerCase();return/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(t)?t:""}function m(e){let t=x(e);return t?s(t):""}function u(e){return(0,a.sanitizeName)(e)}function p(e){return(0,a.sanitizeOrgName)(e)}},75892:(e,t,i)=>{"use strict";i.d(t,{A:()=>a});let a=(0,i(92068).A)("file-text",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},92775:(e,t,i)=>{"use strict";i.d(t,{p:()=>a.p});var a=i(41933)},97152:(e,t,i)=>{"use strict";i.d(t,{A:()=>a});
1let a=(0,i(92068).A)("credit-card",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]])}}]);
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.