
Research
/Security News
Popular Tinycolor npm Package Compromised in Supply Chain Attack Affecting 40+ Packages
Malicious update to @ctrl/tinycolor on npm is part of a supply-chain attack hitting 40+ packages across maintainers
@uiw/react-color-wheel
Advanced tools
Wheel Component is a subcomponent of @react-color
.
npm i @uiw/react-color-wheel
import React, { useState, Fragment } from 'react';
import Wheel from '@uiw/react-color-wheel';
import { hsvaToHex } from '@uiw/color-convert';
function Demo() {
const [hsva, setHsva] = useState({ h: 214, s: 43, v: 90, a: 1 });
return (
<Fragment>
<Wheel color={hsva} onChange={(color) => setHsva({ ...hsva, ...color.hsva })} />
<div style={{ width: '100%', height: 34, marginTop: 20, background: hsvaToHex(hsva) }}></div>
</Fragment>
);
}
export default Demo;
import React, { useState } from 'react';
import Wheel from '@uiw/react-color-wheel';
import { hsvaToHex } from '@uiw/color-convert';
function Demo() {
const [hsva, setHsva] = useState({ h: 214, s: 43, v: 90, a: 1 });
return (
<div style={{ display: 'grid', gap: 20, gridTemplateColumns: 'repeat(auto-fill, minmax(200px, 1fr))' }}>
<Wheel color={{a: 1, h: 214, s: 0, v: 100}} />
<Wheel color={{a: 1, h: 214, s: 0, v: 90}} />
<Wheel color={{a: 1, h: 214, s: 0, v: 80}} />
<Wheel color={{a: 1, h: 214, s: 0, v: 70}} />
<Wheel color={{a: 1, h: 214, s: 0, v: 50}} />
<Wheel color={{a: 1, h: 214, s: 0, v: 40}} />
<Wheel color={{a: 1, h: 214, s: 0, v: 40}} width={100} height={100} />
<Wheel color={{a: 1, h: 214, s: 0, v: 30}} width={100} height={100} />
<Wheel color={{a: 1, h: 214, s: 0, v: 20}} width={100} height={100} />
<Wheel color={{a: 1, h: 214, s: 0, v: 10}} width={100} height={100} />
</div>
);
}
export default Demo;
import React, { useState, Fragment } from 'react';
import Wheel from '@uiw/react-color-wheel';
import ShadeSlider from '@uiw/react-color-shade-slider';
import { hsvaToHex } from '@uiw/color-convert';
function Demo() {
const [hsva, setHsva] = useState({ h: 214, s: 43, v: 90, a: 1 });
return (
<Fragment>
<Wheel color={hsva} onChange={(color) => setHsva({ ...hsva, ...color.hsva })} />
<ShadeSlider
hsva={hsva}
style={{ width: 210, marginTop: 20 }}
onChange={(newShade) => {
setHsva({ ...hsva, ...newShade });
}}
/>
<div style={{ width: '100%', height: 34, marginTop: 20, background: hsvaToHex(hsva) }}></div>
</Fragment>
);
}
export default Demo;
import React, { useState, Fragment } from 'react';
import Wheel from '@uiw/react-color-wheel';
import ShadeSlider from '@uiw/react-color-shade-slider';
import { hsvaToHex } from '@uiw/color-convert';
function Demo() {
const [hsva, setHsva] = useState({ h: 214, s: 43, v: 90, a: 1 });
return (
<Fragment>
<Wheel
color={hsva}
onChange={(color) => setHsva({ ...hsva, ...color.hsva })}
/* Passing the style prop is required in the topmost element. */
pointer={({ color, style }) => {
return (
<div style={style}>
<div
style={{
width: 12,
height: 12,
transform: 'translate(-5px, -5px)',
backgroundColor: color,
border: '1px solid #000',
}}
/>
</div>
);
}}
/>
<ShadeSlider
hsva={hsva}
style={{ width: 210, marginTop: 20 }}
onChange={(newShade) => {
setHsva({ ...hsva, ...newShade });
}}
/>
<div style={{ width: '100%', height: 34, marginTop: 20, background: hsvaToHex(hsva) }}></div>
</Fragment>
);
}
export default Demo;
import React from 'react';
import { HsvaColor, ColorResult } from '@uiw/color-convert';
import type * as CSS from 'csstype';
import { PointerProps } from './Pointer';
export interface WheelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'color'> {
prefixCls?: string;
color?: string | HsvaColor;
width?: number;
height?: number;
radius?: CSS.Properties<string | number>['borderRadius'];
/** Direction of the oval: 'x' or 'y'. */
oval?: string;
/** Starting angle of the color wheel's hue gradient, measured in degrees. */
angle?: number;
/** Direction of the color wheel's hue gradient; either clockwise or anticlockwise. Default: `anticlockwise` */
direction?: 'clockwise' | 'anticlockwise';
/** Passing the style prop is required in the topmost element. */
pointer?: ({ color, style }: PointerProps) => JSX.Element;
onChange?: (color: ColorResult) => void;
}
declare const Wheel: React.ForwardRefExoticComponent<WheelProps & React.RefAttributes<HTMLDivElement>>;
export default Wheel;
As always, thanks to our amazing contributors!
Made with contributors.
Licensed under the MIT License.
FAQs
Color wheel
The npm package @uiw/react-color-wheel receives a total of 58,918 weekly downloads. As such, @uiw/react-color-wheel popularity was classified as popular.
We found that @uiw/react-color-wheel demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 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.
Research
/Security News
Malicious update to @ctrl/tinycolor on npm is part of a supply-chain attack hitting 40+ packages across maintainers
Security News
pnpm's new minimumReleaseAge setting delays package updates to prevent supply chain attacks, with other tools like Taze and NCU following suit.
Security News
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.