blackpig-creatif / confessionnal
A Survey and Form Builder
Fund package maintenance!
Requires
- php: ^8.4
- blackpig-creatif/chambre-noir: ^2.0
- blackpig-creatif/grimoire: ^2.0
- filament/filament: ^5.0
- illuminate/contracts: ^12.0|^13.0
- spatie/laravel-package-tools: ^1.16
- spatie/laravel-translatable: ^6.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^9.0|^10.0|^11.0
- pestphp/pest: ^3.7|^4.0
- pestphp/pest-plugin-arch: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
- pestphp/pest-plugin-livewire: ^3.0|^4.0
- spatie/laravel-ray: ^1.26
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-11-05 15:06:55 UTC
README
A conversational form and survey builder for Filament v5. Build Typeform-style one-question-per-screen surveys or traditional multi-field forms, with sections, conditional logic, multi-language support, and CSV export.
Features
- Two form modes: conversational (one field per screen) and standard (grouped fields per page)
- Section-based structure with interstitial intros, optional reference images, and randomised ordering
- Field types: text, textarea, select, radio, checkbox, scale, date, file upload
- Conditional logic: show/hide fields based on prior answers
- Multi-language: translatable labels, help text, and options via Spatie Translatable. Locale-specific fill links.
- Generic submissions stored as JSON, plus optional target model mapping to write into real Eloquent models on submit
- CSV export with section-prefixed headers for duplicate labels
- Query string capture for panel-recruitment services (Prolific, etc.)
- Completion providers with automatic detection, completion codes, and provider-specific redirects for Prolific, Cint, Toluna, MTurk, and custom panels
- Lightweight analytics: views, starts, completions, and per-page drop-off tracked in daily aggregate tables
- Preview mode via signed URL from the admin panel
- Atelier block integration: embed forms on Atelier-managed pages (optional, no hard dependency)
- Themeable via CSS custom properties (no build step needed)
Installation
composer require blackpig-creatif/confessionnal
Publish and run migrations:
php artisan vendor:publish --tag="confessionnal-migrations"
php artisan migrate
Register the plugin in your Filament panel:
use BlackpigCreatif\Confessionnal\ConfessionnalPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ ConfessionnalPlugin::make(), ]); }
See docs/installation.md for config options and view publishing.
Quick start
- Navigate to Confessionnal > Forms in your Filament panel
- Create a new form, choose a mode (conversational or standard)
- Add sections with pages and fields via the relation manager
- Publish the form
- Visit
/forms/{slug}to fill it
Theming
The fill runtime uses CSS custom properties for all colours, typography, and spacing. Override them to match your site:
:root { --cfnl-primary: #7c3aed; --cfnl-primary-hover: #6d28d9; --cfnl-font-family: 'Inter', sans-serif; --cfnl-bg: #fafaf9; }
For full customisation (dark mode, custom layout, structural changes), publish the views:
php artisan vendor:publish --tag="confessionnal-views"
See docs/theming.md for the complete variable reference and examples.
Documentation
| Topic | Link |
|---|---|
| Installation and config | docs/installation.md |
| Forms, sections, and fields | docs/forms-and-fields.md |
| Fill runtime and routes | docs/fill-runtime.md |
| Submissions and CSV export | docs/submissions.md |
| Target model mapping | docs/target-model-mapping.md |
| Theming and CSS variables | docs/theming.md |
| Atelier block integration | docs/atelier.md |
| Analytics and drop-off tracking | docs/analytics.md |
| Completion providers (Prolific, Cint, MTurk, custom) | docs/completion-providers.md |
| Conditional logic, randomisation, query capture, preview | docs/advanced.md |
Testing
composer test
Credits
License
The MIT License (MIT). See LICENSE.md for details.