UNPKG

@ant-design/pro-field

Version:

原子信息组件,统一 ProForm、ProTable、ProList、Filter 等组件里面的字段定义。

113 lines 3.71 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; var _excluded = ["mode", "popoverProps"]; import { proTheme, useStyle } from '@ant-design/pro-provider'; import { SketchPicker } from '@chenshuai2144/sketch-color'; import { ConfigProvider, Popover } from 'antd'; import useMergedState from "rc-util/es/hooks/useMergedState"; import React, { useContext, useImperativeHandle } from 'react'; import { jsx as _jsx } from "react/jsx-runtime"; export var DEFAULT_COLORS = ['#FF9D4E', // 0 - 橘黄色 '#5BD8A6', // 1 - 绿色 '#5B8FF9', // 2 - 蓝色 '#F7664E', // 3 - 红色 '#FF86B7', // 4 - 水红色 '#2B9E9D', // 5 - 墨绿色 '#9270CA', // 6 - 紫色 '#6DC8EC', // 7 - 浅蓝色 '#667796', // 8 - 黛蓝色 '#F6BD16' // 9 - 黄色 ]; export var ColorPicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) { var mode = _ref.mode, popoverProps = _ref.popoverProps, rest = _objectWithoutProperties(_ref, _excluded); var _useContext = useContext(ConfigProvider.ConfigContext), getPrefixCls = _useContext.getPrefixCls; var prefixCls = getPrefixCls('pro-field-color-picker'); var _proTheme$useToken = proTheme.useToken(), token = _proTheme$useToken.token; var _useMergedState = useMergedState('#1890ff', { value: rest.value, onChange: rest.onChange }), _useMergedState2 = _slicedToArray(_useMergedState, 2), color = _useMergedState2[0], setColor = _useMergedState2[1]; var _useStyle = useStyle('ProFiledColorPicker' + color, function () { return _defineProperty({}, ".".concat(prefixCls), { width: 32, height: 32, display: 'flex', alignItems: 'center', justifyContent: 'center', boxSizing: 'border-box', border: "1px solid ".concat(token.colorSplit), borderRadius: token.borderRadius, '&:hover': { borderColor: color } }); }), wrapSSR = _useStyle.wrapSSR, hashId = _useStyle.hashId; var readDom = wrapSSR( /*#__PURE__*/_jsx("div", { className: "".concat(prefixCls, " ").concat(hashId).trim(), style: { cursor: rest.disabled ? 'not-allowed' : 'pointer', backgroundColor: rest.disabled ? token.colorBgContainerDisabled : token.colorBgContainer }, children: /*#__PURE__*/_jsx("div", { style: { backgroundColor: color, width: 24, boxSizing: 'border-box', height: 24, borderRadius: token.borderRadius } }) })); useImperativeHandle(ref, function () {}); if (mode === 'read' || rest.disabled) { return readDom; } return /*#__PURE__*/_jsx(Popover, _objectSpread(_objectSpread({ trigger: "click", placement: "right" }, popoverProps), {}, { content: /*#__PURE__*/_jsx("div", { style: { margin: '-12px -16px' }, children: /*#__PURE__*/_jsx(SketchPicker, _objectSpread(_objectSpread({}, rest), {}, { presetColors: rest.colors || rest.presetColors || DEFAULT_COLORS, color: color, onChange: function onChange(_ref3) { var hex = _ref3.hex, _ref3$rgb = _ref3.rgb, r = _ref3$rgb.r, g = _ref3$rgb.g, b = _ref3$rgb.b, a = _ref3$rgb.a; if (a && a < 1) { setColor("rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")")); return; } setColor(hex); } })) }), children: readDom })); });