@@ -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.
0 commit comments