@tendaui/react 1.1.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.
Files changed (244) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -0
  3. package/es/_chunks/dep-0QH2Ee4R.js +34 -0
  4. package/es/_chunks/dep-0QH2Ee4R.js.map +1 -0
  5. package/es/_chunks/dep-B7HmDtze.js +199 -0
  6. package/es/_chunks/dep-B7HmDtze.js.map +1 -0
  7. package/es/_chunks/dep-BH5n5r1M.js +55 -0
  8. package/es/_chunks/dep-BH5n5r1M.js.map +1 -0
  9. package/es/_chunks/dep-BP0-apUT.js +9 -0
  10. package/es/_chunks/dep-BP0-apUT.js.map +1 -0
  11. package/es/_chunks/dep-C1XcmShP.js +18 -0
  12. package/es/_chunks/dep-C1XcmShP.js.map +1 -0
  13. package/es/_chunks/dep-C36au4Ip.js +104 -0
  14. package/es/_chunks/dep-C36au4Ip.js.map +1 -0
  15. package/es/_chunks/dep-CgyDw_YI.js +20 -0
  16. package/es/_chunks/dep-CgyDw_YI.js.map +1 -0
  17. package/es/_chunks/dep-CoIiHOgo.js +162 -0
  18. package/es/_chunks/dep-CoIiHOgo.js.map +1 -0
  19. package/es/_chunks/dep-Cwish4GD.js +29 -0
  20. package/es/_chunks/dep-Cwish4GD.js.map +1 -0
  21. package/es/_chunks/dep-CzLhKWCf.js +56 -0
  22. package/es/_chunks/dep-CzLhKWCf.js.map +1 -0
  23. package/es/_chunks/dep-D-UKOauR.js +12 -0
  24. package/es/_chunks/dep-D-UKOauR.js.map +1 -0
  25. package/es/_chunks/dep-D6YxJv-F.js +31 -0
  26. package/es/_chunks/dep-D6YxJv-F.js.map +1 -0
  27. package/es/_chunks/dep-D7LanWes.js +171 -0
  28. package/es/_chunks/dep-D7LanWes.js.map +1 -0
  29. package/es/_chunks/dep-D8jki30S.js +31 -0
  30. package/es/_chunks/dep-D8jki30S.js.map +1 -0
  31. package/es/_chunks/dep-DB5wmwh1.js +48 -0
  32. package/es/_chunks/dep-DB5wmwh1.js.map +1 -0
  33. package/es/_chunks/dep-DGvfel3I.js +16 -0
  34. package/es/_chunks/dep-DGvfel3I.js.map +1 -0
  35. package/es/_chunks/dep-DHWwZ2Nj.js +139 -0
  36. package/es/_chunks/dep-DHWwZ2Nj.js.map +1 -0
  37. package/es/_chunks/dep-DN7d1SzH.js +24 -0
  38. package/es/_chunks/dep-DN7d1SzH.js.map +1 -0
  39. package/es/_chunks/dep-DZ_0EvBk.js +440 -0
  40. package/es/_chunks/dep-DZ_0EvBk.js.map +1 -0
  41. package/es/_chunks/dep-Dk2xX8lh.js +691 -0
  42. package/es/_chunks/dep-Dk2xX8lh.js.map +1 -0
  43. package/es/_chunks/dep-DwWrhxkd.js +26 -0
  44. package/es/_chunks/dep-DwWrhxkd.js.map +1 -0
  45. package/es/_chunks/dep-EcrDKDlu.js +1677 -0
  46. package/es/_chunks/dep-EcrDKDlu.js.map +1 -0
  47. package/es/_chunks/dep-PPA-yoAy.js +16 -0
  48. package/es/_chunks/dep-PPA-yoAy.js.map +1 -0
  49. package/es/_chunks/dep-U1T8CQY9.js +4 -0
  50. package/es/_chunks/dep-U1T8CQY9.js.map +1 -0
  51. package/es/_chunks/dep-bWaVq_y3.js +14 -0
  52. package/es/_chunks/dep-bWaVq_y3.js.map +1 -0
  53. package/es/_chunks/dep-u1x3x6MJ.js +9 -0
  54. package/es/_chunks/dep-u1x3x6MJ.js.map +1 -0
  55. package/es/alert/Alert.js +153 -0
  56. package/es/alert/Alert.js.map +1 -0
  57. package/es/alert/index.js +23 -0
  58. package/es/alert/index.js.map +1 -0
  59. package/es/alert/style/css.js +1 -0
  60. package/es/alert/style/index.css +172 -0
  61. package/es/alert/style/index.js +2 -0
  62. package/es/alert/style/index.js.map +1 -0
  63. package/es/badge/Badge.js +81 -0
  64. package/es/badge/Badge.js.map +1 -0
  65. package/es/badge/index.js +15 -0
  66. package/es/badge/index.js.map +1 -0
  67. package/es/badge/style/css.js +1 -0
  68. package/es/badge/style/index.css +60 -0
  69. package/es/badge/style/index.js +2 -0
  70. package/es/badge/style/index.js.map +1 -0
  71. package/es/button/Button.js +94 -0
  72. package/es/button/Button.js.map +1 -0
  73. package/es/button/index.js +28 -0
  74. package/es/button/index.js.map +1 -0
  75. package/es/button/style/css.js +1 -0
  76. package/es/button/style/index.css +1206 -0
  77. package/es/button/style/index.js +2 -0
  78. package/es/button/style/index.js.map +1 -0
  79. package/es/checkbox/Checkbox.js +17 -0
  80. package/es/checkbox/Checkbox.js.map +1 -0
  81. package/es/checkbox/CheckboxGroup.js +17 -0
  82. package/es/checkbox/CheckboxGroup.js.map +1 -0
  83. package/es/checkbox/index.js +22 -0
  84. package/es/checkbox/index.js.map +1 -0
  85. package/es/checkbox/style/css.js +1 -0
  86. package/es/checkbox/style/index.css +151 -0
  87. package/es/checkbox/style/index.js +2 -0
  88. package/es/checkbox/style/index.js.map +1 -0
  89. package/es/common/Check.js +101 -0
  90. package/es/common/Check.js.map +1 -0
  91. package/es/common/FakeArrow.js +28 -0
  92. package/es/common/FakeArrow.js.map +1 -0
  93. package/es/common/PluginContainer.js +19 -0
  94. package/es/common/PluginContainer.js.map +1 -0
  95. package/es/common/Portal.js +53 -0
  96. package/es/common/Portal.js.map +1 -0
  97. package/es/config-provider/ConfigContext.js +17 -0
  98. package/es/config-provider/ConfigContext.js.map +1 -0
  99. package/es/config-provider/ConfigProvider.js +45 -0
  100. package/es/config-provider/ConfigProvider.js.map +1 -0
  101. package/es/config-provider/index.js +12 -0
  102. package/es/config-provider/index.js.map +1 -0
  103. package/es/dialog/Dialog.js +575 -0
  104. package/es/dialog/Dialog.js.map +1 -0
  105. package/es/dialog/DialogCard.js +28 -0
  106. package/es/dialog/DialogCard.js.map +1 -0
  107. package/es/dialog/index.js +44 -0
  108. package/es/dialog/index.js.map +1 -0
  109. package/es/dialog/plugin.js +199 -0
  110. package/es/dialog/plugin.js.map +1 -0
  111. package/es/dialog/style/css.js +1 -0
  112. package/es/dialog/style/index.css +510 -0
  113. package/es/dialog/style/index.js +2 -0
  114. package/es/dialog/style/index.js.map +1 -0
  115. package/es/form/Form.js +190 -0
  116. package/es/form/Form.js.map +1 -0
  117. package/es/form/FormContext.js +38 -0
  118. package/es/form/FormContext.js.map +1 -0
  119. package/es/form/FormItem.js +39 -0
  120. package/es/form/FormItem.js.map +1 -0
  121. package/es/form/FormList.js +306 -0
  122. package/es/form/FormList.js.map +1 -0
  123. package/es/form/hooks/useFormItemStyle.js +10 -0
  124. package/es/form/hooks/useFormItemStyle.js.map +1 -0
  125. package/es/form/hooks/useInstance.js +326 -0
  126. package/es/form/hooks/useInstance.js.map +1 -0
  127. package/es/form/index.js +47 -0
  128. package/es/form/index.js.map +1 -0
  129. package/es/form/style/css.js +1 -0
  130. package/es/form/style/index.css +296 -0
  131. package/es/form/style/index.js +2 -0
  132. package/es/form/style/index.js.map +1 -0
  133. package/es/form/utils/index.js +75 -0
  134. package/es/form/utils/index.js.map +1 -0
  135. package/es/hooks/useDragSorter.js +137 -0
  136. package/es/hooks/useDragSorter.js.map +1 -0
  137. package/es/index.js +103 -0
  138. package/es/index.js.map +1 -0
  139. package/es/input/Input.js +375 -0
  140. package/es/input/Input.js.map +1 -0
  141. package/es/input/InputGroup.js +23 -0
  142. package/es/input/InputGroup.js.map +1 -0
  143. package/es/input/index.js +23 -0
  144. package/es/input/index.js.map +1 -0
  145. package/es/input/style/css.js +1 -0
  146. package/es/input/style/index.css +450 -0
  147. package/es/input/style/index.js +2 -0
  148. package/es/input/style/index.js.map +1 -0
  149. package/es/loading/Gradient.js +86 -0
  150. package/es/loading/Gradient.js.map +1 -0
  151. package/es/loading/Loading.js +147 -0
  152. package/es/loading/Loading.js.map +1 -0
  153. package/es/loading/index.js +24 -0
  154. package/es/loading/index.js.map +1 -0
  155. package/es/loading/style/css.js +1 -0
  156. package/es/loading/style/index.css +191 -0
  157. package/es/loading/style/index.js +2 -0
  158. package/es/loading/style/index.js.map +1 -0
  159. package/es/myform/index.js +2 -0
  160. package/es/myform/index.js.map +1 -0
  161. package/es/notification/NotifyContainer.js +78 -0
  162. package/es/notification/NotifyContainer.js.map +1 -0
  163. package/es/notification/NotifyContext.js +149 -0
  164. package/es/notification/NotifyContext.js.map +1 -0
  165. package/es/notification/NotifyItem.js +150 -0
  166. package/es/notification/NotifyItem.js.map +1 -0
  167. package/es/notification/index.js +32 -0
  168. package/es/notification/index.js.map +1 -0
  169. package/es/notification/style/css.js +1 -0
  170. package/es/notification/style/index.css +142 -0
  171. package/es/notification/style/index.js +2 -0
  172. package/es/notification/style/index.js.map +1 -0
  173. package/es/popup/Popup.js +790 -0
  174. package/es/popup/Popup.js.map +1 -0
  175. package/es/popup/index.js +28 -0
  176. package/es/popup/index.js.map +1 -0
  177. package/es/popup/style/css.js +1 -0
  178. package/es/popup/style/index.css +186 -0
  179. package/es/popup/style/index.js +2 -0
  180. package/es/popup/style/index.js.map +1 -0
  181. package/es/portal/Portal.js +48 -0
  182. package/es/portal/Portal.js.map +1 -0
  183. package/es/portal/index.js +7 -0
  184. package/es/portal/index.js.map +1 -0
  185. package/es/select/Option.js +118 -0
  186. package/es/select/Option.js.map +1 -0
  187. package/es/select/OptionGroup.js +9 -0
  188. package/es/select/OptionGroup.js.map +1 -0
  189. package/es/select/PopupContent.js +16 -0
  190. package/es/select/PopupContent.js.map +1 -0
  191. package/es/select/Select.js +709 -0
  192. package/es/select/Select.js.map +1 -0
  193. package/es/select/index.js +66 -0
  194. package/es/select/index.js.map +1 -0
  195. package/es/select/style/css.js +1 -0
  196. package/es/select/style/index.css +437 -0
  197. package/es/select/style/index.js +2 -0
  198. package/es/select/style/index.js.map +1 -0
  199. package/es/select-input/SelectInput.js +202 -0
  200. package/es/select-input/SelectInput.js.map +1 -0
  201. package/es/select-input/hook/useMultiple.js +118 -0
  202. package/es/select-input/hook/useMultiple.js.map +1 -0
  203. package/es/select-input/hook/useSingle.js +105 -0
  204. package/es/select-input/hook/useSingle.js.map +1 -0
  205. package/es/select-input/index.js +51 -0
  206. package/es/select-input/index.js.map +1 -0
  207. package/es/select-input/style/css.js +1 -0
  208. package/es/select-input/style/index.css +0 -0
  209. package/es/select-input/style/index.js +2 -0
  210. package/es/select-input/style/index.js.map +1 -0
  211. package/es/space/index.js +2 -0
  212. package/es/space/index.js.map +1 -0
  213. package/es/style/index.css +490 -0
  214. package/es/style/index.js +2 -0
  215. package/es/style/index.js.map +1 -0
  216. package/es/switch/Switch.js +174 -0
  217. package/es/switch/Switch.js.map +1 -0
  218. package/es/switch/index.js +28 -0
  219. package/es/switch/index.js.map +1 -0
  220. package/es/switch/style/css.js +1 -0
  221. package/es/switch/style/index.css +239 -0
  222. package/es/switch/style/index.js +2 -0
  223. package/es/switch/style/index.js.map +1 -0
  224. package/es/tag/Tag.js +1312 -0
  225. package/es/tag/Tag.js.map +1 -0
  226. package/es/tag/index.js +21 -0
  227. package/es/tag/index.js.map +1 -0
  228. package/es/tag/style/css.js +1 -0
  229. package/es/tag/style/index.css +236 -0
  230. package/es/tag/style/index.js +2 -0
  231. package/es/tag/style/index.js.map +1 -0
  232. package/es/tag-input/TagInput.js +360 -0
  233. package/es/tag-input/TagInput.js.map +1 -0
  234. package/es/tag-input/hooks/useTagList.js +167 -0
  235. package/es/tag-input/hooks/useTagList.js.map +1 -0
  236. package/es/tag-input/index.js +35 -0
  237. package/es/tag-input/index.js.map +1 -0
  238. package/es/tag-input/style/css.js +1 -0
  239. package/es/tag-input/style/index.css +223 -0
  240. package/es/tag-input/style/index.js +2 -0
  241. package/es/tag-input/style/index.js.map +1 -0
  242. package/es/tag-input/useTagList.js +167 -0
  243. package/es/tag-input/useTagList.js.map +1 -0
  244. package/package.json +59 -0
@@ -0,0 +1,360 @@
1
+ import { _ as _defineProperty } from '../_chunks/dep-Cwish4GD.js';
2
+ import { _ as _slicedToArray } from '../_chunks/dep-CzLhKWCf.js';
3
+ import React, { useRef, useState, useEffect, forwardRef, useImperativeHandle } from 'react';
4
+ import { IconClear } from '@tendaui/icons';
5
+ import { isFunction } from 'lodash-es';
6
+ import classNames from 'classnames';
7
+ import { u as useConfig } from '../_chunks/dep-u1x3x6MJ.js';
8
+ import { Input } from '../input/index.js';
9
+ import useTagList from './hooks/useTagList.js';
10
+ import { u as useControlled } from '../_chunks/dep-DwWrhxkd.js';
11
+ import { u as useDefaultProps } from '../_chunks/dep-DGvfel3I.js';
12
+ import { u as useGlobalIcon } from '../_chunks/dep-bWaVq_y3.js';
13
+ import useDragSorter from '../hooks/useDragSorter.js';
14
+ import '../_chunks/dep-D-UKOauR.js';
15
+ import '../config-provider/ConfigContext.js';
16
+ import '../input/Input.js';
17
+ import '../_chunks/dep-DN7d1SzH.js';
18
+ import '../_chunks/dep-0QH2Ee4R.js';
19
+ import '../_chunks/dep-D6YxJv-F.js';
20
+ import '../input/InputGroup.js';
21
+ import '../input/style/css.js';
22
+ import '../_chunks/dep-CgyDw_YI.js';
23
+ import '../tag/index.js';
24
+ import '../tag/Tag.js';
25
+ import '../_chunks/dep-U1T8CQY9.js';
26
+ import '../_chunks/dep-BP0-apUT.js';
27
+ import 'hoist-non-react-statics';
28
+ import '../tag/style/css.js';
29
+
30
+ var mouseEnterTimer = null;
31
+ function useTagScroll(props) {
32
+ var tagInputRef = useRef(null);
33
+ var _props$excessTagsDisp = props.excessTagsDisplayType,
34
+ excessTagsDisplayType = _props$excessTagsDisp === void 0 ? "scroll" : _props$excessTagsDisp,
35
+ readonly = props.readonly,
36
+ disabled = props.disabled;
37
+ var _useState = useState(0),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ scrollDistance = _useState2[0],
40
+ setScrollDistance = _useState2[1];
41
+ var _useState3 = useState(),
42
+ _useState4 = _slicedToArray(_useState3, 2),
43
+ scrollElement = _useState4[0],
44
+ setScrollElement = _useState4[1];
45
+ var updateScrollElement = function updateScrollElement(element) {
46
+ var scrollElement2 = element.children[0];
47
+ setScrollElement(scrollElement2);
48
+ };
49
+ var updateScrollDistance = function updateScrollDistance() {
50
+ if (!scrollElement) return;
51
+ setScrollDistance(scrollElement.scrollWidth - scrollElement.clientWidth);
52
+ };
53
+ var scrollTo = function scrollTo(distance) {
54
+ if (isFunction(scrollElement === null || scrollElement === void 0 ? void 0 : scrollElement.scroll)) {
55
+ scrollElement.scroll({
56
+ left: distance,
57
+ behavior: "smooth"
58
+ });
59
+ }
60
+ };
61
+ var scrollToRight = function scrollToRight() {
62
+ updateScrollDistance();
63
+ scrollTo(scrollDistance);
64
+ };
65
+ var scrollToLeft = function scrollToLeft() {
66
+ scrollTo(0);
67
+ };
68
+ var onWheel = function onWheel(_ref) {
69
+ var e = _ref.e;
70
+ if (readonly || disabled) return;
71
+ if (!scrollElement) return;
72
+ if (e.deltaX > 0) {
73
+ var distance = Math.min(scrollElement.scrollLeft + 120, scrollDistance);
74
+ scrollTo(distance);
75
+ } else {
76
+ var _distance = Math.max(scrollElement.scrollLeft - 120, 0);
77
+ scrollTo(_distance);
78
+ }
79
+ };
80
+ var scrollToRightOnEnter = function scrollToRightOnEnter() {
81
+ if (excessTagsDisplayType !== "scroll") return;
82
+ mouseEnterTimer = setTimeout(function () {
83
+ scrollToRight();
84
+ if (mouseEnterTimer) clearTimeout(mouseEnterTimer);
85
+ }, 100);
86
+ };
87
+ var scrollToLeftOnLeave = function scrollToLeftOnLeave() {
88
+ if (excessTagsDisplayType !== "scroll") return;
89
+ scrollTo(0);
90
+ if (mouseEnterTimer) {
91
+ clearTimeout(mouseEnterTimer);
92
+ }
93
+ };
94
+ var clearScroll = function clearScroll() {
95
+ if (mouseEnterTimer) clearTimeout(mouseEnterTimer);
96
+ };
97
+ var initScroll = function initScroll(element) {
98
+ if (!element) return;
99
+ updateScrollElement(element);
100
+ };
101
+ useEffect(function () {
102
+ var _tagInputRef$current;
103
+ if (tagInputRef.current) initScroll(tagInputRef === null || tagInputRef === void 0 || (_tagInputRef$current = tagInputRef.current) === null || _tagInputRef$current === void 0 ? void 0 : _tagInputRef$current.currentElement);
104
+ return clearScroll;
105
+ }, []);
106
+ return {
107
+ initScroll: initScroll,
108
+ clearScroll: clearScroll,
109
+ tagInputRef: tagInputRef,
110
+ scrollElement: scrollElement,
111
+ scrollDistance: scrollDistance,
112
+ scrollTo: scrollTo,
113
+ scrollToRight: scrollToRight,
114
+ scrollToLeft: scrollToLeft,
115
+ updateScrollElement: updateScrollElement,
116
+ updateScrollDistance: updateScrollDistance,
117
+ onWheel: onWheel,
118
+ scrollToRightOnEnter: scrollToRightOnEnter,
119
+ scrollToLeftOnLeave: scrollToLeftOnLeave
120
+ };
121
+ }
122
+
123
+ function useHover(props) {
124
+ var readonly = props.readonly,
125
+ disabled = props.disabled,
126
+ onMouseenter = props.onMouseenter,
127
+ onMouseleave = props.onMouseleave;
128
+ var _useState = useState(false),
129
+ _useState2 = _slicedToArray(_useState, 2),
130
+ isHover = _useState2[0],
131
+ setIsHover = _useState2[1];
132
+ var addHover = function addHover(context) {
133
+ if (readonly || disabled) return;
134
+ setIsHover(true);
135
+ onMouseenter === null || onMouseenter === void 0 || onMouseenter(context);
136
+ };
137
+ var cancelHover = function cancelHover(context) {
138
+ if (readonly || disabled) return;
139
+ setIsHover(false);
140
+ onMouseleave === null || onMouseleave === void 0 || onMouseleave(context);
141
+ };
142
+ return {
143
+ isHover: isHover,
144
+ addHover: addHover,
145
+ cancelHover: cancelHover
146
+ };
147
+ }
148
+
149
+ var tagInputDefaultProps = {
150
+ autoWidth: false,
151
+ borderless: false,
152
+ clearable: false,
153
+ dragSort: false,
154
+ excessTagsDisplayType: "break-line",
155
+ defaultInputValue: "",
156
+ minCollapsedNum: 0,
157
+ placeholder: void 0,
158
+ readonly: false,
159
+ size: "medium",
160
+ defaultValue: []
161
+ };
162
+
163
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
164
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
165
+ var TagInput = /*#__PURE__*/forwardRef(function (originalProps, ref) {
166
+ var props = useDefaultProps(originalProps, tagInputDefaultProps);
167
+ var _useConfig = useConfig(),
168
+ prefix = _useConfig.classPrefix;
169
+ var _useGlobalIcon = useGlobalIcon({
170
+ CloseCircleFilledIcon: IconClear
171
+ }),
172
+ CloseCircleFilledIcon = _useGlobalIcon.CloseCircleFilledIcon;
173
+ var excessTagsDisplayType = props.excessTagsDisplayType,
174
+ autoWidth = props.autoWidth,
175
+ borderless = props.borderless,
176
+ readonly = props.readonly,
177
+ disabled = props.disabled,
178
+ clearable = props.clearable,
179
+ placeholder = props.placeholder,
180
+ valueDisplay = props.valueDisplay,
181
+ label = props.label,
182
+ inputProps = props.inputProps,
183
+ size = props.size,
184
+ tips = props.tips,
185
+ status = props.status,
186
+ suffixIcon = props.suffixIcon,
187
+ suffix = props.suffix,
188
+ prefixIcon = props.prefixIcon,
189
+ maxRows = props.maxRows,
190
+ onClick = props.onClick,
191
+ onPaste = props.onPaste,
192
+ _onFocus = props.onFocus,
193
+ _onBlur = props.onBlur;
194
+ var _useControlled = useControlled(props, "inputValue", props.onInputChange),
195
+ _useControlled2 = _slicedToArray(_useControlled, 2),
196
+ tInputValue = _useControlled2[0],
197
+ setTInputValue = _useControlled2[1];
198
+ var _useHover = useHover(props),
199
+ isHover = _useHover.isHover,
200
+ addHover = _useHover.addHover,
201
+ cancelHover = _useHover.cancelHover;
202
+ var _useDragSorter = useDragSorter(_objectSpread(_objectSpread({}, props), {}, {
203
+ sortOnDraggable: props.dragSort,
204
+ onDragOverCheck: {
205
+ x: true,
206
+ targetClassNameRegExp: new RegExp("^".concat(prefix, "-tag"))
207
+ }
208
+ })),
209
+ getDragProps = _useDragSorter.getDragProps;
210
+ var isCompositionRef = useRef(false);
211
+ var _useTagScroll = useTagScroll(props),
212
+ scrollToRight = _useTagScroll.scrollToRight,
213
+ onWheel = _useTagScroll.onWheel,
214
+ scrollToRightOnEnter = _useTagScroll.scrollToRightOnEnter,
215
+ scrollToLeftOnLeave = _useTagScroll.scrollToLeftOnLeave,
216
+ tagInputRef = _useTagScroll.tagInputRef;
217
+ var _useTagList = useTagList(_objectSpread(_objectSpread({}, props), {}, {
218
+ getDragProps: getDragProps
219
+ })),
220
+ tagValue = _useTagList.tagValue,
221
+ _onClose = _useTagList.onClose,
222
+ onInnerEnter = _useTagList.onInnerEnter,
223
+ onInputBackspaceKeyUp = _useTagList.onInputBackspaceKeyUp,
224
+ clearAll = _useTagList.clearAll,
225
+ renderLabel = _useTagList.renderLabel,
226
+ onInputBackspaceKeyDown = _useTagList.onInputBackspaceKeyDown;
227
+ var NAME_CLASS = "".concat(prefix, "-tag-input");
228
+ var WITH_SUFFIX_ICON_CLASS = "".concat(prefix, "-tag-input__with-suffix-icon");
229
+ var CLEAR_CLASS = "".concat(prefix, "-tag-input__suffix-clear ").concat(prefix, "-icon");
230
+ var BREAK_LINE_CLASS = "".concat(prefix, "-tag-input--break-line");
231
+ var tagInputPlaceholder = !(tagValue !== null && tagValue !== void 0 && tagValue.length) ? placeholder : "";
232
+ var showClearIcon = Boolean(!readonly && !disabled && clearable && isHover && (tagValue === null || tagValue === void 0 ? void 0 : tagValue.length));
233
+ useImperativeHandle(ref, function () {
234
+ return _objectSpread({}, tagInputRef.current || {});
235
+ });
236
+ var onInputCompositionstart = function onInputCompositionstart(value, context) {
237
+ var _inputProps$onComposi;
238
+ isCompositionRef.current = true;
239
+ inputProps === null || inputProps === void 0 || (_inputProps$onComposi = inputProps.onCompositionstart) === null || _inputProps$onComposi === void 0 || _inputProps$onComposi.call(inputProps, value, context);
240
+ };
241
+ var onInputCompositionend = function onInputCompositionend(value, context) {
242
+ var _inputProps$onComposi2;
243
+ isCompositionRef.current = false;
244
+ inputProps === null || inputProps === void 0 || (_inputProps$onComposi2 = inputProps.onCompositionend) === null || _inputProps$onComposi2 === void 0 || _inputProps$onComposi2.call(inputProps, value, context);
245
+ };
246
+ var onInputEnter = function onInputEnter(value, context) {
247
+ setTInputValue("", {
248
+ e: context.e,
249
+ trigger: "enter"
250
+ });
251
+ if (!isCompositionRef.current) {
252
+ onInnerEnter(value, context);
253
+ }
254
+ scrollToRight();
255
+ };
256
+ var onInnerClick = function onInnerClick(context) {
257
+ if (!props.disabled && !props.readonly) {
258
+ var _tagInputRef$current, _tagInputRef$current$;
259
+ (_tagInputRef$current = tagInputRef.current) === null || _tagInputRef$current === void 0 || (_tagInputRef$current = _tagInputRef$current.currentElement) === null || _tagInputRef$current === void 0 || (_tagInputRef$current$ = _tagInputRef$current.focus) === null || _tagInputRef$current$ === void 0 || _tagInputRef$current$.call(_tagInputRef$current);
260
+ }
261
+ onClick === null || onClick === void 0 || onClick(context);
262
+ };
263
+ var onClearClick = function onClearClick(e) {
264
+ var _props$onClear;
265
+ clearAll({
266
+ e: e
267
+ });
268
+ setTInputValue("", {
269
+ e: e,
270
+ trigger: "clear"
271
+ });
272
+ (_props$onClear = props.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props, {
273
+ e: e
274
+ });
275
+ };
276
+ var suffixIconNode = showClearIcon ? /* @__PURE__ */React.createElement(CloseCircleFilledIcon, {
277
+ className: CLEAR_CLASS,
278
+ onClick: onClearClick
279
+ }) : suffixIcon;
280
+ var displayNode = isFunction(valueDisplay) ? valueDisplay({
281
+ value: tagValue,
282
+ onClose: function onClose(index) {
283
+ return _onClose({
284
+ index: index
285
+ });
286
+ }
287
+ }) : valueDisplay;
288
+ var isEmpty = !(Array.isArray(tagValue) && tagValue.length);
289
+ var classes = [NAME_CLASS, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, BREAK_LINE_CLASS, excessTagsDisplayType === "break-line"), WITH_SUFFIX_ICON_CLASS, !!suffixIconNode), "".concat(prefix, "-is-empty"), isEmpty), "".concat(prefix, "-tag-input--with-tag"), !isEmpty), "".concat(prefix, "-tag-input--max-rows"), excessTagsDisplayType === "break-line" && maxRows), "".concat(prefix, "-tag-input--drag-sort"), props.dragSort && !disabled && !readonly), props.className];
290
+ var maxRowsStyle = maxRows ? {
291
+ "--max-rows": maxRows,
292
+ "--tag-input-size": size
293
+ } : {};
294
+ return /* @__PURE__ */React.createElement(Input, _objectSpread({
295
+ ref: tagInputRef,
296
+ value: tInputValue,
297
+ onChange: function onChange(val, context) {
298
+ setTInputValue(val, _objectSpread(_objectSpread({}, context), {}, {
299
+ trigger: "input"
300
+ }));
301
+ },
302
+ autoWidth: true,
303
+ onWheel: onWheel,
304
+ size: size,
305
+ borderless: borderless,
306
+ readonly: readonly,
307
+ disabled: disabled,
308
+ label: renderLabel({
309
+ displayNode: displayNode,
310
+ label: label
311
+ }),
312
+ className: classNames(classes),
313
+ style: _objectSpread(_objectSpread({}, props.style), maxRowsStyle),
314
+ tips: tips,
315
+ status: status,
316
+ placeholder: tagInputPlaceholder,
317
+ suffix: suffix,
318
+ prefixIcon: prefixIcon,
319
+ suffixIcon: suffixIconNode,
320
+ showInput: !(inputProps !== null && inputProps !== void 0 && inputProps.readonly) || !tagValue || !(tagValue !== null && tagValue !== void 0 && tagValue.length),
321
+ keepWrapperWidth: !autoWidth,
322
+ onPaste: onPaste,
323
+ onClick: onInnerClick,
324
+ onEnter: onInputEnter,
325
+ onKeydown: onInputBackspaceKeyDown,
326
+ onKeyup: onInputBackspaceKeyUp,
327
+ onMouseenter: function onMouseenter(context) {
328
+ addHover(context);
329
+ scrollToRightOnEnter();
330
+ },
331
+ onMouseleave: function onMouseleave(context) {
332
+ cancelHover(context);
333
+ scrollToLeftOnLeave();
334
+ },
335
+ onFocus: function onFocus(inputValue, context) {
336
+ _onFocus === null || _onFocus === void 0 || _onFocus(tagValue, {
337
+ e: context.e,
338
+ inputValue: inputValue
339
+ });
340
+ },
341
+ onBlur: function onBlur(inputValue, context) {
342
+ if (tInputValue) {
343
+ setTInputValue("", {
344
+ e: context.e,
345
+ trigger: "blur"
346
+ });
347
+ }
348
+ _onBlur === null || _onBlur === void 0 || _onBlur(tagValue, {
349
+ e: context.e,
350
+ inputValue: ""
351
+ });
352
+ },
353
+ onCompositionstart: onInputCompositionstart,
354
+ onCompositionend: onInputCompositionend
355
+ }, inputProps));
356
+ });
357
+ TagInput.displayName = "TagInput";
358
+
359
+ export { TagInput as default };
360
+ //# sourceMappingURL=TagInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagInput.js","sources":["../../../components/tag-input/hooks/useTagScroll.ts","../../../components/tag-input/hooks/useHover.ts","../../../components/tag-input/defaultProps.ts","../../../components/tag-input/TagInput.tsx"],"sourcesContent":["/**\n * 当标签数量过多时,输入框显示不下,则需要滚动查看,以下为滚动逻辑\n * 如果标签过多时的处理方式,是标签省略,则不需要此功能\n */\n\nimport { isFunction } from \"lodash-es\";\nimport { useRef, useEffect, useState, WheelEvent } from \"react\";\nimport { TdTagInputProps } from \"../type\";\n\nlet mouseEnterTimer: ReturnType<typeof setTimeout> | null = null;\n\nexport default function useTagScroll(props: TdTagInputProps) {\n const tagInputRef = useRef<{ currentElement: HTMLDivElement }>(null);\n const { excessTagsDisplayType = \"scroll\", readonly, disabled } = props;\n // 允许向右滚动的最大距离\n const [scrollDistance, setScrollDistance] = useState(0);\n const [scrollElement, setScrollElement] = useState<HTMLDivElement>();\n\n const updateScrollElement = (element: HTMLDivElement) => {\n const scrollElement = element.children[0] as HTMLDivElement;\n setScrollElement(scrollElement);\n };\n\n const updateScrollDistance = () => {\n if (!scrollElement) return;\n setScrollDistance(scrollElement.scrollWidth - scrollElement.clientWidth);\n };\n\n const scrollTo = (distance: number) => {\n if (isFunction(scrollElement?.scroll)) {\n scrollElement.scroll({ left: distance, behavior: \"smooth\" });\n }\n };\n\n const scrollToRight = () => {\n updateScrollDistance();\n scrollTo(scrollDistance);\n };\n\n const scrollToLeft = () => {\n scrollTo(0);\n };\n\n // TODO:MAC 电脑横向滚动,Windows 纵向滚动。当前只处理了横向滚动\n const onWheel = ({ e }: { e: WheelEvent<HTMLDivElement> }) => {\n if (readonly || disabled) return;\n if (!scrollElement) return;\n if (e.deltaX > 0) {\n const distance = Math.min(scrollElement.scrollLeft + 120, scrollDistance);\n scrollTo(distance);\n } else {\n const distance = Math.max(scrollElement.scrollLeft - 120, 0);\n scrollTo(distance);\n }\n };\n\n // 鼠标 hover,自动滑动到最右侧,以便输入新标签\n const scrollToRightOnEnter = () => {\n if (excessTagsDisplayType !== \"scroll\") return;\n // 一闪而过的 mousenter 不需要执行\n mouseEnterTimer = setTimeout(() => {\n scrollToRight();\n if (mouseEnterTimer) clearTimeout(mouseEnterTimer);\n }, 100);\n };\n\n const scrollToLeftOnLeave = () => {\n if (excessTagsDisplayType !== \"scroll\") return;\n scrollTo(0);\n if (mouseEnterTimer) {\n clearTimeout(mouseEnterTimer);\n }\n };\n\n const clearScroll = () => {\n if (mouseEnterTimer) clearTimeout(mouseEnterTimer);\n };\n\n const initScroll = (element: HTMLDivElement) => {\n if (!element) return;\n updateScrollElement(element);\n };\n\n useEffect(() => {\n if (tagInputRef.current) initScroll(tagInputRef?.current?.currentElement);\n return clearScroll;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n initScroll,\n clearScroll,\n tagInputRef,\n scrollElement,\n scrollDistance,\n scrollTo,\n scrollToRight,\n scrollToLeft,\n updateScrollElement,\n updateScrollDistance,\n onWheel,\n scrollToRightOnEnter,\n scrollToLeftOnLeave\n };\n}\n","import { useState, MouseEvent } from \"react\";\nimport { TdTagInputProps } from \"../type\";\n\nexport interface UseHoverParams {\n readonly: boolean;\n disabled: boolean;\n onMouseenter: (context: { e: MouseEvent<HTMLDivElement> }) => void;\n onMouseleave: (context: { e: MouseEvent<HTMLDivElement> }) => void;\n}\n\nexport default function useHover(props: TdTagInputProps) {\n const { readonly, disabled, onMouseenter, onMouseleave } = props;\n const [isHover, setIsHover] = useState<boolean>(false);\n\n const addHover = (context: Parameters<UseHoverParams[\"onMouseenter\"]>[0]) => {\n if (readonly || disabled) return;\n setIsHover(true);\n onMouseenter?.(context);\n };\n\n const cancelHover = (context: Parameters<UseHoverParams[\"onMouseleave\"]>[0]) => {\n if (readonly || disabled) return;\n setIsHover(false);\n onMouseleave?.(context);\n };\n\n return { isHover, addHover, cancelHover };\n}\n","import { TdTagInputProps } from \"./type\";\n\nexport const tagInputDefaultProps: TdTagInputProps = {\n autoWidth: false,\n borderless: false,\n clearable: false,\n dragSort: false,\n excessTagsDisplayType: \"break-line\",\n defaultInputValue: \"\",\n minCollapsedNum: 0,\n placeholder: undefined,\n readonly: false,\n size: \"medium\",\n defaultValue: []\n};\n","import React, { CompositionEvent, KeyboardEvent, useRef, useImperativeHandle, forwardRef, MouseEvent } from \"react\";\nimport { IconClear } from \"@tendaui/icons\";\nimport { isFunction } from \"lodash-es\";\nimport classnames from \"classnames\";\nimport useConfig from \"../hooks/useConfig\";\nimport TInput, { InputValue, InputRef } from \"../input\";\nimport { InputValueChangeContext, TdTagInputProps } from \"./type\";\nimport useTagList from \"./hooks/useTagList\";\nimport useTagScroll from \"./hooks/useTagScroll\";\nimport useHover from \"./hooks/useHover\";\nimport useControlled from \"../hooks/useControlled\";\nimport { StyledProps } from \"../common\";\nimport { tagInputDefaultProps } from \"./defaultProps\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport useGlobalIcon from \"../hooks/useGlobalIcon\";\nimport useDragSorter from \"../hooks/useDragSorter\";\n\nexport interface TagInputProps extends TdTagInputProps, StyledProps {\n options?: unknown[]; // 参数穿透options, 给SelectInput/SelectInput 自定义选中项呈现的内容和多选状态下设置折叠项内容\n}\n\nconst TagInput = forwardRef<InputRef, TagInputProps>((originalProps, ref) => {\n const props = useDefaultProps<TagInputProps>(originalProps, tagInputDefaultProps);\n const { classPrefix: prefix } = useConfig();\n\n const { CloseCircleFilledIcon } = useGlobalIcon({\n CloseCircleFilledIcon: IconClear\n });\n\n const {\n excessTagsDisplayType,\n autoWidth,\n borderless,\n readonly,\n disabled,\n clearable,\n placeholder,\n valueDisplay,\n label,\n inputProps,\n size,\n tips,\n status,\n suffixIcon,\n suffix,\n prefixIcon,\n maxRows,\n onClick,\n onPaste,\n onFocus,\n onBlur\n } = props;\n\n const [tInputValue, setTInputValue] = useControlled(props, \"inputValue\", props.onInputChange);\n\n const { isHover, addHover, cancelHover } = useHover(props);\n const { getDragProps } = useDragSorter({\n ...props,\n sortOnDraggable: props.dragSort,\n onDragOverCheck: {\n x: true,\n targetClassNameRegExp: new RegExp(`^${prefix}-tag`)\n }\n });\n const isCompositionRef = useRef(false);\n\n const { scrollToRight, onWheel, scrollToRightOnEnter, scrollToLeftOnLeave, tagInputRef } = useTagScroll(props);\n // handle tag add and remove\n const { tagValue, onClose, onInnerEnter, onInputBackspaceKeyUp, clearAll, renderLabel, onInputBackspaceKeyDown } =\n useTagList({\n ...props,\n getDragProps\n });\n const NAME_CLASS = `${prefix}-tag-input`;\n const WITH_SUFFIX_ICON_CLASS = `${prefix}-tag-input__with-suffix-icon`;\n const CLEAR_CLASS = `${prefix}-tag-input__suffix-clear ${prefix}-icon`;\n const BREAK_LINE_CLASS = `${prefix}-tag-input--break-line`;\n\n const tagInputPlaceholder = !tagValue?.length ? placeholder : \"\";\n\n const showClearIcon = Boolean(!readonly && !disabled && clearable && isHover && tagValue?.length);\n\n useImperativeHandle(ref as InputRef, () => ({\n ...(tagInputRef.current || {})\n }));\n\n const onInputCompositionstart = (value: InputValue, context: { e: CompositionEvent<HTMLInputElement> }) => {\n isCompositionRef.current = true;\n inputProps?.onCompositionstart?.(value, context);\n };\n\n const onInputCompositionend = (value: InputValue, context: { e: CompositionEvent<HTMLInputElement> }) => {\n isCompositionRef.current = false;\n inputProps?.onCompositionend?.(value, context);\n };\n\n const onInputEnter = (value: InputValue, context: { e: KeyboardEvent<HTMLInputElement> }) => {\n setTInputValue(\"\", { e: context.e, trigger: \"enter\" });\n if (!isCompositionRef.current) {\n onInnerEnter(value, context);\n }\n scrollToRight();\n };\n\n const onInnerClick = (context: { e: MouseEvent<HTMLDivElement> }) => {\n if (!props.disabled && !props.readonly) {\n tagInputRef.current?.currentElement?.focus?.();\n }\n onClick?.(context);\n };\n\n const onClearClick = (e: React.MouseEvent<SVGSVGElement>) => {\n clearAll({ e });\n setTInputValue(\"\", { e, trigger: \"clear\" });\n props.onClear?.({ e });\n };\n\n const suffixIconNode = showClearIcon ? (\n <CloseCircleFilledIcon\n className={CLEAR_CLASS}\n onClick={onClearClick as unknown as React.MouseEventHandler<HTMLSpanElement>}\n />\n ) : (\n suffixIcon\n );\n\n // 自定义 Tag 节点\n const displayNode = isFunction(valueDisplay)\n ? valueDisplay({\n value: tagValue,\n onClose: (index) => onClose({ index })\n })\n : valueDisplay;\n\n const isEmpty = !(Array.isArray(tagValue) && tagValue.length);\n\n const classes = [\n NAME_CLASS,\n {\n [BREAK_LINE_CLASS]: excessTagsDisplayType === \"break-line\",\n [WITH_SUFFIX_ICON_CLASS]: !!suffixIconNode,\n [`${prefix}-is-empty`]: isEmpty,\n [`${prefix}-tag-input--with-tag`]: !isEmpty,\n [`${prefix}-tag-input--max-rows`]: excessTagsDisplayType === \"break-line\" && maxRows,\n [`${prefix}-tag-input--drag-sort`]: props.dragSort && !disabled && !readonly\n },\n props.className\n ];\n\n const maxRowsStyle = maxRows\n ? ({\n \"--max-rows\": maxRows,\n \"--tag-input-size\": size\n } as React.CSSProperties)\n : {};\n\n return (\n <TInput\n ref={tagInputRef as unknown as React.Ref<HTMLInputElement>}\n value={tInputValue}\n onChange={(val, context) => {\n setTInputValue(val, { ...context, trigger: \"input\" } as InputValueChangeContext);\n }}\n autoWidth={true} // 控制input_inner的宽度 设置为true让内部input不会提前换行\n onWheel={onWheel}\n size={size}\n borderless={borderless}\n readonly={readonly}\n disabled={disabled}\n label={renderLabel({ displayNode, label })}\n className={classnames(classes)}\n style={{\n ...props.style,\n ...maxRowsStyle\n }}\n tips={tips}\n status={status}\n placeholder={tagInputPlaceholder}\n suffix={suffix}\n prefixIcon={prefixIcon}\n suffixIcon={suffixIconNode}\n showInput={!inputProps?.readonly || !tagValue || !tagValue?.length}\n keepWrapperWidth={!autoWidth}\n onPaste={onPaste}\n onClick={onInnerClick}\n onEnter={onInputEnter}\n onKeydown={onInputBackspaceKeyDown}\n onKeyup={onInputBackspaceKeyUp}\n onMouseenter={(context) => {\n addHover(context);\n scrollToRightOnEnter();\n }}\n onMouseleave={(context) => {\n cancelHover(context);\n scrollToLeftOnLeave();\n }}\n onFocus={(inputValue, context) => {\n onFocus?.(tagValue, { e: context.e, inputValue });\n }}\n onBlur={(inputValue, context) => {\n if (tInputValue) {\n setTInputValue(\"\", { e: context.e, trigger: \"blur\" });\n }\n onBlur?.(tagValue, { e: context.e, inputValue: \"\" });\n }}\n onCompositionstart={onInputCompositionstart}\n onCompositionend={onInputCompositionend}\n {...inputProps}\n />\n );\n});\n\nTagInput.displayName = \"TagInput\";\n\nexport default TagInput;\n"],"names":["mouseEnterTimer","useTagScroll","props","tagInputRef","useRef","_props$excessTagsDisp","excessTagsDisplayType","readonly","disabled","_useState","useState","_useState2","_slicedToArray","scrollDistance","setScrollDistance","_useState3","_useState4","scrollElement","setScrollElement","updateScrollElement","element","children","updateScrollDistance","scrollWidth","clientWidth","scrollTo","distance","isFunction","scroll","left","behavior","scrollToRight","scrollToLeft","onWheel","_ref","e","deltaX","Math","min","scrollLeft","max","scrollToRightOnEnter","setTimeout","scrollToLeftOnLeave","clearTimeout","clearScroll","initScroll","useEffect","_tagInputRef$current","current","currentElement","useHover","onMouseenter","onMouseleave","isHover","setIsHover","addHover","context","cancelHover","tagInputDefaultProps","autoWidth","borderless","clearable","dragSort","defaultInputValue","minCollapsedNum","placeholder","size","defaultValue","TagInput","forwardRef","originalProps","ref","useDefaultProps","_useConfig","useConfig","prefix","classPrefix","_useGlobalIcon","useGlobalIcon","CloseCircleFilledIcon","IconClear","valueDisplay","label","inputProps","tips","status","suffixIcon","suffix","prefixIcon","maxRows","onClick","onPaste","onFocus","onBlur","_useControlled","useControlled","onInputChange","_useControlled2","tInputValue","setTInputValue","_useHover","_useDragSorter","useDragSorter","_objectSpread","sortOnDraggable","onDragOverCheck","x","targetClassNameRegExp","RegExp","concat","getDragProps","isCompositionRef","_useTagScroll","_useTagList","useTagList","tagValue","onClose","onInnerEnter","onInputBackspaceKeyUp","clearAll","renderLabel","onInputBackspaceKeyDown","NAME_CLASS","WITH_SUFFIX_ICON_CLASS","CLEAR_CLASS","BREAK_LINE_CLASS","tagInputPlaceholder","length","showClearIcon","Boolean","useImperativeHandle","onInputCompositionstart","value","_inputProps$onComposi","onCompositionstart","call","onInputCompositionend","_inputProps$onComposi2","onCompositionend","onInputEnter","trigger","onInnerClick","_tagInputRef$current$","focus","onClearClick","_props$onClear","onClear","suffixIconNode","React","createElement","className","displayNode","index","isEmpty","Array","isArray","classes","_defineProperty","maxRowsStyle","TInput","onChange","val","classnames","style","showInput","keepWrapperWidth","onEnter","onKeydown","onKeyup","inputValue","displayName"],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import { _ as _defineProperty } from '../../_chunks/dep-Cwish4GD.js';
2
+ import { _ as _toConsumableArray } from '../../_chunks/dep-CgyDw_YI.js';
3
+ import { _ as _slicedToArray } from '../../_chunks/dep-CzLhKWCf.js';
4
+ import React, { Fragment } from 'react';
5
+ import { isFunction } from 'lodash-es';
6
+ import { Tag } from '../../tag/index.js';
7
+ import { u as useConfig } from '../../_chunks/dep-u1x3x6MJ.js';
8
+ import { u as useControlled } from '../../_chunks/dep-DwWrhxkd.js';
9
+ import '../../_chunks/dep-D-UKOauR.js';
10
+ import '../../tag/Tag.js';
11
+ import '../../_chunks/dep-DN7d1SzH.js';
12
+ import 'classnames';
13
+ import '@tendaui/icons';
14
+ import '../../_chunks/dep-U1T8CQY9.js';
15
+ import '../../_chunks/dep-bWaVq_y3.js';
16
+ import '../../_chunks/dep-DGvfel3I.js';
17
+ import '../../config-provider/ConfigContext.js';
18
+ import '../../_chunks/dep-BP0-apUT.js';
19
+ import 'hoist-non-react-statics';
20
+ import '../../tag/style/css.js';
21
+
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ function useTagList(props) {
25
+ var _useConfig = useConfig(),
26
+ prefix = _useConfig.classPrefix;
27
+ var onRemove = props.onRemove,
28
+ max = props.max,
29
+ minCollapsedNum = props.minCollapsedNum,
30
+ size = props.size,
31
+ disabled = props.disabled,
32
+ readonly = props.readonly,
33
+ tagProps = props.tagProps,
34
+ tag = props.tag,
35
+ collapsedItems = props.collapsedItems,
36
+ getDragProps = props.getDragProps;
37
+ var _useControlled = useControlled(props, "value", props.onChange),
38
+ _useControlled2 = _slicedToArray(_useControlled, 2),
39
+ tagValue = _useControlled2[0],
40
+ setTagValue = _useControlled2[1];
41
+ var _onClose = function onClose(p) {
42
+ var arr = _toConsumableArray(tagValue);
43
+ var _arr$splice = arr.splice(p.index, 1),
44
+ _arr$splice2 = _slicedToArray(_arr$splice, 1),
45
+ item = _arr$splice2[0];
46
+ setTagValue(arr, _objectSpread(_objectSpread({
47
+ trigger: "tag-remove"
48
+ }, p), {}, {
49
+ item: item
50
+ }));
51
+ onRemove === null || onRemove === void 0 || onRemove(_objectSpread(_objectSpread({}, p), {}, {
52
+ item: item,
53
+ trigger: "tag-remove",
54
+ value: arr
55
+ }));
56
+ };
57
+ var clearAll = function clearAll(context) {
58
+ setTagValue([], {
59
+ trigger: "clear",
60
+ e: context.e
61
+ });
62
+ };
63
+ var onInnerEnter = function onInnerEnter(value, context) {
64
+ var _props$onEnter;
65
+ var valueStr = value ? String(value).trim() : "";
66
+ var newValue = tagValue;
67
+ var isLimitExceeded = max && (tagValue === null || tagValue === void 0 ? void 0 : tagValue.length) >= max;
68
+ if (valueStr && !isLimitExceeded) {
69
+ newValue = tagValue instanceof Array ? tagValue.concat(String(valueStr)) : [valueStr];
70
+ setTagValue(newValue, {
71
+ trigger: "enter",
72
+ index: newValue.length - 1,
73
+ item: valueStr,
74
+ e: context.e
75
+ });
76
+ }
77
+ props === null || props === void 0 || (_props$onEnter = props.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props, newValue, _objectSpread(_objectSpread({}, context), {}, {
78
+ inputValue: value
79
+ }));
80
+ };
81
+ var onInputBackspaceKeyUp = function onInputBackspaceKeyUp(_value) {
82
+ if (!tagValue || !tagValue.length) return;
83
+ };
84
+ var onInputBackspaceKeyDown = function onInputBackspaceKeyDown(value, context) {
85
+ var e = context.e;
86
+ if (!tagValue || !tagValue.length || readonly) return;
87
+ if (!value && ["Backspace", "NumpadDelete"].includes(e.key)) {
88
+ var index = tagValue.length - 1;
89
+ var item = tagValue[index];
90
+ var trigger = "backspace";
91
+ var newValue = tagValue.slice(0, -1);
92
+ setTagValue(newValue, {
93
+ e: e,
94
+ index: index,
95
+ item: item,
96
+ trigger: trigger
97
+ });
98
+ onRemove === null || onRemove === void 0 || onRemove({
99
+ e: e,
100
+ index: index,
101
+ item: item,
102
+ trigger: trigger,
103
+ value: newValue
104
+ });
105
+ }
106
+ };
107
+ var renderLabel = function renderLabel(_ref) {
108
+ var displayNode = _ref.displayNode,
109
+ label = _ref.label;
110
+ var newList = minCollapsedNum ? tagValue.slice(0, minCollapsedNum) : tagValue;
111
+ var list = displayNode ? [/* @__PURE__ */React.createElement(Fragment, {
112
+ key: "display-node"
113
+ }, displayNode)] : newList === null || newList === void 0 ? void 0 : newList.map(function (item, index) {
114
+ var tagContent = isFunction(tag) ? tag({
115
+ value: item
116
+ }) : tag;
117
+ return /* @__PURE__ */React.createElement(Tag, _objectSpread(_objectSpread({
118
+ key: index,
119
+ size: size,
120
+ disabled: disabled,
121
+ onClose: function onClose(context) {
122
+ return _onClose({
123
+ e: context.e,
124
+ index: index
125
+ });
126
+ },
127
+ closable: !readonly && !disabled
128
+ }, getDragProps === null || getDragProps === void 0 ? void 0 : getDragProps(index, item)), tagProps), tagContent !== null && tagContent !== void 0 ? tagContent : item);
129
+ });
130
+ if (label) {
131
+ list === null || list === void 0 || list.unshift(/* @__PURE__ */React.createElement("div", {
132
+ className: "".concat(prefix, "-tag-input__prefix"),
133
+ key: "label"
134
+ }, label));
135
+ }
136
+ if (newList.length !== tagValue.length) {
137
+ var len = tagValue.length - newList.length;
138
+ var options = Array.isArray(props === null || props === void 0 ? void 0 : props.options) ? props.options : tagValue;
139
+ var params = {
140
+ value: tagValue,
141
+ count: tagValue.length - minCollapsedNum,
142
+ collapsedTags: tagValue.slice(minCollapsedNum, tagValue.length),
143
+ collapsedSelectedItems: options.slice(minCollapsedNum, tagValue.length),
144
+ onClose: _onClose
145
+ };
146
+ var more = isFunction(collapsedItems) ? collapsedItems(params) : collapsedItems;
147
+ list.push(/* @__PURE__ */React.createElement(Fragment, {
148
+ key: "more"
149
+ }, more !== null && more !== void 0 ? more : /* @__PURE__ */React.createElement(Tag, _objectSpread({
150
+ size: size
151
+ }, tagProps), "+", len)));
152
+ }
153
+ return list;
154
+ };
155
+ return {
156
+ tagValue: tagValue,
157
+ clearAll: clearAll,
158
+ onClose: _onClose,
159
+ onInnerEnter: onInnerEnter,
160
+ onInputBackspaceKeyDown: onInputBackspaceKeyDown,
161
+ onInputBackspaceKeyUp: onInputBackspaceKeyUp,
162
+ renderLabel: renderLabel
163
+ };
164
+ }
165
+
166
+ export { useTagList as default };
167
+ //# sourceMappingURL=useTagList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTagList.js","sources":["../../../../components/tag-input/hooks/useTagList.tsx"],"sourcesContent":["import React, { MouseEvent, KeyboardEvent, ReactNode, Fragment } from \"react\";\nimport { isFunction } from \"lodash-es\";\nimport { TagInputChangeContext, TagInputValue, TdTagInputProps } from \"../type\";\nimport { InputValue } from \"../../input\";\nimport { Tag } from \"../../tag\";\nimport useConfig from \"../../hooks/useConfig\";\nimport useControlled from \"../../hooks/useControlled\";\nimport { DragSortInnerProps } from \"../../hooks/useDragSorter\";\n\nexport type ChangeParams = [TagInputChangeContext];\n\ninterface TagInputProps extends TdTagInputProps, DragSortInnerProps {\n options?: unknown[]; // 参数穿透options, 给SelectInput/SelectInput 自定义选中项呈现的内容和多选状态下设置折叠项内容\n}\n\nexport default function useTagList(props: TagInputProps) {\n const { classPrefix: prefix } = useConfig();\n const { onRemove, max, minCollapsedNum, size, disabled, readonly, tagProps, tag, collapsedItems, getDragProps } =\n props;\n const [tagValue, setTagValue] = useControlled(props, \"value\", props.onChange);\n\n const onClose = (p: { e?: MouseEvent<SVGSVGElement>; index: number }) => {\n const arr = [...tagValue];\n const [item] = arr.splice(p.index, 1);\n setTagValue(arr, { trigger: \"tag-remove\", ...p, item });\n onRemove?.({ ...p, item, trigger: \"tag-remove\", value: arr });\n };\n\n const clearAll = (context: { e: MouseEvent<SVGSVGElement> }) => {\n setTagValue([], { trigger: \"clear\", e: context.e });\n };\n\n // 按下 Enter 键,新增标签\n const onInnerEnter = (value: InputValue, context: { e: KeyboardEvent<HTMLInputElement> }) => {\n const valueStr = value ? String(value).trim() : \"\";\n let newValue: TagInputValue = tagValue;\n const isLimitExceeded = max && tagValue?.length >= max;\n if (valueStr && !isLimitExceeded) {\n newValue = tagValue instanceof Array ? tagValue.concat(String(valueStr)) : [valueStr];\n setTagValue(newValue, {\n trigger: \"enter\",\n index: newValue.length - 1,\n item: valueStr,\n e: context.e\n });\n }\n props?.onEnter?.(newValue, { ...context, inputValue: value });\n };\n\n const onInputBackspaceKeyUp = (_value: InputValue) => {\n if (!tagValue || !tagValue.length) return;\n };\n\n // 按下回退键,删除标签\n const onInputBackspaceKeyDown = (value: InputValue, context: { e: KeyboardEvent<HTMLInputElement> }) => {\n const { e } = context;\n if (!tagValue || !tagValue.length || readonly) return;\n // 回车键删除,输入框值为空时,才允许 Backspace 删除标签\n if (!value && [\"Backspace\", \"NumpadDelete\"].includes(e.key)) {\n const index = tagValue.length - 1;\n const item = tagValue[index];\n const trigger = \"backspace\";\n const newValue = tagValue.slice(0, -1);\n setTagValue(newValue, { e, index, item, trigger });\n onRemove?.({ e, index, item, trigger, value: newValue });\n }\n };\n\n const renderLabel = ({ displayNode, label }: { displayNode: ReactNode; label: ReactNode }) => {\n const newList = minCollapsedNum ? tagValue.slice(0, minCollapsedNum) : tagValue;\n\n const list = displayNode\n ? [<Fragment key=\"display-node\">{displayNode}</Fragment>]\n : newList?.map((item, index) => {\n const tagContent = isFunction(tag) ? tag({ value: item }) : tag;\n return (\n <Tag\n key={index}\n size={size}\n disabled={disabled}\n onClose={(context) => onClose({ e: context.e, index })}\n closable={!readonly && !disabled}\n {...getDragProps?.(index, item)}\n {...tagProps}\n >\n {tagContent ?? item}\n </Tag>\n );\n });\n if (label) {\n list?.unshift(\n <div className={`${prefix}-tag-input__prefix`} key=\"label\">\n {label}\n </div>\n );\n }\n // 超出省略\n if (newList.length !== tagValue.length) {\n const len = tagValue.length - newList.length;\n // 这里会从selectInput/SelectInput中传递options参数,用于自定义选中项呈现的内容和多选状态下设置折叠项内容\n const options = Array.isArray(props?.options) ? props.options : tagValue;\n const params = {\n value: tagValue,\n count: tagValue.length - minCollapsedNum,\n collapsedTags: tagValue.slice(minCollapsedNum, tagValue.length),\n collapsedSelectedItems: options.slice(minCollapsedNum, tagValue.length),\n onClose\n };\n const more = isFunction(collapsedItems) ? collapsedItems(params) : collapsedItems;\n list.push(\n <Fragment key=\"more\">\n {more ?? (\n <Tag size={size} {...tagProps}>\n +{len}\n </Tag>\n )}\n </Fragment>\n );\n }\n return list;\n };\n return {\n tagValue,\n clearAll,\n onClose,\n onInnerEnter,\n onInputBackspaceKeyDown,\n onInputBackspaceKeyUp,\n renderLabel\n };\n}\n"],"names":["useTagList","props","_useConfig","useConfig","prefix","classPrefix","onRemove","max","minCollapsedNum","size","disabled","readonly","tagProps","tag","collapsedItems","getDragProps","_useControlled","useControlled","onChange","_useControlled2","_slicedToArray","tagValue","setTagValue","onClose","p","arr","_toConsumableArray","_arr$splice","splice","index","_arr$splice2","item","trigger","_objectSpread","value","clearAll","context","e","onInnerEnter","_props$onEnter","valueStr","String","trim","newValue","isLimitExceeded","length","Array","concat","onEnter","call","inputValue","onInputBackspaceKeyUp","_value","onInputBackspaceKeyDown","includes","key","slice","renderLabel","_ref","displayNode","label","newList","list","React","createElement","Fragment","map","tagContent","isFunction","Tag","closable","unshift","className","len","options","isArray","params","count","collapsedTags","collapsedSelectedItems","more","push"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import TagInput$1 from './TagInput.js';
2
+ import './style/css.js';
3
+ import '../_chunks/dep-Cwish4GD.js';
4
+ import '../_chunks/dep-D-UKOauR.js';
5
+ import '../_chunks/dep-CzLhKWCf.js';
6
+ import 'react';
7
+ import '@tendaui/icons';
8
+ import 'lodash-es';
9
+ import 'classnames';
10
+ import '../_chunks/dep-u1x3x6MJ.js';
11
+ import '../config-provider/ConfigContext.js';
12
+ import '../input/index.js';
13
+ import '../input/Input.js';
14
+ import '../_chunks/dep-DN7d1SzH.js';
15
+ import '../_chunks/dep-0QH2Ee4R.js';
16
+ import '../_chunks/dep-DwWrhxkd.js';
17
+ import '../_chunks/dep-D6YxJv-F.js';
18
+ import '../_chunks/dep-DGvfel3I.js';
19
+ import '../input/InputGroup.js';
20
+ import '../input/style/css.js';
21
+ import './hooks/useTagList.js';
22
+ import '../_chunks/dep-CgyDw_YI.js';
23
+ import '../tag/index.js';
24
+ import '../tag/Tag.js';
25
+ import '../_chunks/dep-U1T8CQY9.js';
26
+ import '../_chunks/dep-bWaVq_y3.js';
27
+ import '../_chunks/dep-BP0-apUT.js';
28
+ import 'hoist-non-react-statics';
29
+ import '../tag/style/css.js';
30
+ import '../hooks/useDragSorter.js';
31
+
32
+ var TagInput = TagInput$1;
33
+
34
+ export { TagInput, TagInput as default };
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../components/tag-input/index.ts"],"sourcesContent":["import _TagInput from \"./TagInput\";\nimport \"./style/index.js\";\n\nexport * from \"./type\";\n\nexport type { TagInputProps } from \"./TagInput\";\n\nexport const TagInput = _TagInput;\nexport default TagInput;\n"],"names":["TagInput","_TagInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,IAAMA,QAAA,GAAWC;;;;"}
@@ -0,0 +1 @@
1
+ import "./index.css";