    {:name :disabled?        :required false                  :type "boolean"    :description "Set to true to disable the input box (can be atom or value)."}
    {:name :class            :required false                  :type "string"     :description "additional CSS classes required."}
    {:name :style            :required false                  :type "map"        :description "CSS styles to add or override."}
-   {:name :attr             :required false                  :type "map"        :description "html attributes to add or override (:class/:style not allowed)."}])
+   {:name :attr             :required false                  :type "map"        :description "html attributes to add or override (:class/:style not allowed)."}
+   {:name :input-type       :required true                   :type "keyword"    :description "either :input or :textarea (only applies to super function gen-input-text"}
+   ])
 
 (def input-text-args
   (set (map :name input-text-args-desc)))

                                :height       "auto"}
                        :title status-tooltip}])]]))))


;; ------------------------------------------------------------------------------------
;;  Component: button

                              (when (and status status-icon?) "has-feedback"))
                  :style {:flex          "none"
                          :margin-bottom "0px"}}
                 [input-type
                  (merge
                    {:class       (str "form-control " class)
                     :type        "text"
