{"success":true,"data":{"block":{"id":"contact-moving","name":"Contact Moving Services","title":"Contact Moving Services","category":"Contact","categorySlug":"contact","description":"Moving services request form with move details, inventory, and scheduling. Perfect for moving companies and relocation services.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290579/iouducv44k8om6carflwwmwgnp8u/contact-moving-desktop.png","mobile":"https://cdn.ing/assets/i/r/290580/tetx39hd837pu2h36r0wli30oghm/contact-moving-mobile.png"},"componentPath":"blocks/contact/contact-moving.tsx","code":"\"use client\";\n\nimport { ContactMoving } from \"@opensite/ui/blocks/contact/contact-moving\";\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: \"move_type\",\n    type: \"radio\",\n    label: \"Type of Move\",\n    required: true,\n    columnSpan: 12,\n    layout: \"grid\",\n    options: [\n      {\n        value: \"local\",\n        label: \"Local Move\",\n        description: \"Moving within the same city or area.\",\n      },\n      {\n        value: \"long_distance\",\n        label: \"Long Distance\",\n        description: \"Moving to another city or state.\",\n      },\n      {\n        value: \"international\",\n        label: \"International\",\n        description: \"Moving to another country.\",\n      },\n      {\n        value: \"office\",\n        label: \"Office/Commercial\",\n        description: \"Business or commercial relocation.\",\n      },\n    ],\n  },\n  {\n    name: \"current_address\",\n    type: \"text\",\n    label: \"Current Address\",\n    placeholder: \"Street address, city, state, zip\",\n    required: true,\n    columnSpan: 12,\n  },\n  {\n    name: \"destination_address\",\n    type: \"text\",\n    label: \"Destination Address\",\n    placeholder: \"Street address, city, state, zip\",\n    required: true,\n    columnSpan: 12,\n  },\n  {\n    name: \"move_date\",\n    type: \"date-picker\",\n    label: \"Preferred Move Date\",\n    placeholder: \"Select a date\",\n    required: true,\n    columnSpan: 6,\n  },\n  {\n    name: \"home_size\",\n    type: \"select\",\n    label: \"Home/Office Size\",\n    required: true,\n    columnSpan: 6,\n    options: [\n      {\n        value: \"studio\",\n        label: \"Studio/1BR\",\n      },\n      {\n        value: \"2br\",\n        label: \"2 Bedroom\",\n      },\n      {\n        value: \"3br\",\n        label: \"3 Bedroom\",\n      },\n      {\n        value: \"4br\",\n        label: \"4+ Bedroom\",\n      },\n      {\n        value: \"small_office\",\n        label: \"Small Office (1-10 people)\",\n      },\n      {\n        value: \"large_office\",\n        label: \"Large Office (10+ people)\",\n      },\n    ],\n  },\n  {\n    name: \"services\",\n    type: \"checkbox-group\",\n    label: \"Additional Services\",\n    required: false,\n    columnSpan: 12,\n    layout: \"grid\",\n    options: [\n      {\n        value: \"packing\",\n        label: \"Packing Service\",\n        description: \"Professional packing of all items.\",\n      },\n      {\n        value: \"unpacking\",\n        label: \"Unpacking Service\",\n        description: \"Unpack and organize at destination.\",\n      },\n      {\n        value: \"storage\",\n        label: \"Storage\",\n        description: \"Short or long-term storage options.\",\n      },\n      {\n        value: \"specialty\",\n        label: \"Specialty Items\",\n        description: \"Piano, art, antiques, etc.\",\n      },\n    ],\n  },\n  {\n    name: \"content\",\n    type: \"textarea\",\n    label: \"Additional Details\",\n    placeholder: \"Any special requirements, items of concern, access issues, etc...\",\n    required: false,\n    rows: 4,\n    columnSpan: 12,\n  },\n];\n\nexport default function Demo() {\n  return (\n    <ContactMoving\n      heading=\"Get Your Free Moving Quote\"\n      description=\"Fill out the form below and receive a detailed moving estimate within 24 hours. Our team is ready to make your move stress-free.\"\n      formEngineSetup={{\n        api: demoFormEngineApi,\n        fields: formFields,\n        successMessage: \"Thank you! We'll review your moving requirements and send you a detailed quote within 24 hours.\",\n        formLayoutSettings: {\n          submitButtonSetup: {\n            submitLabel: \"Get Free Quote\",\n          },\n        },\n      }}\n      background=\"muted\"\n      pattern=\"dashedGridFadeTop\"\n      patternOpacity={0.8}\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","moving","relocation","form","services","logistics"],"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 moving quote request use case — first/last name, email, phone, move type radio (local/long-distance/international/office), current address, destination address, preferred move date picker, 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:40:40.969Z"}