gradient-outline
Version:
A React gradient outline component
102 lines (76 loc) • 3.29 kB
Markdown
# GradientOutline
A React component that adds a customizable animated gradient outline effect to any element.
###### [Demo](https://react-gradient-outline-demo-xaad.vercel.app/)
## Installation
Before using this package, you need to install ** Tailwind CSS ** in your project:
```sh
npm install tailwindcss postcss autoprefixer
npx tailwindcss init -p
```
Add the following to your `tailwind.config.js` file:
```js
module.exports = {
purge: ["./src/**/*.{js,jsx,ts,tsx}", "./public/index.html"],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
};
```
Add the following to your `postcss.config.js` file:
```js
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};
```
or go to the documentation [Tailwind Installation Using PostCSS](https://tailwindcss.com/docs/installation/using-postcss)
After tailwind is installed, you can install the package:
```sh
yarn add gradient-outline
```
or using npm:
```sh
npm install gradient-outline
```
## Usage
```tsx
import React from "react";
import Gline from "gradient-outline";
const App = () => {
return (
<Gline borderRadius={16} strokeWidth={2} className="w-full ">
<button className="p-4 text-white bg-black">Click Me</button>
</Gline>
);
};
export default App;
```
## Props
| Prop | Type | Default Value | Description |
| --------------------- | --------------- | -------------------- | ----------------------------------------------- |
| `id` | `string` | `undefined` | Unique identifier for the component. |
| `style` | `CSSProperties` | `{}` | Custom styles for the outer container. |
| `contentStyle` | `CSSProperties` | `{}` | Styles applied to the inner content container. |
| `contentClass` | `string` | `""` | Additional class names for the inner content. |
| `allowHover` | `boolean` | `true` | Enables hover effect to change gradient colors. |
| `strokeWidth` | `number` | `1.5` | Width of the gradient border stroke. |
| `borderRadius` | `number` | `24` | Border radius of the outline. |
| `hoverGradientColors` | `string[]` | `[#E6CAA4, #E9B84E]` | Gradient colors when hovered. |
| `gradientColors` | `string[]` | `[...]` | Default gradient colors. |
| `gradientAngle` | `number` | `135` | Angle of the gradient direction. |
| `className` | `string` | `""` | Additional class names for the outer container. |
| `onClick` | `() => void` | `undefined` | Click handler. |
## Features
- Customizable animated gradient border
- Resizable with automatic dimension tracking
- Configurable gradient colors and angles
- Supports hover state changes
## License
MIT