Fields can be added to three places:
- Sites - Site-wide content (logo, navigation, footer, etc.)
- Page Types - Page-level metadata (title, author, publish date, etc.)
- Blocks - Section-level content (headlines, images, descriptions, etc.)
Text Fields
Text
Text
Text input that automatically grows to accommodate content.Use for:
- Headlines and titles
- Button labels
- Short descriptions
- Names
Rich Text
Rich Text
WYSIWYG editor for formatted text with HTML output.Use for:
- Article content
- Descriptions with formatting
- Long-form content
- Any text needing formatting
Markdown
Markdown
Markdown editor for formatted text.Use for:
- Documentation
- Blog posts
- README content
- Developer-friendly content
Number Fields
Number
Number
Numeric input for integers.Use for:
- Quantities
- Counts
- Whole number ratings
- Integer values
Date
Date
Date picker that outputs dates in YYYY-MM-DD format.Use for:
- Publication dates
- Event dates
- Deadlines
- Any calendar dates
The Date field outputs a string in YYYY-MM-DD format (e.g., “2024-01-15”). Use JavaScript’s
new Date() constructor to parse and format it for display. The raw value is perfect for the datetime attribute in <time> elements.Selection Fields
Select
Select
Dropdown menu for selecting one option from a list.Use for:Options:Each option in a Select field has three properties:
- Categories
- Variants
- Status options
- Single-choice selections
- value: The actual value stored (used in your code)
- label: Display text shown to editors
- icon: Optional icon identifier (from Iconify)
Toggle
Toggle
Boolean toggle switch for on/off options.Use for:
- Feature toggles
- Boolean settings
- Show/hide options
- Enable/disable states
Slider
Slider
Slider for selecting numeric values.Use for:
- Opacity values
- Percentage selections
- Adjustable numeric settings
Media Fields
Image
Image
Image upload and selection field. Returns an object with Options (both optional):
url and alt properties.Use for:- Photos
- Graphics
- Custom icons
- Any visual content
- Max Size MB: Maximum file size in megabytes
- Max Width or Height: Maximum dimension (width or height) in pixels
Icon
Icon
Icon picker for selecting icons from Iconify. Returns an SVG string.Use for:
- Feature icons
- UI elements
- Decorative icons
- Navigation icons
Link Fields
Link
Link
Link field for both internal and external links. Returns an object with
url and label properties.Use for:- Navigation items
- Call-to-action buttons
- Any clickable links
URL
URL
Simple URL input field.Use for:
- External URLs
- Web addresses
- API endpoints
- Any URL string
Relational Fields
Site Field
Site Field
Reference site-wide content fields. The site field references the complete value of the site field, regardless of its type.Use for:
- Displaying site-wide content in blocks
- Reusing global content across pages
- Referencing branding elements
Available in page types and blocks to reference site-wide content.
When you edit a site field from the block form view, it updates the value site-wide across all blocks that reference it. Site fields cannot be edited inline on the page yet.
Page Field
Page Field
Reference page-level fields from the current page. The page field references the complete value of the page field, regardless of its type.Use for:
- Displaying page title in blocks
- Showing page metadata in blocks
Available in blocks to reference page-level content.
When you edit a page field from the block form view, it updates the value for that specific page across all blocks that reference it. For example, if a blog post has a
featured_image page field, changing it might update the image in the page’s header block, the meta tags in the head, and on the articles list page—all from one edit (if integrated in those places).Page fields cannot be edited inline on the page yet.
Page
Page
Select a specific page from a list. You must specify a page type to limit which pages appear in the selection list.Use for:The
- Article author (Person page type)
- Featured article (Blog Post page type)
- Related pages
_meta property provides:_meta.url: Page URL for linking_meta.slug: Page slug_meta.name: Page name
- Page Type: Required. Specifies which page type to select from (e.g., “Person”, “Blog Post”)
Page List
Page List
Automatically outputs all pages of a specified page type. Editors cannot select which pages to include—it returns all pages of the given type.Use for:Options:
- Team member listings (all Person pages)
- Blog index (all Blog Post pages)
- Automatic page lists
- Page Type: Required. Specifies which page type to output (e.g., “Person”, “Blog Post”)
If you want editors to choose specific pages, use a Repeater field with nested Page fields instead. For selection by exclusion, combine a Page List with a Repeater > Page field.
Structured Fields
Repeater
Repeater
Repeatable group of fields.Use for:
- Feature lists
- Testimonials
- FAQ items
- Image galleries
- Card grids
Group
Group
Group of related fields displayed together.Use for:
- Contact form (inputs + endpoint + submit_label)
- Card content (title + description + cta_link)
- Author info (name + bio + photo)
Utility Fields
Info
Info
Display-only field for showing helpful information to editors. Supports Markdown formatting and does not store any data—it only displays content in the editor interface.Use for:
- Instructions for complex fields
- Explanatory notes about content requirements
- Documentation for editors
Field Configuration
All fields share these base properties:- Type: The field type (text, image, select, etc.)
- Label: Display name shown to editors
- Key: The variable name used in your component code
Field-Specific Options
Some field types have additional configuration options: Select:- Options: Array of choices, each with value, label, and optional icon
- Max Size (MB): Maximum file size in megabytes
- Max Dimension (px): Maximum dimension (width or height) in pixels
- Page Type: Restrict selection to a specific page type
Conditional Display
Fields can be conditionally shown or hidden based on other field values. Conditions are primarily designed for Select and Toggle fields, but also work with Text, URL, and Number fields. When you add a condition (“Show if”):- Field: Select which field to check (must be a preceding field at the same level)
- Comparison: Choose “Equals” or “Doesn’t equal” (≠)
- Value: The value to compare against
Conditional fields help create dynamic editing interfaces that show relevant fields based on other selections. For example, to show an image field only when a “Show Image” toggle is enabled, the “Show Image” toggle must come first in the field list, then the image field below it with the condition. Fields can only reference fields that appear before them in the list.
Best Practices
1. Choose the Right Field Type
Match field types to their purpose:- ✅ Text for headlines
- ✅ Rich Text for formatted content
- ✅ Image for photos
- ✅ Select for categories
- ❌ Text for long articles (use Rich Text)
- ❌ Number for phone numbers (use Text)
2. Provide Defaults
Fields in Pala are globally available in your block code, but you should always handle empty/missing values:3. Use Helpful Labels
Clear labels help editors understand fields:- ✅ “Featured Image”
- ✅ “Publication Date”
- ✅ “Author Name”
- ❌ “Field 1”
- ❌ “Data”
4. Add Help Text
Help text guides editors:Field: “Featured Image”
Help text: “This image appears at the top of the post and in social media shares. Recommended size: 1200x630px.”
Field Combinations
Common Patterns
Hero Block:headline(Text)subheadline(Text)cta(Link)background_image(Image, optional)
title(Text)description(Rich Text)image(Image, optional)link(Link, optional)
features(Repeater) with:title(Text)description(Text)icon(Image, optional)
employees(Repeater) with:employee(Page, limited to “Person” page type)
all_team(Page List, “Person” page type)excluded_members(Repeater) with:member(Page, limited to “Person” page type)