Component Standards & Developer Checklist
This document defines the visual, behavioural, and structural standards for Form Builder components, along with a developer pre-QA checklist to ensure consistency, usability, and clarity before release.
1. Summarised Checklist
1. Property Ordering
- Main contains only essential properties needed to make the component usable on first drop.
- Properties appear in this order: Identity → Visibility/State → Core Behaviour → Primary Visuals.
- Visibility/State items (Visible, Enabled, Editable + permission padlocks) are always placed before behaviour and styling.
- Core behaviour properties (e.g., binding / action / key config) are placed before non-essential styling options.
- Non-essential or advanced properties are not placed in Main (they go to secondary tabs/sections).
2. WYSIWYG Rendering & Fallbacks
- Component renders in true WYSIWYG form by default.
- When data/config is missing, component renders a clean fallback that still looks like the real component.
- No visible error blocks, warnings, or layout distortions.
- Placeholder/dummy values appear clean and intentional.
- Builder view visually matches final rendered form.
3. Misconfiguration Indicators
- Misconfigured components show an orange “i” icon in the top-right with a helpful tooltip.
- Containers/Data Context show orange background + orange dotted border (no icon).
- Indicators only appear when configuration is missing or invalid.
- No intrusive warnings or layout-shifting UI.
- Tooltips need to all be clear and understandable
- Misconfigured properties must show red on their border, just like a validation check.
4. Permissions Rework (Visibility & Editability)
- Permissions moved from Security tab → padlock buttons on Visible & Editable properties.
- Clicking padlock opens the permissions dialog.
- Padlock icon turns primary colour when permissions are applied.
- Permissions act as a restriction layer only (can restrict, never promote).
- Permissions are evaluated after Explicit / Inherited / JS values resolve.
- Visibility icons appear correctly on the component:
- Eye = manually hidden
- Padlock = hidden by permissions
- FX = hidden by custom logic
- Users can re-open the dialog to edit/remove permissions.