tdesign-react
Version:
TDesign Component for React
234 lines (226 loc) • 10.3 kB
JavaScript
/**
* tdesign v1.11.6
* (c) 2025 tdesign
* @license MIT
*/
;
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