{"success":true,"data":{"block":{"id":"contact-fitness","name":"Contact Fitness Consultation","title":"Contact Fitness Consultation","category":"Contact","categorySlug":"contact","description":"Fitness consultation form with goals, experience level, and health information. Perfect for gyms, personal trainers, and wellness centers.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290813/2t99w34wsrx5oi4jgoygjanmlj1q/cleanshot-2026-02-25-at-02-05-41.png","mobile":"https://cdn.ing/assets/i/r/290812/jhjvh0nuok3am3xz8b13hpdunv0i/cleanshot-2026-02-25-at-02-05-54.png"},"componentPath":"blocks/contact/contact-fitness.tsx","code":"\"use client\";\n\nimport { ContactFitness } from \"@opensite/ui/blocks/contact/contact-fitness\";\nimport { demoFormEngineApi } from \"@/lib/form-demo-data\";\nimport type { FormFieldConfig } from \"@opensite/ui\";\n\nconst formFields: FormFieldConfig[] = [\n  {\n    name: \"first_name\",\n    type: \"text\",\n    label: \"First Name\",\n    placeholder: \"First name\",\n    required: true,\n    columnSpan: 6,\n  },\n  {\n    name: \"last_name\",\n    type: \"text\",\n    label: \"Last Name\",\n    placeholder: \"Last name\",\n    required: true,\n    columnSpan: 6,\n  },\n  {\n    name: \"email\",\n    type: \"email\",\n    label: \"Email Address\",\n    placeholder: \"your@email.com\",\n    required: true,\n    columnSpan: 6,\n  },\n  {\n    name: \"phone\",\n    type: \"tel\",\n    label: \"Phone Number\",\n    placeholder: \"+1 (555) 000-0000\",\n    required: true,\n    columnSpan: 6,\n  },\n  {\n    name: \"fitness_level\",\n    type: \"radio\",\n    label: \"Current Fitness Level\",\n    required: true,\n    columnSpan: 12,\n    layout: \"grid\",\n    options: [\n      {\n        value: \"beginner\",\n        label: \"Beginner\",\n        description: \"Just starting out\",\n      },\n      {\n        value: \"intermediate\",\n        label: \"Intermediate\",\n        description: \"Some experience\",\n      },\n      {\n        value: \"experienced\",\n        label: \"Experienced\",\n        description: \"Consistent training\",\n      },\n      {\n        value: \"advanced\",\n        label: \"Advanced\",\n        description: \"Very experienced\",\n      },\n    ],\n  },\n  {\n    name: \"goals\",\n    type: \"checkbox-group\",\n    label: \"Fitness Goals\",\n    placeholder: \"Select your goals\",\n    required: true,\n    columnSpan: 12,\n    layout: \"grid\",\n    options: [\n      {\n        value: \"weight-loss\",\n        label: \"Weight Loss\",\n        description: \"Lose weight and body fat.\",\n      },\n      {\n        value: \"muscle-gain\",\n        label: \"Muscle Gain\",\n        description: \"Build strength and muscle.\",\n      },\n      {\n        value: \"endurance\",\n        label: \"Endurance\",\n        description: \"Improve cardiovascular fitness.\",\n      },\n      {\n        value: \"flexibility\",\n        label: \"Flexibility\",\n        description: \"Increase range of motion.\",\n      },\n      {\n        value: \"general-health\",\n        label: \"General Health\",\n        description: \"Overall wellness and health.\",\n      },\n      {\n        value: \"sports-performance\",\n        label: \"Sports Performance\",\n        description: \"Train for specific sport.\",\n      },\n    ],\n  },\n  {\n    name: \"program_interest\",\n    type: \"select\",\n    label: \"Program Interest\",\n    required: true,\n    columnSpan: 12,\n    options: [\n      {\n        value: \"personal-training\",\n        label: \"Personal Training (1-on-1)\",\n      },\n      {\n        value: \"group-classes\",\n        label: \"Group Fitness Classes\",\n      },\n      {\n        value: \"online-coaching\",\n        label: \"Online Coaching\",\n      },\n      {\n        value: \"nutrition\",\n        label: \"Nutrition Coaching\",\n      },\n      {\n        value: \"membership\",\n        label: \"Gym Membership\",\n      },\n    ],\n  },\n  {\n    name: \"start_date\",\n    type: \"date-picker\",\n    label: \"Preferred Start Date\",\n    placeholder: \"When would you like to start?\",\n    required: false,\n    columnSpan: 6,\n  },\n  {\n    name: \"availability\",\n    type: \"select\",\n    label: \"Preferred Training Time\",\n    required: false,\n    columnSpan: 6,\n    options: [\n      {\n        value: \"morning\",\n        label: \"Morning (6 AM - 10 AM)\",\n      },\n      {\n        value: \"midday\",\n        label: \"Midday (10 AM - 2 PM)\",\n      },\n      {\n        value: \"afternoon\",\n        label: \"Afternoon (2 PM - 6 PM)\",\n      },\n      {\n        value: \"evening\",\n        label: \"Evening (6 PM - 9 PM)\",\n      },\n      {\n        value: \"flexible\",\n        label: \"Flexible\",\n      },\n    ],\n  },\n  {\n    name: \"medical_conditions\",\n    type: \"text\",\n    label: \"Medical Conditions or Injuries (Optional)\",\n    placeholder: \"Any conditions we should know about?\",\n    required: false,\n    columnSpan: 12,\n  },\n  {\n    name: \"content\",\n    type: \"textarea\",\n    label: \"Tell Us More About Your Goals\",\n    placeholder:\n      \"What motivates you? What challenges have you faced? What do you hope to achieve?\",\n    required: false,\n    rows: 5,\n    columnSpan: 12,\n  },\n];\n\nexport default function Demo() {\n  return (\n    <ContactFitness\n      heading=\"Start Your Fitness Journey\"\n      description=\"Ready to transform your health and fitness? Schedule a free consultation with one of our certified trainers and let's create a personalized plan for you.\"\n      formEngineSetup={{\n        api: demoFormEngineApi,\n        fields: formFields,\n        successMessage:\n          \"Thank you for reaching out! One of our trainers will contact you within 24 hours to schedule your free consultation.\",\n        formLayoutSettings: {\n          submitButtonSetup: {\n            submitLabel: \"Get Started\",\n          },\n        },\n      }}\n      background=\"muted\"\n      pattern=\"architect\"\n      patternOpacity={0.1}\n    />\n  );\n}","propsSchema":{"heading":{"type":"object","description":"Main heading text","typeLabel":"React.ReactNode","required":false},"description":{"type":"object","description":"Description text below heading","typeLabel":"React.ReactNode","required":false},"className":{"type":"string","description":"Additional CSS classes for the section","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"headerClassName":{"type":"string","description":"Additional CSS classes for the header","required":false},"headingClassName":{"type":"string","description":"Additional CSS classes for the heading","required":false},"descriptionClassName":{"type":"string","description":"Additional CSS classes for the description","required":false},"cardClassName":{"type":"string","description":"Additional CSS classes for the card","required":false},"cardContentClassName":{"type":"string","description":"Additional CSS classes for the card content","required":false},"background":{"type":"string","description":"Background style for the section","typeLabel":"SectionBackground","required":false},"spacing":{"type":"object","description":"Vertical spacing for the section","fields":{},"typeLabel":"SectionSpacing","required":false},"pattern":{"type":"object","description":"Optional background pattern name or URL","fields":{},"typeLabel":"PatternName","required":false},"patternOpacity":{"type":"number","description":"Pattern overlay opacity (0-1)","required":false},"formEngineSetup":{"type":"object","description":"Full form engine setup and props","typeLabel":"FormEngineProps","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui","@page-speed/forms"],"tags":["contact","fitness","consultation","form","health","wellness"],"performance":{},"importantUsageNotes":"Ensure to follow the form implementation requirements properly (correct field types, labels, validation, and submit handling). The form fields shown in the demo are calibrated for a fitness inquiry use case — first/last name, email, phone, current fitness level radio, fitness goals checkbox-group, and additional details — do not change the field set unless the site has clearly different requirements. Ensure to only supply a valid set of contact data points (email, phone, address, etc), DO NOT make up any contact data. Follow the example props closely for this block."}},"timestamp":"2026-05-13T10:43:03.761Z"}