UNPKG

tdesign-react

Version:
234 lines (226 loc) 10.3 kB
/** * tdesign v1.11.6 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var defineProperty = require('../../../../_chunks/dep-56a79f9c.js'); var toConsumableArray = require('../../../../_chunks/dep-f500d2b7.js'); var React = require('react'); var color = require('../../../../_chunks/dep-c7c64aab.js'); var input_index = require('../../../../input/index.js'); var inputNumber_index = require('../../../../input-number/index.js'); var colorPicker_components_panel_format_config = require('./config.js'); var throttle = require('../../../../_chunks/dep-9a71333f.js'); require('../../../../_chunks/dep-5b35215f.js'); require('../../../../_chunks/dep-6b4846c3.js'); require('../../../../_chunks/dep-48e1db8c.js'); require('../../../../_chunks/dep-2c69dce8.js'); require('tinycolor2'); require('../../../../_chunks/dep-3c8023f1.js'); require('../../../../_chunks/dep-6e34d7d7.js'); require('../../../../_chunks/dep-ec3beb8d.js'); require('../../../../_chunks/dep-d45b3350.js'); require('../../../../_chunks/dep-9addac50.js'); require('../../../../input/Input.js'); require('../../../../_chunks/dep-da07bc8c.js'); require('classnames'); require('tdesign-icons-react'); require('../../../../hooks/useLayoutEffect.js'); require('../../../../_util/dom.js'); require('raf'); require('../../../../_util/easing.js'); require('../../../../_util/forwardRefWithStatics.js'); require('hoist-non-react-statics'); require('../../../../hooks/useConfig.js'); require('../../../../config-provider/ConfigContext.js'); require('../../../../_chunks/dep-fa2097c1.js'); require('../../../../_chunks/dep-f6f16bd8.js'); require('dayjs'); require('../../../../_chunks/dep-59bb0827.js'); require('../../../../_chunks/dep-68f8743f.js'); require('../../../../_chunks/dep-a8d0483a.js'); require('../../../../_chunks/dep-b7e21379.js'); require('../../../../_chunks/dep-73937edb.js'); require('../../../../_chunks/dep-8d4e8f1c.js'); require('../../../../_chunks/dep-1d022321.js'); require('../../../../_chunks/dep-ab08e148.js'); require('../../../../_chunks/dep-9df70348.js'); require('../../../../_chunks/dep-af16359b.js'); require('../../../../_chunks/dep-e11afe29.js'); require('../../../../_chunks/dep-346ac5f4.js'); require('../../../../_chunks/dep-612ec5c9.js'); require('../../../../_chunks/dep-4d25d6c0.js'); require('../../../../_chunks/dep-496c0353.js'); require('../../../../_chunks/dep-1f530d81.js'); require('../../../../_chunks/dep-a4bc3144.js'); require('../../../../_chunks/dep-535a3b69.js'); require('../../../../_chunks/dep-d11b328f.js'); require('../../../../hooks/useGlobalIcon.js'); require('../../../../input/InputGroup.js'); require('../../../../hooks/useControlled.js'); require('../../../../_util/noop.js'); require('../../../../_chunks/dep-35df84a1.js'); require('../../../../_chunks/dep-fe42fca8.js'); require('../../../../_chunks/dep-4546f1ae.js'); require('../../../../_chunks/dep-dc26f226.js'); require('../../../../_chunks/dep-02a1b59c.js'); require('../../../../locale/LocalReceiver.js'); require('../../../../config-provider/ConfigProvider.js'); require('../../../../_chunks/dep-48ac011e.js'); require('../../../../_chunks/dep-c4eb94d2.js'); require('../../../../_chunks/dep-d5a77c7c.js'); require('../../../../_chunks/dep-b7847924.js'); require('../../../../_chunks/dep-0d35f53a.js'); require('../../../../_chunks/dep-d8727aa2.js'); require('../../../../_chunks/dep-440a0ba0.js'); require('../../../../input/defaultProps.js'); require('../../../../_util/parseTNode.js'); require('../../../../_chunks/dep-fca46a1f.js'); require('../../../../input/useLengthLimit.js'); require('../../../../_chunks/dep-9ecc1939.js'); require('../../../../_chunks/dep-82a8b824.js'); require('../../../../hooks/useDefaultProps.js'); require('../../../../input-number/InputNumber.js'); require('../../../../button/index.js'); require('../../../../button/Button.js'); require('../../../../hooks/useDomRefCallback.js'); require('../../../../hooks/useRipple.js'); require('../../../../hooks/useAnimation.js'); require('../../../../_util/setStyle.js'); require('../../../../loading/index.js'); require('../../../../loading/Loading.js'); require('../../../../common/Portal.js'); require('react-dom'); require('../../../../_chunks/dep-c43c91af.js'); require('../../../../loading/defaultProps.js'); require('../../../../loading/plugin.js'); require('../../../../_util/react-render.js'); require('../../../../_chunks/dep-e9660f30.js'); require('../../../../common/PluginContainer.js'); require('../../../../button/defaultProps.js'); require('../../../../input-number/useInputNumber.js'); require('../../../../_chunks/dep-8b01d649.js'); require('../../../../hooks/useCommonClassName.js'); require('../../../../input-number/defaultProps.js'); require('../../../../_chunks/dep-30d1d019.js'); require('../../../../_chunks/dep-a817745a.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var FormatInputs = function FormatInputs(props) { var format = props.format, enableAlpha = props.enableAlpha, inputProps = props.inputProps, disabled = props.disabled, onInputChange = props.onInputChange, color$1 = props.color; var lastModelValue = React.useRef({}); var formatValueRef = React.useRef({}); var object2color = function object2color(f) { return color.Color.object2color(formatValueRef.current, f); }; var getFormatColorMap = function getFormatColorMap(type) { if (type === "encode") { return { HSV: color$1.getHsva(), HSL: color$1.getHsla(), RGB: color$1.getRgba(), CMYK: color$1.getCmyk(), CSS: { css: color$1.css }, HEX: { hex: color$1.hex } }; } return { HSV: object2color("HSV"), HSL: object2color("HSL"), RGB: object2color("RGB"), CMYK: object2color("CMYK"), CSS: formatValueRef.current.css, HEX: formatValueRef.current.hex }; }; var updateModelValue = function updateModelValue() { var values = getFormatColorMap("encode")[format]; values.a = Math.round(color$1.alpha * 100); var changedFormatValue = {}; Object.keys(values).forEach(function (key) { if (values[key] !== formatValueRef.current[key]) { changedFormatValue[key] = values[key]; } lastModelValue.current[key] = values[key]; }); if (Object.keys(changedFormatValue).length > 0) { formatValueRef.current = values; } }; updateModelValue(); var throttleUpdate = throttle.throttle(updateModelValue, 100); var inputConfigs = function inputConfigs() { var configs = toConsumableArray._toConsumableArray(colorPicker_components_panel_format_config.FORMAT_INPUT_CONFIG[format]); if (enableAlpha) { configs.push({ type: "inputNumber", key: "a", min: 0, max: 100, format: function format(value) { return "".concat(value, "%"); }, flex: 1.15 }); } return configs; }; var handleInputChange = function handleInputChange(key, v) { if (v === lastModelValue.current[key]) { return; } var newFormatValue = _objectSpread(_objectSpread({}, formatValueRef.current), {}, defineProperty._defineProperty({}, key, v)); formatValueRef.current = newFormatValue; lastModelValue.current[key] = v; var value = getFormatColorMap("decode")[format]; onInputChange(value, formatValueRef.current.a / 100, key, v); }; React.useEffect(function () { throttleUpdate(); }, [color$1.saturation, color$1.hue, color$1.value, color$1.alpha, format]); return /* @__PURE__ */React__default["default"].createElement("div", { className: "input-group" }, inputConfigs().map(function (config) { var commonProps = _objectSpread(_objectSpread({}, inputProps), {}, defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({ title: formatValueRef.current[config.key] }, config.type === "input" ? "defaultValue" : "value", formatValueRef.current[config.key]), "align", "center"), "disabled", disabled), "size", "small"), "onChange", config.type === "input" ? Function.prototype : function (v) { return handleInputChange(config.key, v || config.min); }), "onBlur", function onBlur(v) { return handleInputChange(config.key, v); }), "onEnter", function onEnter(v) { return handleInputChange(config.key, v); })); return /* @__PURE__ */React__default["default"].createElement("div", { className: "input-group__item", key: config.key, style: { flex: config.flex || 1 } }, config.type === "input" ? /* @__PURE__ */React__default["default"].createElement(input_index.Input, _objectSpread(_objectSpread({}, commonProps), {}, { key: commonProps.defaultValue, maxlength: format === "HEX" ? 9 : void 0 })) : /* @__PURE__ */React__default["default"].createElement(inputNumber_index.InputNumber, _objectSpread(_objectSpread({}, commonProps), {}, { min: config.min, max: config.max, step: 1, format: config.format, theme: "normal" }))); })); }; var FormatInput = /*#__PURE__*/React__default["default"].memo(FormatInputs); exports["default"] = FormatInput; //# sourceMappingURL=inputs.js.map