Series recipe for a 3d plot or a heatmap

I am trying to make a recipe for a customized heatmap. However, my new seriestype is not recognized as 3d, is it seems.

@recipe function f(::Type{Val{:balanceplot}}, x, y, z)
    zlim = max(abs.(z)...)
    clim := (-zlim,zlim)
    seriestype := :heatmap
    c := :balance
    ()
end
plot(1:10,1:10,rand(10,10), t=:balanceplot) # produces contour plot
plot(rand(10,10), t=:balanceplot) # treats matrix as 10 rows of vectors

Any suggestions?

Try returning x, y and z explicitly.

Thanks for the answer, however, it does not seem to work,

using Plots
@recipe function f(::Type{Val{:balanceplot}}, x, y, z)
    zlim = max(abs.(z)...)
    clim := (-zlim,zlim)
    seriestype := :heatmap
    c := :balance
    return (x,y,z)
end

plot(1:10, 1:10, rand(10,10), t=:balanceplot)
# still produces a contour plot