@cmk/fe_utils
Version:
frontend utility library
37 lines (35 loc) • 1.24 kB
TypeScript
import { CSSProperties } from 'react';
import { BoxProps, Theme } from '@mui/material';
import { PresetColor } from 'react-color/lib/components/sketch/Sketch';
type GenericColorPickerProps = {
value: CSSProperties['color'];
selectorSize?: string | number;
disableThemeColors?: boolean;
resolveThemeColors?: boolean;
themeIn?: Theme;
highlightedThemeColor?: string;
presetColors?: PresetColor[];
name?: string;
disableColorTransformations?: boolean;
};
type DisabledColorPickerProps = GenericColorPickerProps & {
disabled: true;
onChange?: (color: string) => void;
};
type EnabledColorPickerProps = GenericColorPickerProps & {
disabled?: false;
onChange: (color: string) => void;
};
export type ColorPickerProps = Omit<BoxProps, 'onChange'> & (EnabledColorPickerProps | DisabledColorPickerProps);
export type ColorObject = {
r: number;
g: number;
b: number;
a?: number;
};
/** Colorpicker Component
* @param value - color value supports rgb, rgba, hex, hexa (no color names like 'red')
* @param onChange - callback function to handle color change
*/
export declare const ColorPicker: (props: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
export {};