                        (dissoc :color))]
     (apply dom/div (clj->js props) children)))
 
-
 (defui ModalTitle
   Object
   (render [this]
     (dom/div #js {:className "c-modal__title"} (om/children this))))
-
 
 (def ui-modal-title
   "Render a notification title. Should only be used in a ui-modal"
   (om/factory ModalTitle))
 
-
 (defui ModalBody
   Object
   (render [this]
     (dom/div #js {:className "c-modal__content"} (om/children this))))
+
 (def ui-modal-body
   "Render a notification body. Should only be used in a ui-modal"
   (om/factory ModalBody))
 
-
 (defui ModalActions
   Object
   (render [this]
     (dom/div #js {:className "c-modal__actions"} (om/children this))))
-
 
 (def ui-modal-actions
   "Render a notification action area. Should only be used in a ui-modal"
   (om/factory ModalActions))
 
-
+; TODO: Rename to Dialog, modal as a boolean attribute?
 (defui Modal
   Object
   (render [this]

(def ui-notification
  "Render a notification. Normal HTML/React attributes can be included, and should be a cljs map (not a js object).

  `:type` :none (default), :success, :warning, :error, :informative
  `:size` :normal (default), :wide

  You should include two children of this node:

  (ui-notification {}
    (ui-notification-title {} title-nodes)
    (ui-notification-body {} body-nodes))

  The `title-nodes` can be any inline DOM (or just a string), as can body-nodes."
  (om/factory Notification))


(defn ui-progress
  "Render a progress element. Props is a normal clj(s) map with React/HTML attributes plus:

  `:className` - additional class stylings to apply to the progress element
  `:id` - Name of the progress control
  "
  [{:keys [id style] :or {id ""} :as attrs}]
  (let [user-classes (get attrs :className "")
        classes      (cond-> (str user-classes " c-progress "))
        attrs        (cond-> attrs
                       :always (assoc :className classes)
                       :always (assoc :id (name id)))]
    (dom/progress (clj->js attrs))))


(defn ui-radio
  "Render a radio (not the label). Props is a normal clj(s) map with React/HTML attributes plus:

  The `title-nodes` can be any inline DOM (or just a string), as can body-nodes.  Action-notes must include at least one button that
  closes the modal or redirects the user."
  (om/factory Modal))

(defui NotificationTitle
  Object
