Features every type and control

User support for every feature

This catalog matches the Field Manager UI in Core v1.2.0. Types live in config/dynamic-fields.php under field_types. Rows marked Pro appear in the dropdown with a PRO badge until you license Pro.

Field types at a glance

Type keyAdmin labelTierFilament controlNotes
textTextCoreTextInputDefault type
emailEmailCoreTextInput emailUse for extra addresses; login email stays on users.email
phonePhoneCoreTextInput tel
urlURLCoreTextInput url
numberNumberCorenumeric TextInputStored as integer
textareaTextareaCore (plain) / Pro (editor)Textarea or RichEditorCore always uses Textarea; RichEditor is Pro
selectSelectCoreSelect, non-nativeNeeds options
radioRadioCoreRadioNeeds options
multi_selectMulti-selectProSelect multiple + searchableJSON array; min/max selections
tagsTagsProTagsInputColored badges; suggestions from options
dateDateCoreDatePicker
datetimeDate & TimeCoreDateTimePicker
booleanBooleanCoreToggleIcon column / infolist
toggleToggleCoreToggleSame storage as boolean
fileFileProSpatieMediaLibraryFileUploadRequires HasMedia host + Pro

Textarea and optional RichEditor

Plain textarea is the Core default. In Textarea options:

Existing fields stay plain until you enable the editor. Infolists render rich values as HTML. HTML is stored as given in EAV (this is an authenticated Filament form, not a public page).

Extended seed field: about_html (editor on). Standard seed field: bio (plain, 4 rows).

Select, radio, multi-select

All four option types (including tags) use the Options repeater.

Select

Single value. Table/infolist show the option label when the stored value matches an option key.

Radio

Same data as select; different control.

Multi-select

Pro. Filament Select with multiple(), searchable. Stored as a JSON array of option values. Optional meta.min_selections / max_selections map to minItems / maxItems. Table/infolist show colored badges. Extended seed: skills (min 1, max 5).

Tags and colored badges

Pro. Core shows Tags in the type dropdown with a PRO badge.

Palette is configurable under dynamic-fields.tags.colors. Extended seed: interests with explicit colors per option.

Boolean and toggle

Both types render as a Filament Toggle and store boolean. Tables and infolists use boolean icon columns/entries. Use whichever label fits the UX; behavior is the same. Standard seed: marketing_opt_in (boolean). Extended: beta_access (toggle).

File uploads (Pro — Spatie Media Library)

Pro. The Field Manager section File upload is shown for upsell; drivers bind only with a Pro license. Bytes are not stored in EAV. Controls:

ControlMeta keyBehavior
Allow multiple filesmultipleMulti upload; collection is not single-file
Storage diskdiskAny disk from filesystems.disks, plus “Default”. S3 works when the disk is configured
Media collectioncollectionBlank → custom_field_{name}
Directory hintdirectoryCustom property only; Spatie still organizes by media id
Accepted MIME typesaccepted_mime_typesTags; also applied to the Spatie collection
Max size (KB)max_size_kbFilament maxSize
Min / max filesmin_files, max_filesOnly when multiple is on
Images onlyimage_onlyImage upload + optional dimension rules
Min/max width/heightimage_min_width etc.Laravel dimensions: rule when images only
Enable image editorimage_editorFilament image editor
Downloadable / openable / previewabledefaults trueFilament file UI
Reorderabledefault true when multipleDrag order of files
Optimize file namesdefault truee.g. my-resume-a1b2c3d4.pdf
Image conversionsconversions[]name, width, height; registered on the host via HasCustomFieldMedia; first conversion name used for table/infolist image display

If conversions are empty but the field is image-only or has the editor, the trait registers a default thumb 150×150 (requires GD or Imagick). Conversions run nonQueued().

Extended seed: profile_documents — multiple, public disk, 5 MB, PDF/JPEG/PNG/WebP/text, thumb conversion, reorder/preview/download.

Dates, numbers, contact types

Builder UI (Field Manager)

Conditional visibility

Pro. Set Visible when field to another field’s internal name and Visible when value to the expected value (compared as strings). Nested meta.visible_when = { field, value } is also honored by the Pro mapper. Without Pro, Core intercepts these fields with an upsell.

Other manager capabilities