Field types reference
All 10 field types supported in Motivation Form, with frontmatter examples.
Every field in a form is defined as an item in the fields array of your .md frontmatter. All fields share a common set of properties.
Common properties
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Snake_case identifier. Used as the key in submission payloads. Must be unique within the form. |
type | string | Yes | One of the 10 types below. |
label | string | Yes | Displayed above the field. |
required | boolean | No | If true, form cannot be submitted without a value. Default: false. |
placeholder | string | No | Hint text inside the field (text, email, textarea, number only). |
help_text | string | No | Secondary text displayed below the field. |
step | number | No | Groups fields into multi-step form pages. Fields with the same step appear together. |
text
Single-line text input.
- id: company_name
type: text
label: Company name
required: true
placeholder: Acme Corp
help_text: Legal entity name as it appears on your registration.Single-line input with email format validation.
- id: contact_email
type: email
label: Work email
required: true
placeholder: you@company.comtextarea
Multi-line text input.
- id: description
type: textarea
label: Campaign description
required: true
placeholder: Describe your campaign goals and target audience.number
Numeric input. Accepts integers and decimals.
- id: budget_usd
type: number
label: Budget (USD)
placeholder: "50000"
help_text: Approximate total budget for this campaign.radio
Single-choice selection from a predefined list. Renders as radio buttons.
- id: campaign_type
type: radio
label: Campaign type
required: true
options:
- CEX listing
- OTC partnership
- Influencer campaign
- Media coveragecheckbox
Multi-choice selection. Renders as checkboxes. Submission value is an array of selected options.
- id: regions
type: checkbox
label: Target regions
options:
- North America
- Europe
- Asia Pacific
- Latin America
- Middle East & Africaselect
Single-choice selection rendered as a dropdown.
- id: timeline
type: select
label: Desired launch timeline
required: true
options:
- Within 2 weeks
- 1 month
- 1–3 months
- Flexibledate
Date picker. Submission value is an ISO 8601 date string (YYYY-MM-DD).
- id: launch_date
type: date
label: Target launch date
help_text: The date you want the campaign to go live.image
File upload restricted to image formats. The file is uploaded directly to Supabase Storage; the submission payload contains the storage URL.
- id: logo
type: image
label: Brand logo
accept:
- image/png
- image/jpeg
- image/svg+xml
max_mb: 5
help_text: Upload a PNG or SVG for best quality.file
General file upload. Use accept to restrict MIME types. Like image, the payload contains the storage URL.
- id: brief_pdf
type: file
label: Campaign brief (PDF)
accept:
- application/pdf
max_mb: 20
help_text: Upload your full campaign brief as a PDF.Multi-step forms
Group fields into pages with the step property. All fields sharing the same step value appear on the same page. Steps must be positive integers, and fields without a step are placed on step 1.
fields:
- id: name
type: text
label: Your name
required: true
step: 1
- id: email
type: email
label: Email
required: true
step: 1
- id: campaign_type
type: radio
label: Campaign type
options: [CEX, OTC, Media]
step: 2
- id: brief
type: textarea
label: Campaign brief
step: 2
- id: logo
type: image
label: Brand logo
step: 3