             [uxbox.main.ui.workspace.sidebar.history :refer (history-dialog)]
             [uxbox.main.ui.workspace.sidebar :refer (left-sidebar right-sidebar)]
             [uxbox.main.ui.workspace.colorpalette :refer (colorpalette)]
-            [uxbox.main.ui.workspace.canvas :refer (viewport)]))
+            [uxbox.main.ui.workspace.canvas :refer (viewport)]
+            [uxbox.util.dom :as dom]
+            [uxbox.util.geom.point :as gpt]
+            [uxbox.util.data :refer (classnames)]
+            [uxbox.util.mixins :as mx :include-macros true]))
 
 ;; --- Workspace
 

        (st/emit! (dw/decrease-zoom)))
      (scroll/scroll-to-point dom mouse-point scroll-position))))

(defn- workspace-render
  [own]
  (let [{:keys [flags zoom page] :as workspace} (mx/react wb/workspace-ref)
        left-sidebar? (not (empty? (keep flags [:layers :sitemap

            [uxbox.main.data.pages :as udp]
            [uxbox.main.data.history :as udh]
            [uxbox.main.data.undo :as udu]
            [uxbox.main.ui.messages :as uum]
            [uxbox.main.ui.confirm]
            [uxbox.main.ui.workspace.images]
