Form configuration is always fully customizable with no-code.
When speaking about the coded form implementation, we consider 3 main parts: TutimWizard, FormProvider, and CustomField
TutimWizard handles the wizard's logic and UI for you, offering the least flexibility but the quickest and easiest way to get a fully functional wizard up and running from a configuration.
FormProvider load once per application, handles fields customizations and loading, remote schemas, and global configurations
CustomField - generate any field that you like and re-use it everywhere by naming alone! Field logic and wizard logic is handled for you and received as props and usable via hooks.