@tendaui/react 1.1.1 → 1.1.2

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 (664) hide show
  1. package/es/_chunks/{dep-D7LanWes.js → dep-4LYjB3c6.js} +3 -18
  2. package/es/_chunks/dep-4LYjB3c6.js.map +1 -0
  3. package/es/_chunks/dep-5U9UjDaf.js +345 -0
  4. package/es/_chunks/dep-5U9UjDaf.js.map +1 -0
  5. package/es/_chunks/{dep-B7HmDtze.js → dep-B4_O1Vgv.js} +2 -2
  6. package/es/_chunks/{dep-B7HmDtze.js.map → dep-B4_O1Vgv.js.map} +1 -1
  7. package/es/_chunks/dep-BP0-apUT.js.map +1 -1
  8. package/es/_chunks/dep-BRbJGDI9.js +7 -0
  9. package/es/_chunks/dep-BRbJGDI9.js.map +1 -0
  10. package/es/_chunks/{dep-EcrDKDlu.js → dep-BYlJzn45.js} +10 -9
  11. package/es/_chunks/dep-BYlJzn45.js.map +1 -0
  12. package/es/_chunks/dep-BbeHB7S3.js +116 -0
  13. package/es/_chunks/dep-BbeHB7S3.js.map +1 -0
  14. package/es/_chunks/{dep-DB5wmwh1.js → dep-Bjfn7Zv_.js} +2 -2
  15. package/es/_chunks/{dep-DB5wmwh1.js.map → dep-Bjfn7Zv_.js.map} +1 -1
  16. package/es/_chunks/{dep-C36au4Ip.js → dep-BuIAffJt.js} +2 -2
  17. package/es/_chunks/{dep-C36au4Ip.js.map → dep-BuIAffJt.js.map} +1 -1
  18. package/es/_chunks/{dep-bWaVq_y3.js → dep-ByzdZjUR.js} +2 -2
  19. package/es/_chunks/dep-ByzdZjUR.js.map +1 -0
  20. package/es/_chunks/dep-CD_4-1Xb.js +103 -0
  21. package/es/_chunks/dep-CD_4-1Xb.js.map +1 -0
  22. package/es/_chunks/{dep-Dk2xX8lh.js → dep-CJCt0IS0.js} +5 -212
  23. package/es/_chunks/dep-CJCt0IS0.js.map +1 -0
  24. package/es/_chunks/dep-CMPsNAXF.js +52 -0
  25. package/es/_chunks/dep-CMPsNAXF.js.map +1 -0
  26. package/es/_chunks/dep-COy5g3FT.js +512 -0
  27. package/es/_chunks/dep-COy5g3FT.js.map +1 -0
  28. package/es/_chunks/{dep-CoIiHOgo.js → dep-CRURwzDj.js} +3 -3
  29. package/es/_chunks/{dep-CoIiHOgo.js.map → dep-CRURwzDj.js.map} +1 -1
  30. package/es/_chunks/dep-C_wPqvpm.js +36 -0
  31. package/es/_chunks/dep-C_wPqvpm.js.map +1 -0
  32. package/es/_chunks/dep-Ccktr_jk.js +33 -0
  33. package/es/_chunks/dep-Ccktr_jk.js.map +1 -0
  34. package/es/_chunks/dep-Chz4ZJCb.js +20 -0
  35. package/es/_chunks/dep-Chz4ZJCb.js.map +1 -0
  36. package/es/_chunks/dep-CkmtEv0Y.js +55 -0
  37. package/es/_chunks/dep-CkmtEv0Y.js.map +1 -0
  38. package/es/_chunks/dep-DJmE940f.js +764 -0
  39. package/es/_chunks/dep-DJmE940f.js.map +1 -0
  40. package/es/_chunks/{dep-DHWwZ2Nj.js → dep-DQ6kXoi8.js} +2 -2
  41. package/es/_chunks/{dep-DHWwZ2Nj.js.map → dep-DQ6kXoi8.js.map} +1 -1
  42. package/es/_chunks/{dep-0QH2Ee4R.js → dep-DRwijJcv.js} +5 -5
  43. package/es/_chunks/dep-DRwijJcv.js.map +1 -0
  44. package/es/_chunks/dep-DTlQ2dCA.js +46 -0
  45. package/es/_chunks/dep-DTlQ2dCA.js.map +1 -0
  46. package/es/_chunks/dep-DURB9x8g.js +170 -0
  47. package/es/_chunks/dep-DURB9x8g.js.map +1 -0
  48. package/es/_chunks/{dep-DZ_0EvBk.js → dep-DX65P8M9.js} +4 -45
  49. package/es/_chunks/dep-DX65P8M9.js.map +1 -0
  50. package/es/_chunks/{dep-BH5n5r1M.js → dep-DbVHGoUC.js} +2 -2
  51. package/es/_chunks/dep-DbVHGoUC.js.map +1 -0
  52. package/es/_chunks/dep-Dlppf0JU.js +214 -0
  53. package/es/_chunks/dep-Dlppf0JU.js.map +1 -0
  54. package/es/_chunks/dep-Dr5wkz0z.js +266 -0
  55. package/es/_chunks/dep-Dr5wkz0z.js.map +1 -0
  56. package/es/_chunks/dep-DwWrhxkd.js.map +1 -1
  57. package/es/_chunks/dep-Tshfumgl.js +31 -0
  58. package/es/_chunks/dep-Tshfumgl.js.map +1 -0
  59. package/es/_chunks/{dep-u1x3x6MJ.js → dep-gy8uvBaS.js} +2 -2
  60. package/es/_chunks/{dep-u1x3x6MJ.js.map → dep-gy8uvBaS.js.map} +1 -1
  61. package/es/_chunks/dep-oUgTcXgm.js +11 -0
  62. package/es/_chunks/dep-oUgTcXgm.js.map +1 -0
  63. package/es/_chunks/dep-zOZQ0R9g.js +1181 -0
  64. package/es/_chunks/dep-zOZQ0R9g.js.map +1 -0
  65. package/es/alert/Alert.d.ts +7 -0
  66. package/es/alert/Alert.js +4 -3
  67. package/es/alert/Alert.js.map +1 -1
  68. package/es/alert/defaultProps.d.ts +2 -0
  69. package/es/alert/index.d.ts +5 -0
  70. package/es/alert/index.js +4 -3
  71. package/es/alert/index.js.map +1 -1
  72. package/es/alert/style/css.d.ts +1 -0
  73. package/es/alert/style/index.d.ts +1 -0
  74. package/es/alert/type.d.ts +45 -0
  75. package/es/badge/Badge.d.ts +7 -0
  76. package/es/badge/Badge.js +3 -2
  77. package/es/badge/Badge.js.map +1 -1
  78. package/es/badge/defaultProps.d.ts +2 -0
  79. package/es/badge/index.d.ts +5 -0
  80. package/es/badge/index.js +3 -2
  81. package/es/badge/index.js.map +1 -1
  82. package/es/badge/style/css.d.ts +1 -0
  83. package/es/badge/style/index.d.ts +1 -0
  84. package/es/badge/type.d.ts +50 -0
  85. package/es/button/Button.d.ts +6 -0
  86. package/es/button/Button.js +7 -5
  87. package/es/button/Button.js.map +1 -1
  88. package/es/button/_example/base.js +171 -0
  89. package/es/button/_example/base.js.map +1 -0
  90. package/es/button/_example/icon.js +181 -0
  91. package/es/button/_example/icon.js.map +1 -0
  92. package/es/button/defaultProps.d.ts +2 -0
  93. package/es/button/index.d.ts +5 -0
  94. package/es/button/index.js +7 -5
  95. package/es/button/index.js.map +1 -1
  96. package/es/button/style/css.d.ts +1 -0
  97. package/es/button/style/index.d.ts +1 -0
  98. package/es/button/type.d.ts +81 -0
  99. package/es/checkbox/Checkbox.d.ts +10 -0
  100. package/es/checkbox/Checkbox.js +5 -4
  101. package/es/checkbox/Checkbox.js.map +1 -1
  102. package/es/checkbox/CheckboxGroup.d.ts +14 -0
  103. package/es/checkbox/CheckboxGroup.js +5 -4
  104. package/es/checkbox/CheckboxGroup.js.map +1 -1
  105. package/es/checkbox/defaultProps.d.ts +3 -0
  106. package/es/checkbox/index.d.ts +11 -0
  107. package/es/checkbox/index.js +5 -4
  108. package/es/checkbox/index.js.map +1 -1
  109. package/es/checkbox/style/css.d.ts +1 -0
  110. package/es/checkbox/style/index.d.ts +1 -0
  111. package/es/checkbox/type.d.ts +115 -0
  112. package/es/color-picker/ColorPickPanel.d.ts +4 -0
  113. package/es/color-picker/ColorPickPanel.js +44 -0
  114. package/es/color-picker/ColorPickPanel.js.map +1 -0
  115. package/es/color-picker/ColorPicker.d.ts +4 -0
  116. package/es/color-picker/ColorPicker.js +118 -0
  117. package/es/color-picker/ColorPicker.js.map +1 -0
  118. package/es/color-picker/components/panel/alpha.d.ts +4 -0
  119. package/es/color-picker/components/panel/alpha.js +44 -0
  120. package/es/color-picker/components/panel/alpha.js.map +1 -0
  121. package/es/color-picker/components/panel/format/index.d.ts +10 -0
  122. package/es/color-picker/components/panel/format/index.js +128 -0
  123. package/es/color-picker/components/panel/format/index.js.map +1 -0
  124. package/es/color-picker/components/panel/format/inputs.d.ts +4 -0
  125. package/es/color-picker/components/panel/format/inputs.js +147 -0
  126. package/es/color-picker/components/panel/format/inputs.js.map +1 -0
  127. package/es/color-picker/components/panel/header.d.ts +13 -0
  128. package/es/color-picker/components/panel/header.js +60 -0
  129. package/es/color-picker/components/panel/header.js.map +1 -0
  130. package/es/color-picker/components/panel/hue.d.ts +4 -0
  131. package/es/color-picker/components/panel/hue.js +33 -0
  132. package/es/color-picker/components/panel/hue.js.map +1 -0
  133. package/es/color-picker/components/panel/index.d.ts +4 -0
  134. package/es/color-picker/components/panel/index.js +32 -0
  135. package/es/color-picker/components/panel/index.js.map +1 -0
  136. package/es/color-picker/components/panel/saturation.d.ts +4 -0
  137. package/es/color-picker/components/panel/saturation.js +101 -0
  138. package/es/color-picker/components/panel/saturation.js.map +1 -0
  139. package/es/color-picker/components/panel/slider.d.ts +11 -0
  140. package/es/color-picker/components/panel/slider.js +121 -0
  141. package/es/color-picker/components/panel/slider.js.map +1 -0
  142. package/es/color-picker/components/panel/swatches.d.ts +11 -0
  143. package/es/color-picker/components/panel/swatches.js +100 -0
  144. package/es/color-picker/components/panel/swatches.js.map +1 -0
  145. package/es/color-picker/components/trigger.d.ts +9 -0
  146. package/es/color-picker/components/trigger.js +73 -0
  147. package/es/color-picker/components/trigger.js.map +1 -0
  148. package/es/color-picker/defaultProps.d.ts +2 -0
  149. package/es/color-picker/helpers.d.ts +5 -0
  150. package/es/color-picker/hooks/useClassNames.d.ts +2 -0
  151. package/es/color-picker/hooks/useStyles.d.ts +14 -0
  152. package/es/color-picker/index.d.ts +6 -0
  153. package/es/color-picker/index.js +62 -0
  154. package/es/color-picker/index.js.map +1 -0
  155. package/es/color-picker/style/index.css +597 -0
  156. package/es/color-picker/style/index.d.ts +1 -0
  157. package/es/color-picker/style/index.js +2 -0
  158. package/es/color-picker/style/index.js.map +1 -0
  159. package/es/color-picker/type.d.ts +135 -0
  160. package/es/color-picker/utils/color-picker/cmyk.d.ts +27 -0
  161. package/es/color-picker/utils/color-picker/color.d.ts +144 -0
  162. package/es/color-picker/utils/color-picker/constants.d.ts +30 -0
  163. package/es/color-picker/utils/color-picker/draggable.d.ts +23 -0
  164. package/es/color-picker/utils/color-picker/format.d.ts +64 -0
  165. package/es/color-picker/utils/color-picker/gradient.d.ts +22 -0
  166. package/es/color-picker/utils/color-picker/index.d.ts +7 -0
  167. package/es/color-picker/utils/color-picker/index.js +147 -0
  168. package/es/color-picker/utils/color-picker/index.js.map +1 -0
  169. package/es/color-picker/utils/color-picker/types.d.ts +28 -0
  170. package/es/common/Check.d.ts +22 -0
  171. package/es/common/Check.js +4 -3
  172. package/es/common/Check.js.map +1 -1
  173. package/es/common/FakeArrow.d.ts +9 -0
  174. package/es/common/FakeArrow.js +3 -2
  175. package/es/common/FakeArrow.js.map +1 -1
  176. package/es/common/PluginContainer.d.ts +9 -0
  177. package/es/common/PluginContainer.js +2 -1
  178. package/es/common/PluginContainer.js.map +1 -1
  179. package/es/common/Portal.d.ts +16 -0
  180. package/es/common/Portal.js +6 -3
  181. package/es/common/Portal.js.map +1 -1
  182. package/es/common/observe.d.ts +1 -0
  183. package/es/common.d.ts +81 -0
  184. package/es/config-provider/ConfigContext.d.ts +13 -0
  185. package/es/config-provider/ConfigContext.js +5 -16
  186. package/es/config-provider/ConfigContext.js.map +1 -1
  187. package/es/config-provider/ConfigProvider.d.ts +25 -0
  188. package/es/config-provider/ConfigProvider.js +2 -1
  189. package/es/config-provider/ConfigProvider.js.map +1 -1
  190. package/es/config-provider/index.d.ts +7 -0
  191. package/es/config-provider/index.js +2 -1
  192. package/es/config-provider/index.js.map +1 -1
  193. package/es/config-provider/type.d.ts +1029 -0
  194. package/es/dialog/Dialog.d.ts +8 -0
  195. package/es/dialog/Dialog.js +12 -149
  196. package/es/dialog/Dialog.js.map +1 -1
  197. package/es/dialog/DialogCard.d.ts +8 -0
  198. package/es/dialog/DialogCard.js +9 -7
  199. package/es/dialog/DialogCard.js.map +1 -1
  200. package/es/dialog/defaultProps.d.ts +6 -0
  201. package/es/dialog/hooks/useDialogDrag.d.ts +7 -0
  202. package/es/dialog/hooks/useDialogEsc.d.ts +3 -0
  203. package/es/dialog/hooks/useDialogPosition.d.ts +2 -0
  204. package/es/dialog/hooks/useLockStyle.d.ts +2 -0
  205. package/es/dialog/index.d.ts +8 -0
  206. package/es/dialog/index.js +12 -8
  207. package/es/dialog/index.js.map +1 -1
  208. package/es/dialog/plugin.d.ts +6 -0
  209. package/es/dialog/plugin.js +15 -10
  210. package/es/dialog/plugin.js.map +1 -1
  211. package/es/dialog/style/css.d.ts +1 -0
  212. package/es/dialog/style/index.d.ts +1 -0
  213. package/es/dialog/type.d.ts +227 -0
  214. package/es/dialog/utils.d.ts +1 -0
  215. package/es/drawer/Drawer.d.ts +11 -0
  216. package/es/drawer/Drawer.js +458 -0
  217. package/es/drawer/Drawer.js.map +1 -0
  218. package/es/drawer/defaultProps.d.ts +2 -0
  219. package/es/drawer/hooks/useDrag.d.ts +8 -0
  220. package/es/drawer/hooks/useLockStyle.d.ts +1 -0
  221. package/es/drawer/index.d.ts +4 -0
  222. package/es/drawer/index.js +39 -0
  223. package/es/drawer/index.js.map +1 -0
  224. package/es/drawer/style/css.d.ts +1 -0
  225. package/es/drawer/style/css.js +1 -0
  226. package/es/drawer/style/index.css +231 -0
  227. package/es/drawer/style/index.d.ts +1 -0
  228. package/es/drawer/style/index.js +2 -0
  229. package/es/drawer/style/index.js.map +1 -0
  230. package/es/drawer/type.d.ts +199 -0
  231. package/es/drawer/utils/index.d.ts +23 -0
  232. package/es/drawer/utils/index.js +46 -0
  233. package/es/drawer/utils/index.js.map +1 -0
  234. package/es/fireworks/Fireworks.d.ts +7 -0
  235. package/es/fireworks/Fireworks.js +139 -0
  236. package/es/fireworks/Fireworks.js.map +1 -0
  237. package/es/fireworks/index.d.ts +5 -0
  238. package/es/fireworks/index.js +16 -0
  239. package/es/fireworks/index.js.map +1 -0
  240. package/es/fireworks/style/css.d.ts +1 -0
  241. package/es/fireworks/style/css.js +2 -0
  242. package/es/fireworks/style/index.css +121 -0
  243. package/es/fireworks/style/index.d.ts +1 -0
  244. package/es/fireworks/style/index.js +2 -0
  245. package/es/fireworks/style/index.js.map +1 -0
  246. package/es/fireworks/type.d.ts +69 -0
  247. package/es/form/Form.d.ts +8 -0
  248. package/es/form/Form.js +14 -10
  249. package/es/form/Form.js.map +1 -1
  250. package/es/form/FormContext.d.ts +59 -0
  251. package/es/form/FormItem.d.ts +23 -0
  252. package/es/form/FormItem.js +14 -10
  253. package/es/form/FormItem.js.map +1 -1
  254. package/es/form/FormList.d.ts +4 -0
  255. package/es/form/FormList.js +2 -1
  256. package/es/form/FormList.js.map +1 -1
  257. package/es/form/const.d.ts +6 -0
  258. package/es/form/defaultProps.d.ts +3 -0
  259. package/es/form/easing.d.ts +2 -0
  260. package/es/form/formModel.d.ts +37 -0
  261. package/es/form/hooks/interface.d.ts +16 -0
  262. package/es/form/hooks/useForm.d.ts +3 -0
  263. package/es/form/hooks/useFormItemInitialData.d.ts +9 -0
  264. package/es/form/hooks/useFormItemStyle.d.ts +10 -0
  265. package/es/form/hooks/useFormItemStyle.js +4 -3
  266. package/es/form/hooks/useFormItemStyle.js.map +1 -1
  267. package/es/form/hooks/useInstance.d.ts +16 -0
  268. package/es/form/hooks/useInstance.js +5 -4
  269. package/es/form/hooks/useInstance.js.map +1 -1
  270. package/es/form/hooks/useWatch.d.ts +3 -0
  271. package/es/form/index.d.ts +7 -0
  272. package/es/form/index.js +14 -10
  273. package/es/form/index.js.map +1 -1
  274. package/es/form/scroll.d.ts +39 -0
  275. package/es/form/style/css.d.ts +1 -0
  276. package/es/form/style/index.d.ts +1 -0
  277. package/es/form/type.d.ts +486 -0
  278. package/es/form/utils/index.d.ts +5 -0
  279. package/es/global-config/default-config.d.ts +84 -0
  280. package/es/global-config/locale/ar_KW.d.ts +239 -0
  281. package/es/global-config/locale/en_US.d.ts +263 -0
  282. package/es/global-config/locale/it_IT.d.ts +263 -0
  283. package/es/global-config/locale/ja_JP.d.ts +263 -0
  284. package/es/global-config/locale/ko_KR.d.ts +263 -0
  285. package/es/global-config/locale/ru_RU.d.ts +263 -0
  286. package/es/global-config/locale/zh_CN.d.ts +263 -0
  287. package/es/global-config/locale/zh_TW.d.ts +263 -0
  288. package/es/global-config/mobile/default-config.d.ts +7 -0
  289. package/es/global-config/mobile/locale/ar_KW.d.ts +98 -0
  290. package/es/global-config/mobile/locale/en_US.d.ts +99 -0
  291. package/es/global-config/mobile/locale/it_IT.d.ts +99 -0
  292. package/es/global-config/mobile/locale/ja_JP.d.ts +99 -0
  293. package/es/global-config/mobile/locale/ko_KR.d.ts +99 -0
  294. package/es/global-config/mobile/locale/ru_RU.d.ts +99 -0
  295. package/es/global-config/mobile/locale/zh_CN.d.ts +99 -0
  296. package/es/global-config/mobile/locale/zh_TW.d.ts +99 -0
  297. package/es/global-config/t.d.ts +25 -0
  298. package/es/hooks/useAttach.d.ts +10 -0
  299. package/es/hooks/useCommonClassName.d.ts +54 -0
  300. package/es/hooks/useConfig.d.ts +2 -0
  301. package/es/hooks/useControlled.d.ts +9 -0
  302. package/es/hooks/useDeepEffect.d.ts +7 -0
  303. package/es/hooks/useDefaultProps.d.ts +1 -0
  304. package/es/hooks/useDomCallback.d.ts +1 -0
  305. package/es/hooks/useDomRefCallback.d.ts +1 -0
  306. package/es/hooks/useDragSorter.d.ts +28 -0
  307. package/es/hooks/useEventCallback.d.ts +9 -0
  308. package/es/hooks/useGlobalConfig.d.ts +1 -0
  309. package/es/hooks/useGlobalIcon.d.ts +5 -0
  310. package/es/hooks/useLastest.d.ts +2 -0
  311. package/es/hooks/useLayoutEffect.d.ts +3 -0
  312. package/es/hooks/useMouseEvent.d.ts +25 -0
  313. package/es/hooks/useMutationObserver.d.ts +4 -0
  314. package/es/hooks/usePopper.d.ts +19 -0
  315. package/es/hooks/useResizeObserve.d.ts +1 -0
  316. package/es/hooks/useRipple.d.ts +0 -0
  317. package/es/hooks/useSetState.d.ts +7 -0
  318. package/es/hooks/useVirtualScroll.d.ts +30 -0
  319. package/es/hooks/useWindowSize.d.ts +6 -0
  320. package/es/index.d.ts +25 -0
  321. package/es/index.js +68 -14
  322. package/es/index.js.map +1 -1
  323. package/es/input/Input.d.ts +16 -0
  324. package/es/input/Input.js +5 -5
  325. package/es/input/Input.js.map +1 -1
  326. package/es/input/InputGroup.d.ts +10 -0
  327. package/es/input/defaultProps.d.ts +17 -0
  328. package/es/input/index.d.ts +6 -0
  329. package/es/input/index.js +5 -3
  330. package/es/input/index.js.map +1 -1
  331. package/es/input/style/css.d.ts +1 -0
  332. package/es/input/style/index.d.ts +1 -0
  333. package/es/input/type.d.ts +237 -0
  334. package/es/input-number/InputNumber.d.ts +17 -0
  335. package/es/input-number/InputNumber.js +139 -0
  336. package/es/input-number/InputNumber.js.map +1 -0
  337. package/es/input-number/defaultProps.d.ts +2 -0
  338. package/es/input-number/index.d.ts +5 -0
  339. package/es/input-number/index.js +43 -0
  340. package/es/input-number/index.js.map +1 -0
  341. package/es/input-number/style/css.d.ts +1 -0
  342. package/es/input-number/style/css.js +1 -0
  343. package/es/input-number/style/index.css +331 -0
  344. package/es/input-number/style/index.d.ts +1 -0
  345. package/es/input-number/style/index.js +2 -0
  346. package/es/input-number/style/index.js.map +1 -0
  347. package/es/input-number/type.d.ts +156 -0
  348. package/es/input-number/useInputNumber.d.ts +51 -0
  349. package/es/input-number/useInputNumber.js +809 -0
  350. package/es/input-number/useInputNumber.js.map +1 -0
  351. package/es/ip-input/IPInput.d.ts +5 -0
  352. package/es/ip-input/IPInput.js +16 -0
  353. package/es/ip-input/IPInput.js.map +1 -0
  354. package/es/ip-input/defaultProps.d.ts +2 -0
  355. package/es/ip-input/index.d.ts +3 -0
  356. package/es/ip-input/index.js +16 -0
  357. package/es/ip-input/index.js.map +1 -0
  358. package/es/ip-input/style/index.css +323 -0
  359. package/es/ip-input/style/index.d.ts +1 -0
  360. package/es/ip-input/style/index.js +2 -0
  361. package/es/ip-input/style/index.js.map +1 -0
  362. package/es/ip-input/type.d.ts +113 -0
  363. package/es/ip-input/utils.d.ts +35 -0
  364. package/es/layout/Aside.d.ts +11 -0
  365. package/es/layout/Aside.js +41 -0
  366. package/es/layout/Aside.js.map +1 -0
  367. package/es/layout/Layout.d.ts +26 -0
  368. package/es/layout/Layout.js +106 -0
  369. package/es/layout/Layout.js.map +1 -0
  370. package/es/layout/defaultProps.d.ts +5 -0
  371. package/es/layout/index.d.ts +10 -0
  372. package/es/layout/index.js +19 -0
  373. package/es/layout/index.js.map +1 -0
  374. package/es/layout/style/index.css +56 -0
  375. package/es/layout/style/index.d.ts +1 -0
  376. package/es/layout/style/index.js +2 -0
  377. package/es/layout/style/index.js.map +1 -0
  378. package/es/layout/type.d.ts +38 -0
  379. package/es/list/List.d.ts +17 -0
  380. package/es/list/List.js +217 -0
  381. package/es/list/List.js.map +1 -0
  382. package/es/list/ListItem.d.ts +15 -0
  383. package/es/list/ListItem.js +31 -0
  384. package/es/list/ListItem.js.map +1 -0
  385. package/es/list/ListItemMeta.d.ts +10 -0
  386. package/es/list/ListItemMeta.js +45 -0
  387. package/es/list/ListItemMeta.js.map +1 -0
  388. package/es/list/defaultProps.d.ts +7 -0
  389. package/es/list/hooks/useListVirtualScroll.d.ts +24 -0
  390. package/es/list/index.d.ts +10 -0
  391. package/es/list/index.js +40 -0
  392. package/es/list/index.js.map +1 -0
  393. package/es/list/style/css.d.ts +1 -0
  394. package/es/list/style/css.js +1 -0
  395. package/es/list/style/index.css +172 -0
  396. package/es/list/style/index.d.ts +1 -0
  397. package/es/list/style/index.js +2 -0
  398. package/es/list/style/index.js.map +1 -0
  399. package/es/list/type.d.ts +92 -0
  400. package/es/loading/Gradient.d.ts +6 -0
  401. package/es/loading/Gradient.js +4 -3
  402. package/es/loading/Gradient.js.map +1 -1
  403. package/es/loading/Loading.d.ts +7 -0
  404. package/es/loading/Loading.js +7 -5
  405. package/es/loading/Loading.js.map +1 -1
  406. package/es/loading/circleAdapter.d.ts +1 -0
  407. package/es/loading/defaultProps.d.ts +2 -0
  408. package/es/loading/index.d.ts +5 -0
  409. package/es/loading/index.js +7 -5
  410. package/es/loading/index.js.map +1 -1
  411. package/es/loading/style/css.d.ts +1 -0
  412. package/es/loading/style/index.d.ts +1 -0
  413. package/es/loading/type.d.ts +68 -0
  414. package/es/loading/utils/setStyle.d.ts +7 -0
  415. package/es/locale/LocalReceiver.d.ts +6 -0
  416. package/es/locale/ar_KW.d.ts +3 -0
  417. package/es/locale/en_US.d.ts +3 -0
  418. package/es/locale/it_IT.d.ts +3 -0
  419. package/es/locale/ja_JP.d.ts +3 -0
  420. package/es/locale/ko_KR.d.ts +3 -0
  421. package/es/locale/ru_RU.d.ts +3 -0
  422. package/es/locale/zh_CN.d.ts +3 -0
  423. package/es/locale/zh_TW.d.ts +3 -0
  424. package/es/myform/index.d.ts +0 -0
  425. package/es/notification/Notify.d.ts +11 -0
  426. package/es/notification/NotifyContainer.d.ts +13 -0
  427. package/es/notification/NotifyContainer.js +3 -2
  428. package/es/notification/NotifyContainer.js.map +1 -1
  429. package/es/notification/NotifyContext.d.ts +23 -0
  430. package/es/notification/NotifyContext.js +3 -2
  431. package/es/notification/NotifyContext.js.map +1 -1
  432. package/es/notification/NotifyItem.d.ts +4 -0
  433. package/es/notification/NotifyItem.js +3 -2
  434. package/es/notification/NotifyItem.js.map +1 -1
  435. package/es/notification/index.d.ts +3 -0
  436. package/es/notification/index.js +3 -2
  437. package/es/notification/index.js.map +1 -1
  438. package/es/notification/style/css.d.ts +1 -0
  439. package/es/notification/style/index.d.ts +1 -0
  440. package/es/notification/type.d.ts +22 -0
  441. package/es/popup/Popup.d.ts +21 -0
  442. package/es/popup/Popup.js +36 -100
  443. package/es/popup/Popup.js.map +1 -1
  444. package/es/popup/defaultProps.d.ts +5 -0
  445. package/es/popup/hooks/useTrigger.d.ts +20 -0
  446. package/es/popup/index.d.ts +5 -0
  447. package/es/popup/index.js +8 -4
  448. package/es/popup/index.js.map +1 -1
  449. package/es/popup/style/css.d.ts +1 -0
  450. package/es/popup/style/index.d.ts +1 -0
  451. package/es/popup/type.d.ts +109 -0
  452. package/es/portal/Portal.d.ts +16 -0
  453. package/es/portal/Portal.js +2 -1
  454. package/es/portal/Portal.js.map +1 -1
  455. package/es/portal/index.d.ts +1 -0
  456. package/es/portal/index.js +2 -1
  457. package/es/portal/index.js.map +1 -1
  458. package/es/radio/Radio.d.ts +8 -0
  459. package/es/radio/Radio.js +22 -0
  460. package/es/radio/Radio.js.map +1 -0
  461. package/es/radio/RadioGroup.d.ts +14 -0
  462. package/es/radio/RadioGroup.js +22 -0
  463. package/es/radio/RadioGroup.js.map +1 -0
  464. package/es/radio/defaultProps.d.ts +3 -0
  465. package/es/radio/index.d.ts +10 -0
  466. package/es/radio/index.js +28 -0
  467. package/es/radio/index.js.map +1 -0
  468. package/es/radio/style/css.d.ts +0 -0
  469. package/es/radio/style/css.js +0 -0
  470. package/es/radio/style/index.css +333 -0
  471. package/es/radio/style/index.d.ts +1 -0
  472. package/es/radio/style/index.js +2 -0
  473. package/es/radio/style/index.js.map +1 -0
  474. package/es/radio/type.d.ts +117 -0
  475. package/es/radio/useKeyboard.d.ts +4 -0
  476. package/es/select/Option.d.ts +24 -0
  477. package/es/select/Option.js +3 -2
  478. package/es/select/Option.js.map +1 -1
  479. package/es/select/OptionGroup.d.ts +7 -0
  480. package/es/select/OptionGroup.js +4 -3
  481. package/es/select/OptionGroup.js.map +1 -1
  482. package/es/select/PopupContent.d.ts +24 -0
  483. package/es/select/PopupContent.js +6 -4
  484. package/es/select/PopupContent.js.map +1 -1
  485. package/es/select/Select.d.ts +13 -0
  486. package/es/select/Select.js +21 -12
  487. package/es/select/Select.js.map +1 -1
  488. package/es/select/defaultProps.d.ts +4 -0
  489. package/es/select/hooks/useOptions.d.ts +16 -0
  490. package/es/select/hooks/usePanelVirtualScroll.d.ts +24 -0
  491. package/es/select/index.d.ts +8 -0
  492. package/es/select/index.js +14 -8
  493. package/es/select/index.js.map +1 -1
  494. package/es/select/style/css.d.ts +1 -0
  495. package/es/select/style/index.d.ts +1 -0
  496. package/es/select/type.d.ts +344 -0
  497. package/es/select/utils/helper.d.ts +18 -0
  498. package/es/select-input/SelectInput.d.ts +11 -0
  499. package/es/select-input/SelectInput.js +10 -5
  500. package/es/select-input/SelectInput.js.map +1 -1
  501. package/es/select-input/defaultProps.d.ts +2 -0
  502. package/es/select-input/hook/useMultiple.d.ts +23 -0
  503. package/es/select-input/hook/useMultiple.js +7 -4
  504. package/es/select-input/hook/useMultiple.js.map +1 -1
  505. package/es/select-input/hook/useOverlayInnerStyle.d.ts +11 -0
  506. package/es/select-input/hook/useSingle.d.ts +16 -0
  507. package/es/select-input/hook/useSingle.js +5 -3
  508. package/es/select-input/hook/useSingle.js.map +1 -1
  509. package/es/select-input/index.d.ts +5 -0
  510. package/es/select-input/index.js +10 -5
  511. package/es/select-input/index.js.map +1 -1
  512. package/es/select-input/interface.d.ts +17 -0
  513. package/es/select-input/style/css.d.ts +1 -0
  514. package/es/select-input/style/index.d.ts +1 -0
  515. package/es/select-input/type.d.ts +243 -0
  516. package/es/slider/Slider.d.ts +7 -0
  517. package/es/slider/Slider.js +668 -0
  518. package/es/slider/Slider.js.map +1 -0
  519. package/es/slider/SliderHandleButton.d.ts +11 -0
  520. package/es/slider/SliderHandleButton.js +48 -0
  521. package/es/slider/SliderHandleButton.js.map +1 -0
  522. package/es/slider/defaultProps.d.ts +5 -0
  523. package/es/slider/index.d.ts +5 -0
  524. package/es/slider/index.js +46 -0
  525. package/es/slider/index.js.map +1 -0
  526. package/es/slider/style/css.d.ts +1 -0
  527. package/es/slider/style/css.js +1 -0
  528. package/es/slider/style/index.css +252 -0
  529. package/es/slider/style/index.d.ts +1 -0
  530. package/es/slider/style/index.js +2 -0
  531. package/es/slider/style/index.js.map +1 -0
  532. package/es/slider/type.d.ts +78 -0
  533. package/es/space/defaultProps.d.ts +0 -0
  534. package/es/space/index.d.ts +0 -0
  535. package/es/space/type.d.ts +0 -0
  536. package/es/style/index.css +24 -34
  537. package/es/style/index.d.ts +1 -0
  538. package/es/switch/Switch.d.ts +9 -0
  539. package/es/switch/Switch.js +9 -47
  540. package/es/switch/Switch.js.map +1 -1
  541. package/es/switch/defaultProps.d.ts +2 -0
  542. package/es/switch/index.d.ts +4 -0
  543. package/es/switch/index.js +8 -5
  544. package/es/switch/index.js.map +1 -1
  545. package/es/switch/style/css.d.ts +1 -0
  546. package/es/switch/style/index.d.ts +1 -0
  547. package/es/switch/type.d.ts +48 -0
  548. package/es/tab/TabBar.d.ts +9 -0
  549. package/es/tab/TabBar.js +109 -0
  550. package/es/tab/TabBar.js.map +1 -0
  551. package/es/tab/TabNav.d.ts +10 -0
  552. package/es/tab/TabNav.js +123 -0
  553. package/es/tab/TabNav.js.map +1 -0
  554. package/es/tab/TabNavItem.d.ts +15 -0
  555. package/es/tab/TabNavItem.js +65 -0
  556. package/es/tab/TabNavItem.js.map +1 -0
  557. package/es/tab/TabPanel.d.ts +9 -0
  558. package/es/tab/TabPanel.js +11 -0
  559. package/es/tab/TabPanel.js.map +1 -0
  560. package/es/tab/Tabs.d.ts +10 -0
  561. package/es/tab/Tabs.js +95 -0
  562. package/es/tab/Tabs.js.map +1 -0
  563. package/es/tab/defaultProps.d.ts +3 -0
  564. package/es/tab/index.d.ts +8 -0
  565. package/es/tab/index.js +31 -0
  566. package/es/tab/index.js.map +1 -0
  567. package/es/tab/style/index.css +159 -0
  568. package/es/tab/style/index.d.ts +1 -0
  569. package/es/tab/style/index.js +2 -0
  570. package/es/tab/style/index.js.map +1 -0
  571. package/es/tab/type.d.ts +130 -0
  572. package/es/tab/useTabClass.d.ts +8 -0
  573. package/es/table/Cell.d.ts +18 -0
  574. package/es/table/Cell.js +73 -0
  575. package/es/table/Cell.js.map +1 -0
  576. package/es/table/TBody.d.ts +28 -0
  577. package/es/table/TBody.js +70 -0
  578. package/es/table/TBody.js.map +1 -0
  579. package/es/table/THead.d.ts +10 -0
  580. package/es/table/THead.js +56 -0
  581. package/es/table/THead.js.map +1 -0
  582. package/es/table/TR.d.ts +28 -0
  583. package/es/table/TR.js +76 -0
  584. package/es/table/TR.js.map +1 -0
  585. package/es/table/Table.d.ts +6 -0
  586. package/es/table/Table.js +98 -0
  587. package/es/table/Table.js.map +1 -0
  588. package/es/table/defaultProps.d.ts +2 -0
  589. package/es/table/hooks/index.d.ts +4 -0
  590. package/es/table/hooks/index.js +98 -0
  591. package/es/table/hooks/index.js.map +1 -0
  592. package/es/table/hooks/useTableClassName.d.ts +26 -0
  593. package/es/table/hooks/useTableStyle.d.ts +11 -0
  594. package/es/table/index.d.ts +5 -0
  595. package/es/table/index.js +22 -0
  596. package/es/table/index.js.map +1 -0
  597. package/es/table/style/css.d.ts +1 -0
  598. package/es/table/style/css.js +1 -0
  599. package/es/table/style/index.css +139 -0
  600. package/es/table/style/index.d.ts +1 -0
  601. package/es/table/style/index.js +2 -0
  602. package/es/table/style/index.js.map +1 -0
  603. package/es/table/type.d.ts +195 -0
  604. package/es/tag/Tag.d.ts +14 -0
  605. package/es/tag/Tag.js +5 -1182
  606. package/es/tag/Tag.js.map +1 -1
  607. package/es/tag/defaultProps.d.ts +7 -0
  608. package/es/tag/index.d.ts +4 -0
  609. package/es/tag/index.js +5 -3
  610. package/es/tag/index.js.map +1 -1
  611. package/es/tag/style/css.d.ts +1 -0
  612. package/es/tag/style/index.d.ts +1 -0
  613. package/es/tag/type.d.ts +169 -0
  614. package/es/tag-input/TagInput.d.ts +9 -0
  615. package/es/tag-input/TagInput.js +7 -4
  616. package/es/tag-input/TagInput.js.map +1 -1
  617. package/es/tag-input/defaultProps.d.ts +2 -0
  618. package/es/tag-input/hooks/useHover.d.ts +17 -0
  619. package/es/tag-input/hooks/useTagList.d.ts +30 -0
  620. package/es/tag-input/hooks/useTagList.js +5 -3
  621. package/es/tag-input/hooks/useTagList.js.map +1 -1
  622. package/es/tag-input/hooks/useTagScroll.d.ts +25 -0
  623. package/es/tag-input/index.d.ts +5 -0
  624. package/es/tag-input/index.js +7 -4
  625. package/es/tag-input/index.js.map +1 -1
  626. package/es/tag-input/style/css.d.ts +1 -0
  627. package/es/tag-input/style/index.d.ts +1 -0
  628. package/es/tag-input/type.d.ts +235 -0
  629. package/es/tag-input/useTagList.d.ts +30 -0
  630. package/es/tag-input/useTagList.js +5 -3
  631. package/es/tag-input/useTagList.js.map +1 -1
  632. package/es/utils/composeRefs.d.ts +2 -0
  633. package/es/utils/dom.d.ts +7 -0
  634. package/es/utils/forwardRefWithStatics.d.ts +2 -0
  635. package/es/utils/getScrollbarWidth.d.ts +6 -0
  636. package/es/utils/helper.d.ts +46 -0
  637. package/es/utils/input-number/large-number.d.ts +85 -0
  638. package/es/utils/input-number/number.d.ts +81 -0
  639. package/es/utils/isFragment.d.ts +4 -0
  640. package/es/utils/listener.d.ts +4 -0
  641. package/es/utils/log/index.d.ts +2 -0
  642. package/es/utils/log/index.js +27 -0
  643. package/es/utils/log/index.js.map +1 -0
  644. package/es/utils/log/log.d.ts +3 -0
  645. package/es/utils/log/types.d.ts +8 -0
  646. package/es/utils/noop.d.ts +2 -0
  647. package/es/utils/number.d.ts +7 -0
  648. package/es/utils/parentTNode.d.ts +10 -0
  649. package/es/utils/parseTNode.d.ts +10 -0
  650. package/es/utils/react-render.d.ts +16 -0
  651. package/es/utils/ref.d.ts +1 -0
  652. package/es/utils/refs.d.ts +13 -0
  653. package/es/utils/scroll.d.ts +3 -0
  654. package/es/utils/style.d.ts +4 -0
  655. package/es/utils/transition.d.ts +20 -0
  656. package/package.json +60 -59
  657. package/LICENSE +0 -21
  658. package/es/_chunks/dep-0QH2Ee4R.js.map +0 -1
  659. package/es/_chunks/dep-BH5n5r1M.js.map +0 -1
  660. package/es/_chunks/dep-D7LanWes.js.map +0 -1
  661. package/es/_chunks/dep-DZ_0EvBk.js.map +0 -1
  662. package/es/_chunks/dep-Dk2xX8lh.js.map +0 -1
  663. package/es/_chunks/dep-EcrDKDlu.js.map +0 -1
  664. package/es/_chunks/dep-bWaVq_y3.js.map +0 -1
@@ -1 +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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"}
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,2 @@
1
+ import { TdTagInputProps } from "./type";
2
+ export declare const tagInputDefaultProps: TdTagInputProps;
@@ -0,0 +1,17 @@
1
+ import { MouseEvent } from "react";
2
+ import { TdTagInputProps } from "../type";
3
+ export interface UseHoverParams {
4
+ readonly: boolean;
5
+ disabled: boolean;
6
+ onMouseenter: (context: {
7
+ e: MouseEvent<HTMLDivElement>;
8
+ }) => void;
9
+ onMouseleave: (context: {
10
+ e: MouseEvent<HTMLDivElement>;
11
+ }) => void;
12
+ }
13
+ export default function useHover(props: TdTagInputProps): {
14
+ isHover: boolean;
15
+ addHover: (context: Parameters<UseHoverParams["onMouseenter"]>[0]) => void;
16
+ cancelHover: (context: Parameters<UseHoverParams["onMouseleave"]>[0]) => void;
17
+ };
@@ -0,0 +1,30 @@
1
+ import React, { MouseEvent, KeyboardEvent, ReactNode } from "react";
2
+ import { TagInputChangeContext, TagInputValue, TdTagInputProps } from "../type";
3
+ import { InputValue } from "../../input";
4
+ import { DragSortInnerProps } from "../../hooks/useDragSorter";
5
+ export type ChangeParams = [TagInputChangeContext];
6
+ interface TagInputProps extends TdTagInputProps, DragSortInnerProps {
7
+ options?: unknown[];
8
+ }
9
+ export default function useTagList(props: TagInputProps): {
10
+ tagValue: TagInputValue;
11
+ clearAll: (context: {
12
+ e: MouseEvent<SVGSVGElement>;
13
+ }) => void;
14
+ onClose: (p: {
15
+ e?: MouseEvent<SVGSVGElement>;
16
+ index: number;
17
+ }) => void;
18
+ onInnerEnter: (value: InputValue, context: {
19
+ e: KeyboardEvent<HTMLInputElement>;
20
+ }) => void;
21
+ onInputBackspaceKeyDown: (value: InputValue, context: {
22
+ e: KeyboardEvent<HTMLInputElement>;
23
+ }) => void;
24
+ onInputBackspaceKeyUp: (_value: InputValue) => void;
25
+ renderLabel: ({ displayNode, label }: {
26
+ displayNode: ReactNode;
27
+ label: ReactNode;
28
+ }) => React.JSX.Element[];
29
+ };
30
+ export {};
@@ -4,17 +4,19 @@ import { _ as _slicedToArray } from '../../_chunks/dep-CzLhKWCf.js';
4
4
  import React, { Fragment } from 'react';
5
5
  import { isFunction } from 'lodash-es';
6
6
  import { Tag } from '../../tag/index.js';
7
- import { u as useConfig } from '../../_chunks/dep-u1x3x6MJ.js';
7
+ import { u as useConfig } from '../../_chunks/dep-gy8uvBaS.js';
8
8
  import { u as useControlled } from '../../_chunks/dep-DwWrhxkd.js';
9
9
  import '../../_chunks/dep-D-UKOauR.js';
10
10
  import '../../tag/Tag.js';
11
11
  import '../../_chunks/dep-DN7d1SzH.js';
12
12
  import 'classnames';
13
13
  import '@tendaui/icons';
14
+ import '../../_chunks/dep-zOZQ0R9g.js';
14
15
  import '../../_chunks/dep-U1T8CQY9.js';
15
- import '../../_chunks/dep-bWaVq_y3.js';
16
+ import '../../_chunks/dep-ByzdZjUR.js';
16
17
  import '../../_chunks/dep-DGvfel3I.js';
17
- import '../../config-provider/ConfigContext.js';
18
+ import '../../_chunks/dep-5U9UjDaf.js';
19
+ import 'dayjs';
18
20
  import '../../_chunks/dep-BP0-apUT.js';
19
21
  import 'hoist-non-react-statics';
20
22
  import '../../tag/style/css.js';
@@ -1 +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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"}
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) as TagInputValue),\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,25 @@
1
+ /**
2
+ * 当标签数量过多时,输入框显示不下,则需要滚动查看,以下为滚动逻辑
3
+ * 如果标签过多时的处理方式,是标签省略,则不需要此功能
4
+ */
5
+ import { WheelEvent } from "react";
6
+ import { TdTagInputProps } from "../type";
7
+ export default function useTagScroll(props: TdTagInputProps): {
8
+ initScroll: (element: HTMLDivElement) => void;
9
+ clearScroll: () => void;
10
+ tagInputRef: import("react").MutableRefObject<{
11
+ currentElement: HTMLDivElement;
12
+ }>;
13
+ scrollElement: HTMLDivElement;
14
+ scrollDistance: number;
15
+ scrollTo: (distance: number) => void;
16
+ scrollToRight: () => void;
17
+ scrollToLeft: () => void;
18
+ updateScrollElement: (element: HTMLDivElement) => void;
19
+ updateScrollDistance: () => void;
20
+ onWheel: ({ e }: {
21
+ e: WheelEvent<HTMLDivElement>;
22
+ }) => void;
23
+ scrollToRightOnEnter: () => void;
24
+ scrollToLeftOnLeave: () => void;
25
+ };
@@ -0,0 +1,5 @@
1
+ import "./style/index.js";
2
+ export * from "./type";
3
+ export type { TagInputProps } from "./TagInput";
4
+ export declare const TagInput: import("react").ForwardRefExoticComponent<import("./TagInput").TagInputProps & import("react").RefAttributes<import("..").InputRef>>;
5
+ export default TagInput;
@@ -7,12 +7,14 @@ import 'react';
7
7
  import '@tendaui/icons';
8
8
  import 'lodash-es';
9
9
  import 'classnames';
10
- import '../_chunks/dep-u1x3x6MJ.js';
11
- import '../config-provider/ConfigContext.js';
10
+ import '../_chunks/dep-gy8uvBaS.js';
11
+ import '../_chunks/dep-5U9UjDaf.js';
12
+ import 'dayjs';
12
13
  import '../input/index.js';
13
14
  import '../input/Input.js';
14
15
  import '../_chunks/dep-DN7d1SzH.js';
15
- import '../_chunks/dep-0QH2Ee4R.js';
16
+ import '../_chunks/dep-BRbJGDI9.js';
17
+ import '../_chunks/dep-DRwijJcv.js';
16
18
  import '../_chunks/dep-DwWrhxkd.js';
17
19
  import '../_chunks/dep-D6YxJv-F.js';
18
20
  import '../_chunks/dep-DGvfel3I.js';
@@ -22,8 +24,9 @@ import './hooks/useTagList.js';
22
24
  import '../_chunks/dep-CgyDw_YI.js';
23
25
  import '../tag/index.js';
24
26
  import '../tag/Tag.js';
27
+ import '../_chunks/dep-zOZQ0R9g.js';
25
28
  import '../_chunks/dep-U1T8CQY9.js';
26
- import '../_chunks/dep-bWaVq_y3.js';
29
+ import '../_chunks/dep-ByzdZjUR.js';
27
30
  import '../_chunks/dep-BP0-apUT.js';
28
31
  import 'hoist-non-react-statics';
29
32
  import '../tag/style/css.js';
@@ -1 +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;;;;"}
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
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,235 @@
1
+ import { InputProps } from "../input";
2
+ import { TagProps } from "../tag";
3
+ import { TNode, TElement, SizeEnum } from "../common";
4
+ import { MouseEvent, KeyboardEvent, ClipboardEvent, FocusEvent, FormEvent, CompositionEvent } from "react";
5
+ export interface TdTagInputProps {
6
+ /**
7
+ * 宽度随内容自适应
8
+ * @default false
9
+ */
10
+ autoWidth?: boolean;
11
+ /**
12
+ * 无边框模式
13
+ * @default false
14
+ */
15
+ borderless?: boolean;
16
+ /**
17
+ * 是否可清空
18
+ * @default false
19
+ */
20
+ clearable?: boolean;
21
+ /**
22
+ * 标签过多的情况下,折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedSelectedItems` 表示折叠的标签,`count` 表示折叠的数量,`onClose` 表示移除标签的事件回调
23
+ */
24
+ collapsedItems?: TNode<{
25
+ value: TagInputValue;
26
+ collapsedSelectedItems: TagInputValue;
27
+ count: number;
28
+ onClose: (context: {
29
+ index: number;
30
+ e?: MouseEvent;
31
+ }) => void;
32
+ }>;
33
+ /**
34
+ * 是否禁用标签输入框
35
+ */
36
+ disabled?: boolean;
37
+ /**
38
+ * 拖拽调整标签顺序
39
+ * @default false
40
+ */
41
+ dragSort?: boolean;
42
+ /**
43
+ * 标签超出时的呈现方式,有两种:横向滚动显示 和 换行显示
44
+ * @default break-line
45
+ */
46
+ excessTagsDisplayType?: "scroll" | "break-line";
47
+ /**
48
+ * 标签最大换行数
49
+ * @default 1
50
+ */
51
+ maxRows?: number;
52
+ /**
53
+ * 透传 Input 输入框组件全部属性
54
+ */
55
+ inputProps?: InputProps;
56
+ /**
57
+ * 输入框的值
58
+ * @default ''
59
+ */
60
+ inputValue?: string;
61
+ /**
62
+ * 输入框的值,非受控属性
63
+ * @default ''
64
+ */
65
+ defaultInputValue?: string;
66
+ /**
67
+ * 左侧文本
68
+ */
69
+ label?: TNode;
70
+ /**
71
+ * 最大允许输入的标签数量
72
+ */
73
+ max?: number;
74
+ /**
75
+ * 最小折叠数量,用于标签数量过多的情况下折叠选中项,超出该数值的选中项折叠。值为 0 则表示不折叠
76
+ * @default 0
77
+ */
78
+ minCollapsedNum?: number;
79
+ /**
80
+ * 占位符
81
+ */
82
+ placeholder?: string;
83
+ /**
84
+ * 组件前置图标
85
+ */
86
+ prefixIcon?: TElement;
87
+ /**
88
+ * 只读状态,值为真会隐藏标签移除按钮和输入框
89
+ * @default false
90
+ */
91
+ readonly?: boolean;
92
+ /**
93
+ * 组件尺寸
94
+ * @default medium
95
+ */
96
+ size?: SizeEnum;
97
+ /**
98
+ * 输入框状态
99
+ */
100
+ status?: "default" | "success" | "warning" | "error";
101
+ /**
102
+ * 后置图标前的后置内容
103
+ */
104
+ suffix?: TNode;
105
+ /**
106
+ * 组件后置图标
107
+ */
108
+ suffixIcon?: TElement;
109
+ /**
110
+ * 自定义标签的内部内容,每一个标签的当前值。注意和 `valueDisplay` 区分,`valueDisplay` 是用来定义全部标签内容,而非某一个标签
111
+ */
112
+ tag?: string | TNode<{
113
+ value: string | number;
114
+ }>;
115
+ /**
116
+ * 透传 Tag 组件全部属性
117
+ */
118
+ tagProps?: TagProps;
119
+ /**
120
+ * 输入框下方提示文本,会根据不同的 `status` 呈现不同的样式
121
+ */
122
+ tips?: TNode;
123
+ /**
124
+ * 值
125
+ * @default []
126
+ */
127
+ value?: TagInputValue;
128
+ /**
129
+ * 值,非受控属性
130
+ * @default []
131
+ */
132
+ defaultValue?: TagInputValue;
133
+ /**
134
+ * 自定义值呈现的全部内容,参数为所有标签的值
135
+ */
136
+ valueDisplay?: string | TNode<{
137
+ value: TagInputValue;
138
+ onClose: (index: number, item?: string | number) => void;
139
+ }>;
140
+ /**
141
+ * 失去焦点时触发
142
+ */
143
+ onBlur?: (value: TagInputValue, context: {
144
+ inputValue: string;
145
+ e: FocusEvent<HTMLInputElement>;
146
+ }) => void;
147
+ /**
148
+ * 值变化时触发,参数 `context.trigger` 表示数据变化的触发来源;`context.index` 指当前变化项的下标;`context.item` 指当前变化项;`context.e` 表示事件参数
149
+ */
150
+ onChange?: (value: TagInputValue, context: TagInputChangeContext) => void;
151
+ /**
152
+ * 清空按钮点击时触发
153
+ */
154
+ onClear?: (context: {
155
+ e: MouseEvent<SVGSVGElement>;
156
+ }) => void;
157
+ /**
158
+ * 点击组件时触发
159
+ */
160
+ onClick?: (context: {
161
+ e: MouseEvent<HTMLDivElement>;
162
+ }) => void;
163
+ /**
164
+ * 【开发中】拖拽排序时触发
165
+ */
166
+ onDragSort?: (context: TagInputDragSortContext) => void;
167
+ /**
168
+ * 按键按下 Enter 时触发
169
+ */
170
+ onEnter?: (value: TagInputValue, context: {
171
+ e: KeyboardEvent<HTMLDivElement>;
172
+ inputValue: string;
173
+ }) => void;
174
+ /**
175
+ * 聚焦时触发
176
+ */
177
+ onFocus?: (value: TagInputValue, context: {
178
+ inputValue: string;
179
+ e: FocusEvent<HTMLInputElement>;
180
+ }) => void;
181
+ /**
182
+ * 输入框值发生变化时触发,`context.trigger` 表示触发输入框值变化的来源:文本输入触发、清除按钮触发、回车键触发等
183
+ */
184
+ onInputChange?: (value: string, context?: InputValueChangeContext) => void;
185
+ /**
186
+ * 进入输入框时触发
187
+ */
188
+ onMouseenter?: (context: {
189
+ e: MouseEvent<HTMLDivElement>;
190
+ }) => void;
191
+ /**
192
+ * 离开输入框时触发
193
+ */
194
+ onMouseleave?: (context: {
195
+ e: MouseEvent<HTMLDivElement>;
196
+ }) => void;
197
+ /**
198
+ * 粘贴事件,`pasteValue` 表示粘贴板的内容
199
+ */
200
+ onPaste?: (context: {
201
+ e: ClipboardEvent<HTMLDivElement>;
202
+ pasteValue: string;
203
+ }) => void;
204
+ /**
205
+ * 移除单个标签时触发
206
+ */
207
+ onRemove?: (context: TagInputRemoveContext) => void;
208
+ }
209
+ export type TagInputValue = Array<string | number>;
210
+ export interface TagInputChangeContext {
211
+ trigger: TagInputTriggerSource;
212
+ index?: number;
213
+ item?: string | number;
214
+ e?: MouseEvent<SVGSVGElement> | KeyboardEvent<HTMLInputElement>;
215
+ }
216
+ export type TagInputTriggerSource = "enter" | "tag-remove" | "backspace" | "clear";
217
+ export interface TagInputDragSortContext {
218
+ newTags: TagInputValue;
219
+ currentIndex: number;
220
+ current: string | number;
221
+ targetIndex: number;
222
+ target: string | number;
223
+ }
224
+ export interface InputValueChangeContext {
225
+ e?: FormEvent<HTMLInputElement> | MouseEvent<HTMLElement | SVGElement> | CompositionEvent<HTMLDivElement> | KeyboardEvent<HTMLInputElement>;
226
+ trigger: "input" | "clear" | "enter" | "blur";
227
+ }
228
+ export interface TagInputRemoveContext {
229
+ value: TagInputValue;
230
+ index: number;
231
+ item: string | number;
232
+ e?: MouseEvent<SVGSVGElement> | KeyboardEvent<HTMLInputElement>;
233
+ trigger: TagInputRemoveTrigger;
234
+ }
235
+ export type TagInputRemoveTrigger = "tag-remove" | "backspace";
@@ -0,0 +1,30 @@
1
+ import React, { MouseEvent, KeyboardEvent, ReactNode } from "react";
2
+ import { TagInputChangeContext, TagInputValue, TdTagInputProps } from "./type";
3
+ import { InputValue } from "../input";
4
+ import { DragSortInnerProps } from "../hooks/useDragSorter";
5
+ export type ChangeParams = [TagInputChangeContext];
6
+ interface TagInputProps extends TdTagInputProps, DragSortInnerProps {
7
+ options?: unknown[];
8
+ }
9
+ export default function useTagList(props: TagInputProps): {
10
+ tagValue: TagInputValue;
11
+ clearAll: (context: {
12
+ e: MouseEvent<SVGSVGElement>;
13
+ }) => void;
14
+ onClose: (p: {
15
+ e?: MouseEvent<SVGSVGElement>;
16
+ index: number;
17
+ }) => void;
18
+ onInnerEnter: (value: InputValue, context: {
19
+ e: KeyboardEvent<HTMLInputElement>;
20
+ }) => void;
21
+ onInputBackspaceKeyDown: (value: InputValue, context: {
22
+ e: KeyboardEvent<HTMLInputElement>;
23
+ }) => void;
24
+ onInputBackspaceKeyUp: () => void;
25
+ renderLabel: ({ displayNode, label }: {
26
+ displayNode: ReactNode;
27
+ label: ReactNode;
28
+ }) => React.JSX.Element[];
29
+ };
30
+ export {};
@@ -4,17 +4,19 @@ import { _ as _slicedToArray } from '../_chunks/dep-CzLhKWCf.js';
4
4
  import React, { Fragment } from 'react';
5
5
  import { isFunction } from 'lodash-es';
6
6
  import { Tag } from '../tag/index.js';
7
- import { u as useConfig } from '../_chunks/dep-u1x3x6MJ.js';
7
+ import { u as useConfig } from '../_chunks/dep-gy8uvBaS.js';
8
8
  import { u as useControlled } from '../_chunks/dep-DwWrhxkd.js';
9
9
  import '../_chunks/dep-D-UKOauR.js';
10
10
  import '../tag/Tag.js';
11
11
  import '../_chunks/dep-DN7d1SzH.js';
12
12
  import 'classnames';
13
13
  import '@tendaui/icons';
14
+ import '../_chunks/dep-zOZQ0R9g.js';
14
15
  import '../_chunks/dep-U1T8CQY9.js';
15
- import '../_chunks/dep-bWaVq_y3.js';
16
+ import '../_chunks/dep-ByzdZjUR.js';
16
17
  import '../_chunks/dep-DGvfel3I.js';
17
- import '../config-provider/ConfigContext.js';
18
+ import '../_chunks/dep-5U9UjDaf.js';
19
+ import 'dayjs';
18
20
  import '../_chunks/dep-BP0-apUT.js';
19
21
  import 'hoist-non-react-statics';
20
22
  import '../tag/style/css.js';