            (render-form-group input))
       (->> [(render-label input)
             (->> [(render-input-group
-                   (select-keys input [:addon-before :addon-after :addon-button])
+                   (select-keys input [:addon-before :addon-after :addon-button :addon-button-before :addon-button-after])
                    (render-input input attrs children))
                   (render-icon (select-keys input [:feedback? :bs-style]))
                   (render-help (:help input))]


(s/defn render-input-group
  "Items is a vector of render instances."
  [{:keys [addon-before addon-after addon-button]} :- Addons
   items :- s/Any]
  (if (or addon-before addon-after addon-button)
    (d/div {:class "input-group"}
           (when addon-before
             (d/span {:class "input-group-addon"} addon-before))
           items
           (when addon-after
             (d/span {:class "input-group-addon"} addon-after))
           (when addon-button
             (d/span {:class "input-group-btn"} addon-button)))
    items))

(s/defn checkbox-or-radio? :- s/Bool

(def Addons
  {(s/optional-key :addon-before) (s/either s/Str t/Component)
   (s/optional-key :addon-after) (s/either s/Str t/Component)
   (s/optional-key :addon-button) (s/either s/Str t/Component)
   (s/optional-key :addon-button-before) (s/either s/Str t/Component)
   (s/optional-key :addon-button-after) (s/either s/Str t/Component)})

(def FeedbackIcons
  "Helps render feedback icons."
