{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/Wdblfkviaey4xPJhnW0b/3OzuhEciTurA0anBQ2wu/CatalogForm.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React,{useState,useEffect,useRef}from\"react\";import{motion,AnimatePresence}from\"framer-motion\";import*as ReactDOM from\"react-dom\";const webhookUrl=\"https://automation.unipack.asia/webhook-test/form-submission\";/// Collection of form templates\nconst FORM_TEMPLATES={contact:{formMetadata:{formTitle:\"Contact Us\",formIntroText:\"Have questions or need information? Our team is here to help. Fill in your details and we'll get back to you within 24 hours.\",submitButtonText:\"Send Message\",successTitle:\"Thank You!\",successMessage:\"We've received your message. Our team will contact you within 1 business day.\"},fields:[{id:\"name\",type:\"text\",label:\"Your Name\",placeholder:\"Enter your full name\",required:true},{id:\"email\",type:\"email\",label:\"Email Address\",placeholder:\"yourname@company.com\",required:true},{id:\"phone\",type:\"tel\",label:\"Mobile Number\",placeholder:\"Include country code (e.g. +91 98XXXXXXXX)\",required:true},{id:\"company\",type:\"text\",label:\"Company Name\",placeholder:\"Your organisation name\",required:false},{id:\"message\",type:\"textarea\",label:\"How can we help you?\",placeholder:\"Please share details of your enquiry\",required:true}],apiConfig:{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},includeCredentials:false,isSuccess:(responseData,response)=>response.ok,getErrorMessage:(responseData,response)=>responseData?.error||\"Could not submit form. Please try again later.\"}},supplier:{formMetadata:{formTitle:\"Become a Supplier\",formIntroText:\"Interested in supplying to Unipack? Share your company details and we'll contact you for potential business opportunities.\",submitButtonText:\"Submit Application\",successTitle:\"Application Received!\",successMessage:\"Thank you for your interest in partnering with us. Our procurement team will review your details and contact you within 5 working days.\"},fields:[{id:\"companyName\",type:\"text\",label:\"Company Legal Name\",placeholder:\"As per business registration\",required:true},{id:\"contactPerson\",type:\"text\",label:\"Contact Person Name\",placeholder:\"Person we should contact\",required:true},{id:\"designation\",type:\"text\",label:\"Your Designation\",placeholder:\"e.g., Purchase Manager\",required:true},{id:\"email\",type:\"email\",label:\"Official Email\",placeholder:\"contact@yourcompany.com\",required:true},{id:\"phone\",type:\"tel\",label:\"Mobile Number\",placeholder:\"With country code (e.g. +91 98XXXXXXXX)\",required:true},{id:\"products\",type:\"checkbox-group\",label:\"Products You Supply\",required:true,options:[{label:\"Mechanical Components\",value:\"mechanical\"},{label:\"Electrical & Electronic Parts\",value:\"electrical\"},{label:\"Hydraulic & Pneumatic Systems\",value:\"hydraulic\"},{label:\"Steel & Metals\",value:\"metals\"},{label:\"Fasteners & Hardware\",value:\"hardware\"},{label:\"Motors & Drives\",value:\"motors\"},{label:\"Engineering Services\",value:\"services\"},{label:\"Other (please specify)\",value:\"other\"}]},{id:\"otherProducts\",type:\"text\",label:\"If 'Other', please specify\",placeholder:\"List the products you supply\",required:false,showWhen:formData=>formData.products?.includes(\"other\")},{id:\"companyProfile\",type:\"file\",label:\"Company Profile (Optional)\",buttonText:\"Upload Profile\",placeholder:\"PDF, DOC or PPT format (Max 5MB)\",required:false,accept:\".pdf,.doc,.docx,.ppt,.pptx\",maxSize:5*1024*1024},{id:\"termsAcceptance\",type:\"checkbox\",label:\"I confirm that all information provided is accurate and agree to be contacted regarding supply opportunities.\",required:true}],apiConfig:{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},includeCredentials:false,isSuccess:(responseData,response)=>response.ok,getErrorMessage:(responseData,response)=>responseData?.error||\"Could not submit application. Please try again.\"}},careers:{formMetadata:{formTitle:\"Career Opportunities\",formIntroText:\"Interested in joining our team? Share your qualifications and we'll contact you about suitable opportunities at Unipack.\",submitButtonText:\"Submit Application\",successTitle:\"Application Received!\",successMessage:\"Thank you for your interest in working with us. Our HR team will review your profile and get in touch if your qualifications match our current openings.\"},fields:[{id:\"name\",type:\"text\",label:\"Full Name\",placeholder:\"As per your official documents\",required:true},{id:\"email\",type:\"email\",label:\"Email Address\",placeholder:\"your.email@example.com\",required:true},{id:\"phone\",type:\"tel\",label:\"Mobile Number\",placeholder:\"With country code (e.g. +91 98XXXXXXXX)\",required:true},{id:\"position\",type:\"select\",label:\"Department of Interest\",required:true,options:[{label:\"Select department\",value:\"\"},{label:\"Engineering & Design\",value:\"engineering\"},{label:\"Production & Manufacturing\",value:\"production\"},{label:\"Sales & Marketing\",value:\"sales\"},{label:\"Service & Installation\",value:\"service\"},{label:\"Research & Development\",value:\"research\"},{label:\"Administration\",value:\"admin\"},{label:\"Finance & Accounting\",value:\"finance\"},{label:\"Human Resources\",value:\"hr\"},{label:\"Other\",value:\"other\"}]},{id:\"otherPosition\",type:\"text\",label:\"If Other, please specify\",placeholder:\"Enter the specific role you're interested in\",required:false,showWhen:formData=>formData.position===\"other\"},{id:\"experience\",type:\"select\",label:\"Years of Experience\",required:true,options:[{label:\"Select experience\",value:\"\"},{label:\"Fresher (0-1 year)\",value:\"fresher\"},{label:\"1-3 years\",value:\"1-3\"},{label:\"4-6 years\",value:\"4-6\"},{label:\"7-10 years\",value:\"7-10\"},{label:\"10+ years\",value:\"10plus\"}]},{id:\"currentLocation\",type:\"text\",label:\"Current Location\",placeholder:\"City, State, Country\",required:true},{id:\"resume\",type:\"file\",label:\"Upload CV/Resume\",buttonText:\"Upload Resume\",required:true,accept:\".pdf,.doc,.docx\",maxSize:5*1024*1024,helperText:\"PDF or Word format (Max 5MB)\"},{id:\"profileSummary\",type:\"textarea\",label:\"Profile Summary\",placeholder:\"Briefly describe your key skills, experience and why you're interested in joining Unipack\",required:true},{id:\"consent\",type:\"checkbox\",label:\"I agree to the processing of my data for recruitment purposes and confirm all information provided is accurate.\",required:true}],apiConfig:{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},includeCredentials:false,isSuccess:(responseData,response)=>response.ok,getErrorMessage:(responseData,response)=>responseData?.error||\"Could not submit application. Please try again.\"}},quickConsultation:{formMetadata:{formTitle:\"Request Consultation\",formIntroText:\"Get expert guidance for your corrugated packaging operations. Our technical specialists will contact you within 24 hours.\",submitButtonText:\"Request Callback\",successTitle:\"Request Received!\",successMessage:\"Thank you for your interest. Our specialist will contact you within 24 hours to discuss your requirements in detail.\"},fields:[{id:\"name\",type:\"text\",label:\"Your Name\",placeholder:\"Enter your full name\",required:true},{id:\"company\",type:\"text\",label:\"Company Name\",placeholder:\"Your organisation name\",required:true},{id:\"email\",type:\"email\",label:\"Email Address\",placeholder:\"yourname@company.com\",required:true},{id:\"phone\",type:\"tel\",label:\"Mobile Number\",placeholder:\"With country code (e.g. +91 98XXXXXXXX)\",required:true},{id:\"query\",type:\"textarea\",label:\"Your Requirements\",placeholder:\"Please describe your current operations and specific areas where you need expert guidance\",required:true}],apiConfig:{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},includeCredentials:false,isSuccess:(responseData,response)=>response.ok,getErrorMessage:(responseData,response)=>responseData?.error||\"Could not submit request. Please try again.\"}},detailedConsultation:{formMetadata:{formTitle:\"Business Consultation Request\",formIntroText:\"For comprehensive solutions tailored to your business needs. Share your details and our experts will prepare a customised proposal.\",submitButtonText:\"Request Proposal\",successTitle:\"Thank You!\",successMessage:\"We've received your consultation request. Our team will analyse your requirements and contact you within 2 business days with a tailored solution.\"},fields:[{id:\"name\",type:\"text\",label:\"Your Name\",placeholder:\"Enter your full name\",required:true},{id:\"company\",type:\"text\",label:\"Company Name\",placeholder:\"Your organisation name\",required:true},{id:\"designation\",type:\"text\",label:\"Your Designation\",placeholder:\"e.g., Plant Manager\",required:true},{id:\"email\",type:\"email\",label:\"Email Address\",placeholder:\"yourname@company.com\",required:true},{id:\"phone\",type:\"tel\",label:\"Mobile Number\",placeholder:\"With country code (e.g. +91 98XXXXXXXX)\",required:true},{id:\"address\",type:\"textarea\",label:\"Company Address\",placeholder:\"Full company address\",required:false},{id:\"city\",type:\"text\",label:\"City\",placeholder:\"Your city\",required:true},{id:\"state\",type:\"text\",label:\"State/Province\",placeholder:\"Your state/province\",required:true},{id:\"country\",type:\"text\",label:\"Country\",placeholder:\"Your country\",required:true},{id:\"pincode\",type:\"text\",label:\"PIN/Postal Code\",placeholder:\"Enter PIN/Postal code\",required:false},{id:\"consultationType\",type:\"select\",label:\"Consultation Type\",required:true,options:[{label:\"Quality Management Excellence\",value:\"quality\"},{label:\"Workforce Optimization\",value:\"workforce\"},{label:\"Wastage Reduction\",value:\"wastage\"},{label:\"Maintenance Excellence\",value:\"maintenance\"},{label:\"Business Growth Strategy\",value:\"growth\"},{label:\"Turnkey Project Solution\",value:\"turnkey\"},{label:\"Smart Factory Automation\",value:\"automation\"},{label:\"Industry 4.0 Transformation\",value:\"industry4\"},{label:\"Plant Modernisation\",value:\"modernisation\"},{label:\"Multiple Areas\",value:\"multiple\"}]},{id:\"currentSituation\",type:\"textarea\",label:\"Current Situation\",placeholder:\"Please describe your current setup, challenges, and key requirements\",required:true},{id:\"termsAcceptance\",type:\"checkbox\",label:\"I agree to be contacted by Unipack's consultation team regarding this request.\",required:true}],apiConfig:{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},includeCredentials:false,isSuccess:(responseData,response)=>response.ok,getErrorMessage:(responseData,response)=>responseData?.error||\"Could not submit request. Please try again.\"}},quickQuote:{formMetadata:{formTitle:\"Request Quotation\",formIntroText:\"Get a price estimate for our products and services. Share your basic details and we'll respond with pricing within 24 hours.\",submitButtonText:\"Get Quotation\",successTitle:\"Request Received!\",successMessage:\"Thank you for your enquiry. We'll review your requirements and send you a quotation within 24 hours.\"},fields:[{id:\"name\",type:\"text\",label:\"Your Name\",placeholder:\"Enter your full name\",required:true},{id:\"company\",type:\"text\",label:\"Company Name\",placeholder:\"Your organisation name\",required:false},{id:\"email\",type:\"email\",label:\"Email Address\",placeholder:\"yourname@company.com\",required:true},{id:\"phone\",type:\"tel\",label:\"Mobile Number\",placeholder:\"With country code (e.g. +91 98XXXXXXXX)\",required:true}],apiConfig:{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},includeCredentials:false,isSuccess:(responseData,response)=>response.ok,getErrorMessage:(responseData,response)=>responseData?.error||\"Could not submit request. Please try again.\"}},detailedQuote:{formMetadata:{formTitle:\"Detailed Quotation Request\",formIntroText:\"For a comprehensive quotation, please provide your contact and location details. Our sales team will prepare a complete proposal for your review.\",submitButtonText:\"Request Quote\",successTitle:\"Request Received!\",successMessage:\"Thank you for your enquiry. Our sales team will prepare a customised quotation and contact you within 2 business days.\"},fields:[{id:\"name\",type:\"text\",label:\"Your Name\",placeholder:\"Enter your full name\",required:true},{id:\"company\",type:\"text\",label:\"Company Name\",placeholder:\"Your organisation name\",required:true},{id:\"designation\",type:\"text\",label:\"Your Designation\",placeholder:\"e.g., Purchase Manager\",required:true},{id:\"email\",type:\"email\",label:\"Email Address\",placeholder:\"yourname@company.com\",required:true},{id:\"phone\",type:\"tel\",label:\"Mobile Number\",placeholder:\"With country code (e.g. +91 98XXXXXXXX)\",required:true},{id:\"address\",type:\"textarea\",label:\"Company Address\",placeholder:\"Full company address\",required:false},{id:\"city\",type:\"text\",label:\"City\",placeholder:\"Your city\",required:true},{id:\"state\",type:\"text\",label:\"State/Province\",placeholder:\"Your state/province\",required:true},{id:\"country\",type:\"text\",label:\"Country\",placeholder:\"Your country\",required:true},{id:\"pincode\",type:\"text\",label:\"PIN/Postal Code\",placeholder:\"Enter PIN/Postal code\",required:false},{id:\"termsAcceptance\",type:\"checkbox\",label:\"I agree to be contacted by Unipack's sales team regarding this quotation request.\",required:true}],apiConfig:{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},includeCredentials:false,isSuccess:(responseData,response)=>response.ok,getErrorMessage:(responseData,response)=>responseData?.error||\"Could not submit request. Please try again.\"}},catalog:{formMetadata:{formTitle:\"Download Product Catalog\",formIntroText:\"Get our complete product catalog with detailed specifications. We'll email you the download link immediately.\",submitButtonText:\"Download Now\",successTitle:\"Catalog Sent!\",successMessage:\"Thank you for your interest. We've sent the catalog to your email. Our team may contact you to discuss your requirements.\"},fields:[{id:\"name\",type:\"text\",label:\"Your Name\",placeholder:\"Enter your full name\",required:true},{id:\"email\",type:\"email\",label:\"Email Address\",placeholder:\"yourname@company.com\",required:true},{id:\"phone\",type:\"tel\",label:\"Mobile Number\",placeholder:\"With country code (e.g. +91 98XXXXXXXX)\",required:true},{id:\"company\",type:\"text\",label:\"Company Name (optional)\",placeholder:\"Your organisation name\",required:false}],apiConfig:{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},includeCredentials:false,isSuccess:(responseData,response)=>response.ok,getErrorMessage:(responseData,response)=>responseData?.error||\"Could not process request. Please try again.\"}},support:{formMetadata:{formTitle:\"Technical Support\",formIntroText:\"Need assistance with your Unipack machinery? Our technical team will help resolve your issue quickly.\",submitButtonText:\"Request Support\",successTitle:\"Request Received!\",successMessage:\"We've received your support request. For urgent issues, our technical team will contact you within 4 hours. For standard enquiries, expect a response within 1 business day.\"},fields:[{id:\"name\",type:\"text\",label:\"Your Name\",placeholder:\"Enter your full name\",required:true},{id:\"company\",type:\"text\",label:\"Company Name\",placeholder:\"Your organisation name\",required:true},{id:\"email\",type:\"email\",label:\"Email Address\",placeholder:\"yourname@company.com\",required:true},{id:\"whatsapp\",type:\"tel\",label:\"WhatsApp Number\",placeholder:\"With country code (e.g. +91 98XXXXXXXX)\",required:true},{id:\"machineModel\",type:\"text\",label:\"Machine Model (if applicable)\",placeholder:\"e.g., Smart 150, Pro 200, etc.\",required:false},{id:\"issueType\",type:\"select\",label:\"Type of Issue\",required:true,options:[{label:\"Mechanical Problem\",value:\"mechanical\"},{label:\"Electrical/Electronic Fault\",value:\"electrical\"},{label:\"Software/Control Issue\",value:\"software\"},{label:\"Performance Problem\",value:\"performance\"},{label:\"Spare Parts Query\",value:\"spares\"},{label:\"Operation Guidance\",value:\"operation\"},{label:\"Maintenance Question\",value:\"maintenance\"},{label:\"Other\",value:\"other\"}]},{id:\"description\",type:\"textarea\",label:\"Issue Description\",placeholder:\"Please describe the problem in detail, including any error messages or unusual behavior\",required:true},{id:\"machinePhotos\",type:\"file\",label:\"Photos of Machine (optional)\",buttonText:\"Upload Photos\",placeholder:\"Upload up to 3 photos of the issue (JPG or PNG, max 5MB each)\",required:false,accept:\".jpg,.jpeg,.png\",multiple:true,maxSize:5*1024*1024},{id:\"urgency\",type:\"radio-group\",label:\"Urgency Level\",required:true,options:[{label:\"Critical (Production Stopped)\",value:\"critical\"},{label:\"High (Affecting Production)\",value:\"high\"},{label:\"Medium (Minor Issue)\",value:\"medium\"},{label:\"Low (General Query)\",value:\"low\"}]}],apiConfig:{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},includeCredentials:false,isSuccess:(responseData,response)=>response.ok,getErrorMessage:(responseData,response)=>responseData?.error||\"Could not submit request. Please try again.\"}}};// Set API endpoint for all forms\nObject.keys(FORM_TEMPLATES).forEach(templateKey=>{FORM_TEMPLATES[templateKey].apiConfig.endpoint=webhookUrl;});Object.keys(FORM_TEMPLATES).forEach(templateKey=>{FORM_TEMPLATES[templateKey].apiConfig.endpoint=webhookUrl;// Also modify the form data processing to include the form name\nconst originalProcessData=FORM_TEMPLATES[templateKey].apiConfig.processData||(data=>data);FORM_TEMPLATES[templateKey].apiConfig.processData=formData=>{// Include the form name in the submission data\nformData.formName=templateKey;// Call the original processData function if it exists\nreturn originalProcessData(formData);};});// --- Subject: Constants and Assets ---\n// Same icons from your original component\nconst ICONS={none:null,Phone:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M20.33,21.48l2.24-2.24a2.19,2.19,0,0,1,2.34-.48l2.73,1.09a2.18,2.18,0,0,1,1.36,2v5A2.17,2.17,0,0,1,26.72,29C7.59,27.81,3.73,11.61,3,5.41A2.17,2.17,0,0,1,5.17,3H10a2.16,2.16,0,0,1,2,1.36l1.09,2.73a2.16,2.16,0,0,1-.47,2.34l-2.24,2.24S11.67,20.4,20.33,21.48Z\"/></svg>`,Document:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"m26,30h-5v-2h5v-2h-3c-1.1025,0-2-.8975-2-2v-2c0-1.103.8975-2,2-2h5v2h-5v2h3c1.1025,0,2,.8975,2,2v2c0,1.1025-.8975,2-2,2Z\"/><rect fill=\"currentColor\" x=\"10\" y=\"20\" width=\"6\" height=\"2\"/><rect fill=\"currentColor\" x=\"10\" y=\"16\" width=\"8\" height=\"2\"/><path fill=\"currentColor\" d=\"m24,16.9922h2v-6.9922c0-.1001,0-.2998-.1001-.3999-.0999-.1001-.0999-.2002-.2-.3003l-7-7c-.0999-.0996-.2-.1997-.3-.1997-.0999-.1001-.2998-.1001-.3999-.1001h-10c-.5,0-1,.2002-1.3999.6001-.4001.3999-.6001.8999-.6001,1.3999v24c0,.5.2,1,.6001,1.3999.3999.3999.8999.6001,1.3999.6001h7.9473v-2h-7.9473V4h8v6c0,.5.2,1,.6001,1.3999.3999.3999.8999.6001,1.3999.6001h6v4.9922Zm-6-6.9922v-5.6001l5.6001,5.6001h-5.6001Z\"/></svg>`,PDF:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><polygon fill=\"currentColor\" points=\"30 18 30 16 24 16 24 26 26 26 26 22 29 22 29 20 26 20 26 18 30 18\"/><path fill=\"currentColor\" d=\"M19,26H15V16h4a3.0033,3.0033,0,0,1,3,3v4A3.0033,3.0033,0,0,1,19,26Zm-2-2h2a1.0011,1.0011,0,0,0,1-1V19a1.0011,1.0011,0,0,0-1-1H17Z\"/><path fill=\"currentColor\" d=\"M11,16H6V26H8V23h3a2.0027,2.0027,0,0,0,2-2V18A2.0023,2.0023,0,0,0,11,16ZM8,21V18h3l.001,3Z\"/><path fill=\"currentColor\" d=\"M22,14V10a.9092.9092,0,0,0-.3-.7l-7-7A.9087.9087,0,0,0,14,2H4A2.0059,2.0059,0,0,0,2,4V28a2,2,0,0,0,2,2H20V28H4V4h8v6a2.0059,2.0059,0,0,0,2,2h6v2Zm-8-4V4.4L19.6,10Z\"/></svg>`,\"Arrow Right\":`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><polygon fill=\"currentColor\" points=\"18 6 16.57 7.393 24.15 15 4 15 4 17 24.15 17 16.57 24.573 18 26 28 16 18 6\"/></svg>`,Menu:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><rect fill=\"currentColor\" x=\"4\" y=\"6\" width=\"24\" height=\"2\"/><rect fill=\"currentColor\" x=\"4\" y=\"24\" width=\"24\" height=\"2\"/><rect fill=\"currentColor\" x=\"4\" y=\"12\" width=\"24\" height=\"2\"/><rect fill=\"currentColor\" x=\"4\" y=\"18\" width=\"24\" height=\"2\"/></svg>`,Chat:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M17.74,30,16,29l4-7h6a2,2,0,0,0,2-2V8a2,2,0,0,0-2-2H6A2,2,0,0,0,4,8V20a2,2,0,0,0,2,2h9v2H6a4,4,0,0,1-4-4V8A4,4,0,0,1,6,4H26a4,4,0,0,1,4,4V20a4,4,0,0,1-4,4H21.16Z\"/><rect fill=\"currentColor\" x=\"8\" y=\"10\" width=\"16\" height=\"2\"/><rect fill=\"currentColor\" x=\"8\" y=\"16\" width=\"10\" height=\"2\"/></svg>`,Download:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M26,24v4H6V24H4v4H4a2,2,0,0,0,2,2H26a2,2,0,0,0,2-2h0V24Z\"/><polygon fill=\"currentColor\" points=\"26 14 24.59 12.59 17 20.17 17 2 15 2 15 20.17 7.41 12.59 6 14 16 24 26 14\"/></svg>`,Arrow:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><polygon fill=\"currentColor\" points=\"10 6 10 8 22.59 8 6 24.59 7.41 26 24 9.41 24 22 26 22 26 6 10 6\"/></svg>`,Calendar:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M26,4h-4V2h-2v2h-8V2h-2v2H6C4.9,4,4,4.9,4,6v20c0,1.1,0.9,2,2,2h20c1.1,0,2-0.9,2-2V6C28,4.9,27.1,4,26,4z M26,26H6V12h20\tV26z M26,10H6V6h4v2h2V6h8v2h2V6h4V10z\"/><rect fill=\"currentColor\" x=\"8\" y=\"16\" width=\"4\" height=\"4\"/><rect fill=\"currentColor\" x=\"14\" y=\"16\" width=\"4\" height=\"4\"/><rect fill=\"currentColor\" x=\"20\" y=\"16\" width=\"4\" height=\"4\"/><rect fill=\"currentColor\" x=\"8\" y=\"22\" width=\"4\" height=\"4\"/><rect fill=\"currentColor\" x=\"14\" y=\"22\" width=\"4\" height=\"4\"/><rect fill=\"currentColor\" x=\"20\" y=\"22\" width=\"4\" height=\"4\"/></svg>`,File:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M25.7,9.3l-7-7C18.5,2.1,18.3,2,18,2H8C6.9,2,6,2.9,6,4v24c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V10C26,9.7,25.9,9.5,25.7,9.3 z M18,4.4l5.6,5.6H18V4.4z M24,28H8V4h8v6c0,1.1,0.9,2,2,2h6V28z\"/><rect fill=\"currentColor\" x=\"10\" y=\"22\" width=\"12\" height=\"2\"/><rect fill=\"currentColor\" x=\"10\" y=\"16\" width=\"12\" height=\"2\"/></svg>`,Check:`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M13,24c-0.256,0-0.512-0.098-0.707-0.293l-5-5c-0.391-0.391-0.391-1.023,0-1.414 s1.023-0.391,1.414,0L13,21.586l10.293-10.293c0.391-0.391,1.023-0.391,1.414,0s0.391,1.023,0,1.414l-11,11 C13.512,23.902,13.256,24,13,24z\"/></svg>`};const ICON_NAMES=Object.keys(ICONS);// Default company logo SVG from your example\nconst UNIPACK_LOGO_SVG=`<svg width=\"120\" height=\"41\" viewBox=\"0 0 1054 360\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M544.125 180.3H507.375V126.12H544.125C556.585 126.12 562.815 132.84 562.815 146.28V160.14C562.815 173.58 556.585 180.3 544.125 180.3Z\" fill=\"#F00027\"/>\n<path d=\"M637.829 126.33L642.449 144.6L659.459 200.25H614.519L631.109 144.6L635.729 126.33H637.829Z\" fill=\"#F00027\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1053.75 0H0V360H1053.75V0ZM163.47 111.42H133.44V202.56C133.44 243.72 147.09 260.52 186.15 260.52C225.21 260.52 238.86 243.72 238.86 202.56V111.42H208.83V206.55C208.83 225.87 203.16 233.85 186.15 233.85C169.14 233.85 163.47 225.87 163.47 206.55V111.42ZM305.615 179.46L342.575 258H375.335V111.42H347.195V188.7L348.875 213.27H345.515L336.275 189.96L299.315 111.42H266.555V258H294.695V180.72L293.015 156.15H296.375L305.615 179.46ZM399.128 258H463.598V234.27H446.378V135.15H463.598V111.42H399.128V135.15H416.348V234.27H399.128V258ZM490.575 111.42V258H507.375V195H544.545C568.765 195 580.875 181.07 580.875 153.21C580.875 125.35 568.765 111.42 544.545 111.42H490.575ZM663.239 214.11L676.259 258H693.479L647.489 111.42H626.489L580.709 258H597.509L610.529 214.11H663.239ZM736.624 256.11C743.204 259.05 750.624 260.52 758.884 260.52C770.924 260.52 780.724 257.79 788.284 252.33C795.984 246.73 801.934 238.68 806.134 228.18L792.694 219.78C790.034 228.18 786.114 234.62 780.934 239.1C775.754 243.44 768.404 245.61 758.884 245.61C747.684 245.61 739.004 241.62 732.844 233.64C726.824 225.52 723.814 214.67 723.814 201.09V168.33C723.814 154.75 726.824 143.97 732.844 135.99C739.004 127.87 747.684 123.81 758.884 123.81C768.124 123.81 775.194 125.91 780.094 130.11C785.134 134.17 788.984 140.19 791.644 148.17L805.084 139.98C800.884 129.48 795.144 121.71 787.864 116.67C780.584 111.49 770.924 108.9 758.884 108.9C750.624 108.9 743.204 110.44 736.624 113.52C730.044 116.46 724.444 121.01 719.824 127.17C715.344 133.33 711.844 141.24 709.324 150.9C706.944 160.42 705.754 171.69 705.754 184.71C705.754 197.73 706.944 209.07 709.324 218.73C711.844 228.25 715.344 236.09 719.824 242.25C724.444 248.41 730.044 253.03 736.624 256.11ZM846.779 209.28L865.889 185.34L908.519 258H928.259L876.809 174.21L925.109 111.42H905.789L869.249 160.35L847.619 190.59H845.519L846.779 160.35V111.42H829.979V258H846.779V209.28Z\" fill=\"#F00027\"/>\n</svg>`;// --- Subject: Enhanced Button Component ---\n/**\n * Renders a customizable button with optional icon and hover/tap effects.\n * Uses Framer Motion for animations.\n */function EnhancedButton({text,iconName,iconColor,iconSize,iconPosition,iconSpacing,backgroundColor,hoverBackgroundColor,activeBackgroundColor,textColor,borderColor,borderWidth,borderRadius,paddingX,paddingY,fontSize,fontWeight,lineHeightMultiplier,letterSpacingEm,onClick,width=\"100%\",height,disabled=false,iconOnly=false}){const iconSvg=ICONS[iconName];const hasIcon=iconName!==\"none\"&&iconSvg;// --- Button Styles ---\nconst styles={button:{display:\"inline-flex\",alignItems:\"center\",justifyContent:iconOnly?\"center\":\"space-between\",width:width,height:`${height}px`,padding:`${paddingY}px ${paddingX}px`,backgroundColor:backgroundColor,color:textColor,border:`${borderWidth}px solid ${borderColor}`,borderRadius:`${borderRadius}px`,fontFamily:\"Geist, -apple-system, BlinkMacSystemFont, sans-serif\",fontSize:`${fontSize}px`,fontWeight:fontWeight,lineHeight:`calc(${fontSize}px * ${lineHeightMultiplier})`,letterSpacing:`${letterSpacingEm}em`,cursor:disabled?\"not-allowed\":\"pointer\",outline:\"none\",transition:\"background-color 150ms ease-out, transform 100ms ease-out, box-shadow 150ms ease-out\",opacity:disabled?.6:1,position:\"relative\",boxSizing:\"border-box\",gap:hasIcon?`${iconSpacing}px`:\"0\",flexDirection:iconPosition===\"left\"?\"row\":\"row-reverse\",// If iconOnly, reduce the button width to be more square if width is auto or percentage\n...iconOnly&&(width===\"auto\"||width.includes(\"%\"))?{aspectRatio:\"1/1\",width:`${height}px`}:{}},iconWrapper:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:`${iconSize}px`,height:`${iconSize}px`,flexShrink:0,color:iconColor},textSpan:{// Ensure text doesn't unnecessarily wrap if space allows\nwhiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",flexGrow:1,textAlign:\"left\",// Hide text when icon only\ndisplay:iconOnly?\"none\":\"block\"}};// --- Animation Variants ---\nconst buttonVariants={rest:{backgroundColor:backgroundColor,scale:1,boxShadow:\"0 1px 2px rgba(0,0,0,0.05)\"},hover:{backgroundColor:hoverBackgroundColor,boxShadow:\"0 2px 5px rgba(0,0,0,0.1)\"},tap:{scale:.98,backgroundColor:activeBackgroundColor,boxShadow:\"0 1px 1px rgba(0,0,0,0.1)\"},disabled:{opacity:.6,cursor:\"not-allowed\",backgroundColor:backgroundColor,scale:1,boxShadow:\"none\"}};// --- Icon Element ---\nconst IconElement=hasIcon?/*#__PURE__*/_jsx(\"span\",{style:styles.iconWrapper,dangerouslySetInnerHTML:{__html:iconSvg.replace(\"<svg\",`<svg style=\"width:100%;height:100%;display:block;\"`)},\"aria-hidden\":\"true\"// Hide decorative icon from screen readers\n}):null;// --- Render ---\nreturn /*#__PURE__*/_jsxs(motion.button,{style:styles.button,onClick:!disabled?onClick:undefined,variants:buttonVariants,initial:\"rest\",whileHover:!disabled?\"hover\":\"disabled\",whileTap:!disabled?\"tap\":\"disabled\",animate:disabled?\"disabled\":\"rest\",transition:{duration:.15,ease:\"easeOut\"},disabled:disabled,children:[!iconOnly&&/*#__PURE__*/_jsx(\"span\",{style:styles.textSpan,children:text}),hasIcon&&IconElement]});}// --- Subject: Portal Component ---\n/**\n * Renders its children into a dedicated DOM node outside the main React tree.\n * Creates the container div if it doesn't exist.\n * Ensures the Geist font is loaded.\n */function ContactFormPortal({isOpen,children}){const[portalContainer,setPortalContainer]=useState(null);// --- Effect: Create or Find Portal Container ---\nuseEffect(()=>{// Avoid running on server\nif(typeof document===\"undefined\")return;let container=document.getElementById(\"contact-form-portal-container\");if(!container){container=document.createElement(\"div\");container.id=\"contact-form-portal-container\";// Style portal container for positioning context if needed\ncontainer.style.position=\"relative\";container.style.zIndex=\"10000\"// High z-index\n;document.body.appendChild(container);}setPortalContainer(container);// Cleanup function (optional, but good practice if needed later)\n// return () => {\n//     if (container && document.body.contains(container) && /* condition */) {\n//         // document.body.removeChild(container);\n//     }\n// };\n},[]);// --- Effect: Load Geist Font ---\nuseEffect(()=>{if(typeof document===\"undefined\"||document.getElementById(\"geist-font\")){return;// Don't load if server-side or already loaded\n}const link=document.createElement(\"link\");link.id=\"geist-font\";link.rel=\"stylesheet\";link.href=\"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700;800&display=swap\";document.head.appendChild(link);},[]);// --- Render ---\n// Render children into the portal container only if it exists and modal is open\nif(!portalContainer||!isOpen){return null;}return /*#__PURE__*/ReactDOM.createPortal(children,portalContainer);}// --- Subject: Modal Component ---\n/**\n * Renders a modal dialog with backdrop, header (logo, close button), and body.\n * Handles closing via backdrop click or Escape key.\n * Manages body scroll locking.\n */function ContactFormModal({children,onClose,logoSvg,brandColor,showLogo=true}){const modalRef=useRef(null);const bodyOverflowRef=useRef(null)// Store original body overflow\n;const bodyPositionRef=useRef(null)// Store original body position\n;const bodyTopRef=useRef(null)// Store original body top offset\n;const bodyWidthRef=useRef(null)// Store original body width\n;const scrollYRef=useRef(0)// Store scroll position\n;const isMobile=useRef(typeof window!==\"undefined\"&&window.innerWidth<=768);// --- Effect: Event Listeners and Scroll Lock ---\nuseEffect(()=>{if(typeof window===\"undefined\")return;// --- Event Handlers ---\nconst handleResize=()=>{isMobile.current=window.innerWidth<=768;};const handleEscape=e=>{if(e.key===\"Escape\")onClose();};// --- Scroll Locking ---\n// Store original body styles and scroll position *before* modifying\nbodyOverflowRef.current=document.body.style.overflow;bodyPositionRef.current=document.body.style.position;bodyTopRef.current=document.body.style.top;bodyWidthRef.current=document.body.style.width;scrollYRef.current=window.scrollY;// Apply scroll lock styles\ndocument.body.style.overflow=\"hidden\";document.body.style.position=\"fixed\"// Use fixed to prevent jump on some browsers\n;document.body.style.top=`-${scrollYRef.current}px`;document.body.style.width=\"100%\"// Prevent width changes\n;// --- Add Event Listeners ---\nwindow.addEventListener(\"resize\",handleResize);document.addEventListener(\"keydown\",handleEscape);// --- Cleanup Function ---\nreturn()=>{window.removeEventListener(\"resize\",handleResize);document.removeEventListener(\"keydown\",handleEscape);// Restore original body styles safely\ndocument.body.style.overflow=bodyOverflowRef.current||\"\";document.body.style.position=bodyPositionRef.current||\"\";document.body.style.top=bodyTopRef.current||\"\";document.body.style.width=bodyWidthRef.current||\"\";// Restore scroll position\nwindow.scrollTo(0,scrollYRef.current);};},[onClose])// Dependency array ensures effect runs only when onClose changes\n;// --- Event Handler: Backdrop Click ---\nconst handleBackdropClick=e=>{// Close only if the click is directly on the backdrop, not the modal content\nif(modalRef.current&&!modalRef.current.contains(e.target)){onClose();}};// --- Styles ---\n// Professional and modern styling\nconst styles={modalBackdrop:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",backgroundColor:\"rgba(0, 0, 0, 0.7)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:9999,backdropFilter:\"blur(5px)\",WebkitBackdropFilter:\"blur(5px)\",fontFamily:\"Geist, -apple-system, BlinkMacSystemFont, sans-serif\",overflow:\"hidden\"},modalContainer:{position:\"relative\",width:\"100%\",height:\"100%\",maxWidth:isMobile.current?\"100vw\":\"36rem\",maxHeight:isMobile.current?\"100vh\":\"92vh\",background:\"white\",borderRadius:isMobile.current?\"0\":\"0.75rem\",boxShadow:\"0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.1)\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",zIndex:1e4},modalHeader:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",padding:\"1rem 1.5rem\",borderBottom:\"1px solid #e5e7eb\",flexShrink:0,backgroundColor:\"#FCFCFC\"},logoContainer:{height:\"2rem\",display:\"flex\",alignItems:\"center\"},closeButton:{background:\"transparent\",border:\"none\",padding:0,width:\"2.5rem\",height:\"2.5rem\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#6b7280\",cursor:\"pointer\",borderRadius:\"50%\",transition:\"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1)\"},closeButtonHover:{backgroundColor:\"#f3f4f6\",color:\"#111827\"},// In the ContactFormModal component, update the modalBody style:\nmodalBody:{flex:1,overflowY:\"auto\",WebkitOverflowScrolling:\"touch\",maxHeight:\"calc(90vh - 4rem)\",position:\"relative\"}};// --- State: Close Button Hover ---\nconst[isCloseHovered,setIsCloseHovered]=useState(false);// --- Render ---\nreturn /*#__PURE__*/_jsx(motion.div,{style:styles.modalBackdrop,onClick:handleBackdropClick,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2,ease:\"easeOut\"},\"aria-modal\":\"true\",role:\"dialog\",children:/*#__PURE__*/_jsxs(motion.div,{style:styles.modalContainer,ref:modalRef,initial:{opacity:0,y:isMobile.current?50:20,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:isMobile.current?50:20,scale:.95},transition:{duration:.25,ease:\"easeOut\"},role:\"document\",children:[showLogo&&/*#__PURE__*/_jsxs(\"div\",{style:styles.modalHeader,children:[/*#__PURE__*/_jsx(\"div\",{style:styles.logoContainer,dangerouslySetInnerHTML:{__html:logoSvg}}),/*#__PURE__*/_jsx(\"button\",{style:{...styles.closeButton,...isCloseHovered?styles.closeButtonHover:{}},onClick:onClose,onMouseEnter:()=>setIsCloseHovered(true),onMouseLeave:()=>setIsCloseHovered(false),\"aria-label\":\"Close quote request form\",children:/*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"18\",y1:\"6\",x2:\"6\",y2:\"18\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"6\",y1:\"6\",x2:\"18\",y2:\"18\"})]})})]}),/*#__PURE__*/_jsx(\"div\",{style:styles.modalBody,children:children})]})});}// --- Subject: Configurable Form Component ---\n/**\n * A fully configurable form component that can render various field types,\n * handle validation, multi-step forms, and form submission.\n */function ConfigurableForm({formConfig,onClose,apiEndpoint,debugMode=false,brandColor=\"#F00027\",formLetterSpacingEm=-.015,formFontSize=16,logoSvg=UNIPACK_LOGO_SVG,productName=\"\",productCode=\"\"}){// Extract form configuration data\nconst{formMetadata={},fields=[],apiConfig={}}=formConfig||{};// Extract form metadata with defaults\nconst{formTitle=\"Contact Form\",formIntroText=\"\",submitButtonText=\"Submit\",successTitle=\"Thank You!\",successMessage=\"Your form has been submitted successfully.\"}=formMetadata;// Use the provided API endpoint or fallback to the one in config\nconst effectiveApiEndpoint=apiEndpoint||apiConfig.endpoint||\"https://example.com/api/submit\";// --- State Hooks ---\nconst[formData,setFormData]=useState({});const[errors,setErrors]=useState({});const[touched,setTouched]=useState({})// Tracks if submit was attempted\n;const[isSubmitting,setIsSubmitting]=useState(false);const[isSuccess,setIsSuccess]=useState(false);const[submitError,setSubmitError]=useState(\"\");const[submittedData,setSubmittedData]=useState(null);const[responseData,setResponseData]=useState(null);// Multi-step form state\nconst[currentStep,setCurrentStep]=useState(1);// Calculate total steps (if any fields have a step property)\nconst hasSteps=fields.some(field=>field.step!==undefined);const totalSteps=hasSteps?Math.max(...fields.map(field=>field.step||1)):1;// Get fields for current step\nconst currentStepFields=hasSteps?fields.filter(field=>(field.step||1)===currentStep):fields;// First input ref for autofocus\nconst firstInputRef=useRef(null);// --- Effect: Initialize Form Data ---\nuseEffect(()=>{// Create initial form data object from field configurations\nconst initialData=fields.reduce((acc,field)=>{switch(field.type){case\"checkbox-group\":acc[field.id]=[];break;case\"checkbox\":acc[field.id]=false;break;case\"radio-group\":case\"select\":acc[field.id]=\"\";break;case\"date\":acc[field.id]=\"\";break;case\"file\":acc[field.id]=null;break;default:acc[field.id]=\"\";}// Override with default value if provided\nif(field.defaultValue!==undefined){acc[field.id]=field.defaultValue;}return acc;},{});// Set initial form data\nsetFormData(initialData);},[fields]);// --- Effect: Focus first input field after render ---\nuseEffect(()=>{if(firstInputRef.current){setTimeout(()=>{firstInputRef.current.focus();},300);}},[currentStep])// Re-focus when step changes\n;// --- Effect: Add Spinner CSS Keyframes ---\nuseEffect(()=>{if(typeof document===\"undefined\"||document.getElementById(\"contact-spinner-keyframes\"))return;const styleSheet=document.createElement(\"style\");styleSheet.id=\"contact-spinner-keyframes\";styleSheet.type=\"text/css\";styleSheet.innerText=`@keyframes spin { to { transform: rotate(360deg); } }`;document.head.appendChild(styleSheet);},[]);// --- Function: Validate Field ---\nconst validateField=(id,value)=>{const field=fields.find(f=>f.id===id);if(!field)return\"\";// Skip validation if not required and empty\nif(!field.required&&(value===\"\"||value===null||value===undefined||Array.isArray(value)&&value.length===0)){return\"\";}// For strings, trim whitespace\nconst trimmedValue=typeof value===\"string\"?value.trim():value;// Field is required but empty\nif(field.required&&(trimmedValue===\"\"||trimmedValue===null||trimmedValue===undefined||Array.isArray(trimmedValue)&&trimmedValue.length===0)){return`Please enter ${field.label.toLowerCase()}.`;}// Validate based on field type\nswitch(field.type){case\"email\":if(trimmedValue&&!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(trimmedValue)){return\"Please provide a valid email address.\";}break;case\"tel\":// Simple check for now - can be enhanced\nif(trimmedValue&&!/^[+]?[0-9\\s-()]{6,20}$/.test(trimmedValue)){return\"Please enter a valid phone number.\";}break;case\"textarea\":case\"text\":if(field.validation){const{minLength,maxLength,pattern}=field.validation;if(minLength&&trimmedValue.length<minLength){return field.validation.errorMessage||`Please enter at least ${minLength} characters.`;}if(maxLength&&trimmedValue.length>maxLength){return field.validation.errorMessage||`Please enter no more than ${maxLength} characters.`;}if(pattern&&!new RegExp(pattern).test(trimmedValue)){return field.validation.errorMessage||`Please enter a valid ${field.label.toLowerCase()}.`;}}break;case\"checkbox-group\":if(field.validation&&field.validation.minSelected){if(trimmedValue.length<field.validation.minSelected){return field.validation.errorMessage||`Please select at least ${field.validation.minSelected} option(s).`;}}break;case\"file\":if(field.validation){if(field.validation.required&&!trimmedValue){return\"Please select a file.\";}if(trimmedValue&&field.validation.maxSize&&trimmedValue.size>field.validation.maxSize){return`File size must be less than ${Math.round(field.validation.maxSize/(1024*1024))}MB.`;}if(trimmedValue&&field.validation.acceptedTypes&&!field.validation.acceptedTypes.some(type=>trimmedValue.type.includes(type.replace(\".\",\"\")))){return`Please select a valid file type: ${field.validation.acceptedTypes.join(\", \")}.`;}}break;}return\"\";};// --- Function: Validate Step ---\nconst validateStep=step=>{const stepFields=fields.filter(field=>(field.step||1)===step);const newErrors={};let isValid=true;stepFields.forEach(field=>{const error=validateField(field.id,formData[field.id]);if(error){newErrors[field.id]=error;isValid=false;}});setErrors(prev=>({...prev,...newErrors}));return isValid;};// --- Function: Validate All Fields ---\nconst validateForm=()=>{const newErrors={};let isValid=true;fields.forEach(field=>{const error=validateField(field.id,formData[field.id]);if(error){newErrors[field.id]=error;isValid=false;}});setErrors(newErrors);return isValid;};// --- Event Handler: Field Change ---\n// --- Event Handler: Field Change ---\nconst handleChange=(id,value)=>{setFormData(prev=>({...prev,[id]:value}));// Clear error if the field had an error\nif(errors[id]){setErrors(prev=>({...prev,[id]:\"\"}));}};// --- Event Handler: Next Step ---\nconst handleNextStep=()=>{// Mark all fields in this step as touched\nconst touchedFields={};currentStepFields.forEach(field=>{touchedFields[field.id]=true;});setTouched(prev=>({...prev,...touchedFields}));// Validate current step\nif(validateStep(currentStep)){setCurrentStep(prev=>Math.min(prev+1,totalSteps));}};// --- Event Handler: Previous Step ---\nconst handlePrevStep=()=>{setCurrentStep(prev=>Math.max(prev-1,1));};// --- Event Handler: Form Submission ---\nconst handleSubmit=async e=>{e.preventDefault();// Mark all fields as touched\nconst allTouched={};fields.forEach(field=>{allTouched[field.id]=true;});setTouched(allTouched);// Validate all fields\nif(!validateForm()){return;}setIsSubmitting(true);setSubmitError(\"\");try{// Process form data - prepare data for submission\nconst dataToSubmit={...formData};// Add form type information\nif(formConfig){// You could compare the formConfig with known templates\n// Or use some identifier in the formConfig\nconst formTitle=formConfig.formMetadata?.formTitle||\"\";dataToSubmit.formName=formTitle.replace(/\\s+/g,\"\").toLowerCase();}else{dataToSubmit.formName=\"unknown\";}// Add product information and URL data to the submission\nif(productName){dataToSubmit.productName=productName;}if(productCode){dataToSubmit.productCode=productCode;}// Add current URL\nif(typeof window!==\"undefined\"){dataToSubmit.sourceUrl=window.location.href;}// Handle file uploads properly if present\nconst hasFileFields=fields.some(field=>field.type===\"file\"&&formData[field.id]);// If we have file fields, we need to use FormData instead of JSON\nlet requestBody;let customHeaders={...apiConfig.headers||{}};if(hasFileFields){const formDataObj=new FormData;// Add all regular form fields\nObject.entries(dataToSubmit).forEach(([key,value])=>{const field=fields.find(f=>f.id===key);// Skip file fields for now, we'll handle them separately\nif(field?.type!==\"file\"){// For arrays (like checkbox groups), properly format for server\nif(Array.isArray(value)){value.forEach(item=>formDataObj.append(`${key}[]`,item));}else{formDataObj.append(key,value);}}});// Handle file fields\nfields.forEach(field=>{if(field.type===\"file\"&&formData[field.id]){formDataObj.append(field.id,formData[field.id]);}});requestBody=formDataObj;// When using FormData, let the browser set the Content-Type\ndelete customHeaders[\"Content-Type\"];}else{// No file fields, use JSON as normal\nrequestBody=JSON.stringify(dataToSubmit);customHeaders[\"Content-Type\"]=\"application/json\";}// Custom data processing if needed\nif(apiConfig.processData){apiConfig.processData(dataToSubmit);}// If no endpoint is provided, simulate success after a brief delay\nif(!effectiveApiEndpoint){console.warn(\"No API endpoint provided. Form submission simulated.\");setTimeout(()=>{setSubmittedData(dataToSubmit);setIsSuccess(true);setIsSubmitting(false);},800);return;}// Abort controller for timeout and cleanup\nconst controller=new AbortController;const timeoutId=setTimeout(()=>controller.abort(),3e4)// 30 second timeout\n;// Prepare request options\nconst requestOptions={method:apiConfig.method||\"POST\",headers:customHeaders,body:requestBody,signal:controller.signal,credentials:apiConfig.includeCredentials?\"include\":\"same-origin\"};// Call API\nconst response=await fetch(effectiveApiEndpoint,requestOptions);// Clear timeout since request completed\nclearTimeout(timeoutId);// Parse response\nlet responseData;const contentType=response.headers.get(\"content-type\");if(contentType&&contentType.indexOf(\"application/json\")!==-1){responseData=await response.json();}else if(response.ok){responseData={success:true,message:\"Submitted successfully.\"};}else{// Handle non-JSON error responses\nconst errorText=await response.text();responseData={success:false,message:errorText||`Request failed with status ${response.status}`};}setResponseData(responseData);// Check if submission was successful\nconst isSuccessful=apiConfig.isSuccess?apiConfig.isSuccess(responseData,response):response.ok;if(!isSuccessful){const errorMessage=apiConfig.getErrorMessage?apiConfig.getErrorMessage(responseData,response):responseData?.message||response.statusText||`Request failed with status ${response.status}`;throw new Error(errorMessage);}// Handle success\nsetSubmittedData(dataToSubmit);setIsSuccess(true);// Call custom success handler if provided\nif(apiConfig.onSuccess){apiConfig.onSuccess(responseData,formData);}// Optional tracking if provided\nif(apiConfig.trackSubmission){try{apiConfig.trackSubmission(dataToSubmit,responseData);}catch(trackingError){console.error(\"Tracking error:\",trackingError);// Don't fail the submission if tracking fails\n}}}catch(error){console.error(\"Form submission error:\",error);// Handle specific error types\nif(error.name===\"AbortError\"){setSubmitError(\"Request timed out. Please try again.\");}else if(!navigator.onLine){setSubmitError(\"You appear to be offline. Please check your internet connection and try again.\");}else{setSubmitError(error.message||\"An unexpected error occurred. Please try again.\");}}finally{setIsSubmitting(false);}};// --- Styles ---\nconst styles={formContainer:{padding:\"1.5rem 2rem 2rem 2rem\",fontFamily:\"Geist, -apple-system, BlinkMacSystemFont, sans-serif\",color:\"#1f2937\",height:\"100%\",boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\"},heading:{fontSize:\"1.5rem\",fontWeight:600,marginBottom:\"0.5rem\",marginTop:0,color:\"#111827\",lineHeight:\"1.3\",letterSpacing:`${formLetterSpacingEm}em`},introText:{fontSize:`${formFontSize*.875}px`,color:\"#4b5563\",marginBottom:\"1.5rem\",marginTop:0,lineHeight:\"1.6\",letterSpacing:`${formLetterSpacingEm}em`},form:{display:\"flex\",flexDirection:\"column\",gap:\"1.25rem\",flexGrow:1},formField:{display:\"flex\",flexDirection:\"column\",gap:\"0.375rem\"},labelContainer:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"},label:{fontSize:`${formFontSize*.875}px`,fontWeight:500,color:\"#374151\",letterSpacing:`${formLetterSpacingEm}em`},required:{color:brandColor,paddingLeft:\"0.25rem\"},optional:{fontSize:`${formFontSize*.75}px`,color:\"#6b7280\",marginLeft:\"0.5rem\"},input:hasError=>({width:\"100%\",height:\"2.75rem\",padding:\"0 0.75rem\",border:`1px solid ${hasError?\"#ef4444\":\"#d1d5db\"}`,backgroundColor:\"#ffffff\",fontSize:`${formFontSize*.875}px`,color:\"#1f2937\",borderRadius:\"0.375rem\",transition:\"border-color 150ms ease-out, box-shadow 150ms ease-out\",boxSizing:\"border-box\",appearance:\"none\",WebkitAppearance:\"none\",margin:0,outline:\"none\",boxShadow:hasError?`0 0 0 1px rgba(239, 68, 68, 0.5)`:\"none\"}),textarea:hasError=>({width:\"100%\",minHeight:\"6rem\",padding:\"0.75rem\",border:`1px solid ${hasError?\"#ef4444\":\"#d1d5db\"}`,backgroundColor:\"#ffffff\",fontSize:`${formFontSize*.875}px`,color:\"#1f2937\",borderRadius:\"0.375rem\",transition:\"border-color 150ms ease-out, box-shadow 150ms ease-out\",boxSizing:\"border-box\",appearance:\"none\",WebkitAppearance:\"none\",margin:0,outline:\"none\",boxShadow:hasError?`0 0 0 1px rgba(239, 68, 68, 0.5)`:\"none\",resize:\"vertical\"}),select:hasError=>({width:\"100%\",height:\"2.75rem\",padding:\"0 0.75rem\",border:`1px solid ${hasError?\"#ef4444\":\"#d1d5db\"}`,backgroundColor:\"#ffffff\",fontSize:`${formFontSize*.875}px`,color:\"#1f2937\",borderRadius:\"0.375rem\",transition:\"border-color 150ms ease-out, box-shadow 150ms ease-out\",boxSizing:\"border-box\",appearance:\"none\",WebkitAppearance:\"none\",margin:0,outline:\"none\",boxShadow:hasError?`0 0 0 1px rgba(239, 68, 68, 0.5)`:\"none\",backgroundImage:`url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7280'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E\")`,backgroundPosition:\"right 0.5rem center\",backgroundRepeat:\"no-repeat\",backgroundSize:\"1.5rem\",paddingRight:\"2.5rem\"}),helperText:{fontSize:`${formFontSize*.75}px`,color:\"#6b7280\",lineHeight:1.4,margin:0,letterSpacing:`${formLetterSpacingEm}em`},errorText:{color:\"#ef4444\",fontSize:`${formFontSize*.75}px`,lineHeight:1.4,margin:\"0.125rem 0 0 0\",letterSpacing:`${formLetterSpacingEm}em`},checkboxContainer:{display:\"flex\",alignItems:\"flex-start\",gap:\"0.5rem\",padding:\"0.375rem 0\"},checkbox:{width:\"1.25rem\",height:\"1.25rem\",borderRadius:\"0.25rem\",border:\"1px solid #d1d5db\",appearance:\"none\",WebkitAppearance:\"none\",position:\"relative\",cursor:\"pointer\",flexShrink:0,margin:0,outline:\"none\",backgroundColor:\"#ffffff\",transition:\"border-color 150ms ease-out, background-color 150ms ease-out\",\":checked\":{backgroundColor:brandColor,borderColor:brandColor}},checkboxLabel:{fontSize:`${formFontSize*.875}px`,color:\"#374151\",lineHeight:1.5,paddingTop:\"0.125rem\",letterSpacing:`${formLetterSpacingEm}em`},radioContainer:{display:\"flex\",flexDirection:\"column\",gap:\"0.5rem\"},radioOption:{display:\"flex\",alignItems:\"flex-start\",gap:\"0.5rem\",padding:\"0.375rem 0\"},radio:{width:\"1.25rem\",height:\"1.25rem\",borderRadius:\"50%\",border:\"1px solid #d1d5db\",appearance:\"none\",WebkitAppearance:\"none\",position:\"relative\",cursor:\"pointer\",flexShrink:0,margin:0,outline:\"none\",backgroundColor:\"#ffffff\",transition:\"border-color 150ms ease-out, background-color 150ms ease-out\",\":checked\":{borderColor:brandColor},\":checked::after\":{content:'\"\"',position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",width:\"0.625rem\",height:\"0.625rem\",borderRadius:\"50%\",backgroundColor:brandColor}},radioLabel:{fontSize:`${formFontSize*.875}px`,color:\"#374151\",lineHeight:1.5,paddingTop:\"0.125rem\",letterSpacing:`${formLetterSpacingEm}em`},checkboxGroupContainer:{display:\"flex\",flexDirection:\"column\",gap:\"0.5rem\"},fileInput:{display:\"none\"},fileInputButton:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"0.5rem\",height:\"2.75rem\",padding:\"0 1rem\",backgroundColor:\"#f9fafb\",color:\"#374151\",border:\"1px solid #d1d5db\",borderRadius:\"0.375rem\",fontSize:`${formFontSize*.875}px`,fontWeight:500,cursor:\"pointer\",transition:\"background-color 150ms ease-out, border-color 150ms ease-out\"},fileInputButtonHover:{backgroundColor:\"#f3f4f6\",borderColor:\"#a3a8b8\"},fileInputStatus:{fontSize:`${formFontSize*.875}px`,color:\"#4b5563\",marginTop:\"0.375rem\"},datePickerContainer:{position:\"relative\"},dateInput:hasError=>({...styles.input(hasError),cursor:\"pointer\"}),stepIndicator:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",marginBottom:\"1.5rem\"},stepDot:{width:\"0.75rem\",height:\"0.75rem\",borderRadius:\"50%\",backgroundColor:\"#e5e7eb\",margin:\"0 0.25rem\"},stepDotActive:{backgroundColor:brandColor,transform:\"scale(1.2)\"},stepConnector:{height:\"2px\",width:\"1.5rem\",backgroundColor:\"#e5e7eb\"},stepConnectorActive:{backgroundColor:brandColor},buttonContainer:{display:\"flex\",justifyContent:\"space-between\",gap:\"1rem\",marginTop:\"1.5rem\"},button:isSubmitting=>({height:\"2.75rem\",padding:\"0 1.5rem\",backgroundColor:isSubmitting?\"#9ca3af\":brandColor,color:\"white\",border:\"none\",fontSize:`${formFontSize*.875}px`,fontWeight:500,cursor:isSubmitting?\"not-allowed\":\"pointer\",borderRadius:\"0.375rem\",transition:\"background-color 150ms ease-out, opacity 150ms ease-out\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"0.5rem\",opacity:isSubmitting?.8:1}),secondaryButton:{height:\"2.75rem\",padding:\"0 1.5rem\",backgroundColor:\"#ffffff\",color:\"#4b5563\",border:\"1px solid #d1d5db\",fontSize:`${formFontSize*.875}px`,fontWeight:500,cursor:\"pointer\",borderRadius:\"0.375rem\",transition:\"background-color 150ms ease-out, border-color 150ms ease-out\"},secondaryButtonHover:{backgroundColor:\"#f9fafb\",borderColor:\"#9ca3af\"},buttonFlex:{flex:1},loadingSpinner:{width:\"1rem\",height:\"1rem\",borderRadius:\"50%\",border:\"2px solid rgba(255, 255, 255, 0.3)\",borderTopColor:\"#FFFFFF\",animation:\"spin 1s linear infinite\"},submitError:{display:\"flex\",alignItems:\"flex-start\",gap:\"0.5rem\",backgroundColor:\"#fef2f2\",padding:\"0.75rem 1rem\",marginBottom:\"1rem\",borderRadius:\"0.375rem\",border:\"1px solid #fecaca\",borderLeft:`4px solid #ef4444`},submitErrorIcon:{flexShrink:0,marginTop:\"2px\",color:\"#ef4444\"},submitErrorText:{margin:0,fontSize:`${formFontSize*.875}px`,color:\"#b91c1c\",letterSpacing:`${formLetterSpacingEm}em`,lineHeight:1.5},successContainer:{padding:\"2rem 2rem 3rem 2rem\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",textAlign:\"center\",height:\"100%\",boxSizing:\"border-box\"},successIcon:{marginBottom:\"1rem\",color:\"#10b981\"},successHeading:{fontSize:\"1.5rem\",fontWeight:600,color:\"#111827\",marginBottom:\"0.75rem\",marginTop:0,letterSpacing:`${formLetterSpacingEm}em`},successText:{color:\"#374151\",fontSize:`${formFontSize}px`,lineHeight:1.6,margin:\"0 0 1.5rem 0\",maxWidth:\"50ch\",letterSpacing:`${formLetterSpacingEm}em`},submittedDataContainer:{width:\"100%\",maxWidth:\"450px\",backgroundColor:\"#f9fafb\",border:\"1px solid #e5e7eb\",borderRadius:\"0.5rem\",padding:\"1rem 1.5rem\",marginTop:\"1.5rem\",textAlign:\"left\",boxSizing:\"border-box\"},submittedDataTitle:{fontSize:`${formFontSize*.875}px`,fontWeight:500,color:\"#6b7280\",marginBottom:\"1rem\",textTransform:\"uppercase\",letterSpacing:\"0.05em\"},dataRow:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-start\",padding:\"0.625rem 0\",borderBottom:\"1px solid #f3f4f6\",gap:\"1rem\"},dataRowLast:{borderBottom:\"none\"},dataLabel:{fontSize:`${formFontSize*.875}px`,color:\"#6b7280\",marginRight:\"1rem\",flexShrink:0,letterSpacing:`${formLetterSpacingEm}em`},dataValue:{fontSize:`${formFontSize*.875}px`,color:\"#1f2937\",fontWeight:500,textAlign:\"right\",wordBreak:\"break-word\",letterSpacing:`${formLetterSpacingEm}em`,flexGrow:1},closeButtonSuccess:{padding:\"0.625rem 1.5rem\",backgroundColor:\"#f9fafb\",color:\"#374151\",border:\"1px solid #e5e7eb\",borderRadius:\"0.375rem\",fontSize:`${formFontSize*.875}px`,fontWeight:500,cursor:\"pointer\",transition:\"background-color 150ms ease-out, border-color 150ms ease-out\",marginTop:\"2rem\"},closeButtonSuccessHover:{backgroundColor:\"#f3f4f6\",borderColor:\"#d1d5db\"},debugInfo:{width:\"100%\",maxWidth:\"450px\",marginTop:\"2rem\",textAlign:\"left\",backgroundColor:\"#f8f8f8\",border:\"1px solid #e5e7eb\",borderRadius:\"0.375rem\",padding:\"1rem\",boxSizing:\"border-box\"},debugHeading:{fontSize:\"1rem\",fontWeight:600,margin:\"0 0 1rem 0\",color:\"#111827\"},debugSection:{marginBottom:\"1rem\"},debugSectionLast:{marginBottom:0},debugSectionHeading:{fontSize:`${formFontSize*.875}px`,fontWeight:500,margin:\"0 0 0.5rem 0\",color:\"#374151\"},debugPre:{backgroundColor:\"#f3f4f6\",padding:\"0.75rem\",borderRadius:\"0.25rem\",fontFamily:\"monospace\",fontSize:`${formFontSize*.75}px`,color:\"#4b5563\",overflowX:\"auto\",whiteSpace:\"pre-wrap\",wordWrap:\"break-word\",border:\"1px solid #e5e7eb\"}};// --- State: Hover states ---\nconst[hoveredButton,setHoveredButton]=useState(null);const[isFileInputHovered,setIsFileInputHovered]=useState(false);const[isSuccessCloseHovered,setIsSuccessCloseHovered]=useState(false);// --- Helper: Format JSON for Debug Display ---\nconst formatJSON=obj=>JSON.stringify(obj,null,2);// --- Render: Field Input by Type ---\nconst renderFieldInput=(field,index)=>{const isFirstField=index===0;const hasError=touched[field.id]&&errors[field.id];// Common props for all input types\nconst commonProps={id:field.id,name:field.id,onChange:e=>{const value=field.type===\"checkbox\"?e.target.checked:field.type===\"file\"?e.target.files[0]:e.target.value;handleChange(field.id,value);},onBlur:()=>{// Mark as touched on blur for better accessibility\nsetTouched(prev=>({...prev,[field.id]:true}));// Validate on blur for immediate feedback\nconst error=validateField(field.id,formData[field.id]);if(error){setErrors(prev=>({...prev,[field.id]:error}));}},disabled:isSubmitting,ref:isFirstField?firstInputRef:null,\"aria-invalid\":hasError?\"true\":\"false\",\"aria-describedby\":hasError?`${field.id}-error`:undefined,tabIndex:0};switch(field.type){case\"text\":case\"email\":case\"tel\":return /*#__PURE__*/_jsx(\"input\",{type:field.type,style:styles.input(hasError),placeholder:field.placeholder||\"\",value:formData[field.id]||\"\",autoComplete:field.autoComplete||field.type,...commonProps});case\"textarea\":return /*#__PURE__*/_jsx(\"textarea\",{style:styles.textarea(hasError),placeholder:field.placeholder||\"\",value:formData[field.id]||\"\",...commonProps});case\"select\":return /*#__PURE__*/_jsxs(\"select\",{style:styles.select(hasError),value:formData[field.id]||\"\",...commonProps,children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",disabled:true,children:field.placeholder||\"Select an option\"}),field.options?.map(option=>/*#__PURE__*/_jsx(\"option\",{value:option.value,children:option.label},option.value))]});case\"checkbox\":return /*#__PURE__*/_jsx(\"div\",{style:styles.checkboxContainer,children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",alignItems:\"flex-start\",gap:\"0.5rem\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",marginTop:\"0.25rem\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",style:{...styles.checkbox,backgroundColor:formData[field.id]?brandColor:\"#ffffff\",borderColor:formData[field.id]?brandColor:\"#d1d5db\"},checked:!!formData[field.id],...commonProps}),formData[field.id]&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"0.3rem\",left:\"0.25rem\",width:\"0.75rem\",height:\"0.75rem\",pointerEvents:\"none\"},dangerouslySetInnerHTML:{__html:ICONS.Check.replace(\"<svg\",`<svg fill=\"#ffffff\" style=\"width:100%;height:100%;display:block;\"`)}})]}),/*#__PURE__*/_jsx(\"label\",{htmlFor:field.id,style:{...styles.checkboxLabel,maxWidth:\"calc(100% - 2rem)\"},children:field.label})]})});case\"radio-group\":return /*#__PURE__*/_jsx(\"div\",{style:styles.radioContainer,children:field.options?.map(option=>{const isChecked=formData[field.id]===option.value;return /*#__PURE__*/_jsxs(\"div\",{style:styles.radioOption,children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"radio\",id:`${field.id}-${option.value}`,name:field.id,value:option.value,checked:isChecked,style:{...styles.radio,borderColor:isChecked?brandColor:\"#d1d5db\"},onChange:()=>handleChange(field.id,option.value),disabled:isSubmitting}),isChecked&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",width:\"0.625rem\",height:\"0.625rem\",borderRadius:\"50%\",backgroundColor:brandColor,left:\"0.3125rem\",top:\"0.3125rem\",pointerEvents:\"none\"}})]}),/*#__PURE__*/_jsx(\"label\",{htmlFor:`${field.id}-${option.value}`,style:styles.radioLabel,children:option.label})]},option.value);})});case\"checkbox-group\":return /*#__PURE__*/_jsx(\"div\",{style:styles.checkboxGroupContainer,children:field.options?.map(option=>{const isChecked=(formData[field.id]||[]).includes(option.value);return /*#__PURE__*/_jsxs(\"div\",{style:styles.checkboxContainer,children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",id:`${field.id}-${option.value}`,name:`${field.id}-${option.value}`,checked:isChecked,style:{...styles.checkbox,backgroundColor:isChecked?brandColor:\"#ffffff\",borderColor:isChecked?brandColor:\"#d1d5db\"},onChange:()=>{const currentValues=formData[field.id]||[];const newValues=isChecked?currentValues.filter(v=>v!==option.value):[...currentValues,option.value];handleChange(field.id,newValues);},disabled:isSubmitting}),isChecked&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"0.3rem\",left:\"0.25rem\",width:\"0.75rem\",height:\"0.75rem\",pointerEvents:\"none\"},dangerouslySetInnerHTML:{__html:ICONS.Check.replace(\"<svg\",`<svg fill=\"#ffffff\" style=\"width:100%;height:100%;display:block;\"`)}})]}),/*#__PURE__*/_jsx(\"label\",{htmlFor:`${field.id}-${option.value}`,style:styles.checkboxLabel,children:option.label})]},option.value);})});case\"file\":return /*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"input\",{type:\"file\",id:field.id,name:field.id,style:styles.fileInput,accept:field.accept||\"\",onChange:e=>{const file=e.target.files?.[0]||null;// Validate file size and type before setting\nif(file){const maxSize=field.validation?.maxSize||5*1024*1024// Default 5MB\n;if(file.size>maxSize){setErrors(prev=>({...prev,[field.id]:`File size exceeds the maximum allowed (${Math.round(maxSize/1024/1024)}MB).`}));e.target.value=\"\"// Reset input\n;return;}if(field.validation?.acceptedTypes){const fileType=file.type.split(\"/\")[1];const isAccepted=field.validation.acceptedTypes.some(type=>type.replace(\".\",\"\")===fileType||type===file.type);if(!isAccepted){setErrors(prev=>({...prev,[field.id]:`File type not accepted. Please use: ${field.validation.acceptedTypes.join(\", \")}`}));e.target.value=\"\"// Reset input\n;return;}}}// If validation passes, clear any errors and set the file\nif(errors[field.id]){setErrors(prev=>({...prev,[field.id]:\"\"}));}handleChange(field.id,file);},disabled:isSubmitting,multiple:field.multiple||false}),/*#__PURE__*/_jsxs(\"label\",{htmlFor:field.id,style:{...styles.fileInputButton,...isFileInputHovered?styles.fileInputButtonHover:{}},onMouseEnter:()=>setIsFileInputHovered(true),onMouseLeave:()=>setIsFileInputHovered(false),children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:\"1rem\",height:\"1rem\"},dangerouslySetInnerHTML:{__html:ICONS.File.replace(\"<svg\",`<svg style=\"width:100%;height:100%;display:block;\"`)}}),field.buttonText||\"Choose File\"]}),formData[field.id]?/*#__PURE__*/_jsxs(\"div\",{style:styles.fileInputStatus,children:[\"Selected: \",formData[field.id].name,\"(\",Math.round(formData[field.id].size/1024),\" KB)\",/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>handleChange(field.id,null),style:styles.fileRemoveButton,disabled:isSubmitting,children:\"\u2715\"})]}):/*#__PURE__*/_jsx(\"div\",{style:styles.fileInputStatus,children:field.placeholder||\"No file selected\"}),field.validation?.maxSize&&/*#__PURE__*/_jsxs(\"div\",{style:styles.helperText,children:[\"Max size:\",\" \",Math.round(field.validation.maxSize/1024/1024),\"MB\"]})]});case\"date\":return /*#__PURE__*/_jsx(\"div\",{style:styles.datePickerContainer,children:/*#__PURE__*/_jsx(\"input\",{type:\"date\",style:styles.dateInput(hasError),value:formData[field.id]||\"\",min:field.minDate||\"\",max:field.maxDate||\"\",...commonProps})});default:return /*#__PURE__*/_jsx(\"input\",{type:\"text\",style:styles.input(hasError),placeholder:field.placeholder||\"\",value:formData[field.id]||\"\",...commonProps});}};// --- Render: Form Field ---\nconst renderFormField=(field,index)=>{// Skip rendering the field if it's a checkbox (label is rendered with the input)\nif(field.type===\"checkbox\"){return /*#__PURE__*/_jsxs(\"div\",{style:styles.formField,children:[renderFieldInput(field,index),field.helperText&&/*#__PURE__*/_jsx(\"p\",{id:`${field.id}-helper`,style:styles.helperText,children:field.helperText}),touched[field.id]&&errors[field.id]&&/*#__PURE__*/_jsx(\"p\",{id:`${field.id}-error`,style:styles.errorText,children:errors[field.id]})]},field.id);}return /*#__PURE__*/_jsxs(\"div\",{style:styles.formField,children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.labelContainer,children:[/*#__PURE__*/_jsxs(\"label\",{htmlFor:field.id,style:styles.label,children:[field.label,field.required&&/*#__PURE__*/_jsx(\"span\",{style:styles.required,children:\"*\"})]}),!field.required&&/*#__PURE__*/_jsx(\"span\",{style:styles.optional,children:\"(Optional)\"})]}),field.helperText&&/*#__PURE__*/_jsx(\"p\",{id:`${field.id}-helper`,style:styles.helperText,children:field.helperText}),renderFieldInput(field,index),touched[field.id]&&errors[field.id]&&/*#__PURE__*/_jsx(\"p\",{id:`${field.id}-error`,style:styles.errorText,children:errors[field.id]})]},field.id);};// --- Render: Multi-step Indicator ---\nconst renderStepIndicator=()=>{if(!hasSteps||totalSteps<=1)return null;return /*#__PURE__*/_jsx(\"div\",{style:styles.stepIndicator,children:Array.from({length:totalSteps}).map((_,index)=>{const stepNumber=index+1;const isActive=stepNumber===currentStep;const isPast=stepNumber<currentStep;return /*#__PURE__*/_jsxs(React.Fragment,{children:[index>0&&/*#__PURE__*/_jsx(\"div\",{style:{...styles.stepConnector,...isPast?styles.stepConnectorActive:{}}}),/*#__PURE__*/_jsx(\"div\",{style:{...styles.stepDot,...isActive||isPast?styles.stepDotActive:{}}})]},stepNumber);})});};// --- Render: Step Navigation ---\nconst renderStepNavigation=()=>{if(!hasSteps||totalSteps<=1){return /*#__PURE__*/_jsx(\"div\",{style:{marginTop:\"1.5rem\"},children:/*#__PURE__*/_jsx(motion.button,{type:\"button\",style:styles.button(isSubmitting),disabled:isSubmitting,onClick:handleSubmit,whileHover:!isSubmitting?{opacity:.9}:{},whileTap:!isSubmitting?{scale:.98}:{},children:isSubmitting?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:styles.loadingSpinner,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Submitting...\"})]}):submitButtonText})});}const isLastStep=currentStep===totalSteps;return /*#__PURE__*/_jsxs(\"div\",{style:styles.buttonContainer,children:[currentStep>1&&/*#__PURE__*/_jsx(motion.button,{type:\"button\",style:{...styles.secondaryButton,...hoveredButton===\"prev\"?styles.secondaryButtonHover:{}},disabled:isSubmitting,onClick:handlePrevStep,onMouseEnter:()=>setHoveredButton(\"prev\"),onMouseLeave:()=>setHoveredButton(null),whileTap:{scale:.98},children:\"Previous\"}),/*#__PURE__*/_jsx(motion.button,{type:\"button\",style:{...styles.button(isSubmitting),...currentStep===1?{marginLeft:\"auto\"}:{}},disabled:isSubmitting,onClick:isLastStep?handleSubmit:handleNextStep,whileHover:!isSubmitting?{opacity:.9}:{},whileTap:!isSubmitting?{scale:.98}:{},children:isSubmitting?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:styles.loadingSpinner,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Submitting...\"})]}):isLastStep?submitButtonText:\"Next\"})]});};// --- Render: Success Screen ---\nconst renderSuccessScreen=()=>{if(!isSuccess||!submittedData)return null;// Personalize success message by replacing {{Name}} with the submitted name\n// Find the name field (assuming it's the first text field with 'name' in the ID)\nconst nameField=fields.find(f=>f.type===\"text\"&&(f.id.toLowerCase().includes(\"name\")||f.label.toLowerCase().includes(\"name\")));const nameValue=nameField?submittedData[nameField.id]||\"there\":\"there\";const finalSuccessMessage=successMessage.replace(/\\{\\{Name\\}\\}/g,nameValue);return /*#__PURE__*/_jsxs(motion.div,{style:styles.successContainer,initial:{opacity:0},animate:{opacity:1},transition:{duration:.3},children:[/*#__PURE__*/_jsx(\"div\",{style:styles.successIcon,children:/*#__PURE__*/_jsx(\"svg\",{width:\"56\",height:\"56\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",d:\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})})}),/*#__PURE__*/_jsx(\"h2\",{style:styles.successHeading,children:successTitle}),/*#__PURE__*/_jsx(\"p\",{style:styles.successText,children:finalSuccessMessage.split(\"\\n\").map((line,index,arr)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[line,index<arr.length-1&&/*#__PURE__*/_jsx(\"br\",{})]},index))}),/*#__PURE__*/_jsxs(\"div\",{style:styles.submittedDataContainer,children:[/*#__PURE__*/_jsx(\"h3\",{style:styles.submittedDataTitle,children:\"Your Submitted Details\"}),fields.filter(field=>submittedData[field.id]!==undefined&&submittedData[field.id]!==null&&submittedData[field.id]!==\"\"&&field.type!==\"checkbox\"&&// Handle checkboxes separately\n    field.type!==\"file\"// Handle files separately\n).map((field,index,filteredArr)=>{const isLastItem=index===filteredArr.length-1;const fieldValue=submittedData[field.id];let displayValue=fieldValue;// Format value based on field type\nif(field.type===\"select\"||field.type===\"radio-group\"){const option=field.options?.find(opt=>opt.value===fieldValue);displayValue=option?option.label:fieldValue;}else if(field.type===\"checkbox-group\"&&Array.isArray(fieldValue)){const selectedLabels=fieldValue.map(val=>{const option=field.options?.find(opt=>opt.value===val);return option?option.label:val;});displayValue=selectedLabels.join(\", \");}return /*#__PURE__*/_jsxs(\"div\",{style:{...styles.dataRow,...isLastItem?styles.dataRowLast:{}},children:[/*#__PURE__*/_jsx(\"span\",{style:styles.dataLabel,children:field.label}),/*#__PURE__*/_jsx(\"span\",{style:styles.dataValue,children:displayValue})]},field.id);}),fields.filter(field=>field.type===\"checkbox\"&&submittedData[field.id]===true).map((field,index,filteredArr)=>{const isLastItem=index===filteredArr.length-1;return /*#__PURE__*/_jsx(\"div\",{style:{...styles.dataRow,...isLastItem?styles.dataRowLast:{}},children:/*#__PURE__*/_jsxs(\"span\",{style:styles.dataValue,children:[\"\u2713 \",field.label]})},field.id);}),fields.filter(field=>field.type===\"file\"&&submittedData[field.id]).map((field,index,filteredArr)=>{const isLastItem=index===filteredArr.length-1;const fileName=submittedData[field.id]?.name||\"File selected\";return /*#__PURE__*/_jsxs(\"div\",{style:{...styles.dataRow,...isLastItem?styles.dataRowLast:{}},children:[/*#__PURE__*/_jsx(\"span\",{style:styles.dataLabel,children:field.label}),/*#__PURE__*/_jsx(\"span\",{style:styles.dataValue,children:fileName})]},field.id);})]}),debugMode&&/*#__PURE__*/_jsxs(\"div\",{style:styles.debugInfo,children:[/*#__PURE__*/_jsx(\"h3\",{style:styles.debugHeading,children:\"Debug Information\"}),submittedData&&/*#__PURE__*/_jsxs(\"div\",{style:styles.debugSection,children:[/*#__PURE__*/_jsx(\"h4\",{style:styles.debugSectionHeading,children:\"Submitted Data (Sent to API):\"}),/*#__PURE__*/_jsx(\"pre\",{style:styles.debugPre,children:formatJSON(submittedData)})]}),responseData&&/*#__PURE__*/_jsxs(\"div\",{style:styles.debugSectionLast,children:[/*#__PURE__*/_jsx(\"h4\",{style:styles.debugSectionHeading,children:\"API Response Data:\"}),/*#__PURE__*/_jsx(\"pre\",{style:styles.debugPre,children:formatJSON(responseData)})]})]}),/*#__PURE__*/_jsx(motion.button,{style:{...styles.closeButtonSuccess,...isSuccessCloseHovered?styles.closeButtonSuccessHover:{}},onClick:onClose,whileTap:{scale:.98},onMouseEnter:()=>setIsSuccessCloseHovered(true),onMouseLeave:()=>setIsSuccessCloseHovered(false),children:\"Close\"})]},\"success-screen\");};// --- Render: Form Screen ---\nconst renderFormScreen=()=>{return /*#__PURE__*/_jsxs(motion.div,{style:styles.formContainer,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},children:[/*#__PURE__*/_jsx(\"h1\",{style:styles.heading,children:formTitle}),formIntroText&&/*#__PURE__*/_jsx(\"p\",{style:styles.introText,children:formIntroText}),renderStepIndicator(),submitError&&/*#__PURE__*/_jsxs(\"div\",{style:styles.submitError,role:\"alert\",children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:styles.submitErrorIcon,\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"8\",x2:\"12\",y2:\"12\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"16\",x2:\"12.01\",y2:\"16\"})]}),/*#__PURE__*/_jsx(\"p\",{style:styles.submitErrorText,children:submitError})]}),/*#__PURE__*/_jsxs(\"form\",{style:styles.form,onSubmit:e=>{e.preventDefault();if(hasSteps&&currentStep<totalSteps){handleNextStep();}else{handleSubmit(e);}},noValidate:true,children:[currentStepFields.map((field,index)=>renderFormField(field,index)),renderStepNavigation()]})]},\"form-screen\");};// --- Main Render ---\nreturn /*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",children:isSuccess?renderSuccessScreen():renderFormScreen()});}// --- Subject: Main Exported Component for Framer ---\n/**\n * ConfigurableFormWithButton Component:\n * A fully customizable form system that allows creating various form types\n * using a configuration object.\n */export default function ConfigurableFormWithButton(props){// --- Destructure props with defaults ---\nconst{// Form Configuration\nformConfig,formType=\"contact\",// Display Options\ndirectDisplay=false,containerWidth=\"auto\",// Product Information\nproductName=\"\",productCode=\"\",// Button Styling Props (only used when directDisplay is false)\nbuttonText=\"Get a Quote\",buttonBackgroundColor=\"#F00027\",buttonHoverBackgroundColor=\"#BE001F\",buttonActiveBackgroundColor=\"#A60019\",buttonTextColor=\"#FFFFFF\",buttonBorderColor=\"transparent\",buttonBorderWidth=0,buttonBorderRadius=6,buttonPaddingX=16,buttonPaddingY=12,buttonFontSize=18,buttonFontWeight=\"700\",buttonLineHeight=1.4,buttonLetterSpacing=-.03,buttonHeight=48,buttonIconName=\"Arrow Right\",buttonIconColor=\"#FFFFFF\",buttonIconSize=24,buttonIconPosition=\"right\",buttonIconSpacing=8,buttonIconOnly=false,// Form Props\napiEndpoint,debugMode=false,logoSvg=UNIPACK_LOGO_SVG,showLogo=true,// Form Styling Props\nbrandColor=\"#F00027\",formLetterSpacingEm=-.015,formFontSize=16}=props;// Select the appropriate form configuration\nconst selectedFormConfig=formConfig||FORM_TEMPLATES[formType]||FORM_TEMPLATES.contact;// --- State: Modal Visibility ---\nconst[isModalOpen,setIsModalOpen]=useState(directDisplay)// Initialize based on directDisplay\n;const openModal=()=>setIsModalOpen(true);const closeModal=()=>{// Only close if not in direct display mode\nif(!directDisplay){setIsModalOpen(false);}};// --- Styles ---\nconst styles={container:{width:containerWidth,height:\"auto\",position:\"relative\",fontFamily:\"Geist, -apple-system, BlinkMacSystemFont, sans-serif\"},directFormContainer:{width:\"100%\",borderRadius:\"0.75rem\",boxShadow:\"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",overflow:\"hidden\",backgroundColor:\"#ffffff\"}};// --- Render ---\n// If directDisplay is true, render the form directly in the container\nif(directDisplay){return /*#__PURE__*/_jsx(\"div\",{style:styles.container,children:/*#__PURE__*/_jsxs(\"div\",{style:styles.directFormContainer,children:[showLogo&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"1rem 1.5rem\",borderBottom:\"1px solid #e5e7eb\",backgroundColor:\"#FCFCFC\",display:\"flex\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"2rem\",display:\"flex\",alignItems:\"center\"},dangerouslySetInnerHTML:{__html:logoSvg}})}),/*#__PURE__*/_jsx(ConfigurableForm,{formConfig:selectedFormConfig,onClose:closeModal,apiEndpoint:apiEndpoint||selectedFormConfig?.apiConfig?.endpoint||\"\",debugMode:debugMode,brandColor:brandColor,formLetterSpacingEm:formLetterSpacingEm,formFontSize:formFontSize,logoSvg:logoSvg,productName:productName,productCode:productCode})]})});}// Otherwise, render the button-triggered modal version\nreturn /*#__PURE__*/_jsxs(\"div\",{style:styles.container,children:[/*#__PURE__*/_jsx(EnhancedButton,{text:buttonText,iconName:buttonIconName,iconColor:buttonIconColor,iconSize:buttonIconSize,iconPosition:buttonIconPosition,iconSpacing:buttonIconSpacing,backgroundColor:buttonBackgroundColor,hoverBackgroundColor:buttonHoverBackgroundColor,activeBackgroundColor:buttonActiveBackgroundColor,textColor:buttonTextColor,borderColor:buttonBorderColor,borderWidth:buttonBorderWidth,borderRadius:buttonBorderRadius,paddingX:buttonPaddingX,paddingY:buttonPaddingY,fontSize:buttonFontSize,fontWeight:buttonFontWeight,lineHeightMultiplier:buttonLineHeight,letterSpacingEm:buttonLetterSpacing,height:buttonHeight,onClick:openModal,width:\"100%\",iconOnly:buttonIconOnly}),/*#__PURE__*/_jsx(ContactFormPortal,{isOpen:isModalOpen,children:/*#__PURE__*/_jsx(AnimatePresence,{children:isModalOpen&&/*#__PURE__*/_jsx(ContactFormModal,{onClose:closeModal,logoSvg:logoSvg,brandColor:brandColor,showLogo:showLogo,children:/*#__PURE__*/_jsx(ConfigurableForm,{formConfig:selectedFormConfig,onClose:closeModal,apiEndpoint:apiEndpoint||selectedFormConfig?.apiConfig?.endpoint||\"\",debugMode:debugMode,brandColor:brandColor,formLetterSpacingEm:formLetterSpacingEm,formFontSize:formFontSize,logoSvg:logoSvg,productName:productName,productCode:productCode})})})})]});}// --- Subject: Framer Property Controls ---\n/**\n * Define properties that can be configured in the Framer UI.\n */const formTypeOptions=Object.keys(FORM_TEMPLATES);const formTypeOptionTitles=formTypeOptions.map(key=>{return key.replace(/([A-Z])/g,\" $1\").replace(/^./,str=>str.toUpperCase());});ConfigurableFormWithButton.propertyControls={// --- Group: Button Styling ---\nbuttonIconOnly:{type:\"boolean\",title:\"Icon Only\",defaultValue:false,description:\"Show only the icon without text\",group:\"Button Styling\"},// --- Group: Display Options ---\ndirectDisplay:{type:\"boolean\",title:\"Direct Form Display\",defaultValue:false,description:\"Display the form directly without a button trigger\",group:\"Display Options\"},showLogo:{type:\"boolean\",title:\"Show Logo\",defaultValue:true,description:\"Display the logo in the form header\",group:\"Display Options\"},// --- Group: Form Configuration ---\nformType:{type:\"enum\",title:\"Form Type\",options:formTypeOptions,optionTitles:formTypeOptionTitles,defaultValue:\"contact\",group:\"Form Configuration\"},// Custom form config (optional, falls back to template)\nformConfig:{type:\"object\",title:\"Custom Form Config\",optional:true,description:\"Custom form configuration (override selected template)\",group:\"Form Configuration\"},// --- Group: Product Information ---\nproductName:{type:\"string\",title:\"Product Name\",defaultValue:\"\",description:\"Product name to include in form submission data\",group:\"Product Information\"},productCode:{type:\"string\",title:\"Product Code\",defaultValue:\"\",description:\"Product code to include in form submission data\",group:\"Product Information\"},// --- Group: Container ---\ncontainerWidth:{type:\"string\",title:\"Container Width\",defaultValue:\"auto\",description:\"Width of the component container (e.g., 'auto', '100%', '250px').\",group:\"Container\"},// --- Group: Button Styling ---\nbuttonText:{type:\"string\",title:\"Button Text\",defaultValue:\"Get a Quote\",group:\"Button Styling\"},buttonBackgroundColor:{type:\"color\",title:\"BG Color\",defaultValue:\"#F00027\",group:\"Button Styling\"},buttonHoverBackgroundColor:{type:\"color\",title:\"Hover BG\",defaultValue:\"#BE001F\",group:\"Button Styling\"},buttonActiveBackgroundColor:{type:\"color\",title:\"Active BG\",defaultValue:\"#A60019\",group:\"Button Styling\"},buttonTextColor:{type:\"color\",title:\"Text Color\",defaultValue:\"#FFFFFF\",group:\"Button Styling\"},buttonBorderColor:{type:\"color\",title:\"Border Color\",defaultValue:\"transparent\",group:\"Button Styling\"},buttonBorderWidth:{type:\"number\",title:\"Border Width\",defaultValue:0,min:0,max:10,step:1,displayStepper:true,group:\"Button Styling\"},buttonBorderRadius:{type:\"number\",title:\"Border Radius\",defaultValue:6,min:0,max:50,step:1,displayStepper:true,group:\"Button Styling\"},buttonPaddingX:{type:\"number\",title:\"Padding X\",defaultValue:16,min:0,max:50,step:1,displayStepper:true,group:\"Button Styling\"},buttonPaddingY:{type:\"number\",title:\"Padding Y\",defaultValue:12,min:0,max:50,step:1,displayStepper:true,group:\"Button Styling\"},buttonHeight:{type:\"number\",title:\"Height\",defaultValue:48,min:20,max:100,step:1,displayStepper:true,group:\"Button Styling\"},buttonFontSize:{type:\"number\",title:\"Font Size\",defaultValue:18,min:8,max:48,step:1,displayStepper:true,group:\"Button Styling\"},buttonFontWeight:{type:\"enum\",title:\"Font Weight\",options:[\"300\",\"400\",\"500\",\"600\",\"700\",\"800\"],defaultValue:\"700\",group:\"Button Styling\"},// --- Group: Button Icon ---\nbuttonIconName:{type:\"enum\",title:\"Icon\",options:ICON_NAMES,defaultValue:\"Arrow Right\",group:\"Button Icon\"},buttonIconColor:{type:\"color\",title:\"Icon Color\",defaultValue:\"#FFFFFF\",hidden:props=>props.buttonIconName===\"none\",group:\"Button Icon\"},buttonIconSize:{type:\"number\",title:\"Icon Size\",defaultValue:24,min:8,max:48,step:1,displayStepper:true,hidden:props=>props.buttonIconName===\"none\",group:\"Button Icon\"},buttonIconPosition:{type:\"enum\",title:\"Icon Position\",options:[\"left\",\"right\"],defaultValue:\"right\",hidden:props=>props.buttonIconName===\"none\",group:\"Button Icon\"},buttonIconSpacing:{type:\"number\",title:\"Icon Spacing\",defaultValue:8,min:0,max:30,step:1,displayStepper:true,hidden:props=>props.buttonIconName===\"none\",group:\"Button Icon\"},// --- Group: API & Data ---\napiEndpoint:{type:\"string\",title:\"API Endpoint URL\",defaultValue:\"\",description:\"The URL where the form data will be sent. Required for actual form submission.\",group:\"API & Data\"},debugMode:{type:\"boolean\",title:\"Debug Mode\",defaultValue:false,description:\"Show submitted data and API response on the success screen.\",group:\"API & Data\"},// --- Group: Form Styling ---\nbrandColor:{type:\"color\",title:\"Brand Color Accent\",defaultValue:\"#F00027\",description:\"Accent color used in the form (e.g., borders, required asterisk). Defaults to Button BG Color.\",group:\"Form Styling\"},formFontSize:{type:\"number\",title:\"Base Font Size\",defaultValue:16,min:12,max:20,step:1,description:\"Base font size for form text elements.\",group:\"Form Styling\"},formLetterSpacingEm:{type:\"number\",title:\"Letter Spacing (em)\",defaultValue:-.015,min:-.1,max:.1,step:.005,description:\"Letter spacing for form text.\",group:\"Form Styling\"},logoSvg:{type:\"string\",title:\"Logo SVG\",defaultValue:UNIPACK_LOGO_SVG,description:\"SVG markup for the company logo shown in the form header.\",group:\"Form Styling\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ConfigurableFormWithButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CatalogForm.map"],
  "mappings": "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",
  "names": ["webhookUrl", "FORM_TEMPLATES", "responseData", "response", "formData", "templateKey", "originalProcessData", "data", "ICONS", "ICON_NAMES", "UNIPACK_LOGO_SVG", "EnhancedButton", "text", "iconName", "iconColor", "iconSize", "iconPosition", "iconSpacing", "backgroundColor", "hoverBackgroundColor", "activeBackgroundColor", "textColor", "borderColor", "borderWidth", "borderRadius", "paddingX", "paddingY", "fontSize", "fontWeight", "lineHeightMultiplier", "letterSpacingEm", "onClick", "width", "height", "disabled", "iconOnly", "iconSvg", "hasIcon", "styles", "buttonVariants", "IconElement", "p", "u", "motion", "ContactFormPortal", "isOpen", "children", "portalContainer", "setPortalContainer", "ye", "ue", "container", "link", "Ga", "ContactFormModal", "onClose", "logoSvg", "brandColor", "showLogo", "modalRef", "pe", "bodyOverflowRef", "bodyPositionRef", "bodyTopRef", "bodyWidthRef", "scrollYRef", "isMobile", "window", "handleResize", "handleEscape", "e", "handleBackdropClick", "isCloseHovered", "setIsCloseHovered", "ConfigurableForm", "formConfig", "apiEndpoint", "debugMode", "formLetterSpacingEm", "formFontSize", "productName", "productCode", "formMetadata", "fields", "apiConfig", "formTitle", "formIntroText", "submitButtonText", "successTitle", "successMessage", "effectiveApiEndpoint", "setFormData", "errors", "setErrors", "touched", "setTouched", "isSubmitting", "setIsSubmitting", "isSuccess", "setIsSuccess", "submitError", "setSubmitError", "submittedData", "setSubmittedData", "setResponseData", "currentStep", "setCurrentStep", "hasSteps", "field", "totalSteps", "currentStepFields", "firstInputRef", "initialData", "acc", "styleSheet", "validateField", "id", "value", "f", "trimmedValue", "minLength", "maxLength", "pattern", "type", "validateStep", "step", "stepFields", "newErrors", "isValid", "error", "prev", "validateForm", "handleChange", "handleNextStep", "touchedFields", "handlePrevStep", "handleSubmit", "allTouched", "dataToSubmit", "hasFileFields", "requestBody", "customHeaders", "formDataObj", "key", "item", "controller", "timeoutId", "requestOptions", "contentType", "errorMessage", "trackingError", "navigator", "hasError", "hoveredButton", "setHoveredButton", "isFileInputHovered", "setIsFileInputHovered", "isSuccessCloseHovered", "setIsSuccessCloseHovered", "formatJSON", "obj", "renderFieldInput", "index", "isFirstField", "commonProps", "option", "isChecked", "currentValues", "newValues", "v", "file", "maxSize", "fileType", "renderFormField", "renderStepIndicator", "_", "stepNumber", "isActive", "isPast", "renderStepNavigation", "l", "isLastStep", "AnimatePresence", "nameField", "nameValue", "finalSuccessMessage", "line", "arr", "filteredArr", "isLastItem", "fieldValue", "displayValue", "opt", "val", "fileName", "ConfigurableFormWithButton", "props", "formType", "directDisplay", "containerWidth", "buttonText", "buttonBackgroundColor", "buttonHoverBackgroundColor", "buttonActiveBackgroundColor", "buttonTextColor", "buttonBorderColor", "buttonBorderWidth", "buttonBorderRadius", "buttonPaddingX", "buttonPaddingY", "buttonFontSize", "buttonFontWeight", "buttonLineHeight", "buttonLetterSpacing", "buttonHeight", "buttonIconName", "buttonIconColor", "buttonIconSize", "buttonIconPosition", "buttonIconSpacing", "buttonIconOnly", "selectedFormConfig", "isModalOpen", "setIsModalOpen", "openModal", "closeModal", "formTypeOptions", "formTypeOptionTitles", "str"]
}
