@**
 * Prepare a generic HTML input.
 *@
@(field: play.api.data.Field, args: (Symbol, Any)* )(inputDef: (String, String, Option[String], Map[Symbol,Any]) => Html)(implicit handler: FieldConstructor, messages: play.api.i18n.MessagesProvider)
@id = @{ args.toMap.get(Symbol("id")).map(_.toString).getOrElse(field.id) }
@handler(
    FieldElements(
        id,
        field,
        inputDef(id, field.name, field.value, args.filter(arg => !arg._1.name.startsWith("_") && arg._1 != Symbol("id")).toMap),
        args.toMap,
        messages
    )
)
