tdesign-react
Version:
TDesign Component for React
157 lines (153 loc) • 6.37 kB
JavaScript
/**
* tdesign v1.16.2
* (c) 2025 tdesign
* @license MIT
*/
import { _ as _defineProperty } from '../_chunks/dep-d67deb2c.js';
import React, { useRef, useImperativeHandle, forwardRef } from 'react';
import { ChevronDownIcon, RemoveIcon, ChevronUpIcon, AddIcon } from 'tdesign-icons-react';
import classNames from 'classnames';
import { Input } from '../input/index.js';
import { Button } from '../button/index.js';
import useInputNumber from './useInputNumber.js';
import useGlobalIcon from '../hooks/useGlobalIcon.js';
import { inputNumberDefaultProps } from './defaultProps.js';
import useDefaultProps from '../hooks/useDefaultProps.js';
import '../_chunks/dep-8abcbcbc.js';
import '../input/Input.js';
import '../_chunks/dep-ed34fbd4.js';
import '../_chunks/dep-10d5731f.js';
import '../_chunks/dep-74a10cfb.js';
import 'lodash-es';
import '../_util/forwardRefWithStatics.js';
import 'hoist-non-react-statics';
import '../_util/parseTNode.js';
import '../_chunks/dep-1144c9da.js';
import '../_chunks/dep-2ba7b13f.js';
import '../hooks/useConfig.js';
import '../config-provider/ConfigContext.js';
import '../locale/zh_CN.js';
import '../_chunks/dep-751cada9.js';
import 'dayjs';
import '../_chunks/dep-37c4dbb1.js';
import '../hooks/useControlled.js';
import '../_util/noop.js';
import '../hooks/useLayoutEffect.js';
import '../_chunks/dep-ca8d3fa0.js';
import '../locale/LocalReceiver.js';
import '../config-provider/index.js';
import '../config-provider/ConfigProvider.js';
import '../config-provider/type.js';
import '../input/defaultProps.js';
import '../input/InputGroup.js';
import '../input/useLengthLimit.js';
import '../_chunks/dep-624e7b27.js';
import '../_chunks/dep-a3a3e527.js';
import '../input/style/css.js';
import '../input/type.js';
import '../button/Button.js';
import '../hooks/useDomRefCallback.js';
import '../hooks/useRipple.js';
import '../_chunks/dep-79351403.js';
import '../hooks/useAnimation.js';
import '../loading/index.js';
import '../loading/Loading.js';
import '../common/Portal.js';
import 'react-dom';
import '../loading/defaultProps.js';
import '../loading/gradient.js';
import '../loading/plugin.js';
import '../_util/react-render.js';
import '../_chunks/dep-d26972d5.js';
import '../common/PluginContainer.js';
import '../loading/style/css.js';
import '../loading/type.js';
import '../button/defaultProps.js';
import '../button/style/css.js';
import '../button/type.js';
import '../_chunks/dep-797b1cd7.js';
import '../hooks/useCommonClassName.js';
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(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; }
function TdInputNumber(originalProps, ref) {
var _useGlobalIcon = useGlobalIcon({
ChevronDownIcon: ChevronDownIcon,
RemoveIcon: RemoveIcon,
ChevronUpIcon: ChevronUpIcon,
AddIcon: AddIcon
}),
ChevronDownIcon$1 = _useGlobalIcon.ChevronDownIcon,
RemoveIcon$1 = _useGlobalIcon.RemoveIcon,
ChevronUpIcon$1 = _useGlobalIcon.ChevronUpIcon,
AddIcon$1 = _useGlobalIcon.AddIcon;
var props = useDefaultProps(originalProps, inputNumberDefaultProps);
var _useInputNumber = useInputNumber(props),
classPrefix = _useInputNumber.classPrefix,
wrapClasses = _useInputNumber.wrapClasses,
addClasses = _useInputNumber.addClasses,
reduceClasses = _useInputNumber.reduceClasses,
listeners = _useInputNumber.listeners,
isError = _useInputNumber.isError,
inputRef = _useInputNumber.inputRef,
userInput = _useInputNumber.userInput,
handleAdd = _useInputNumber.handleAdd,
handleReduce = _useInputNumber.handleReduce,
onInnerInputChange = _useInputNumber.onInnerInputChange;
var wrapRef = useRef(null);
var status = isError ? "error" : props.status;
var addIcon = props.theme === "column" ? /* @__PURE__ */React.createElement(ChevronUpIcon$1, {
size: props.size
}) : /* @__PURE__ */React.createElement(AddIcon$1, {
size: props.size
});
var reduceIcon = props.theme === "column" ? /* @__PURE__ */React.createElement(ChevronDownIcon$1, {
size: props.size
}) : /* @__PURE__ */React.createElement(RemoveIcon$1, {
size: props.size
});
useImperativeHandle(ref, function () {
return {
currentElement: wrapRef.current,
inputElement: inputRef.current
};
});
return /* @__PURE__ */React.createElement("div", {
className: classNames(wrapClasses, props.className),
style: props.style,
ref: wrapRef
}, props.theme !== "normal" && /* @__PURE__ */React.createElement(Button, {
className: reduceClasses,
disabled: props.disabled,
onClick: handleReduce,
variant: "outline",
shape: "square",
icon: reduceIcon
}), /* @__PURE__ */React.createElement(Input, _objectSpread(_objectSpread({
ref: inputRef,
autocomplete: "off",
disabled: props.disabled,
readOnly: props.readOnly || props.readonly,
placeholder: props.placeholder,
autoWidth: props.autoWidth,
align: props.align || (props.theme === "row" ? "center" : void 0),
status: status,
label: props.label,
suffix: props.suffix,
value: userInput,
onChange: onInnerInputChange,
size: props.size
}, listeners), props.inputProps || {})), props.theme !== "normal" && /* @__PURE__ */React.createElement(Button, {
className: addClasses,
disabled: props.disabled,
onClick: handleAdd,
variant: "outline",
shape: "square",
icon: addIcon
}), props.tips && /* @__PURE__ */React.createElement("div", {
className: classNames("".concat(classPrefix, "-input__tips"), "".concat(classPrefix, "-input__tips--").concat(status))
}, props.tips));
}
var InputNumber = /*#__PURE__*/forwardRef(TdInputNumber);
InputNumber.displayName = "InputNumber";
export { InputNumber as default };
//# sourceMappingURL=InputNumber.js.map