Looking for an advanced form plugin for Craft CMS I'm currently using amforms from a&amp;m impact on a couple of sites. However, it looks like this plugin won't get a craftcms version 3 update. In addition, my requirements for a form plugin have expanded considerably since my clients want more advanced functionality. Therefore, I am now searching for a good alternative. 

My requirements are as follows:


It should be possible to prepopulate fields with existing data
Duplicating forms should be possible
Templating completely customizable 
Ability to dynamically add more rows of fields (like in a reservation for a hotel where you can add more rooms or persons)
Validation for at least the basic field types 
File uploads should be possible
Custom conditions for custom fields (like a checkbox only checkable after checking another one before)
Custom email template
Translatable
Good documentation
Active development


Right now Solspace's Freeform looks most promising and I already know their calendar plugin. However, Sprout Forms also looks quite capable. 

Does anyone of you has experience with one of these plugins or can recommend another plugin that meets all or most of the criteria?

Thank you so much for your help!
To answer your questions in regards to how they will fit with Freeform...


If what you mean by pre-populating fields with existing data is being able to fill fields with data from other elements, Freeform can do this. It allows you to populate fields with data from other Craft Elements or even common Predefined data included with Freeform such as States, Months, Date ranges, number ranges, etc. If what you mean is that you'd like a submitted form to retain its existing data when there's an error upon submitting the form, it can do that as well.
Forms can be duplicated in Freeform.
You have full control over your template formatting in Freeform. You can use one of the default formatting templates included with Freeform (preset for popular frameworks), use one as a starting point and adjust as necessary, or completely customize your own thing.
The best choice here would be to use Freeform's built-in Table field, which allows you to collect and handle repeating data nicely.
Freeform offers a wide variety of field types, and included with them is the necessary validation for each.
File Upload fields are available with Freeform.
Freeform's Conditional Rules feature allows you to show/hide fields based on the contents or selection or check of other field(s). Included in this is also page jumping in multi-page forms.
Freeform offers 5 different ways to send email notifications, and you can have as many different types of email notification templates, and customize them however you please.
It depends what you mean by translatable, but Freeform forms can be translated with static translation files. The CP itself is also translatable.
Freeform has what we believe is fairly comprehensive documentation, and it's always getting better. And when questions or issues arise, you can always contact us for help.
Freeform is the most popular third party form plugin for Craft CMS, and it has a proven history of active development for years. You can preview the meaty changelog filled with countless feature additions, improvements and bug fixes. It's actively developed by Solspace, which has been around and developing software for well over a decade. :)