Skip to content

Commit aeca913

Browse files
committed
Readme.
1 parent 11069ca commit aeca913

File tree

4 files changed

+71
-2
lines changed

4 files changed

+71
-2
lines changed

README.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,72 @@ const App = () => {
8787
| `setAngle` | `Function` | `undefined` | Yes | The set angle method to be trigger after an angle was changes.
8888
| `size` | `Number` | `48` | No | Determines the size of the angle picker
8989
| `snap` | `Number` | `5` | No | Determines the angle change snapping, Can be removed with setting as 0
90+
91+
## Gradient Picker Popover Usage
92+
<img width="200" alt="gradient_popover_preview" src="/assets/gpp.png"> <br/>
93+
94+
```js
95+
import React, { useState } from 'react';
96+
import { SketchPicker } from 'react-color';
97+
import { GradientPickerPopover } from 'react-linear-gradient-picker';
98+
import './index.css';
99+
100+
const addOpacityToHex = (color, opacity = 1) => {
101+
if (opacity === 1 || color.length > 9) {
102+
return color;
103+
}
104+
105+
return color + Math.floor(opacity * 255).toString(16);
106+
};
107+
108+
const WrappedSketchPicker = ({ onSelect, ...rest }) => (
109+
<SketchPicker {...rest}
110+
color={addOpacityToHex(rest.color, rest.opacity)}
111+
onChange={c => {
112+
onSelect(c.hex, c.rgb.a);
113+
}}/>
114+
);
115+
116+
const initialPallet = [
117+
{ offset: '0.00', color: 'rgb(238, 241, 11)' },
118+
{ offset: '1.00', color: 'rgb(126, 32, 207)' }
119+
];
120+
121+
const App = () => {
122+
const [open, setOpen] = useState(false);
123+
const [angle, setAngle] = useState(90);
124+
const [palette, setPalette] = useState(initialPallet);
125+
126+
return (
127+
<GradientPickerPopover {...{
128+
open,
129+
setOpen,
130+
angle,
131+
setAngle,
132+
showAnglePicker: true,
133+
width: 220,
134+
maxStops: 3,
135+
paletteHeight: 32,
136+
palette,
137+
onPaletteChange: setPalette
138+
}}>
139+
<WrappedSketchPicker/>
140+
</GradientPickerPopover>
141+
);
142+
};
143+
144+
export default App;
145+
```
146+
147+
### Accepted props
148+
149+
| Name | Type | Default Value | Required? | Description
150+
|-|-|-|-|-
151+
| `trigger` | `React Component` | `defaultTrigger` | No | The popover trigger component, Will use default implementation if empty.
152+
| `open` | `Boolean` | `false` | Yes | Controls the popover open state
153+
| `setOpen` | `Function` | `undefined` | Yes | The setOpen method to be called upon open changes
154+
| `showAnglePicker` | `Boolean` | `false` | No | Will add to gradient picker the angle picker component at the bottom
155+
| `angle` | `Number` | `undefined` | No | The angle picker angle value
156+
| `setAngle` | `Function` | `undefined` | No | Then angle picker setAngle method to be called upon angle changes
157+
158+
* This component accepts all of GradientPicker pros.

assets/gpp.jpg

56.9 KB
Loading

0 commit comments

Comments
 (0)