facesWidget :: forall t m.MonadWidget t m => FacesWidgetConfig t -> m (FacesWidget t)
facesWidget (FacesWidgetConfig attrs faces0 dFaces pic0 dPic sel) =

  elClass "div" "faces-widget" $ do
    -- imgAttrs <- holdDyn pic0 dPic >>= mapDyn (\(PicUrl url) -> "src" =: url)
    imgAttrs <- fmap ((\(PicUrl url) -> "src" =: url) <$>) $ holdDyn pic0 dPic
    sourcePic <- fst <$> elDynAttr' "img" imgAttrs (return ())
    sourceCoords <- widgetEventCoords sourcePic

    zoomArea <- canvas $ undefined
    undefined

#ifndef ghcjs_HOST_OS
facesWidget :: forall t m.MonadWidget t m => FacesWidgetConfig t -> m (FacesWidget t)
facesWidget (FacesWidgetConfig attrs faces0 dFaces pic0 dPic sel) =

  elClass "div" "faces-widget" $ do
    -- imgAttrs <- holdDyn pic0 dPic >>= mapDyn (\(PicUrl url) -> "src" =: url)
    imgAttrs <- fmap ((\(PicUrl url) -> "src" =: url) <$>) $ holdDyn pic0 dPic
    sourcePic <- fst <$> elDynAttr' "img" imgAttrs (return ())
    sourceCoords <- widgetEventCoords sourcePic

    zoomArea <- canvas $ undefined
    undefined

#ifndef ghcjs_HOST_OS
facesWidget (FacesWidgetConfig attrs faces0 dFaces pic0 dPic sel) =

  elClass "div" "faces-widget" $ do
    -- imgAttrs <- holdDyn pic0 dPic >>= mapDyn (\(PicUrl url) -> "src" =: url)
    imgAttrs <- fmap ((\(PicUrl url) -> "src" =: url) <$>) $ holdDyn pic0 dPic
    sourcePic <- fst <$> elDynAttr' "img" imgAttrs (return ())
    sourceCoords <- widgetEventCoords sourcePic

    zoomArea <- canvas $ undefined
    undefined

#ifndef ghcjs_HOST_OS