@hi-ui/tree-select 4.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/lib/cjs/TreeSelect.js +280 -0
  4. package/lib/cjs/TreeSelect.js.map +1 -0
  5. package/lib/cjs/hooks/use-latest/lib/esm/index.js +65 -0
  6. package/lib/cjs/hooks/use-latest/lib/esm/index.js.map +1 -0
  7. package/lib/cjs/hooks/use-merge-refs/lib/esm/index.js +77 -0
  8. package/lib/cjs/hooks/use-merge-refs/lib/esm/index.js.map +1 -0
  9. package/lib/cjs/index.js +22 -0
  10. package/lib/cjs/index.js.map +1 -0
  11. package/lib/cjs/styles/index.scss.js +22 -0
  12. package/lib/cjs/styles/index.scss.js.map +1 -0
  13. package/lib/cjs/ui/input/lib/esm/Input.js +232 -0
  14. package/lib/cjs/ui/input/lib/esm/Input.js.map +1 -0
  15. package/lib/cjs/ui/input/lib/esm/MockInput.js +161 -0
  16. package/lib/cjs/ui/input/lib/esm/MockInput.js.map +1 -0
  17. package/lib/cjs/ui/input/lib/esm/TextArea.js +112 -0
  18. package/lib/cjs/ui/input/lib/esm/TextArea.js.map +1 -0
  19. package/lib/cjs/ui/input/lib/esm/styles/index.scss.js +32 -0
  20. package/lib/cjs/ui/input/lib/esm/styles/index.scss.js.map +1 -0
  21. package/lib/cjs/ui/input/lib/esm/use-input.js +108 -0
  22. package/lib/cjs/ui/input/lib/esm/use-input.js.map +1 -0
  23. package/lib/cjs/utils/dom-utils/lib/esm/index.js +34 -0
  24. package/lib/cjs/utils/dom-utils/lib/esm/index.js.map +1 -0
  25. package/lib/esm/TreeSelect.js +246 -0
  26. package/lib/esm/TreeSelect.js.map +1 -0
  27. package/lib/esm/hooks/use-latest/lib/esm/index.js +57 -0
  28. package/lib/esm/hooks/use-latest/lib/esm/index.js.map +1 -0
  29. package/lib/esm/hooks/use-merge-refs/lib/esm/index.js +69 -0
  30. package/lib/esm/hooks/use-merge-refs/lib/esm/index.js.map +1 -0
  31. package/lib/esm/index.js +12 -0
  32. package/lib/esm/index.js.map +1 -0
  33. package/lib/esm/styles/index.scss.js +17 -0
  34. package/lib/esm/styles/index.scss.js.map +1 -0
  35. package/lib/esm/ui/input/lib/esm/Input.js +208 -0
  36. package/lib/esm/ui/input/lib/esm/Input.js.map +1 -0
  37. package/lib/esm/ui/input/lib/esm/MockInput.js +139 -0
  38. package/lib/esm/ui/input/lib/esm/MockInput.js.map +1 -0
  39. package/lib/esm/ui/input/lib/esm/TextArea.js +90 -0
  40. package/lib/esm/ui/input/lib/esm/TextArea.js.map +1 -0
  41. package/lib/esm/ui/input/lib/esm/styles/index.scss.js +27 -0
  42. package/lib/esm/ui/input/lib/esm/styles/index.scss.js.map +1 -0
  43. package/lib/esm/ui/input/lib/esm/use-input.js +98 -0
  44. package/lib/esm/ui/input/lib/esm/use-input.js.map +1 -0
  45. package/lib/esm/utils/dom-utils/lib/esm/index.js +29 -0
  46. package/lib/esm/utils/dom-utils/lib/esm/index.js.map +1 -0
  47. package/lib/types/TreeSelect.d.ts +127 -0
  48. package/lib/types/context.d.ts +7 -0
  49. package/lib/types/index.d.ts +3 -0
  50. package/lib/types/types.d.ts +57 -0
  51. package/lib/types/use-tree-select.d.ts +8 -0
  52. package/package.json +73 -0
@@ -0,0 +1,69 @@
1
+ /** @LICENSE
2
+ * @hi-ui/tree-select
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/tree-select#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ import { useMemo } from 'react';
11
+ /** @LICENSE
12
+ * @hi-ui/use-merge-refs
13
+ * https://github.com/XiaoMi/hiui/tree/master/packages/hooks/use-merge-refs#readme
14
+ *
15
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
16
+ *
17
+ * This source code is licensed under the MIT license found in the
18
+ * LICENSE file in the root directory of this source tree.
19
+ */
20
+
21
+ /**
22
+ * A hook to merge multiple refs into a single function ref.
23
+ *
24
+ * @param refs
25
+ */
26
+
27
+ var useMergeRefs = function useMergeRefs() {
28
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
29
+ refs[_key] = arguments[_key];
30
+ }
31
+
32
+ return useMemo(function () {
33
+ return mergeRefs.apply(void 0, refs);
34
+ }, refs);
35
+ };
36
+ /**
37
+ * Merges multiple refs into a single function ref.
38
+ *
39
+ * @param refs
40
+ * @returns
41
+ */
42
+
43
+
44
+ function mergeRefs() {
45
+ for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
46
+ refs[_key2] = arguments[_key2];
47
+ } // Empty check
48
+
49
+
50
+ if (refs.some(function (ref) {
51
+ return ref;
52
+ }) === false) return null;
53
+ return function (value) {
54
+ refs.forEach(function (ref) {
55
+ setRef(ref, value);
56
+ });
57
+ };
58
+ }
59
+
60
+ function setRef(ref, value) {
61
+ if (typeof ref === 'function') {
62
+ ref(value);
63
+ } else if (ref) {
64
+ ref.current = value;
65
+ }
66
+ }
67
+
68
+ export { mergeRefs, useMergeRefs };
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../hooks/use-merge-refs/lib/esm/index.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/use-merge-refs\n * https://github.com/XiaoMi/hiui/tree/master/packages/hooks/use-merge-refs#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { useMemo } from 'react';\n/**\n * A hook to merge multiple refs into a single function ref.\n *\n * @param refs\n */\n\nvar useMergeRefs = function useMergeRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(function () {\n return mergeRefs.apply(void 0, refs);\n }, refs);\n};\n/**\n * Merges multiple refs into a single function ref.\n *\n * @param refs\n * @returns\n */\n\n\nfunction mergeRefs() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n } // Empty check\n\n\n if (refs.some(function (ref) {\n return ref;\n }) === false) return null;\n return function (value) {\n refs.forEach(function (ref) {\n setRef(ref, value);\n });\n };\n}\n\nfunction setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nexport { mergeRefs, useMergeRefs };\n//# sourceMappingURL=index.js.map\n"],"names":["useMergeRefs","refs","useMemo","mergeRefs","some","ref","value","setRef"],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA;;;;;;IAKaA,YAAY,GAAG,SAAfA,YAAe,GAAA;oCAAOC,IAAAA,GAAAA,IAAAA,KAAAA,CAAAA,IAAAA,GAAAA,IAAAA,GAAAA,GAAAA,IAAAA,GAAAA,MAAAA,IAAAA,IAAAA;AAAAA,IAAAA,IAAAA,CAAAA,IAAAA,CAAAA,GAAAA,SAAAA,CAAAA,IAAAA,CAAAA;;;SAC1BC,OAAO,CAAC,YAAA;WAAMC,SAAS,CAATA,KAAAA,CAAAA,KAAAA,CAAAA,EAAAA,IAAAA;AAAP,GAAA,EAAAF,IAAA;;AAGhB;;;;;;;;SAMgBE,YAAAA;qCAAgBF,IAAAA,GAAAA,IAAAA,KAAAA,CAAAA,KAAAA,GAAAA,KAAAA,GAAAA,GAAAA,KAAAA,GAAAA,OAAAA,KAAAA,IAAAA;AAAAA,IAAAA,IAAAA,CAAAA,KAAAA,CAAAA,GAAAA,SAAAA,CAAAA,KAAAA,CAAAA;AAAhBE,GAAAA;;;MAEVF,IAAI,CAAJG,IAAA,CAAU,UAAAC,GAAA,EAAA;WAASA;AAAnB,GAAA,MAA4B,OAAO,OAAA,IAAA;SAEhC,UAAAC,KAAA,EAAA;AACLL,IAAAA,IAAI,CAAJA,OAAAA,CAAa,UAAAI,GAAA,EAAA;AACXE,MAAAA,MAAM,CAAAF,GAAA,EAANE,KAAM,CAANA;AADFN,KAAAA;;;;AAMJ,SAAAM,MAAA,CAAAF,GAAA,EAAAC,KAAA,EAAA;MACM,OAAAD,GAAA,KAAe,YAAY;AAC7BA,IAAAA,GAAG,CAAHA,KAAG,CAAHA;SACK,IAAAA,GAAA,EAAS;AACdA,IAAAA,GAAG,CAAHA,OAAAA,GAAAA,KAAAA;;;;"}
@@ -0,0 +1,12 @@
1
+ /** @LICENSE
2
+ * @hi-ui/tree-select
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/tree-select#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ import './styles/index.scss.js';
11
+ export { TreeSelect, TreeSelect as default } from './TreeSelect.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,17 @@
1
+ /** @LICENSE
2
+ * @hi-ui/tree-select
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/tree-select#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n";
11
+
12
+ var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
13
+
14
+ __styleInject__(css_248z);
15
+
16
+ export default css_248z;
17
+ //# sourceMappingURL=index.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -0,0 +1,208 @@
1
+ /** @LICENSE
2
+ * @hi-ui/tree-select
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/tree-select#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ import { __rest } from 'tslib';
11
+ import React, { forwardRef, useMemo, isValidElement, useRef, useCallback, useState } from 'react';
12
+ import { getPrefixCls, cx } from '@hi-ui/classname';
13
+ import { __DEV__ } from '@hi-ui/env';
14
+ import { useMergeRefs } from '../../../../hooks/use-merge-refs/lib/esm/index.js';
15
+ import { CloseCircleFilled } from '@hi-ui/icons';
16
+ import { useInput } from './use-input.js';
17
+ /** @LICENSE
18
+ * @hi-ui/input
19
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
20
+ *
21
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
22
+ *
23
+ * This source code is licensed under the MIT license found in the
24
+ * LICENSE file in the root directory of this source tree.
25
+ */
26
+
27
+ var _prefix = getPrefixCls('input');
28
+ /**
29
+ * TODO: What is Input
30
+ */
31
+
32
+
33
+ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
34
+ var _a$prefixCls = _a.prefixCls,
35
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
36
+ _a$role = _a.role,
37
+ role = _a$role === void 0 ? 'input' : _a$role,
38
+ className = _a.className,
39
+ style = _a.style,
40
+ _a$type = _a.type,
41
+ type = _a$type === void 0 ? 'text' : _a$type,
42
+ _a$size = _a.size,
43
+ size = _a$size === void 0 ? 'md' : _a$size,
44
+ _a$appearance = _a.appearance,
45
+ appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
46
+ prepend = _a.prepend,
47
+ append = _a.append,
48
+ prefix = _a.prefix,
49
+ suffix = _a.suffix,
50
+ _a$clearableTrigger = _a.clearableTrigger,
51
+ clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,
52
+ _a$clearable = _a.clearable,
53
+ clearable = _a$clearable === void 0 ? false : _a$clearable,
54
+ _a$invalid = _a.invalid,
55
+ invalid = _a$invalid === void 0 ? false : _a$invalid,
56
+ name = _a.name,
57
+ autoFocus = _a.autoFocus,
58
+ disabled = _a.disabled,
59
+ readOnly = _a.readOnly,
60
+ maxLength = _a.maxLength,
61
+ placeholder = _a.placeholder,
62
+ defaultValue = _a.defaultValue,
63
+ valueProp = _a.value,
64
+ onChange = _a.onChange,
65
+ onFocus = _a.onFocus,
66
+ onBlur = _a.onBlur,
67
+ trimValueOnBlur = _a.trimValueOnBlur,
68
+ rest = __rest(_a, ["prefixCls", "role", "className", "style", "type", "size", "appearance", "prepend", "append", "prefix", "suffix", "clearableTrigger", "clearable", "invalid", "name", "autoFocus", "disabled", "readOnly", "maxLength", "placeholder", "defaultValue", "value", "onChange", "onFocus", "onBlur", "trimValueOnBlur"]); // @TODO: 临时方案,后面迁移至 InputGroup
69
+
70
+
71
+ var _useMemo = useMemo(function () {
72
+ var shouldUnset = [false, false]; // @ts-ignore
73
+ // @ts-ignore
74
+
75
+ if (
76
+ /*#__PURE__*/
77
+
78
+ /*#__PURE__*/
79
+ isValidElement(prepend) && ['Select', 'Button'].includes(prepend.type.HiName)) {
80
+ shouldUnset[0] = true;
81
+ } // @ts-ignore
82
+ // @ts-ignore
83
+
84
+
85
+ if (
86
+ /*#__PURE__*/
87
+
88
+ /*#__PURE__*/
89
+ isValidElement(append) && ['Select', 'Button'].includes(append.type.HiName)) {
90
+ shouldUnset[1] = true;
91
+ }
92
+
93
+ return shouldUnset;
94
+ }, [prepend, append]),
95
+ unsetPrepend = _useMemo[0],
96
+ unsetAppend = _useMemo[1];
97
+
98
+ var inputElementRef = useRef(null);
99
+ var proxyOnChange = useCallback(function (value, evt) {
100
+ if (!onChange) return;
101
+ onChangeMock(onChange, evt, inputElementRef.current, value);
102
+ }, [onChange]);
103
+
104
+ var _useInput = useInput({
105
+ name: name,
106
+ autoFocus: autoFocus,
107
+ disabled: disabled,
108
+ readOnly: readOnly,
109
+ maxLength: maxLength,
110
+ placeholder: placeholder,
111
+ defaultValue: defaultValue,
112
+ value: valueProp,
113
+ onChange: proxyOnChange,
114
+ onFocus: onFocus,
115
+ onBlur: onBlur,
116
+ trimValueOnBlur: trimValueOnBlur
117
+ }),
118
+ tryChangeValue = _useInput.tryChangeValue,
119
+ focused = _useInput.focused,
120
+ value = _useInput.value,
121
+ getInputProps = _useInput.getInputProps;
122
+
123
+ var focus = useCallback(function () {
124
+ var _a;
125
+
126
+ (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();
127
+ }, []);
128
+ var handleReset = useCallback(function (evt) {
129
+ tryChangeValue('', evt);
130
+ focus();
131
+ }, [tryChangeValue, focus]);
132
+
133
+ var _useState = useState(false),
134
+ hover = _useState[0],
135
+ setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
136
+
137
+
138
+ var showClearableIcon = clearable && !!value && !disabled;
139
+ var mergedRef = useMergeRefs(ref, inputElementRef);
140
+ var cls = cx(className, prefixCls + "__outer", prepend && prefixCls + "__outer--prepend", prepend && unsetPrepend && prefixCls + "__outer--prepend-unset", append && prefixCls + "__outer--append", append && unsetAppend && prefixCls + "__outer--append-unset", prefixCls + "--appearance-" + appearance, prefixCls + "--size-" + size);
141
+ return /*#__PURE__*/React.createElement("div", {
142
+ role: role,
143
+ className: cls,
144
+ style: style
145
+ }, prepend ? /*#__PURE__*/React.createElement("div", {
146
+ className: prefixCls + "__prepend"
147
+ }, prepend) : null, /*#__PURE__*/React.createElement("div", {
148
+ className: cx(prefixCls + "__inner", prefix && prefixCls + "__inner--prefix", suffix && prefixCls + "__inner--suffix", // TODO: bem规范统一
149
+ focused && "focused", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid'),
150
+ onMouseOver: function onMouseOver(e) {
151
+ setHover(true);
152
+ },
153
+ onMouseLeave: function onMouseLeave(e) {
154
+ setHover(false);
155
+ }
156
+ }, prefix ? /*#__PURE__*/React.createElement("span", {
157
+ className: prefixCls + "__prefix"
158
+ }, prefix) : null, /*#__PURE__*/React.createElement("input", Object.assign({
159
+ ref: mergedRef,
160
+ className: cx(prefixCls, focused && "focused", disabled && 'disabled', readOnly && 'readonly'),
161
+ type: type
162
+ }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement("span", {
163
+ className: prefixCls + "__suffix"
164
+ }, showClearableIcon ? /*#__PURE__*/React.createElement("span", {
165
+ className: cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && 'active'),
166
+ role: "button",
167
+ tabIndex: -1,
168
+ onClick: handleReset
169
+ }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : null, suffix) : null), append ? /*#__PURE__*/React.createElement("div", {
170
+ className: prefixCls + "__append"
171
+ }, append) : null);
172
+ });
173
+
174
+ if (__DEV__) {
175
+ Input.displayName = 'Input';
176
+ }
177
+ /**
178
+ * 模拟伪装目标事件 target
179
+ *
180
+ * @param target
181
+ * @param evt
182
+ * @param onChange
183
+ * @param targetValue
184
+ * @returns
185
+ */
186
+
187
+
188
+ function onChangeMock(onChange, evt, target, targetValue) {
189
+ var event = evt; // 点击 clearIcon 或者 失焦 trim 时,都会代理 onChange 的事件对象 target 指向 input.target
190
+
191
+ if (evt.type !== 'change') {
192
+ if (!target) return;
193
+ var originalTargetValue = target.value;
194
+ event = Object.create(evt);
195
+ event.target = target;
196
+ event.currentTarget = target;
197
+ target.value = targetValue;
198
+ onChange(event); // 重置为之前值
199
+
200
+ target.value = originalTargetValue;
201
+ return;
202
+ }
203
+
204
+ onChange(event);
205
+ }
206
+
207
+ export { Input, onChangeMock };
208
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.js","sources":["../../../../../../../input/lib/esm/Input.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { __rest } from 'tslib';\nimport React, { forwardRef, useMemo, isValidElement, useRef, useCallback, useState } from 'react';\nimport { getPrefixCls, cx } from '@hi-ui/classname';\nimport { __DEV__ } from '@hi-ui/env';\nimport { useMergeRefs } from '@hi-ui/use-merge-refs';\nimport { CloseCircleFilled } from '@hi-ui/icons';\nimport { useInput } from './use-input.js';\n\nvar _prefix = getPrefixCls('input');\n/**\n * TODO: What is Input\n */\n\n\nvar Input = /*#__PURE__*/forwardRef(function (_a, ref) {\n var _a$prefixCls = _a.prefixCls,\n prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,\n _a$role = _a.role,\n role = _a$role === void 0 ? 'input' : _a$role,\n className = _a.className,\n style = _a.style,\n _a$type = _a.type,\n type = _a$type === void 0 ? 'text' : _a$type,\n _a$size = _a.size,\n size = _a$size === void 0 ? 'md' : _a$size,\n _a$appearance = _a.appearance,\n appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,\n prepend = _a.prepend,\n append = _a.append,\n prefix = _a.prefix,\n suffix = _a.suffix,\n _a$clearableTrigger = _a.clearableTrigger,\n clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,\n _a$clearable = _a.clearable,\n clearable = _a$clearable === void 0 ? false : _a$clearable,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n name = _a.name,\n autoFocus = _a.autoFocus,\n disabled = _a.disabled,\n readOnly = _a.readOnly,\n maxLength = _a.maxLength,\n placeholder = _a.placeholder,\n defaultValue = _a.defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\n trimValueOnBlur = _a.trimValueOnBlur,\n rest = __rest(_a, [\"prefixCls\", \"role\", \"className\", \"style\", \"type\", \"size\", \"appearance\", \"prepend\", \"append\", \"prefix\", \"suffix\", \"clearableTrigger\", \"clearable\", \"invalid\", \"name\", \"autoFocus\", \"disabled\", \"readOnly\", \"maxLength\", \"placeholder\", \"defaultValue\", \"value\", \"onChange\", \"onFocus\", \"onBlur\", \"trimValueOnBlur\"]); // @TODO: 临时方案,后面迁移至 InputGroup\n\n\n var _useMemo = useMemo(function () {\n var shouldUnset = [false, false]; // @ts-ignore\n // @ts-ignore\n\n if ( /*#__PURE__*/isValidElement(prepend) && ['Select', 'Button'].includes(prepend.type.HiName)) {\n shouldUnset[0] = true;\n } // @ts-ignore\n // @ts-ignore\n\n\n if ( /*#__PURE__*/isValidElement(append) && ['Select', 'Button'].includes(append.type.HiName)) {\n shouldUnset[1] = true;\n }\n\n return shouldUnset;\n }, [prepend, append]),\n unsetPrepend = _useMemo[0],\n unsetAppend = _useMemo[1];\n\n var inputElementRef = useRef(null);\n var proxyOnChange = useCallback(function (value, evt) {\n if (!onChange) return;\n onChangeMock(onChange, evt, inputElementRef.current, value);\n }, [onChange]);\n\n var _useInput = useInput({\n name: name,\n autoFocus: autoFocus,\n disabled: disabled,\n readOnly: readOnly,\n maxLength: maxLength,\n placeholder: placeholder,\n defaultValue: defaultValue,\n value: valueProp,\n onChange: proxyOnChange,\n onFocus: onFocus,\n onBlur: onBlur,\n trimValueOnBlur: trimValueOnBlur\n }),\n tryChangeValue = _useInput.tryChangeValue,\n focused = _useInput.focused,\n value = _useInput.value,\n getInputProps = _useInput.getInputProps;\n\n var focus = useCallback(function () {\n var _a;\n\n (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n }, []);\n var handleReset = useCallback(function (evt) {\n tryChangeValue('', evt);\n focus();\n }, [tryChangeValue, focus]);\n\n var _useState = useState(false),\n hover = _useState[0],\n setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚\n\n\n var showClearableIcon = clearable && !!value && !disabled;\n var mergedRef = useMergeRefs(ref, inputElementRef);\n var cls = cx(className, prefixCls + \"__outer\", prepend && prefixCls + \"__outer--prepend\", prepend && unsetPrepend && prefixCls + \"__outer--prepend-unset\", append && prefixCls + \"__outer--append\", append && unsetAppend && prefixCls + \"__outer--append-unset\", prefixCls + \"--appearance-\" + appearance, prefixCls + \"--size-\" + size);\n return /*#__PURE__*/React.createElement(\"div\", {\n role: role,\n className: cls,\n style: style\n }, prepend ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__prepend\"\n }, prepend) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: cx(prefixCls + \"__inner\", prefix && prefixCls + \"__inner--prefix\", suffix && prefixCls + \"__inner--suffix\", // TODO: bem规范统一\n focused && \"focused\", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid'),\n onMouseOver: function onMouseOver(e) {\n setHover(true);\n },\n onMouseLeave: function onMouseLeave(e) {\n setHover(false);\n }\n }, prefix ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__prefix\"\n }, prefix) : null, /*#__PURE__*/React.createElement(\"input\", Object.assign({\n ref: mergedRef,\n className: cx(prefixCls, focused && \"focused\", disabled && 'disabled', readOnly && 'readonly'),\n type: type\n }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__suffix\"\n }, showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: cx(prefixCls + \"__clear\", (clearableTrigger === 'always' || hover) && 'active'),\n role: \"button\",\n tabIndex: -1,\n onClick: handleReset\n }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : null, suffix) : null), append ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__append\"\n }, append) : null);\n});\n\nif (__DEV__) {\n Input.displayName = 'Input';\n}\n/**\n * 模拟伪装目标事件 target\n *\n * @param target\n * @param evt\n * @param onChange\n * @param targetValue\n * @returns\n */\n\n\nfunction onChangeMock(onChange, evt, target, targetValue) {\n var event = evt; // 点击 clearIcon 或者 失焦 trim 时,都会代理 onChange 的事件对象 target 指向 input.target\n\n if (evt.type !== 'change') {\n if (!target) return;\n var originalTargetValue = target.value;\n event = Object.create(evt);\n event.target = target;\n event.currentTarget = target;\n target.value = targetValue;\n onChange(event); // 重置为之前值\n\n target.value = originalTargetValue;\n return;\n }\n\n onChange(event);\n}\n\nexport { Input, onChangeMock };\n//# sourceMappingURL=Input.js.map\n"],"names":["_prefix","getPrefixCls","Input","forwardRef","_a","ref","prefixCls","role","_a$role","className","style","type","_a$type","size","_a$size","appearance","_a$appearance","prepend","append","prefix","suffix","clearableTrigger","_a$clearableTrigger","clearable","_a$clearable","invalid","_a$invalid","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","_useMemo","unsetAppend","inputElementRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","useInput","tryChangeValue","_useInput","focused","getInputProps","focus","handleReset","useState","hover","_useState","setHover","showClearableIcon","mergedRef","useMergeRefs","cls","cx","React","onMouseOver","e","onMouseLeave","tabIndex","onClick","__DEV__","target","targetValue","event","originalTargetValue","Object"],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /** @LICENSE
2
+ * @hi-ui/tree-select
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/tree-select#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ import { __rest } from 'tslib';
11
+ import React, { forwardRef, useMemo, useCallback, useState } from 'react';
12
+ import { getPrefixCls, cx } from '@hi-ui/classname';
13
+ import { __DEV__ } from '@hi-ui/env';
14
+ import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
15
+ import { CloseCircleFilled } from '@hi-ui/icons';
16
+ /** @LICENSE
17
+ * @hi-ui/input
18
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
19
+ *
20
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */
25
+
26
+ var _role = 'mock-input';
27
+
28
+ var _prefix = getPrefixCls(_role);
29
+
30
+ var NOOP_VALUE = '';
31
+ var NOOP_ARRAY = [];
32
+ /**
33
+ * 支持自定义渲染输入框内容,暂时仅供内部 Picker 类组件使用,不对外提供
34
+ */
35
+
36
+ var MockInput = /*#__PURE__*/forwardRef(function (_a, ref) {
37
+ var _a$prefixCls = _a.prefixCls,
38
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
39
+ _a$role = _a.role,
40
+ role = _a$role === void 0 ? _role : _a$role,
41
+ className = _a.className,
42
+ _a$data = _a.data,
43
+ data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
44
+ _a$defaultValue = _a.defaultValue,
45
+ defaultValue = _a$defaultValue === void 0 ? NOOP_VALUE : _a$defaultValue,
46
+ valueProp = _a.value,
47
+ onChange = _a.onChange,
48
+ placeholder = _a.placeholder,
49
+ _a$disabled = _a.disabled,
50
+ disabled = _a$disabled === void 0 ? false : _a$disabled,
51
+ _a$clearable = _a.clearable,
52
+ clearable = _a$clearable === void 0 ? false : _a$clearable,
53
+ _a$focused = _a.focused,
54
+ focused = _a$focused === void 0 ? false : _a$focused,
55
+ _a$invalid = _a.invalid,
56
+ invalid = _a$invalid === void 0 ? false : _a$invalid,
57
+ _a$readOnly = _a.readOnly,
58
+ readOnly = _a$readOnly === void 0 ? false : _a$readOnly,
59
+ _a$size = _a.size,
60
+ size = _a$size === void 0 ? 'md' : _a$size,
61
+ _a$appearance = _a.appearance,
62
+ appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
63
+ _a$clearableTrigger = _a.clearableTrigger,
64
+ clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,
65
+ displayRender = _a.displayRender,
66
+ suffix = _a.suffix,
67
+ _onMouseOver = _a.onMouseOver,
68
+ _onMouseLeave = _a.onMouseLeave,
69
+ rest = __rest(_a, ["prefixCls", "role", "className", "data", "defaultValue", "value", "onChange", "placeholder", "disabled", "clearable", "focused", "invalid", "readOnly", "size", "appearance", "clearableTrigger", "displayRender", "suffix", "onMouseOver", "onMouseLeave"]);
70
+
71
+ var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),
72
+ value = _useUncontrolledState[0],
73
+ tryChangeValue = _useUncontrolledState[1];
74
+
75
+ var displayValue = useMemo(function () {
76
+ if (value === '') return null;
77
+ var displayItem = data.find(function (item) {
78
+ return item.id === value;
79
+ });
80
+ if (!displayItem) return null;
81
+
82
+ if (displayRender) {
83
+ return displayRender(displayItem);
84
+ }
85
+
86
+ return displayItem.title;
87
+ }, [data, value, displayRender]);
88
+ var handleClear = useCallback(function (evt) {
89
+ if (disabled) return;
90
+ evt.stopPropagation();
91
+ tryChangeValue(NOOP_VALUE);
92
+ }, [tryChangeValue, disabled]);
93
+
94
+ var _useState = useState(false),
95
+ hover = _useState[0],
96
+ setHover = _useState[1];
97
+
98
+ var trySetHover = useCallback(function (hovered) {
99
+ if (disabled) return;
100
+ setHover(hovered);
101
+ }, [disabled]);
102
+ var hasValue = !!displayValue; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清除
103
+
104
+ var showClearableIcon = useMemo(function () {
105
+ return clearable && hasValue && !disabled && (clearableTrigger === 'always' || hover);
106
+ }, [clearable, hasValue, disabled, clearableTrigger, hover]);
107
+ var cls = cx(prefixCls, className, prefixCls + "--appearance-" + appearance, prefixCls + "--size-" + size, focused && "focused", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid');
108
+ return /*#__PURE__*/React.createElement("div", Object.assign({
109
+ ref: ref,
110
+ role: role,
111
+ className: cls,
112
+ onMouseOver: function onMouseOver(evt) {
113
+ trySetHover(true);
114
+ _onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver(evt);
115
+ },
116
+ onMouseLeave: function onMouseLeave(evt) {
117
+ trySetHover(false);
118
+ _onMouseLeave === null || _onMouseLeave === void 0 ? void 0 : _onMouseLeave(evt);
119
+ }
120
+ }, rest), hasValue ? /*#__PURE__*/React.createElement("span", {
121
+ className: prefixCls + "__value"
122
+ }, displayValue) : /*#__PURE__*/React.createElement("span", {
123
+ className: prefixCls + "__placeholder"
124
+ }, placeholder), suffix || showClearableIcon ? /*#__PURE__*/React.createElement("span", {
125
+ className: prefixCls + "__suffix"
126
+ }, showClearableIcon ? /*#__PURE__*/React.createElement("span", {
127
+ role: "button",
128
+ tabIndex: -1,
129
+ className: cx(prefixCls + "__clear", 'active'),
130
+ onClick: handleClear
131
+ }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : suffix) : null);
132
+ });
133
+
134
+ if (__DEV__) {
135
+ MockInput.displayName = 'MockInput';
136
+ }
137
+
138
+ export { MockInput };
139
+ //# sourceMappingURL=MockInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockInput.js","sources":["../../../../../../../input/lib/esm/MockInput.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { __rest } from 'tslib';\nimport React, { forwardRef, useMemo, useCallback, useState } from 'react';\nimport { getPrefixCls, cx } from '@hi-ui/classname';\nimport { __DEV__ } from '@hi-ui/env';\nimport { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';\nimport { CloseCircleFilled } from '@hi-ui/icons';\nvar _role = 'mock-input';\n\nvar _prefix = getPrefixCls(_role);\n\nvar NOOP_VALUE = '';\nvar NOOP_ARRAY = [];\n/**\n * 支持自定义渲染输入框内容,暂时仅供内部 Picker 类组件使用,不对外提供\n */\n\nvar MockInput = /*#__PURE__*/forwardRef(function (_a, ref) {\n var _a$prefixCls = _a.prefixCls,\n prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,\n _a$role = _a.role,\n role = _a$role === void 0 ? _role : _a$role,\n className = _a.className,\n _a$data = _a.data,\n data = _a$data === void 0 ? NOOP_ARRAY : _a$data,\n _a$defaultValue = _a.defaultValue,\n defaultValue = _a$defaultValue === void 0 ? NOOP_VALUE : _a$defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n placeholder = _a.placeholder,\n _a$disabled = _a.disabled,\n disabled = _a$disabled === void 0 ? false : _a$disabled,\n _a$clearable = _a.clearable,\n clearable = _a$clearable === void 0 ? false : _a$clearable,\n _a$focused = _a.focused,\n focused = _a$focused === void 0 ? false : _a$focused,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n _a$readOnly = _a.readOnly,\n readOnly = _a$readOnly === void 0 ? false : _a$readOnly,\n _a$size = _a.size,\n size = _a$size === void 0 ? 'md' : _a$size,\n _a$appearance = _a.appearance,\n appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,\n _a$clearableTrigger = _a.clearableTrigger,\n clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,\n displayRender = _a.displayRender,\n suffix = _a.suffix,\n _onMouseOver = _a.onMouseOver,\n _onMouseLeave = _a.onMouseLeave,\n rest = __rest(_a, [\"prefixCls\", \"role\", \"className\", \"data\", \"defaultValue\", \"value\", \"onChange\", \"placeholder\", \"disabled\", \"clearable\", \"focused\", \"invalid\", \"readOnly\", \"size\", \"appearance\", \"clearableTrigger\", \"displayRender\", \"suffix\", \"onMouseOver\", \"onMouseLeave\"]);\n\n var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),\n value = _useUncontrolledState[0],\n tryChangeValue = _useUncontrolledState[1];\n\n var displayValue = useMemo(function () {\n if (value === '') return null;\n var displayItem = data.find(function (item) {\n return item.id === value;\n });\n if (!displayItem) return null;\n\n if (displayRender) {\n return displayRender(displayItem);\n }\n\n return displayItem.title;\n }, [data, value, displayRender]);\n var handleClear = useCallback(function (evt) {\n if (disabled) return;\n evt.stopPropagation();\n tryChangeValue(NOOP_VALUE);\n }, [tryChangeValue, disabled]);\n\n var _useState = useState(false),\n hover = _useState[0],\n setHover = _useState[1];\n\n var trySetHover = useCallback(function (hovered) {\n if (disabled) return;\n setHover(hovered);\n }, [disabled]);\n var hasValue = !!displayValue; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清除\n\n var showClearableIcon = useMemo(function () {\n return clearable && hasValue && !disabled && (clearableTrigger === 'always' || hover);\n }, [clearable, hasValue, disabled, clearableTrigger, hover]);\n var cls = cx(prefixCls, className, prefixCls + \"--appearance-\" + appearance, prefixCls + \"--size-\" + size, focused && \"focused\", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid');\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref,\n role: role,\n className: cls,\n onMouseOver: function onMouseOver(evt) {\n trySetHover(true);\n _onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver(evt);\n },\n onMouseLeave: function onMouseLeave(evt) {\n trySetHover(false);\n _onMouseLeave === null || _onMouseLeave === void 0 ? void 0 : _onMouseLeave(evt);\n }\n }, rest), hasValue ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__value\"\n }, displayValue) : /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__placeholder\"\n }, placeholder), suffix || showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__suffix\"\n }, showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n tabIndex: -1,\n className: cx(prefixCls + \"__clear\", 'active'),\n onClick: handleClear\n }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : suffix) : null);\n});\n\nif (__DEV__) {\n MockInput.displayName = 'MockInput';\n}\n\nexport { MockInput };\n//# sourceMappingURL=MockInput.js.map\n"],"names":["_role","_prefix","getPrefixCls","NOOP_VALUE","NOOP_ARRAY","MockInput","forwardRef","_a","ref","prefixCls","role","className","data","defaultValue","valueProp","value","onChange","placeholder","disabled","_a$disabled","clearable","_a$clearable","focused","_a$focused","invalid","_a$invalid","readOnly","_a$readOnly","size","_a$size","appearance","_a$appearance","clearableTrigger","_a$clearableTrigger","displayRender","suffix","onMouseOver","onMouseLeave","rest","useUncontrolledState","_useUncontrolledState","tryChangeValue","displayValue","useMemo","displayItem","find","item","title","handleClear","useCallback","evt","useState","hover","_useState","setHover","trySetHover","hovered","hasValue","showClearableIcon","cls","cx","React","tabIndex","onClick","__DEV__"],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /** @LICENSE
2
+ * @hi-ui/tree-select
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/tree-select#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ import { __rest } from 'tslib';
11
+ import React, { forwardRef } from 'react';
12
+ import { getPrefixCls, cx } from '@hi-ui/classname';
13
+ import { __DEV__ } from '@hi-ui/env';
14
+ import { useInput } from './use-input.js';
15
+ import { useLatestCallback } from '../../../../hooks/use-latest/lib/esm/index.js';
16
+ /** @LICENSE
17
+ * @hi-ui/input
18
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
19
+ *
20
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */
25
+
26
+ var _prefix = getPrefixCls('input');
27
+ /**
28
+ * TODO: What is TextArea
29
+ */
30
+
31
+
32
+ var TextArea = /*#__PURE__*/forwardRef(function (_a, ref) {
33
+ var _a$prefixCls = _a.prefixCls,
34
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
35
+ className = _a.className,
36
+ _a$size = _a.size,
37
+ size = _a$size === void 0 ? 'md' : _a$size,
38
+ _a$appearance = _a.appearance,
39
+ appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
40
+ _a$invalid = _a.invalid,
41
+ invalid = _a$invalid === void 0 ? false : _a$invalid,
42
+ name = _a.name,
43
+ autoFocus = _a.autoFocus,
44
+ disabled = _a.disabled,
45
+ readOnly = _a.readOnly,
46
+ maxLength = _a.maxLength,
47
+ placeholder = _a.placeholder,
48
+ defaultValue = _a.defaultValue,
49
+ valueProp = _a.value,
50
+ onChange = _a.onChange,
51
+ onFocus = _a.onFocus,
52
+ onBlur = _a.onBlur,
53
+ trimValueOnBlur = _a.trimValueOnBlur,
54
+ nativeProps = __rest(_a, ["prefixCls", "className", "style", "size", "appearance", "invalid", "name", "autoFocus", "disabled", "readOnly", "maxLength", "placeholder", "defaultValue", "value", "onChange", "onFocus", "onBlur", "trimValueOnBlur"]);
55
+
56
+ var proxyOnChange = useLatestCallback(function (_, evt) {
57
+ onChange === null || onChange === void 0 ? void 0 : onChange(evt);
58
+ });
59
+
60
+ var _useInput = useInput({
61
+ name: name,
62
+ autoFocus: autoFocus,
63
+ disabled: disabled,
64
+ readOnly: readOnly,
65
+ maxLength: maxLength,
66
+ placeholder: placeholder,
67
+ defaultValue: defaultValue,
68
+ value: valueProp,
69
+ onChange: proxyOnChange,
70
+ onFocus: onFocus,
71
+ onBlur: onBlur,
72
+ trimValueOnBlur: trimValueOnBlur
73
+ }),
74
+ focused = _useInput.focused,
75
+ getInputProps = _useInput.getInputProps;
76
+
77
+ var cls = cx(prefixCls, className, disabled && 'disabled', readOnly && 'readonly', focused && "focused", invalid && 'invalid', prefixCls + "--appearance-" + appearance, prefixCls + "--size-" + size);
78
+ return /*#__PURE__*/React.createElement("textarea", Object.assign({
79
+ ref: ref,
80
+ className: cls,
81
+ autoComplete: "off"
82
+ }, getInputProps(), nativeProps));
83
+ });
84
+
85
+ if (__DEV__) {
86
+ TextArea.displayName = 'TextArea';
87
+ }
88
+
89
+ export { TextArea };
90
+ //# sourceMappingURL=TextArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextArea.js","sources":["../../../../../../../input/lib/esm/TextArea.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { __rest } from 'tslib';\nimport React, { forwardRef } from 'react';\nimport { getPrefixCls, cx } from '@hi-ui/classname';\nimport { __DEV__ } from '@hi-ui/env';\nimport { useInput } from './use-input.js';\nimport { useLatestCallback } from '@hi-ui/use-latest';\n\nvar _prefix = getPrefixCls('input');\n/**\n * TODO: What is TextArea\n */\n\n\nvar TextArea = /*#__PURE__*/forwardRef(function (_a, ref) {\n var _a$prefixCls = _a.prefixCls,\n prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,\n className = _a.className,\n _a$size = _a.size,\n size = _a$size === void 0 ? 'md' : _a$size,\n _a$appearance = _a.appearance,\n appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n name = _a.name,\n autoFocus = _a.autoFocus,\n disabled = _a.disabled,\n readOnly = _a.readOnly,\n maxLength = _a.maxLength,\n placeholder = _a.placeholder,\n defaultValue = _a.defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\n trimValueOnBlur = _a.trimValueOnBlur,\n nativeProps = __rest(_a, [\"prefixCls\", \"className\", \"style\", \"size\", \"appearance\", \"invalid\", \"name\", \"autoFocus\", \"disabled\", \"readOnly\", \"maxLength\", \"placeholder\", \"defaultValue\", \"value\", \"onChange\", \"onFocus\", \"onBlur\", \"trimValueOnBlur\"]);\n\n var proxyOnChange = useLatestCallback(function (_, evt) {\n onChange === null || onChange === void 0 ? void 0 : onChange(evt);\n });\n\n var _useInput = useInput({\n name: name,\n autoFocus: autoFocus,\n disabled: disabled,\n readOnly: readOnly,\n maxLength: maxLength,\n placeholder: placeholder,\n defaultValue: defaultValue,\n value: valueProp,\n onChange: proxyOnChange,\n onFocus: onFocus,\n onBlur: onBlur,\n trimValueOnBlur: trimValueOnBlur\n }),\n focused = _useInput.focused,\n getInputProps = _useInput.getInputProps;\n\n var cls = cx(prefixCls, className, disabled && 'disabled', readOnly && 'readonly', focused && \"focused\", invalid && 'invalid', prefixCls + \"--appearance-\" + appearance, prefixCls + \"--size-\" + size);\n return /*#__PURE__*/React.createElement(\"textarea\", Object.assign({\n ref: ref,\n className: cls,\n autoComplete: \"off\"\n }, getInputProps(), nativeProps));\n});\n\nif (__DEV__) {\n TextArea.displayName = 'TextArea';\n}\n\nexport { TextArea };\n//# sourceMappingURL=TextArea.js.map\n"],"names":["_prefix","getPrefixCls","TextArea","forwardRef","_a","ref","prefixCls","className","size","_a$size","appearance","_a$appearance","invalid","_a$invalid","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","nativeProps","proxyOnChange","useLatestCallback","_","evt","useInput","focused","_useInput","getInputProps","cls","cx","React","autoComplete","__DEV__"],"mappings":"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"}