Back to Ant Design

ColorPicker

components/color-picker/index.en-US.md

6.3.75.6 KB
Original Source

When To Use

Used when the user needs to make a customized color selection.

Examples

<!-- prettier-ignore -->

<code src="./demo/base.tsx">Basic Usage</code> <code src="./demo/size.tsx">Trigger size</code> <code src="./demo/controlled.tsx">controlled mode</code> <code src="./demo/line-gradient.tsx" version="5.20.0">Line Gradient</code> <code src="./demo/text-render.tsx">Rendering Trigger Text</code> <code src="./demo/disabled.tsx">Disable</code> <code src="./demo/disabled-alpha.tsx">Disabled Alpha</code> <code src="./demo/allowClear.tsx">Clear Color</code> <code src="./demo/trigger.tsx">Custom Trigger</code> <code src="./demo/trigger-event.tsx">Custom Trigger Event</code> <code src="./demo/format.tsx">Color Format</code> <code src="./demo/presets.tsx">Preset Colors</code> <code src="./demo/presets-line-gradient.tsx" debug>Preset Line Gradient</code> <code src="./demo/panel-render.tsx">Custom Render Panel</code> <code src="./demo/style-class.tsx" version="6.0.0">Custom semantic dom styling</code> <code src="./demo/pure-panel.tsx" debug>Pure Render</code>

API

Common props ref:Common props

This component is available since [email protected].

<!-- prettier-ignore -->
PropertyDescriptionTypeDefaultVersion
allowClearAllow clearing color selectedbooleanfalse
arrowConfiguration for popup arrowboolean | { pointAtCenter: boolean }true
childrenTrigger of ColorPickerReact.ReactNode-
classNamesCustomize class for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-
defaultValueDefault value of colorColorType-
defaultFormatDefault format of colorrgb | hex | hsbhex5.9.0
disabledDisable ColorPickerboolean-
disabledAlphaDisable Alphaboolean-5.8.0
disabledFormatDisable format of colorboolean-5.22.0
destroyTooltipOnHideWhether destroy dom when closebooleanfalse5.7.0
destroyOnHiddenWhether destroy dom when closebooleanfalse5.25.0
formatFormat of colorrgb | hex | hsb-
modeConfigure single or gradient color'single' | 'gradient' | ('single' | 'gradient')[]single5.20.0
openWhether to show popupboolean-
presetsPreset colorsPresetColorType-
placementPlacement of popupThe design of the placement parameter is the same as the Tooltips component.bottomLeft
panelRenderCustom Render Panel(panel: React.ReactNode, extra: { components: { Picker: FC; Presets: FC } }) => React.ReactNode-5.7.0
showTextShow color textboolean | (color: Color) => React.ReactNode-5.7.0
sizeSetting the trigger sizelarge | medium | smallmedium5.7.0
stylesCustomize inline style for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-
triggerColorPicker trigger modehover | clickclick
valueValue of colorColorType-
onChangeCallback when value is changed(value: Color, css: string) => void-
onChangeCompleteCalled when color pick ends. Will not change the display color when value controlled by onChangeComplete(value: Color) => void-5.7.0
onFormatChangeCallback when format is changed(format: 'hex' | 'rgb' | 'hsb') => void-
onOpenChangeCallback when open is changed(open: boolean) => void-
onClearCalled when clear() => void-5.6.0

ColorType

typescript
type ColorType =
  | string
  | Color
  | {
      color: string;
      percent: number;
    }[];

PresetColorType

typescript
type PresetColorType = {
  label: React.ReactNode;
  defaultOpen?: boolean;
  key?: React.Key;
  colors: ColorType[];
};

Color

<!-- prettier-ignore -->
PropertyDescriptionTypeVersion
toCssStringConvert to CSS support format() => string5.20.0
toHexConvert to hex format characters, the return type like: 1677ff() => string-
toHexStringConvert to hex format color string, the return type like: #1677ff() => string-
toHsbConvert to hsb object() => ({ h: number, s: number, b: number, a number })-
toHsbStringConvert to hsb format color string, the return type like: hsb(215, 91%, 100%)() => string-
toRgbConvert to rgb object() => ({ r: number, g: number, b: number, a number })-
toRgbStringConvert to rgb format color string, the return type like: rgb(22, 119, 255)() => string-

Semantic DOM

<code src="./demo/_semantic.tsx" simplify="true"></code>

FAQ

Questions about color assignment {#faq-color-assignment}

The value of the color selector supports both string color values and selector-generated Color objects. However, since there is a precision error when converting color strings of different formats to each other, it is recommended to use selector-generated Color objects for assignment operations in controlled scenarios, so that the precision problem can be avoided and the values are guaranteed to be accurate and the selector can work as expected.