VectorPlot BarLegend: color for direction and opacity for magnitude?

I’m working on a vector field plot where the background color indicates the vector orientation and its opacity for the vector norm. Therefore I’d like to have a BarLegend showing such info. Probably a rectangular one: height goes from $ 0$ to $ 2\pi$ and increasing opacity along the width.

data = Table[{{x, y}, {-2 y, 2 x - x^3}}, {x, -2, 2, 0.2}, {y, -2, 2,      0.2}]; ListVectorDensityPlot[data, VectorColorFunction -> None,   VectorScaling -> "Linear", FrameLabel -> {"x", "y"},   VectorRange -> All, VectorStyle -> Black,   ColorFunctionScaling -> {False, False, False, False, True},   ColorFunction ->    Function[{x, y, vx, vy, n}, Hue[ArcTan[vx, vy]/(2 \[Pi]), n]],   MaxRecursion -> 2, PlotLegends -> Automatic] 

enter image description here