@hi-ui/tag-input 4.0.0-alpha.1
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.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/lib/cjs/TagInput.js +225 -0
- package/lib/cjs/TagInput.js.map +1 -0
- package/lib/cjs/index.js +22 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/styles/index.scss.js +22 -0
- package/lib/cjs/styles/index.scss.js.map +1 -0
- package/lib/cjs/use-tag-input.js +58 -0
- package/lib/cjs/use-tag-input.js.map +1 -0
- package/lib/cjs/utils/index.js +52 -0
- package/lib/cjs/utils/index.js.map +1 -0
- package/lib/esm/TagInput.js +200 -0
- package/lib/esm/TagInput.js.map +1 -0
- package/lib/esm/index.js +12 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/styles/index.scss.js +17 -0
- package/lib/esm/styles/index.scss.js.map +1 -0
- package/lib/esm/use-tag-input.js +49 -0
- package/lib/esm/use-tag-input.js.map +1 -0
- package/lib/esm/utils/index.js +46 -0
- package/lib/esm/utils/index.js.map +1 -0
- package/lib/types/TagInput.d.ts +49 -0
- package/lib/types/index.d.ts +3 -0
- package/lib/types/types.d.ts +6 -0
- package/lib/types/use-tag-input.d.ts +3 -0
- package/lib/types/utils/index.d.ts +3 -0
- package/package.json +65 -0
package/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2018 Xiaomi
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
@@ -0,0 +1,225 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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
|
+
'use strict';
|
11
|
+
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
13
|
+
|
14
|
+
Object.defineProperty(exports, '__esModule', {
|
15
|
+
value: true
|
16
|
+
});
|
17
|
+
|
18
|
+
var tslib = require('tslib');
|
19
|
+
|
20
|
+
var React = require('react');
|
21
|
+
|
22
|
+
var classname = require('@hi-ui/classname');
|
23
|
+
|
24
|
+
var env = require('@hi-ui/env');
|
25
|
+
|
26
|
+
var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
27
|
+
|
28
|
+
var icons = require('@hi-ui/icons');
|
29
|
+
|
30
|
+
var useMergeRefs = require('@hi-ui/use-merge-refs');
|
31
|
+
|
32
|
+
var useTagInput = require('./use-tag-input.js');
|
33
|
+
|
34
|
+
var useOutsideClick = require('@hi-ui/use-outside-click');
|
35
|
+
|
36
|
+
function _interopDefaultLegacy(e) {
|
37
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
38
|
+
'default': e
|
39
|
+
};
|
40
|
+
}
|
41
|
+
|
42
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
43
|
+
|
44
|
+
var _role = 'tag-input';
|
45
|
+
|
46
|
+
var _prefix = classname.getPrefixCls(_role);
|
47
|
+
|
48
|
+
var NOOP_ARRAY = [];
|
49
|
+
/**
|
50
|
+
* TODO: What is TagInput
|
51
|
+
*/
|
52
|
+
|
53
|
+
var TagInput = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
54
|
+
var _a$prefixCls = _a.prefixCls,
|
55
|
+
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
56
|
+
_a$role = _a.role,
|
57
|
+
role = _a$role === void 0 ? _role : _a$role,
|
58
|
+
className = _a.className,
|
59
|
+
_a$defaultValue = _a.defaultValue,
|
60
|
+
defaultValue = _a$defaultValue === void 0 ? NOOP_ARRAY : _a$defaultValue,
|
61
|
+
valueProp = _a.value,
|
62
|
+
onChange = _a.onChange,
|
63
|
+
placeholder = _a.placeholder,
|
64
|
+
_a$data = _a.data,
|
65
|
+
data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
|
66
|
+
_a$wrap = _a.wrap,
|
67
|
+
wrap = _a$wrap === void 0 ? true : _a$wrap,
|
68
|
+
_a$clearable = _a.clearable,
|
69
|
+
clearable = _a$clearable === void 0 ? false : _a$clearable,
|
70
|
+
_a$disabled = _a.disabled,
|
71
|
+
disabled = _a$disabled === void 0 ? false : _a$disabled,
|
72
|
+
suffix = _a.suffix,
|
73
|
+
displayRender = _a.displayRender,
|
74
|
+
onClick = _a.onClick,
|
75
|
+
_onMouseOver = _a.onMouseOver,
|
76
|
+
_onMouseLeave = _a.onMouseLeave,
|
77
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "defaultValue", "value", "onChange", "placeholder", "data", "wrap", "clearable", "disabled", "suffix", "displayRender", "onClick", "onMouseOver", "onMouseLeave"]);
|
78
|
+
|
79
|
+
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
|
80
|
+
value = _useUncontrolledState[0],
|
81
|
+
tryChangeValue = _useUncontrolledState[1];
|
82
|
+
|
83
|
+
var tagInputRef = React.useRef(null);
|
84
|
+
|
85
|
+
var _useTagInput = useTagInput.useTagInput(data, tagInputRef),
|
86
|
+
tagMaxWidth = _useTagInput[0];
|
87
|
+
|
88
|
+
var handleClear = React.useCallback(function (evt) {
|
89
|
+
if (disabled) return;
|
90
|
+
evt.stopPropagation();
|
91
|
+
tryChangeValue(NOOP_ARRAY);
|
92
|
+
}, [tryChangeValue, disabled]);
|
93
|
+
var tagList = React.useMemo(function () {
|
94
|
+
return value.map(function (id) {
|
95
|
+
return data.find(function (item) {
|
96
|
+
return item.id === id;
|
97
|
+
}) || {
|
98
|
+
id: id,
|
99
|
+
title: id
|
100
|
+
};
|
101
|
+
});
|
102
|
+
}, [value, data]);
|
103
|
+
|
104
|
+
var _useState = React.useState(false),
|
105
|
+
hover = _useState[0],
|
106
|
+
setHover = _useState[1];
|
107
|
+
|
108
|
+
var trySetHover = React.useCallback(function (hovered) {
|
109
|
+
if (disabled) return;
|
110
|
+
setHover(hovered);
|
111
|
+
}, [disabled]);
|
112
|
+
var tagCount = tagList.length; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
|
113
|
+
|
114
|
+
var showClearableIcon = clearable && tagCount > 0 && !disabled;
|
115
|
+
var showTagCount = !wrap && tagCount > 0;
|
116
|
+
|
117
|
+
var _useState2 = React.useState(false),
|
118
|
+
expanded = _useState2[0],
|
119
|
+
setExpanded = _useState2[1];
|
120
|
+
|
121
|
+
useOutsideClick.useOutsideClick(tagInputRef, function () {
|
122
|
+
return setExpanded(false);
|
123
|
+
});
|
124
|
+
var handleExpand = React.useCallback(function (evt) {
|
125
|
+
evt.stopPropagation();
|
126
|
+
setExpanded(true);
|
127
|
+
}, []);
|
128
|
+
var cls = classname.cx(prefixCls, className, expanded ? prefixCls + "--expanded" : wrap ? prefixCls + "--wrap" : prefixCls + "--nowrap");
|
129
|
+
return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
|
130
|
+
ref: useMergeRefs.useMergeRefs(ref, tagInputRef),
|
131
|
+
role: role,
|
132
|
+
className: cls,
|
133
|
+
onMouseOver: function onMouseOver(evt) {
|
134
|
+
trySetHover(true);
|
135
|
+
_onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver(evt);
|
136
|
+
},
|
137
|
+
onMouseLeave: function onMouseLeave(evt) {
|
138
|
+
trySetHover(false);
|
139
|
+
_onMouseLeave === null || _onMouseLeave === void 0 ? void 0 : _onMouseLeave(evt);
|
140
|
+
}
|
141
|
+
}, rest), /*#__PURE__*/React__default['default'].createElement("div", {
|
142
|
+
className: classname.cx(prefixCls + "__container", disabled && 'disabled'),
|
143
|
+
onClick: onClick
|
144
|
+
}, value.length !== 0 ? /*#__PURE__*/React__default['default'].createElement("span", {
|
145
|
+
className: prefixCls + "__value"
|
146
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
147
|
+
className: classname.cx(prefixCls + "__tags", wrap && prefixCls + "__tags--all")
|
148
|
+
}, tagList.map(function (option) {
|
149
|
+
var title = displayRender ? displayRender(option) : true;
|
150
|
+
var closeable = !option.disabled;
|
151
|
+
return /*#__PURE__*/React__default['default'].createElement("span", {
|
152
|
+
className: prefixCls + "__tag",
|
153
|
+
key: option.id
|
154
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
155
|
+
className: prefixCls + "__tag-content",
|
156
|
+
style: {
|
157
|
+
maxWidth: tagMaxWidth
|
158
|
+
}
|
159
|
+
}, title === true ? option.title : title), closeable ? /*#__PURE__*/React__default['default'].createElement("span", {
|
160
|
+
className: prefixCls + "__tag-closed",
|
161
|
+
onClick: function onClick(evt) {
|
162
|
+
if (disabled) return;
|
163
|
+
evt.stopPropagation();
|
164
|
+
var nextValue = [].concat(value).filter(function (id) {
|
165
|
+
return id !== option.id;
|
166
|
+
});
|
167
|
+
tryChangeValue(nextValue);
|
168
|
+
}
|
169
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CloseOutlined, null)) : null);
|
170
|
+
}))) : /*#__PURE__*/React__default['default'].createElement("span", {
|
171
|
+
className: prefixCls + "__placeholder"
|
172
|
+
}, placeholder), !!suffix || showClearableIcon && hover || showTagCount ? /*#__PURE__*/React__default['default'].createElement("span", {
|
173
|
+
className: prefixCls + "__suffix"
|
174
|
+
}, showTagCount ? /*#__PURE__*/React__default['default'].createElement("span", {
|
175
|
+
className: classname.cx(prefixCls + "__tag--total"),
|
176
|
+
onClick: handleExpand
|
177
|
+
}, "" + (tagCount > 99 ? '+99' : tagCount)) : showClearableIcon && hover ? /*#__PURE__*/React__default['default'].createElement("span", {
|
178
|
+
className: prefixCls + "__clear",
|
179
|
+
role: "button",
|
180
|
+
tabIndex: -1,
|
181
|
+
onClick: handleClear
|
182
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CloseCircleFilled, null)) : null, suffix) : null), value.length !== 0 && expanded ? /*#__PURE__*/React__default['default'].createElement("div", {
|
183
|
+
className: prefixCls + "__container__expand"
|
184
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
185
|
+
className: classname.cx(prefixCls + "__value")
|
186
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
187
|
+
className: classname.cx(prefixCls + "__tags", prefixCls + "__tags--all")
|
188
|
+
}, tagList.map(function (option) {
|
189
|
+
var title = displayRender ? displayRender(option) : true;
|
190
|
+
var closeable = !option.disabled;
|
191
|
+
return /*#__PURE__*/React__default['default'].createElement("span", {
|
192
|
+
className: prefixCls + "__tag",
|
193
|
+
key: option.id
|
194
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
195
|
+
className: prefixCls + "__tag-content",
|
196
|
+
style: {
|
197
|
+
maxWidth: tagMaxWidth
|
198
|
+
}
|
199
|
+
}, title === true ? option.title : title), closeable ? /*#__PURE__*/React__default['default'].createElement("span", {
|
200
|
+
className: prefixCls + "__tag-closed",
|
201
|
+
onClick: function onClick(evt) {
|
202
|
+
if (disabled) return;
|
203
|
+
evt.stopPropagation();
|
204
|
+
var nextValue = [].concat(value).filter(function (id) {
|
205
|
+
return id !== option.id;
|
206
|
+
});
|
207
|
+
tryChangeValue(nextValue);
|
208
|
+
}
|
209
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CloseOutlined, null)) : null);
|
210
|
+
}))), showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
211
|
+
className: prefixCls + "__suffix"
|
212
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
213
|
+
className: prefixCls + "__clear",
|
214
|
+
role: "button",
|
215
|
+
tabIndex: -1,
|
216
|
+
onClick: handleClear
|
217
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CloseCircleFilled, null))) : null) : null);
|
218
|
+
});
|
219
|
+
|
220
|
+
if (env.__DEV__) {
|
221
|
+
TagInput.displayName = 'TagInput';
|
222
|
+
}
|
223
|
+
|
224
|
+
exports.TagInput = TagInput;
|
225
|
+
//# sourceMappingURL=TagInput.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TagInput.js","sources":["../../src/TagInput.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","NOOP_ARRAY","TagInput","forwardRef","_a","ref","prefixCls","role","className","defaultValue","valueProp","value","onChange","placeholder","data","wrap","clearable","disabled","suffix","displayRender","onClick","onMouseOver","onMouseLeave","rest","useUncontrolledState","tryChangeValue","tagInputRef","useRef","useTagInput","tagMaxWidth","handleClear","useCallback","evt","stopPropagation","tagList","useMemo","map","id","find","item","title","useState","hover","setHover","trySetHover","hovered","tagCount","length","showClearableIcon","showTagCount","expanded","setExpanded","useOutsideClick","handleExpand","cls","cx","React","useMergeRefs","option","closeable","key","style","maxWidth","nextValue","filter","CloseOutlined","tabIndex","CloseCircleFilled","__DEV__","displayName"],"mappings":"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"}
|
package/lib/cjs/index.js
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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
|
+
'use strict';
|
11
|
+
|
12
|
+
Object.defineProperty(exports, '__esModule', {
|
13
|
+
value: true
|
14
|
+
});
|
15
|
+
|
16
|
+
require('./styles/index.scss.js');
|
17
|
+
|
18
|
+
var TagInput = require('./TagInput.js');
|
19
|
+
|
20
|
+
exports.TagInput = TagInput.TagInput;
|
21
|
+
exports["default"] = TagInput.TagInput;
|
22
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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
|
+
'use strict';
|
11
|
+
|
12
|
+
Object.defineProperty(exports, '__esModule', {
|
13
|
+
value: true
|
14
|
+
});
|
15
|
+
var css_248z = ".hi-v4-tag-input {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1; }\n .hi-v4-tag-input__container {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n min-width: 160px;\n font-size: 14px;\n vertical-align: middle;\n color: var(--color-black);\n border: 1px solid transparent;\n background-color: var(--color-white);\n -webkit-transition: all 0.3s;\n transition: all 0.3s;\n padding: 4px 10px;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n min-height: 32px;\n overflow: hidden;\n border-color: var(--color-gray-30);\n border-radius: 4px; }\n .hi-v4-tag-input__container:not(.disabled):hover {\n border-color: var(--color-primary); }\n .hi-v4-tag-input__container:not(.disabled).focused {\n border-color: var(--color-primary); }\n .hi-v4-tag-input__container.disabled {\n cursor: not-allowed;\n color: var(--color-gray-50);\n background-color: var(--color-gray-10); }\n .hi-v4-tag-input__placeholder {\n color: var(--color-gray-50); }\n .hi-v4-tag-input__suffix {\n font-size: 16px;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .hi-v4-tag-input__clear {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 16px;\n height: 16px;\n font-size: 14px;\n color: var(--color-gray-50);\n -ms-flex-negative: 0;\n flex-shrink: 0;\n cursor: pointer;\n -webkit-transition: all 0.3s;\n transition: all 0.3s; }\n .hi-v4-tag-input__clear:hover {\n color: var(--color-black); }\n .hi-v4-tag-input__value {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n height: 22px;\n line-height: 22px; }\n .hi-v4-tag-input__tags {\n -webkit-box-flex: 0;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n display: inline-block;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n white-space: nowrap;\n height: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin-top: -4px; }\n .hi-v4-tag-input__tag, .hi-v4-tag-input__tag--left {\n display: inline-block;\n margin-right: 4px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 8px;\n vertical-align: middle;\n font-size: 12px;\n color: #333;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background: #f2f2f2;\n border-radius: 4px; }\n .hi-v4-tag-input__tag--total {\n display: inline-block;\n margin-right: 6px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 8px;\n vertical-align: middle;\n font-size: 12px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: var(--color-primary-20);\n color: var(--color-primary);\n border-radius: 4px;\n line-height: 22px;\n cursor: pointer; }\n .hi-v4-tag-input__tag {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .hi-v4-tag-input__tag-content {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n .hi-v4-tag-input__tag-closed {\n margin-left: 8px;\n font-size: 12px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #8e8e8e;\n cursor: pointer; }\n .disabled .hi-v4-tag-input__tag-closed {\n cursor: not-allowed; }\n .hi-v4-tag-input__tag--left {\n margin: 0;\n max-width: 54px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle; }\n .hi-v4-tag-input--nowrap .hi-v4-tag-input__value {\n width: calc(100% - 64px);\n overflow-x: hidden; }\n .hi-v4-tag-input--wrap .hi-v4-tag-input__value {\n height: auto; }\n .hi-v4-tag-input--wrap .hi-v4-tag-input__tags {\n white-space: normal;\n margin-top: -4px; }\n .hi-v4-tag-input--wrap .hi-v4-tag-input__tag {\n margin-top: 4px; }\n .hi-v4-tag-input--expanded {\n position: relative; }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand {\n position: absolute;\n top: 0;\n left: 0;\n height: auto;\n z-index: 1;\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n min-width: 160px;\n font-size: 14px;\n vertical-align: middle;\n color: var(--color-black);\n border: 1px solid transparent;\n background-color: var(--color-white);\n -webkit-transition: all 0.3s;\n transition: all 0.3s;\n padding: 3px 0;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n min-height: 32px;\n overflow: hidden;\n border-radius: 4px;\n border-color: var(--color-primary); }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand .hi-v4-tag-input__value {\n height: -webkit-fit-content;\n height: -moz-fit-content;\n height: fit-content;\n max-height: 74px;\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n overflow: scroll;\n padding-left: 10px; }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand .hi-v4-tag-input__tags {\n white-space: normal;\n margin-top: -4px; }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand .hi-v4-tag-input__tag {\n margin-top: 4px; }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand .hi-v4-tag-input__suffix {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n padding: 4px 10px 4px 0;\n position: sticky;\n top: 0; }\n";
|
16
|
+
|
17
|
+
var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
|
18
|
+
|
19
|
+
__styleInject__(css_248z);
|
20
|
+
|
21
|
+
exports["default"] = css_248z;
|
22
|
+
//# sourceMappingURL=index.scss.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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
|
+
'use strict';
|
11
|
+
|
12
|
+
Object.defineProperty(exports, '__esModule', {
|
13
|
+
value: true
|
14
|
+
});
|
15
|
+
|
16
|
+
var React = require('react');
|
17
|
+
|
18
|
+
var index = require('./utils/index.js');
|
19
|
+
|
20
|
+
var TAG_MARGIN_RIGHT = 4; // 留给显示剩余选项的宽度:suffix + paddingLeft + paddingRight + leftCountTag (16 + 10 + + 10 + 54)
|
21
|
+
|
22
|
+
var LEFT_SPACE_WIDTH = 100 + TAG_MARGIN_RIGHT;
|
23
|
+
|
24
|
+
var useTagInput = function useTagInput(tags, ref) {
|
25
|
+
var inputWidth = useResizeWidth(ref);
|
26
|
+
var tagMaxWidth = inputWidth ? inputWidth - (LEFT_SPACE_WIDTH + 1) : undefined;
|
27
|
+
return [tagMaxWidth];
|
28
|
+
};
|
29
|
+
|
30
|
+
var useResizeWidth = function useResizeWidth(ref) {
|
31
|
+
var _useState = React.useState(0),
|
32
|
+
width = _useState[0],
|
33
|
+
setWidth = _useState[1];
|
34
|
+
|
35
|
+
var tryUpdateWidth = React.useCallback(function () {
|
36
|
+
var _a;
|
37
|
+
|
38
|
+
var nextWidth = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width;
|
39
|
+
setWidth(function (prev) {
|
40
|
+
return nextWidth || prev || 0;
|
41
|
+
});
|
42
|
+
}, [ref]);
|
43
|
+
React.useLayoutEffect(function () {
|
44
|
+
// init with resize
|
45
|
+
tryUpdateWidth();
|
46
|
+
var debouncedResize = index.debounce(tryUpdateWidth, 60);
|
47
|
+
window.addEventListener('resize', debouncedResize);
|
48
|
+
return function () {
|
49
|
+
window.removeEventListener('resize', debouncedResize);
|
50
|
+
debouncedResize.cancel();
|
51
|
+
};
|
52
|
+
}, [tryUpdateWidth]);
|
53
|
+
return width;
|
54
|
+
};
|
55
|
+
|
56
|
+
exports.useResizeWidth = useResizeWidth;
|
57
|
+
exports.useTagInput = useTagInput;
|
58
|
+
//# sourceMappingURL=use-tag-input.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-tag-input.js","sources":["../../src/use-tag-input.ts"],"sourcesContent":[null],"names":["TAG_MARGIN_RIGHT","LEFT_SPACE_WIDTH","useTagInput","tags","ref","inputWidth","useResizeWidth","tagMaxWidth","undefined","useState","width","setWidth","tryUpdateWidth","useCallback","nextWidth","current","getBoundingClientRect","prev","useLayoutEffect","debouncedResize","debounce","window","addEventListener","removeEventListener","cancel"],"mappings":";;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAG,CAAzB;;AAEA,IAAMC,gBAAgB,GAAG,MAAMD,gBAA/B;;IAEaE,WAAW,GAAG,SAAdA,WAAc,CAAIC,IAAJ,EAAeC,GAAf;MACnBC,UAAU,GAAGC,cAAc,CAACF,GAAD;MAC3BG,WAAW,GAAGF,UAAU,GAAGA,UAAU,IAAIJ,gBAAgB,GAAG,CAAvB,CAAb,GAAyCO;SAEhE,CAACD,WAAD;;;IAGID,cAAc,GAAG,SAAjBA,cAAiB,CAAoBF,GAApB;kBACFK,cAAAA,CAAS,CAATA;MAAnBC,KAAP;MAAcC,QAAd;;MAEMC,cAAc,GAAGC,iBAAAA,CAAY;;;QAC3BC,SAAS,GAAG,MAAAV,GAAG,CAACW,OAAJ,UAAA,iBAAA,SAAA,MAAaC,wBAAwBN;AACvDC,IAAAA,QAAQ,CAAC,UAACM,IAAD;aAAUH,SAAS,IAAIG,IAAbH,IAAqB;AAAhC,KAAA,CAARH;AAFgC,GAAXE,EAGpB,CAACT,GAAD,CAHoBS;AAKvBK,EAAAA,qBAAAA,CAAgB;;AAEdN,IAAAA,cAAc;QACRO,eAAe,GAAGC,cAAAA,CAASR,cAATQ,EAAyB,EAAzBA;AACxBC,IAAAA,MAAM,CAACC,gBAAPD,CAAwB,QAAxBA,EAAkCF,eAAlCE;WACO;AACLA,MAAAA,MAAM,CAACE,mBAAPF,CAA2B,QAA3BA,EAAqCF,eAArCE;AACAF,MAAAA,eAAe,CAACK,MAAhBL;AAFF;AALa,GAAfD,EASG,CAACN,cAAD,CATHM;SAWOR;;;;"}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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
|
+
'use strict';
|
11
|
+
|
12
|
+
Object.defineProperty(exports, '__esModule', {
|
13
|
+
value: true
|
14
|
+
});
|
15
|
+
|
16
|
+
var debounce = function debounce(func, delay) {
|
17
|
+
if (delay === void 0) {
|
18
|
+
delay = 150;
|
19
|
+
}
|
20
|
+
|
21
|
+
var timer = 0;
|
22
|
+
|
23
|
+
var cancel = function cancel() {
|
24
|
+
if (timer) {
|
25
|
+
window.clearTimeout(timer);
|
26
|
+
timer = 0;
|
27
|
+
}
|
28
|
+
};
|
29
|
+
|
30
|
+
var debounceFn = function debounceFn() {
|
31
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
32
|
+
args[_key] = arguments[_key];
|
33
|
+
}
|
34
|
+
|
35
|
+
if (timer) {
|
36
|
+
cancel();
|
37
|
+
}
|
38
|
+
|
39
|
+
if (func) {
|
40
|
+
timer = window.setTimeout(function () {
|
41
|
+
func.apply(null, args);
|
42
|
+
timer = 0;
|
43
|
+
}, delay);
|
44
|
+
}
|
45
|
+
};
|
46
|
+
|
47
|
+
debounceFn.cancel = cancel;
|
48
|
+
return debounceFn;
|
49
|
+
};
|
50
|
+
|
51
|
+
exports.debounce = debounce;
|
52
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["debounce","func","delay","timer","cancel","window","clearTimeout","debounceFn","args","setTimeout","apply"],"mappings":";;;;;;;;;;;;;;;IAAaA,QAAQ,GAAG,SAAXA,QAAW,CAAqCC,IAArC,EAA+CC,KAA/C;MAA+CA;AAAAA,IAAAA,QAAQ,GAARA;;;MACjEC,KAAK,GAAG;;MAENC,MAAM,GAAG,SAATA,MAAS;QACTD,OAAO;AACTE,MAAAA,MAAM,CAACC,YAAPD,CAAoBF,KAApBE;AACAF,MAAAA,KAAK,GAAG,CAARA;;AAHJ;;MAOMI,UAAU,GAAG,SAAbA,UAAa;sCAAIC;AAAAA,MAAAA,UAAAA,kBAAAA;;;QACjBL,OAAO;AACTC,MAAAA,MAAM;;;QAGJH,MAAM;AACRE,MAAAA,KAAK,GAAGE,MAAM,CAACI,UAAPJ,CAAkB;AACxBJ,QAAAA,IAAI,CAACS,KAALT,CAAW,IAAXA,EAAiBO,IAAjBP;AACAE,QAAAA,KAAK,GAAG,CAARA;AAFM,OAAAE,EAGLH,KAHKG,CAARF;;AANJ;;AAaAI,EAAAA,UAAU,CAACH,MAAXG,GAAoBH,MAApBG;SAEOA;;;"}
|
@@ -0,0 +1,200 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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, useRef, useCallback, useMemo, 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 { CloseOutlined, CloseCircleFilled } from '@hi-ui/icons';
|
16
|
+
import { useMergeRefs } from '@hi-ui/use-merge-refs';
|
17
|
+
import { useTagInput } from './use-tag-input.js';
|
18
|
+
import { useOutsideClick } from '@hi-ui/use-outside-click';
|
19
|
+
var _role = 'tag-input';
|
20
|
+
|
21
|
+
var _prefix = getPrefixCls(_role);
|
22
|
+
|
23
|
+
var NOOP_ARRAY = [];
|
24
|
+
/**
|
25
|
+
* TODO: What is TagInput
|
26
|
+
*/
|
27
|
+
|
28
|
+
var TagInput = /*#__PURE__*/forwardRef(function (_a, ref) {
|
29
|
+
var _a$prefixCls = _a.prefixCls,
|
30
|
+
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
31
|
+
_a$role = _a.role,
|
32
|
+
role = _a$role === void 0 ? _role : _a$role,
|
33
|
+
className = _a.className,
|
34
|
+
_a$defaultValue = _a.defaultValue,
|
35
|
+
defaultValue = _a$defaultValue === void 0 ? NOOP_ARRAY : _a$defaultValue,
|
36
|
+
valueProp = _a.value,
|
37
|
+
onChange = _a.onChange,
|
38
|
+
placeholder = _a.placeholder,
|
39
|
+
_a$data = _a.data,
|
40
|
+
data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
|
41
|
+
_a$wrap = _a.wrap,
|
42
|
+
wrap = _a$wrap === void 0 ? true : _a$wrap,
|
43
|
+
_a$clearable = _a.clearable,
|
44
|
+
clearable = _a$clearable === void 0 ? false : _a$clearable,
|
45
|
+
_a$disabled = _a.disabled,
|
46
|
+
disabled = _a$disabled === void 0 ? false : _a$disabled,
|
47
|
+
suffix = _a.suffix,
|
48
|
+
displayRender = _a.displayRender,
|
49
|
+
onClick = _a.onClick,
|
50
|
+
_onMouseOver = _a.onMouseOver,
|
51
|
+
_onMouseLeave = _a.onMouseLeave,
|
52
|
+
rest = __rest(_a, ["prefixCls", "role", "className", "defaultValue", "value", "onChange", "placeholder", "data", "wrap", "clearable", "disabled", "suffix", "displayRender", "onClick", "onMouseOver", "onMouseLeave"]);
|
53
|
+
|
54
|
+
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),
|
55
|
+
value = _useUncontrolledState[0],
|
56
|
+
tryChangeValue = _useUncontrolledState[1];
|
57
|
+
|
58
|
+
var tagInputRef = useRef(null);
|
59
|
+
|
60
|
+
var _useTagInput = useTagInput(data, tagInputRef),
|
61
|
+
tagMaxWidth = _useTagInput[0];
|
62
|
+
|
63
|
+
var handleClear = useCallback(function (evt) {
|
64
|
+
if (disabled) return;
|
65
|
+
evt.stopPropagation();
|
66
|
+
tryChangeValue(NOOP_ARRAY);
|
67
|
+
}, [tryChangeValue, disabled]);
|
68
|
+
var tagList = useMemo(function () {
|
69
|
+
return value.map(function (id) {
|
70
|
+
return data.find(function (item) {
|
71
|
+
return item.id === id;
|
72
|
+
}) || {
|
73
|
+
id: id,
|
74
|
+
title: id
|
75
|
+
};
|
76
|
+
});
|
77
|
+
}, [value, data]);
|
78
|
+
|
79
|
+
var _useState = useState(false),
|
80
|
+
hover = _useState[0],
|
81
|
+
setHover = _useState[1];
|
82
|
+
|
83
|
+
var trySetHover = useCallback(function (hovered) {
|
84
|
+
if (disabled) return;
|
85
|
+
setHover(hovered);
|
86
|
+
}, [disabled]);
|
87
|
+
var tagCount = tagList.length; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
|
88
|
+
|
89
|
+
var showClearableIcon = clearable && tagCount > 0 && !disabled;
|
90
|
+
var showTagCount = !wrap && tagCount > 0;
|
91
|
+
|
92
|
+
var _useState2 = useState(false),
|
93
|
+
expanded = _useState2[0],
|
94
|
+
setExpanded = _useState2[1];
|
95
|
+
|
96
|
+
useOutsideClick(tagInputRef, function () {
|
97
|
+
return setExpanded(false);
|
98
|
+
});
|
99
|
+
var handleExpand = useCallback(function (evt) {
|
100
|
+
evt.stopPropagation();
|
101
|
+
setExpanded(true);
|
102
|
+
}, []);
|
103
|
+
var cls = cx(prefixCls, className, expanded ? prefixCls + "--expanded" : wrap ? prefixCls + "--wrap" : prefixCls + "--nowrap");
|
104
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
105
|
+
ref: useMergeRefs(ref, tagInputRef),
|
106
|
+
role: role,
|
107
|
+
className: cls,
|
108
|
+
onMouseOver: function onMouseOver(evt) {
|
109
|
+
trySetHover(true);
|
110
|
+
_onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver(evt);
|
111
|
+
},
|
112
|
+
onMouseLeave: function onMouseLeave(evt) {
|
113
|
+
trySetHover(false);
|
114
|
+
_onMouseLeave === null || _onMouseLeave === void 0 ? void 0 : _onMouseLeave(evt);
|
115
|
+
}
|
116
|
+
}, rest), /*#__PURE__*/React.createElement("div", {
|
117
|
+
className: cx(prefixCls + "__container", disabled && 'disabled'),
|
118
|
+
onClick: onClick
|
119
|
+
}, value.length !== 0 ? /*#__PURE__*/React.createElement("span", {
|
120
|
+
className: prefixCls + "__value"
|
121
|
+
}, /*#__PURE__*/React.createElement("span", {
|
122
|
+
className: cx(prefixCls + "__tags", wrap && prefixCls + "__tags--all")
|
123
|
+
}, tagList.map(function (option) {
|
124
|
+
var title = displayRender ? displayRender(option) : true;
|
125
|
+
var closeable = !option.disabled;
|
126
|
+
return /*#__PURE__*/React.createElement("span", {
|
127
|
+
className: prefixCls + "__tag",
|
128
|
+
key: option.id
|
129
|
+
}, /*#__PURE__*/React.createElement("span", {
|
130
|
+
className: prefixCls + "__tag-content",
|
131
|
+
style: {
|
132
|
+
maxWidth: tagMaxWidth
|
133
|
+
}
|
134
|
+
}, title === true ? option.title : title), closeable ? /*#__PURE__*/React.createElement("span", {
|
135
|
+
className: prefixCls + "__tag-closed",
|
136
|
+
onClick: function onClick(evt) {
|
137
|
+
if (disabled) return;
|
138
|
+
evt.stopPropagation();
|
139
|
+
var nextValue = [].concat(value).filter(function (id) {
|
140
|
+
return id !== option.id;
|
141
|
+
});
|
142
|
+
tryChangeValue(nextValue);
|
143
|
+
}
|
144
|
+
}, /*#__PURE__*/React.createElement(CloseOutlined, null)) : null);
|
145
|
+
}))) : /*#__PURE__*/React.createElement("span", {
|
146
|
+
className: prefixCls + "__placeholder"
|
147
|
+
}, placeholder), !!suffix || showClearableIcon && hover || showTagCount ? /*#__PURE__*/React.createElement("span", {
|
148
|
+
className: prefixCls + "__suffix"
|
149
|
+
}, showTagCount ? /*#__PURE__*/React.createElement("span", {
|
150
|
+
className: cx(prefixCls + "__tag--total"),
|
151
|
+
onClick: handleExpand
|
152
|
+
}, "" + (tagCount > 99 ? '+99' : tagCount)) : showClearableIcon && hover ? /*#__PURE__*/React.createElement("span", {
|
153
|
+
className: prefixCls + "__clear",
|
154
|
+
role: "button",
|
155
|
+
tabIndex: -1,
|
156
|
+
onClick: handleClear
|
157
|
+
}, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : null, suffix) : null), value.length !== 0 && expanded ? /*#__PURE__*/React.createElement("div", {
|
158
|
+
className: prefixCls + "__container__expand"
|
159
|
+
}, /*#__PURE__*/React.createElement("span", {
|
160
|
+
className: cx(prefixCls + "__value")
|
161
|
+
}, /*#__PURE__*/React.createElement("span", {
|
162
|
+
className: cx(prefixCls + "__tags", prefixCls + "__tags--all")
|
163
|
+
}, tagList.map(function (option) {
|
164
|
+
var title = displayRender ? displayRender(option) : true;
|
165
|
+
var closeable = !option.disabled;
|
166
|
+
return /*#__PURE__*/React.createElement("span", {
|
167
|
+
className: prefixCls + "__tag",
|
168
|
+
key: option.id
|
169
|
+
}, /*#__PURE__*/React.createElement("span", {
|
170
|
+
className: prefixCls + "__tag-content",
|
171
|
+
style: {
|
172
|
+
maxWidth: tagMaxWidth
|
173
|
+
}
|
174
|
+
}, title === true ? option.title : title), closeable ? /*#__PURE__*/React.createElement("span", {
|
175
|
+
className: prefixCls + "__tag-closed",
|
176
|
+
onClick: function onClick(evt) {
|
177
|
+
if (disabled) return;
|
178
|
+
evt.stopPropagation();
|
179
|
+
var nextValue = [].concat(value).filter(function (id) {
|
180
|
+
return id !== option.id;
|
181
|
+
});
|
182
|
+
tryChangeValue(nextValue);
|
183
|
+
}
|
184
|
+
}, /*#__PURE__*/React.createElement(CloseOutlined, null)) : null);
|
185
|
+
}))), showClearableIcon ? /*#__PURE__*/React.createElement("span", {
|
186
|
+
className: prefixCls + "__suffix"
|
187
|
+
}, /*#__PURE__*/React.createElement("span", {
|
188
|
+
className: prefixCls + "__clear",
|
189
|
+
role: "button",
|
190
|
+
tabIndex: -1,
|
191
|
+
onClick: handleClear
|
192
|
+
}, /*#__PURE__*/React.createElement(CloseCircleFilled, null))) : null) : null);
|
193
|
+
});
|
194
|
+
|
195
|
+
if (__DEV__) {
|
196
|
+
TagInput.displayName = 'TagInput';
|
197
|
+
}
|
198
|
+
|
199
|
+
export { TagInput };
|
200
|
+
//# sourceMappingURL=TagInput.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TagInput.js","sources":["../../src/TagInput.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","NOOP_ARRAY","TagInput","forwardRef","_a","ref","prefixCls","role","className","defaultValue","valueProp","value","onChange","placeholder","data","wrap","clearable","disabled","suffix","displayRender","onClick","onMouseOver","onMouseLeave","rest","useUncontrolledState","tryChangeValue","tagInputRef","useRef","useTagInput","tagMaxWidth","handleClear","useCallback","evt","stopPropagation","tagList","useMemo","map","id","find","item","title","useState","hover","setHover","trySetHover","hovered","tagCount","length","showClearableIcon","showTagCount","expanded","setExpanded","useOutsideClick","handleExpand","cls","cx","React","useMergeRefs","option","closeable","key","style","maxWidth","nextValue","filter","CloseOutlined","tabIndex","CloseCircleFilled","__DEV__","displayName"],"mappings":"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"}
|
package/lib/esm/index.js
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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 { TagInput, TagInput as default } from './TagInput.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/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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 = ".hi-v4-tag-input {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1; }\n .hi-v4-tag-input__container {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n min-width: 160px;\n font-size: 14px;\n vertical-align: middle;\n color: var(--color-black);\n border: 1px solid transparent;\n background-color: var(--color-white);\n -webkit-transition: all 0.3s;\n transition: all 0.3s;\n padding: 4px 10px;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n min-height: 32px;\n overflow: hidden;\n border-color: var(--color-gray-30);\n border-radius: 4px; }\n .hi-v4-tag-input__container:not(.disabled):hover {\n border-color: var(--color-primary); }\n .hi-v4-tag-input__container:not(.disabled).focused {\n border-color: var(--color-primary); }\n .hi-v4-tag-input__container.disabled {\n cursor: not-allowed;\n color: var(--color-gray-50);\n background-color: var(--color-gray-10); }\n .hi-v4-tag-input__placeholder {\n color: var(--color-gray-50); }\n .hi-v4-tag-input__suffix {\n font-size: 16px;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .hi-v4-tag-input__clear {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 16px;\n height: 16px;\n font-size: 14px;\n color: var(--color-gray-50);\n -ms-flex-negative: 0;\n flex-shrink: 0;\n cursor: pointer;\n -webkit-transition: all 0.3s;\n transition: all 0.3s; }\n .hi-v4-tag-input__clear:hover {\n color: var(--color-black); }\n .hi-v4-tag-input__value {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n height: 22px;\n line-height: 22px; }\n .hi-v4-tag-input__tags {\n -webkit-box-flex: 0;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n display: inline-block;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n white-space: nowrap;\n height: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin-top: -4px; }\n .hi-v4-tag-input__tag, .hi-v4-tag-input__tag--left {\n display: inline-block;\n margin-right: 4px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 8px;\n vertical-align: middle;\n font-size: 12px;\n color: #333;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background: #f2f2f2;\n border-radius: 4px; }\n .hi-v4-tag-input__tag--total {\n display: inline-block;\n margin-right: 6px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 8px;\n vertical-align: middle;\n font-size: 12px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: var(--color-primary-20);\n color: var(--color-primary);\n border-radius: 4px;\n line-height: 22px;\n cursor: pointer; }\n .hi-v4-tag-input__tag {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .hi-v4-tag-input__tag-content {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n .hi-v4-tag-input__tag-closed {\n margin-left: 8px;\n font-size: 12px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #8e8e8e;\n cursor: pointer; }\n .disabled .hi-v4-tag-input__tag-closed {\n cursor: not-allowed; }\n .hi-v4-tag-input__tag--left {\n margin: 0;\n max-width: 54px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle; }\n .hi-v4-tag-input--nowrap .hi-v4-tag-input__value {\n width: calc(100% - 64px);\n overflow-x: hidden; }\n .hi-v4-tag-input--wrap .hi-v4-tag-input__value {\n height: auto; }\n .hi-v4-tag-input--wrap .hi-v4-tag-input__tags {\n white-space: normal;\n margin-top: -4px; }\n .hi-v4-tag-input--wrap .hi-v4-tag-input__tag {\n margin-top: 4px; }\n .hi-v4-tag-input--expanded {\n position: relative; }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand {\n position: absolute;\n top: 0;\n left: 0;\n height: auto;\n z-index: 1;\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n min-width: 160px;\n font-size: 14px;\n vertical-align: middle;\n color: var(--color-black);\n border: 1px solid transparent;\n background-color: var(--color-white);\n -webkit-transition: all 0.3s;\n transition: all 0.3s;\n padding: 3px 0;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n min-height: 32px;\n overflow: hidden;\n border-radius: 4px;\n border-color: var(--color-primary); }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand .hi-v4-tag-input__value {\n height: -webkit-fit-content;\n height: -moz-fit-content;\n height: fit-content;\n max-height: 74px;\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n overflow: scroll;\n padding-left: 10px; }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand .hi-v4-tag-input__tags {\n white-space: normal;\n margin-top: -4px; }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand .hi-v4-tag-input__tag {\n margin-top: 4px; }\n .hi-v4-tag-input--expanded .hi-v4-tag-input__container__expand .hi-v4-tag-input__suffix {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n padding: 4px 10px 4px 0;\n position: sticky;\n top: 0; }\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,49 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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 { useState, useCallback, useLayoutEffect } from 'react';
|
11
|
+
import { debounce } from './utils/index.js';
|
12
|
+
var TAG_MARGIN_RIGHT = 4; // 留给显示剩余选项的宽度:suffix + paddingLeft + paddingRight + leftCountTag (16 + 10 + + 10 + 54)
|
13
|
+
|
14
|
+
var LEFT_SPACE_WIDTH = 100 + TAG_MARGIN_RIGHT;
|
15
|
+
|
16
|
+
var useTagInput = function useTagInput(tags, ref) {
|
17
|
+
var inputWidth = useResizeWidth(ref);
|
18
|
+
var tagMaxWidth = inputWidth ? inputWidth - (LEFT_SPACE_WIDTH + 1) : undefined;
|
19
|
+
return [tagMaxWidth];
|
20
|
+
};
|
21
|
+
|
22
|
+
var useResizeWidth = function useResizeWidth(ref) {
|
23
|
+
var _useState = useState(0),
|
24
|
+
width = _useState[0],
|
25
|
+
setWidth = _useState[1];
|
26
|
+
|
27
|
+
var tryUpdateWidth = useCallback(function () {
|
28
|
+
var _a;
|
29
|
+
|
30
|
+
var nextWidth = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width;
|
31
|
+
setWidth(function (prev) {
|
32
|
+
return nextWidth || prev || 0;
|
33
|
+
});
|
34
|
+
}, [ref]);
|
35
|
+
useLayoutEffect(function () {
|
36
|
+
// init with resize
|
37
|
+
tryUpdateWidth();
|
38
|
+
var debouncedResize = debounce(tryUpdateWidth, 60);
|
39
|
+
window.addEventListener('resize', debouncedResize);
|
40
|
+
return function () {
|
41
|
+
window.removeEventListener('resize', debouncedResize);
|
42
|
+
debouncedResize.cancel();
|
43
|
+
};
|
44
|
+
}, [tryUpdateWidth]);
|
45
|
+
return width;
|
46
|
+
};
|
47
|
+
|
48
|
+
export { useResizeWidth, useTagInput };
|
49
|
+
//# sourceMappingURL=use-tag-input.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-tag-input.js","sources":["../../src/use-tag-input.ts"],"sourcesContent":[null],"names":["TAG_MARGIN_RIGHT","LEFT_SPACE_WIDTH","useTagInput","tags","ref","inputWidth","useResizeWidth","tagMaxWidth","undefined","useState","width","setWidth","tryUpdateWidth","useCallback","nextWidth","current","getBoundingClientRect","prev","useLayoutEffect","debouncedResize","debounce","window","addEventListener","removeEventListener","cancel"],"mappings":";;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAG,CAAzB;;AAEA,IAAMC,gBAAgB,GAAG,MAAMD,gBAA/B;;IAEaE,WAAW,GAAG,SAAdA,WAAc,CAAIC,IAAJ,EAAeC,GAAf;MACnBC,UAAU,GAAGC,cAAc,CAACF,GAAD;MAC3BG,WAAW,GAAGF,UAAU,GAAGA,UAAU,IAAIJ,gBAAgB,GAAG,CAAvB,CAAb,GAAyCO;SAEhE,CAACD,WAAD;;;IAGID,cAAc,GAAG,SAAjBA,cAAiB,CAAoBF,GAApB;kBACFK,QAAQ,CAAC,CAAD;MAA3BC,KAAP;MAAcC,QAAd;;MAEMC,cAAc,GAAGC,WAAW,CAAC;;;QAC3BC,SAAS,GAAG,MAAAV,GAAG,CAACW,OAAJ,UAAA,iBAAA,SAAA,MAAaC,wBAAwBN;AACvDC,IAAAA,QAAQ,CAAC,UAACM,IAAD;aAAUH,SAAS,IAAIG,IAAbH,IAAqB;AAAhC,KAAA,CAARH;AAFgC,GAAA,EAG/B,CAACP,GAAD,CAH+B;AAKlCc,EAAAA,eAAe,CAAC;;AAEdN,IAAAA,cAAc;QACRO,eAAe,GAAGC,QAAQ,CAACR,cAAD,EAAiB,EAAjB;AAChCS,IAAAA,MAAM,CAACC,gBAAPD,CAAwB,QAAxBA,EAAkCF,eAAlCE;WACO;AACLA,MAAAA,MAAM,CAACE,mBAAPF,CAA2B,QAA3BA,EAAqCF,eAArCE;AACAF,MAAAA,eAAe,CAACK,MAAhBL;AAFF;AALa,GAAA,EASZ,CAACP,cAAD,CATY,CAAfM;SAWOR;;;"}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tag-input
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#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 debounce = function debounce(func, delay) {
|
11
|
+
if (delay === void 0) {
|
12
|
+
delay = 150;
|
13
|
+
}
|
14
|
+
|
15
|
+
var timer = 0;
|
16
|
+
|
17
|
+
var cancel = function cancel() {
|
18
|
+
if (timer) {
|
19
|
+
window.clearTimeout(timer);
|
20
|
+
timer = 0;
|
21
|
+
}
|
22
|
+
};
|
23
|
+
|
24
|
+
var debounceFn = function debounceFn() {
|
25
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
26
|
+
args[_key] = arguments[_key];
|
27
|
+
}
|
28
|
+
|
29
|
+
if (timer) {
|
30
|
+
cancel();
|
31
|
+
}
|
32
|
+
|
33
|
+
if (func) {
|
34
|
+
timer = window.setTimeout(function () {
|
35
|
+
func.apply(null, args);
|
36
|
+
timer = 0;
|
37
|
+
}, delay);
|
38
|
+
}
|
39
|
+
};
|
40
|
+
|
41
|
+
debounceFn.cancel = cancel;
|
42
|
+
return debounceFn;
|
43
|
+
};
|
44
|
+
|
45
|
+
export { debounce };
|
46
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["debounce","func","delay","timer","cancel","window","clearTimeout","debounceFn","args","setTimeout","apply"],"mappings":";;;;;;;;;IAAaA,QAAQ,GAAG,SAAXA,QAAW,CAAqCC,IAArC,EAA+CC,KAA/C;MAA+CA;AAAAA,IAAAA,QAAQ,GAARA;;;MACjEC,KAAK,GAAG;;MAENC,MAAM,GAAG,SAATA,MAAS;QACTD,OAAO;AACTE,MAAAA,MAAM,CAACC,YAAPD,CAAoBF,KAApBE;AACAF,MAAAA,KAAK,GAAG,CAARA;;AAHJ;;MAOMI,UAAU,GAAG,SAAbA,UAAa;sCAAIC;AAAAA,MAAAA,UAAAA,kBAAAA;;;QACjBL,OAAO;AACTC,MAAAA,MAAM;;;QAGJH,MAAM;AACRE,MAAAA,KAAK,GAAGE,MAAM,CAACI,UAAPJ,CAAkB;AACxBJ,QAAAA,IAAI,CAACS,KAALT,CAAW,IAAXA,EAAiBO,IAAjBP;AACAE,QAAAA,KAAK,GAAG,CAARA;AAFM,OAAAE,EAGLH,KAHKG,CAARF;;AANJ;;AAaAI,EAAAA,UAAU,CAACH,MAAXG,GAAoBH,MAApBG;SAEOA;;;"}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { TagInputOption } from './types';
|
3
|
+
import { HiBaseHTMLProps } from '@hi-ui/core';
|
4
|
+
/**
|
5
|
+
* TODO: What is TagInput
|
6
|
+
*/
|
7
|
+
export declare const TagInput: React.ForwardRefExoticComponent<Pick<TagInputProps, string | number> & React.RefAttributes<HTMLDivElement | null>>;
|
8
|
+
export interface TagInputProps extends HiBaseHTMLProps {
|
9
|
+
/**
|
10
|
+
* 设置当前多选值
|
11
|
+
*/
|
12
|
+
value?: React.ReactText[];
|
13
|
+
/**
|
14
|
+
* 设置当前多选值默认值
|
15
|
+
*/
|
16
|
+
defaultValue?: React.ReactText[];
|
17
|
+
/**
|
18
|
+
* 多选值改变时的回调
|
19
|
+
*/
|
20
|
+
onChange?: (values: React.ReactText[]) => void;
|
21
|
+
/**
|
22
|
+
* 是否可清空 boolean true | false true
|
23
|
+
*/
|
24
|
+
clearable?: boolean;
|
25
|
+
/**
|
26
|
+
* 是否禁止使用 boolean true | false false
|
27
|
+
*/
|
28
|
+
disabled?: boolean;
|
29
|
+
/**
|
30
|
+
* 自定义选择后触发器所展示的内容
|
31
|
+
*/
|
32
|
+
displayRender?: (checkedOption: TagInputOption) => React.ReactNode;
|
33
|
+
/**
|
34
|
+
* 输入框占位符
|
35
|
+
*/
|
36
|
+
placeholder?: string;
|
37
|
+
/**
|
38
|
+
* 是否开启换行全展示
|
39
|
+
*/
|
40
|
+
wrap?: boolean;
|
41
|
+
/**
|
42
|
+
* 输入框后置内容
|
43
|
+
*/
|
44
|
+
suffix?: React.ReactNode;
|
45
|
+
/**
|
46
|
+
* tag 列表数据源
|
47
|
+
*/
|
48
|
+
data?: TagInputOption[];
|
49
|
+
}
|
package/package.json
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
{
|
2
|
+
"name": "@hi-ui/tag-input",
|
3
|
+
"version": "4.0.0-alpha.1",
|
4
|
+
"description": "A sub-package for @hi-ui/hiui.",
|
5
|
+
"keywords": [],
|
6
|
+
"author": "HIUI <mi-hiui@xiaomi.com>",
|
7
|
+
"homepage": "https://github.com/XiaoMi/hiui/tree/master/packages/ui/tag-input#readme",
|
8
|
+
"license": "MIT",
|
9
|
+
"directories": {
|
10
|
+
"lib": "lib",
|
11
|
+
"test": "__tests__"
|
12
|
+
},
|
13
|
+
"files": [
|
14
|
+
"lib"
|
15
|
+
],
|
16
|
+
"main": "lib/cjs/index.js",
|
17
|
+
"module": "lib/esm/index.js",
|
18
|
+
"types": "lib/types/index.d.ts",
|
19
|
+
"typings": "lib/types/index.d.ts",
|
20
|
+
"exports": {
|
21
|
+
".": {
|
22
|
+
"require": "./lib/cjs/index.js",
|
23
|
+
"default": "./lib/esm/index.js"
|
24
|
+
}
|
25
|
+
},
|
26
|
+
"publishConfig": {
|
27
|
+
"access": "public"
|
28
|
+
},
|
29
|
+
"repository": {
|
30
|
+
"type": "git",
|
31
|
+
"url": "git+https://github.com/XiaoMi/hiui.git"
|
32
|
+
},
|
33
|
+
"scripts": {
|
34
|
+
"test": "jest",
|
35
|
+
"clean": "rimraf lib",
|
36
|
+
"prebuild": "yarn clean",
|
37
|
+
"build:esm": "hi-build ./src/index.ts --format esm -d ./lib/esm",
|
38
|
+
"build:cjs": "hi-build ./src/index.ts --format cjs -d ./lib/cjs",
|
39
|
+
"build:types": "tsc --emitDeclarationOnly --declaration --declarationDir lib/types",
|
40
|
+
"build": "concurrently yarn:build:*"
|
41
|
+
},
|
42
|
+
"bugs": {
|
43
|
+
"url": "https://github.com/XiaoMi/hiui/issues"
|
44
|
+
},
|
45
|
+
"dependencies": {
|
46
|
+
"@hi-ui/classname": "^4.0.0-alpha.0",
|
47
|
+
"@hi-ui/core": "^4.0.0-alpha.2",
|
48
|
+
"@hi-ui/core-css": "^4.0.0-alpha.0",
|
49
|
+
"@hi-ui/env": "^4.0.0-alpha.0",
|
50
|
+
"@hi-ui/icons": "^4.0.0-alpha.8",
|
51
|
+
"@hi-ui/use-merge-refs": "^4.0.0-alpha.2",
|
52
|
+
"@hi-ui/use-outside-click": "^4.0.0-alpha.4",
|
53
|
+
"@hi-ui/use-uncontrolled-state": "^4.0.0-alpha.5"
|
54
|
+
},
|
55
|
+
"peerDependencies": {
|
56
|
+
"react": "^17.0.1",
|
57
|
+
"react-dom": "^17.0.1"
|
58
|
+
},
|
59
|
+
"devDependencies": {
|
60
|
+
"@hi-ui/hi-build": "^4.0.0-alpha.0",
|
61
|
+
"react": "^17.0.1",
|
62
|
+
"react-dom": "^17.0.1"
|
63
|
+
},
|
64
|
+
"gitHead": "0e89a6d183d2f2c5901a9c2bb7f88b30d5e2b193"
|
65
|
+
}
|