Skip to main content
View as Markdown

Text Fields

Six field types store textual content, from short labels to formatted rich text and validated strings. All share the base field properties.

Type Stores
single-line-text Short, single-line text (names, titles, labels).
long-text Multi-line plain text (descriptions, notes, comments).
rich-text Formatted HTML rendered with a WYSIWYG editor.
email Email address validated against RFC 5322.
url Web address validated as an absolute URL.
phone-number Phone number stored as text; preserves international formatting.

single-line-text

Short text limited to a single line. Stored as-is without formatting.

Property Description
default Default string assigned to new records.
- { id: 1, name: title, type: single-line-text, required: true, indexed: true, default: Untitled }

long-text

Multi-line plain text. Supports line breaks; no rich formatting (no bold/italics).

Property Description
default Default string assigned to new records.
- { id: 2, name: description, type: long-text, default: 'Enter description here...' }

rich-text

Formatted text with bold, italic, links, lists, headings, and more. Rendered with a Tiptap WYSIWYG editor and stored as HTML.

Property Description
maxLength Maximum length in characters (integer ≥ 1). Validates on input.
fullTextSearch Boolean. Enables full-text-search indexing for this field.
toolbar Array of allowed toolbar actions (e.g. bold, italic, link, heading, list, image, code-block, table). When omitted, all actions are available.
placeholder Placeholder text shown when the editor is empty.
collaborative Boolean. Enables real-time collaborative editing (Yjs).
- id: 3
  name: article_content
  type: rich-text
  required: true
  maxLength: 10000
  toolbar: [bold, italic, link, heading, list]
  placeholder: 'Write your article...'

email

Text field that validates email addresses (RFC 5322). Commonly unique: true and indexed: true for authentication and lookups.

Property Description
default Default email address assigned to new records.
- { id: 4, name: email, type: email, required: true, unique: true, indexed: true }

url

Text field that validates web addresses. Supports multiple protocols (http://, https://, ftp://, …).

Property Description
default Default URL assigned to new records.
- { id: 5, name: website, type: url, indexed: true, default: 'https://example.com' }

phone-number

Text field for phone numbers. Numbers are stored exactly as entered (spaces, dashes, parentheses preserved); no automatic formatting is applied, allowing any international format.

Property Description
default Default phone number assigned to new records.
- { id: 6, name: mobile_phone, type: phone-number, unique: true, default: '+1 (555) 000-0000' }