The Mesh Gradient component for React
npm install @blur-ui/mesh-gradientThe MeshGradient component is designed to render a Apple-like mesh gradient for React apps. It offers flexible customization options through various props.
- Supports both horizontal and vertical orientations.
- Provides smooth animations for track movement and stretch effects.
- Fully unstyled and customizable.
- RTL support.
- Keyboard support.
``bash`
npm install @blur-ui/mesh-gradient
or
`bash`
yarn add @blur-ui/mesh-gradient
`tsx`
- Type: Ref
- Description: A reference to the
- Type: GradientPalettecolor
- Description: An object containing four colors for the gradient. If not specified, the color palette defined by the prop is used.
- Type: GradientColors
- Description: The name of a predefined color palette.
- Type: booleantrue
- Description: If , the gradient will be darkened.
- Type: booleantrue
- Description: If , the gradient animation will be paused.
- Type: number1
- Description: The opacity level of the gradient. Default: .
- Type: number150
- Description: The duration of the opacity transition animation in milliseconds. Default: .
- Type: ComponentPropsWithoutRef<'canvas'>
- Description: Any other props that can be passed to a
- Type: { color1: string; color2: string; color3: string; color4: string }
- Description: An object defining four colors used in the gradient.
`tsx`
This example creates a gradient with the sky color palette, darkened, with continuous animation and an opacity of 0.8. The opacity transition animation lasts 300 milliseconds.
`tsx
const colors: GradientPalette = {
color1: '#FF5733',
color2: '#33FF57',
color3: '#3357FF',
color4: '#F3FF33'
}
animationDuration={200}
/>
`
This example uses a custom color palette defined by the colors` prop, with no darkening, continuous animation, full opacity, and an opacity transition animation lasting 200 milliseconds.
This component was inspired by Stripe's mesh gradient.