antd
Version:
An enterprise-class UI design language and React components implementation
45 lines (44 loc) • 1.02 kB
JavaScript
"use client";
import React from 'react';
import { clsx } from 'clsx';
import { generateColor } from '../util';
const ColorClear = ({
prefixCls,
value,
onChange,
className,
style,
disabled
}) => {
const onClick = () => {
if (disabled) {
return;
}
if (onChange && value && !value.cleared) {
const hsba = value.toHsb();
hsba.a = 0;
const genColor = generateColor(hsba);
genColor.cleared = true;
onChange(genColor);
}
};
const onKeyDown = event => {
if (event.key === 'Enter' || event.key === ' ') {
event.preventDefault();
onClick();
}
};
return /*#__PURE__*/React.createElement("div", {
role: "button",
"aria-label": "Clear color",
"aria-disabled": disabled || undefined,
tabIndex: disabled ? -1 : 0,
className: clsx(`${prefixCls}-clear`, className, {
[`${prefixCls}-clear-disabled`]: disabled
}),
style: style,
onClick: onClick,
onKeyDown: onKeyDown
});
};
export default ColorClear;