                      :duration duration
                      :width resize-width
                      :height resize-height}))))
+
+(defn- run-size-interaction-circle
+  [{:keys [x1 y1 rotation] :as shape}
+   {:keys [resize-width resize-height easing
+           element delay duration direction] :as opts}]
+  (let [{:keys [width height]} (geom/size shape)
+        dom (dom/get-element (str "shape-" element))]
+    (if (= direction :reverse)
+      (animate* dom {:easing (translate-ease easing)
+                     :delay delay
+                     :duration duration
+                     :rx width
+                     :ry height})
+      (animate* dom {:easing (translate-ease easing)
+                     :delay delay
+                     :duration duration
+                     :rx resize-width
+                     :ry resize-height}))))
 
 (defn- run-size-interaction
   [{:keys [element] :as opts}]

    :moveby (run-moveby-interaction itx)
    :show (run-show-interaction itx)
    :hide (run-hide-interaction itx)
    :size (run-size-interaction itx)
    :opacity (run-opacity-interaction itx)
    :color (run-color-interaction itx)

    (case (:type shape)
      :icon (run-size-interaction-rect shape opts)
      :image (run-size-interaction-rect shape opts)
      :rect (run-size-interaction-rect shape opts)
      :circle (run-size-interaction-circle shape opts))))

(defn- run-gotourl-interaction
  [{:keys [url]}]
