2.0.3 • Published 7 months ago

@douyinfe/semi-material-color-picker v2.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

取色器

Semi 风格的取色器. 0 dependence.

img_1.png

代码演示

此处示例可实时编辑和运行

import React, { useState, useRef } from 'react';
import SemiColorPicker from '@douyinfe/SemiColorPicker';
import { Button } from '@ies/semi-ui-react';
() => {
    const [v,setV] = useState({
        format:'rgba',
        value:{
            r:150,
            g:50,
            b:50,
            a:0.7
        }
    });
    return (
        <div>
            <SemiColorPicker
                usePopover={false}
                defaultFormat={'hex'}
                defaultValue={{
                    format:'hex',
                    value:'#66ccff'
                }}
                onChange={v=>console.log(v)}
                popoverProps={{trigger:'click',position:'bottomRight'}}
                alpha={true}/>

            <SemiColorPicker
                usePopover={true}
                defaultFormat={'hex'}
                defaultValue={{
                    format:'hex',
                    value:'#66ccff'
                }}
                onChange={v=>console.log(v)}
                popoverProps={{trigger:'click',position:'bottomRight'}}
                alpha={true}>
                <Button>popover mode 非受控</Button>
            </SemiColorPicker>
            <SemiColorPicker
                usePopover={true}
                defaultFormat={'hex'}
                value={v}
                onChange={v=>{
                    console.log(v);
                    setV({
                        format: "rgba",
                        value: v.rgba
                    });
                }}
                popoverProps={{trigger:'click',position:'bottomRight'}}
                alpha={true}>
                <Button>popover mode 受控</Button>
            </SemiColorPicker>
        </div>
    );
};

API 参考

一些颜色转换函数和类型定义参考自 react-colorful

参数名说明类型默认值
defaultFormat默认颜色选择模式'hex' 'rgba' 'hsva'-
defaultValue默认颜色Value-
popoverPropspopover 模式下 popover 透传propsPropoverProps-
value选中颜色, 传入即为受控, 类型format 只能为 hsvaValue-
onChange用户选择颜色回调(value: {rgba: RgbaColor,hex: string,hsva: HsvaColor}) => void;-
alpha是否开启透明度选择boolen-
footer底部自定义元素ReactNode-
usePopover是否启用 popover 模式boolenfalse
width颜色选择器矩形宽度number280px
height颜色选择器矩形高度number280px
type Value = {
    format:'hex' | 'rgba' | 'hsva'
    value:HsvaColor|RgbaColor|string
}

export interface HsvColor {
    h: number;
    s: number;
    v: number;
}

export interface HsvaColor extends HsvColor {
    a: number;
}

import React from "react";

export interface RgbColor {
    r: number;
    g: number;
    b: number;
}

export interface RgbaColor extends RgbColor {
    a: number;
}

export interface HslColor {
    h: number;
    s: number;
    l: number;
}

export interface HslaColor extends HslColor {
    a: number;
}

export interface HsvColor {
    h: number;
    s: number;
    v: number;
}

export interface HsvaColor extends HsvColor {
    a: number;
}
2.0.3

7 months ago

2.0.2

11 months ago

1.0.11

12 months ago

2.0.1

11 months ago

2.0.0

12 months ago

1.0.9

1 year ago

1.0.10

1 year ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago