
Security News
Bun 1.2.19 Adds Isolated Installs for Better Monorepo Support
Bun 1.2.19 introduces isolated installs for smoother monorepo workflows, along with performance boosts, new tooling, and key compatibility fixes.
@vx/gradient
Advanced tools
@vx/gradient is a part of the @vx suite of visualization components for React. It provides a set of components to create gradient effects in SVG elements, which can be used to enhance data visualizations with color transitions.
Linear Gradient
The LinearGradient component allows you to create a linear gradient effect between two colors. This can be used to fill SVG elements with a smooth transition from one color to another.
<LinearGradient id="gradient" from="#fbc2eb" to="#a6c1ee" />
Radial Gradient
The RadialGradient component creates a radial gradient effect, transitioning colors from the center outwards. This is useful for creating circular gradient effects in SVG elements.
<RadialGradient id="gradient" from="#fbc2eb" to="#a6c1ee" r={0.8} />
Gradient Stop
GradientStop is used within gradient components to define specific color stops along the gradient. This allows for more complex gradient effects by specifying multiple colors and their positions.
<GradientStop offset="0%" stopColor="#fbc2eb" />
d3-scale-chromatic is a part of the D3 library that provides color scales and schemes for data visualization. While it focuses more on color scales rather than gradients, it can be used in conjunction with SVG to create gradient-like effects. Unlike @vx/gradient, it is not specifically designed for SVG gradients but offers a wide range of color schemes.
react-spring is a library for creating animations in React. It can be used to animate gradients by interpolating colors over time. While it is not specifically a gradient library, it provides powerful tools for animating properties, including colors, which can be used to create dynamic gradient effects.
svg.js is a lightweight library for manipulating and animating SVGs. It includes functionality for creating and animating gradients within SVG elements. Compared to @vx/gradient, svg.js offers a broader range of SVG manipulation capabilities beyond just gradients.
Inspired by: https://dribbble.com/shots/3380672-Sketch-Gradients-Freebie
import { AreaClosed } from '@vx/shape';
import { GradientPinkBlue } from '@vx/gradient';
const GradientArea = () => {
return (
<svg>
<GradientPinkBlue id="gradient" />
<AreaClosed fill="url('#gradient')" />
</svg>
);
};
Like patterns, gradients are "defined." When you render <GradientPinkBlue />
, it's rendering a
<linearGradient/>
element inside a <def>
in the SVG.
It's often better to think of these as variable definitions rather than true DOM elements. When you
use fill="url('#gradient')"
you're referencing the gradient's id: gradient
.
In addition to the preset linear gradients, you can make any linear or radial gradient like so:
import { LinearGradient, RadialGradient } from '@vx/gradient';
<LinearGradient from="#a18cd1" to="#fbc2eb" />;
<RadialGradient from="#a18cd1" to="#fbc2eb" />;
npm install --save @vx/gradient
v0.0.199
rangeRound
field in the input of scaleLinear()
, scaleLog()
, scalePoint()
, scalePower()
, scaleSqrt()
, scaleTime()
and scaleUtc()
. #766
Instead of
scaleLinear({ rangeRound: xxx })
Do this instead
scaleLinear({ range: xxx, round: true });
ticks
and tickFormat
in the input of scaleQuantize()
. It was not really doing anything anyway as both scale.ticks()
and scale.tickFormat()
do not mutate the scale. #766scale.type
field that was attached to the d3 scales. #766@vx/grid
components now accept D3 Scale as generic type instead of ScaleInput
. Developers should not expect to specify this generic type as it can be inferred from the passed scale. #775GridColumnProps
=> GridColumnsProps
(+s
) to match GridRowsProps
. #787<Marker />
implementation of a Line and some Text. #783AnyD3Scale
, InferD3ScaleOutput
, InferD3ScaleDiscreteInput
, InferD3ScaleThresholdInput
and ScaleInput
. Add new utilities functions: getTicks
, coerceNumber
and toString
. #773@vx/legend
shapes from the index
for convenience / non-deep imports. #772children
prop to GridRows
+ GridColumns
to support animated rendering. #787<BarRounded />
shape. #774d3-shape
and export as part of vx/shape
(arc
, area
, line
, pie
, radialLine
),
similar to vx/scale
has factories for d3-scale
. #776SplitLinePath
component to @vx/shape
that allows you to create a line path split into multiple smaller line paths that can be styled independently. #778vx/scale
and vx/axis
. More fields passed to child render props of Axis
. #773Axis
is refactored to accept a ticksComponent
which allows us to animate them. #779values
to tickFormat(value, index, values)
so that format logic can more easily leverage all ticks (because numTicks
is approximate, lib consumers do not know how many tick values exist a priori). #779<Marker />
that matches actual SVG <marker>
. #783<MarkerArrow />
, <MarkerCross />
, <MarkerX />
, <MarkerCircle />
, <MarkerLine />
. #783@vx/react-spring
that includes react-spring
as a peerDep
and can be a home for things that depend on react-spring
. #779<AnimatedAxis />
and <AnimatedTicksRender />
in @vx/react-spring
. #779vx-demo/axis
demo to use <AnimatedAxis />
. #779AnimatedGridRows
+ AnimatedGridColumns
. #787AnimatedTicks/useAnimatedTicksConfig
to spring-configs/useAnimatedLineTransitionConfig
so it can power both animated tick + grid lines. #787animationTrajectory=outside | inside | min | max
to AnimatedAxis
and AnimatedGridRows/Columns
. #787enableDebounceLeadingCall
prop being passed into div
. #763vx/scale
package has 100% test coverage. #766<Marker>
. #783/axis
demo to include AnimatedGrid*
and a animationTrajectory
config. #787 - @vx/annotation: 0.0.198 => 0.0.199
- @vx/axis: 0.0.198 => 0.0.199
- @vx/bounds: 0.0.198 => 0.0.199
- @vx/brush: 0.0.198 => 0.0.199
- @vx/chord: 0.0.198 => 0.0.199
- @vx/clip-path: 0.0.198 => 0.0.199
- @vx/curve: 0.0.198 => 0.0.199
- @vx/demo: 0.0.198 => 0.0.199
- @vx/drag: 0.0.198 => 0.0.199
- @vx/event: 0.0.198 => 0.0.199
- @vx/geo: 0.0.198 => 0.0.199
- @vx/glyph: 0.0.198 => 0.0.199
- @vx/gradient: 0.0.198 => 0.0.199
- @vx/grid: 0.0.198 => 0.0.199
- @vx/group: 0.0.198 => 0.0.199
- @vx/heatmap: 0.0.198 => 0.0.199
- @vx/hierarchy: 0.0.198 => 0.0.199
- @vx/legend: 0.0.198 => 0.0.199
- @vx/marker: 0.0.198 => 0.0.199
- @vx/mock-data: 0.0.198 => 0.0.199
- @vx/network: 0.0.198 => 0.0.199
- @vx/pattern: 0.0.198 => 0.0.199
- @vx/point: 0.0.198 => 0.0.199
- @vx/react-spring: 0.0.198 => 0.0.199
- @vx/responsive: 0.0.198 => 0.0.199
- @vx/scale: 0.0.198 => 0.0.199
- @vx/shape: 0.0.198 => 0.0.199
- @vx/stats: 0.0.198 => 0.0.199
- @vx/text: 0.0.198 => 0.0.199
- @vx/threshold: 0.0.198 => 0.0.199
- @vx/tooltip: 0.0.198 => 0.0.199
- @vx/voronoi: 0.0.198 => 0.0.199
- @vx/vx: 0.0.198 => 0.0.199
- @vx/xychart: 0.0.0 => 0.0.199 (private)
- @vx/zoom: 0.0.198 => 0.0.199
FAQs
vx gradient
The npm package @vx/gradient receives a total of 19,216 weekly downloads. As such, @vx/gradient popularity was classified as popular.
We found that @vx/gradient demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2.19 introduces isolated installs for smoother monorepo workflows, along with performance boosts, new tooling, and key compatibility fixes.
Security News
Popular npm packages like eslint-config-prettier were compromised after a phishing attack stole a maintainer’s token, spreading malicious updates.
Security News
/Research
A phishing attack targeted developers using a typosquatted npm domain (npnjs.com) to steal credentials via fake login pages - watch out for similar scams.