1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 | var _typeof3 = require("@babel/runtime/helpers/typeof");
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports.default = void 0;
|
9 | var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
10 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
11 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
12 | var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
13 | var _classnames = _interopRequireDefault(require("classnames"));
|
14 | var _react = _interopRequireWildcard(require("react"));
|
15 | var _commonUtils = require("./utils/commonUtils");
|
16 | function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
17 | function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
18 | var BaseInput = function BaseInput(props) {
|
19 | var _element$props, _element$props2;
|
20 | var inputEl = props.inputElement,
|
21 | children = props.children,
|
22 | prefixCls = props.prefixCls,
|
23 | prefix = props.prefix,
|
24 | suffix = props.suffix,
|
25 | addonBefore = props.addonBefore,
|
26 | addonAfter = props.addonAfter,
|
27 | className = props.className,
|
28 | style = props.style,
|
29 | disabled = props.disabled,
|
30 | readOnly = props.readOnly,
|
31 | focused = props.focused,
|
32 | triggerFocus = props.triggerFocus,
|
33 | allowClear = props.allowClear,
|
34 | value = props.value,
|
35 | handleReset = props.handleReset,
|
36 | hidden = props.hidden,
|
37 | classes = props.classes,
|
38 | classNames = props.classNames,
|
39 | dataAttrs = props.dataAttrs,
|
40 | styles = props.styles,
|
41 | components = props.components;
|
42 | var inputElement = children !== null && children !== void 0 ? children : inputEl;
|
43 | var AffixWrapperComponent = (components === null || components === void 0 ? void 0 : components.affixWrapper) || 'span';
|
44 | var GroupWrapperComponent = (components === null || components === void 0 ? void 0 : components.groupWrapper) || 'span';
|
45 | var WrapperComponent = (components === null || components === void 0 ? void 0 : components.wrapper) || 'span';
|
46 | var GroupAddonComponent = (components === null || components === void 0 ? void 0 : components.groupAddon) || 'span';
|
47 | var containerRef = (0, _react.useRef)(null);
|
48 | var onInputClick = function onInputClick(e) {
|
49 | var _containerRef$current;
|
50 | if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(e.target)) {
|
51 | triggerFocus === null || triggerFocus === void 0 || triggerFocus();
|
52 | }
|
53 | };
|
54 | var element = (0, _react.cloneElement)(inputElement, {
|
55 | value: value
|
56 | });
|
57 |
|
58 |
|
59 | if ((0, _commonUtils.hasPrefixSuffix)(props)) {
|
60 | var _clsx2;
|
61 |
|
62 | var clearIcon = null;
|
63 | if (allowClear) {
|
64 | var _clsx;
|
65 | var needClear = !disabled && !readOnly && value;
|
66 | var clearIconCls = "".concat(prefixCls, "-clear-icon");
|
67 | var iconNode = (0, _typeof2.default)(allowClear) === 'object' && allowClear !== null && allowClear !== void 0 && allowClear.clearIcon ? allowClear.clearIcon : '✖';
|
68 | clearIcon = _react.default.createElement("span", {
|
69 | onClick: handleReset
|
70 |
|
71 |
|
72 | ,
|
73 | onMouseDown: function onMouseDown(e) {
|
74 | return e.preventDefault();
|
75 | },
|
76 | className: (0, _classnames.default)(clearIconCls, (_clsx = {}, (0, _defineProperty2.default)(_clsx, "".concat(clearIconCls, "-hidden"), !needClear), (0, _defineProperty2.default)(_clsx, "".concat(clearIconCls, "-has-suffix"), !!suffix), _clsx)),
|
77 | role: "button",
|
78 | tabIndex: -1
|
79 | }, iconNode);
|
80 | }
|
81 | var affixWrapperPrefixCls = "".concat(prefixCls, "-affix-wrapper");
|
82 | var affixWrapperCls = (0, _classnames.default)(affixWrapperPrefixCls, (_clsx2 = {}, (0, _defineProperty2.default)(_clsx2, "".concat(prefixCls, "-disabled"), disabled), (0, _defineProperty2.default)(_clsx2, "".concat(affixWrapperPrefixCls, "-disabled"), disabled), (0, _defineProperty2.default)(_clsx2, "".concat(affixWrapperPrefixCls, "-focused"), focused), (0, _defineProperty2.default)(_clsx2, "".concat(affixWrapperPrefixCls, "-readonly"), readOnly), (0, _defineProperty2.default)(_clsx2, "".concat(affixWrapperPrefixCls, "-input-with-clear-btn"), suffix && allowClear && value), _clsx2), classes === null || classes === void 0 ? void 0 : classes.affixWrapper, classNames === null || classNames === void 0 ? void 0 : classNames.affixWrapper);
|
83 | var suffixNode = (suffix || allowClear) && _react.default.createElement("span", {
|
84 | className: (0, _classnames.default)("".concat(prefixCls, "-suffix"), classNames === null || classNames === void 0 ? void 0 : classNames.suffix),
|
85 | style: styles === null || styles === void 0 ? void 0 : styles.suffix
|
86 | }, clearIcon, suffix);
|
87 | element = _react.default.createElement(AffixWrapperComponent, (0, _extends2.default)({
|
88 | className: affixWrapperCls,
|
89 | style: styles === null || styles === void 0 ? void 0 : styles.affixWrapper,
|
90 | onClick: onInputClick
|
91 | }, dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.affixWrapper, {
|
92 | ref: containerRef
|
93 | }), prefix && _react.default.createElement("span", {
|
94 | className: (0, _classnames.default)("".concat(prefixCls, "-prefix"), classNames === null || classNames === void 0 ? void 0 : classNames.prefix),
|
95 | style: styles === null || styles === void 0 ? void 0 : styles.prefix
|
96 | }, prefix), element, suffixNode);
|
97 | }
|
98 |
|
99 |
|
100 | if ((0, _commonUtils.hasAddon)(props)) {
|
101 | var wrapperCls = "".concat(prefixCls, "-group");
|
102 | var addonCls = "".concat(wrapperCls, "-addon");
|
103 | var groupWrapperCls = "".concat(wrapperCls, "-wrapper");
|
104 | var mergedWrapperClassName = (0, _classnames.default)("".concat(prefixCls, "-wrapper"), wrapperCls, classes === null || classes === void 0 ? void 0 : classes.wrapper, classNames === null || classNames === void 0 ? void 0 : classNames.wrapper);
|
105 | var mergedGroupClassName = (0, _classnames.default)(groupWrapperCls, (0, _defineProperty2.default)({}, "".concat(groupWrapperCls, "-disabled"), disabled), classes === null || classes === void 0 ? void 0 : classes.group, classNames === null || classNames === void 0 ? void 0 : classNames.groupWrapper);
|
106 |
|
107 |
|
108 |
|
109 | element = _react.default.createElement(GroupWrapperComponent, {
|
110 | className: mergedGroupClassName
|
111 | }, _react.default.createElement(WrapperComponent, {
|
112 | className: mergedWrapperClassName
|
113 | }, addonBefore && _react.default.createElement(GroupAddonComponent, {
|
114 | className: addonCls
|
115 | }, addonBefore), element, addonAfter && _react.default.createElement(GroupAddonComponent, {
|
116 | className: addonCls
|
117 | }, addonAfter)));
|
118 | }
|
119 |
|
120 |
|
121 | return _react.default.cloneElement(element, {
|
122 | className: (0, _classnames.default)((_element$props = element.props) === null || _element$props === void 0 ? void 0 : _element$props.className, className) || null,
|
123 | style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (_element$props2 = element.props) === null || _element$props2 === void 0 ? void 0 : _element$props2.style), style),
|
124 | hidden: hidden
|
125 | });
|
126 | };
|
127 | var _default = exports.default = BaseInput; |
\ | No newline at end of file |