{"success":true,"data":{"block":{"id":"contact-wedding","name":"Contact Wedding Inquiry","title":"Contact Wedding Inquiry","category":"Contact","categorySlug":"contact","description":"Wedding planning inquiry form with event details, guest count, and service preferences. Perfect for wedding venues and planners.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290599/37bhkxb9lsf21slo5mhusk55os6l/contact-wedding-desktop.png","mobile":"https://cdn.ing/assets/i/r/290600/od7z7zeuou40sfg9jpc8h4of2q6j/contact-wedding-mobile.png"},"componentPath":"blocks/contact/contact-wedding.tsx","code":"\"use client\";\n\nimport { ContactWedding } from \"@opensite/ui/blocks/contact/contact-wedding\";\nimport { demoFormEngineApi } from \"@/lib/form-demo-data\";\nimport type { FormFieldConfig } from \"@opensite/ui\";\n\nconst formFields: FormFieldConfig[] = [\n  {\n    name: \"partner1_name\",\n    type: \"text\",\n    label: \"Partner 1 Name\",\n    placeholder: \"Full name\",\n    required: true,\n    columnSpan: 6,\n  },\n  {\n    name: \"partner2_name\",\n    type: \"text\",\n    label: \"Partner 2 Name\",\n    placeholder: \"Full 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: \"wedding_date\",\n    type: \"date-picker\",\n    label: \"Wedding Date\",\n    placeholder: \"Select your wedding date\",\n    required: true,\n    columnSpan: 6,\n  },\n  {\n    name: \"venue\",\n    type: \"text\",\n    label: \"Venue Name (if known)\",\n    placeholder: \"Wedding venue\",\n    required: false,\n    columnSpan: 6,\n  },\n  {\n    name: \"location\",\n    type: \"text\",\n    label: \"Wedding Location\",\n    placeholder: \"City, State\",\n    required: true,\n    columnSpan: 12,\n  },\n  {\n    name: \"guest_count\",\n    type: \"select\",\n    label: \"Expected Guest Count\",\n    required: true,\n    columnSpan: 6,\n    options: [\n      { value: \"under50\", label: \"Under 50 guests\" },\n      { value: \"50-100\", label: \"50-100 guests\" },\n      { value: \"100-150\", label: \"100-150 guests\" },\n      { value: \"150-200\", label: \"150-200 guests\" },\n      { value: \"200-300\", label: \"200-300 guests\" },\n      { value: \"over300\", label: \"Over 300 guests\" },\n    ],\n  },\n  {\n    name: \"budget_range\",\n    type: \"select\",\n    label: \"Estimated Budget Range\",\n    required: true,\n    columnSpan: 6,\n    options: [\n      { value: \"under25k\", label: \"Under $25,000\" },\n      { value: \"25k-50k\", label: \"$25,000 - $50,000\" },\n      { value: \"50k-75k\", label: \"$50,000 - $75,000\" },\n      { value: \"75k-100k\", label: \"$75,000 - $100,000\" },\n      { value: \"over100k\", label: \"Over $100,000\" },\n      { value: \"flexible\", label: \"Flexible/To be discussed\" },\n    ],\n  },\n  {\n    name: \"services_needed\",\n    type: \"checkbox-group\",\n    label: \"Services You're Interested In\",\n    placeholder: \"Select all that apply\",\n    required: true,\n    columnSpan: 12,\n    layout: \"grid\",\n    options: [\n      {\n        value: \"planning\",\n        label: \"Full Planning\",\n        description: \"Complete wedding planning from start to finish.\",\n      },\n      {\n        value: \"partial\",\n        label: \"Partial Planning\",\n        description: \"Help with specific aspects of planning.\",\n      },\n      {\n        value: \"coordination\",\n        label: \"Day-of Coordination\",\n        description: \"Coordination on the wedding day only.\",\n      },\n      {\n        value: \"venue\",\n        label: \"Venue Selection\",\n        description: \"Help finding and securing the perfect venue.\",\n      },\n      {\n        value: \"catering\",\n        label: \"Catering Services\",\n        description: \"Food and beverage for your reception.\",\n      },\n      {\n        value: \"photography\",\n        label: \"Photography\",\n        description: \"Professional wedding photography.\",\n      },\n      {\n        value: \"videography\",\n        label: \"Videography\",\n        description: \"Wedding video and cinematography.\",\n      },\n      {\n        value: \"florals\",\n        label: \"Floral Design\",\n        description: \"Bouquets, centerpieces, and decor.\",\n      },\n      {\n        value: \"music\",\n        label: \"Music & Entertainment\",\n        description: \"DJ, band, or live entertainment.\",\n      },\n      {\n        value: \"decor\",\n        label: \"Decor & Styling\",\n        description: \"Event design and decoration.\",\n      },\n    ],\n  },\n  {\n    name: \"wedding_style\",\n    type: \"select\",\n    label: \"Wedding Style/Theme\",\n    required: false,\n    columnSpan: 12,\n    options: [\n      { value: \"classic\", label: \"Classic & Elegant\" },\n      { value: \"romantic\", label: \"Romantic\" },\n      { value: \"rustic\", label: \"Rustic & Country\" },\n      { value: \"modern\", label: \"Modern & Contemporary\" },\n      { value: \"bohemian\", label: \"Bohemian\" },\n      { value: \"beachside\", label: \"Beachside\" },\n      { value: \"vintage\", label: \"Vintage\" },\n      { value: \"glamorous\", label: \"Glamorous\" },\n      { value: \"other\", label: \"Other/Still deciding\" },\n    ],\n  },\n  {\n    name: \"content\",\n    type: \"textarea\",\n    label: \"Tell us about your vision\",\n    placeholder: \"Share your wedding vision, any special requests, must-haves, or questions you'd like us to address...\",\n    required: true,\n    rows: 5,\n    columnSpan: 12,\n  },\n  {\n    name: \"inspiration_images\",\n    type: \"file\",\n    label: \"Upload Inspiration Photos (Optional)\",\n    placeholder: \"Share photos that inspire your vision...\",\n    required: false,\n    accept: \"image/*\",\n    maxSize: 10 * 1024 * 1024,\n    maxFiles: 10,\n    multiple: true,\n    columnSpan: 12,\n  },\n  {\n    name: \"how_did_you_hear\",\n    type: \"select\",\n    label: \"How did you hear about us?\",\n    required: false,\n    columnSpan: 12,\n    options: [\n      { value: \"google\", label: \"Google Search\" },\n      { value: \"instagram\", label: \"Instagram\" },\n      { value: \"facebook\", label: \"Facebook\" },\n      { value: \"pinterest\", label: \"Pinterest\" },\n      { value: \"wedding_website\", label: \"Wedding planning website\" },\n      { value: \"referral\", label: \"Referral from friend/family\" },\n      { value: \"venue\", label: \"Referred by venue\" },\n      { value: \"other\", label: \"Other\" },\n    ],\n  },\n];\n\nexport default function Demo() {\n  return (\n    <ContactWedding\n      heading=\"Let's Plan Your Perfect Day\"\n      description=\"Congratulations on your engagement! We're honored that you're considering us for your special day. Tell us about your vision and we'll create a custom proposal tailored to your dream wedding.\"\n      formEngineSetup={{\n        api: demoFormEngineApi,\n        fields: formFields,\n        successMessage: \"Thank you for reaching out! We're excited to learn about your wedding plans. We'll review your inquiry and get back to you within 24-48 hours to schedule a consultation.\",\n        formLayoutSettings: {\n          submitButtonSetup: {\n            submitLabel: \"Submit Wedding Inquiry\",\n          },\n        },\n      }}\n      background=\"dark\"\n      pattern=\"dashedGridFadeTop\"\n      patternOpacity={0.15}\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","wedding","inquiry","form","event","planning"],"performance":{},"importantUsageNotes":"DO NOT USE this block unless the site is specifically for a wedding vendor, planner, or wedding-related service — this is a highly contextual block. 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 wedding inquiry use case — partner 1 name, partner 2 name, email, phone, wedding date picker, venue name (optional), wedding location, expected guest count select, and estimated budget range select — 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:41:15.346Z"}