tntd 2.7.22 → 2.7.24

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 (427) hide show
  1. package/es/_util/motion.js +16 -0
  2. package/es/_util/motion.js.map +1 -0
  3. package/es/_util/type.js +4 -0
  4. package/es/_util/type.js.map +1 -0
  5. package/es/_util/warning.js +6 -0
  6. package/es/_util/warning.js.map +1 -0
  7. package/es/button/button.js +8 -0
  8. package/es/button/button.js.map +1 -1
  9. package/es/handle/handle.js +102 -0
  10. package/es/handle/handle.js.map +1 -0
  11. package/es/index.js +1 -0
  12. package/es/index.js.map +1 -1
  13. package/es/locale/en_US.js +6 -3
  14. package/es/locale/en_US.js.map +1 -1
  15. package/es/locale/zh_CN.js +4 -1
  16. package/es/locale/zh_CN.js.map +1 -1
  17. package/es/mention/index.js +4 -0
  18. package/es/mention/index.js.map +1 -0
  19. package/es/prev-locale.js +1 -1
  20. package/es/prev-locale.js.map +1 -1
  21. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +1 -1
  22. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  23. package/es/tntd-form/TntdForm/components/Item.js +55 -0
  24. package/es/tntd-form/TntdForm/components/Item.js.map +1 -0
  25. package/es/tntd-form/TntdForm/components/ItemComp.js +186 -0
  26. package/es/tntd-form/TntdForm/components/ItemComp.js.map +1 -0
  27. package/es/tntd-form/TntdForm/components/List.js +102 -0
  28. package/es/tntd-form/TntdForm/components/List.js.map +1 -0
  29. package/es/tntd-form/TntdForm/index.js +55 -0
  30. package/es/tntd-form/TntdForm/index.js.map +1 -0
  31. package/es/tntd-form/TntdForm/interface.js +1 -0
  32. package/es/tntd-form/TntdForm/interface.js.map +1 -0
  33. package/es/tntd-form/TntdForm/store.js +2 -0
  34. package/es/tntd-form/TntdForm/store.js.map +1 -0
  35. package/es/tntd-form/TntdForm/utils.js +219 -0
  36. package/es/tntd-form/TntdForm/utils.js.map +1 -0
  37. package/es/tntd-rc-select/_util/DisabledContext.js +8 -0
  38. package/es/tntd-rc-select/_util/DisabledContext.js.map +1 -0
  39. package/es/tntd-rc-select/_util/FormItemInputContext.js +3 -0
  40. package/es/tntd-rc-select/_util/FormItemInputContext.js.map +1 -0
  41. package/es/tntd-rc-select/_util/PurePanel.js +55 -0
  42. package/es/tntd-rc-select/_util/PurePanel.js.map +1 -0
  43. package/es/tntd-rc-select/_util/SizeContext.js +3 -0
  44. package/es/tntd-rc-select/_util/SizeContext.js.map +1 -0
  45. package/es/tntd-rc-select/_util/context.js +14 -0
  46. package/es/tntd-rc-select/_util/context.js.map +1 -0
  47. package/es/tntd-rc-select/_util/defaultRenderEmpty.js +20 -0
  48. package/es/tntd-rc-select/_util/defaultRenderEmpty.js.map +1 -0
  49. package/es/tntd-rc-select/_util/getIcons.js +52 -0
  50. package/es/tntd-rc-select/_util/getIcons.js.map +1 -0
  51. package/es/tntd-rc-select/_util/interface.js +5 -0
  52. package/es/tntd-rc-select/_util/interface.js.map +1 -0
  53. package/es/tntd-rc-select/_util/motion.js +38 -0
  54. package/es/tntd-rc-select/_util/motion.js.map +1 -0
  55. package/es/tntd-rc-select/_util/type.js +4 -0
  56. package/es/tntd-rc-select/_util/type.js.map +1 -0
  57. package/es/tntd-rc-select/_util/useCompactItemContext.js +24 -0
  58. package/es/tntd-rc-select/_util/useCompactItemContext.js.map +1 -0
  59. package/es/tntd-rc-select/_util/warning.js +15 -0
  60. package/es/tntd-rc-select/_util/warning.js.map +1 -0
  61. package/es/tntd-rc-select/img/no-data-s.png +0 -0
  62. package/es/tntd-rc-select/index.js +103 -0
  63. package/es/tntd-rc-select/index.js.map +1 -0
  64. package/es/tntd-rc-select/style/index.less +1657 -0
  65. package/es/tntd-select/_util/DisabledContext.js +8 -0
  66. package/es/tntd-select/_util/DisabledContext.js.map +1 -0
  67. package/es/tntd-select/_util/FormItemInputContext.js +3 -0
  68. package/es/tntd-select/_util/FormItemInputContext.js.map +1 -0
  69. package/es/tntd-select/_util/PurePanel.js +55 -0
  70. package/es/tntd-select/_util/PurePanel.js.map +1 -0
  71. package/es/tntd-select/_util/SizeContext.js +3 -0
  72. package/es/tntd-select/_util/SizeContext.js.map +1 -0
  73. package/es/tntd-select/_util/context.js +14 -0
  74. package/es/tntd-select/_util/context.js.map +1 -0
  75. package/es/tntd-select/_util/defaultRenderEmpty.js +20 -0
  76. package/es/tntd-select/_util/defaultRenderEmpty.js.map +1 -0
  77. package/es/tntd-select/_util/getIcons.js +52 -0
  78. package/es/tntd-select/_util/getIcons.js.map +1 -0
  79. package/es/tntd-select/_util/interface.js +5 -0
  80. package/es/tntd-select/_util/interface.js.map +1 -0
  81. package/es/tntd-select/_util/motion.js +38 -0
  82. package/es/tntd-select/_util/motion.js.map +1 -0
  83. package/es/tntd-select/_util/type.js +4 -0
  84. package/es/tntd-select/_util/type.js.map +1 -0
  85. package/es/tntd-select/_util/useCompactItemContext.js +24 -0
  86. package/es/tntd-select/_util/useCompactItemContext.js.map +1 -0
  87. package/es/tntd-select/_util/warning.js +15 -0
  88. package/es/tntd-select/_util/warning.js.map +1 -0
  89. package/es/tntd-select/index.js +7 -1
  90. package/es/tntd-select/index.js.map +1 -1
  91. package/es/tntd-select/rc-select/BaseSelect.js +429 -0
  92. package/es/tntd-select/rc-select/BaseSelect.js.map +1 -0
  93. package/es/tntd-select/rc-select/OptGroup.js +5 -0
  94. package/es/tntd-select/rc-select/OptGroup.js.map +1 -0
  95. package/es/tntd-select/rc-select/Option.js +5 -0
  96. package/es/tntd-select/rc-select/Option.js.map +1 -0
  97. package/es/tntd-select/rc-select/OptionList.js +257 -0
  98. package/es/tntd-select/rc-select/OptionList.js.map +1 -0
  99. package/es/tntd-select/rc-select/Select.js +428 -0
  100. package/es/tntd-select/rc-select/Select.js.map +1 -0
  101. package/es/tntd-select/rc-select/SelectContext.js +4 -0
  102. package/es/tntd-select/rc-select/SelectContext.js.map +1 -0
  103. package/es/tntd-select/rc-select/SelectTrigger.js +91 -0
  104. package/es/tntd-select/rc-select/SelectTrigger.js.map +1 -0
  105. package/es/tntd-select/rc-select/Selector/Input.js +47 -0
  106. package/es/tntd-select/rc-select/Selector/Input.js.map +1 -0
  107. package/es/tntd-select/rc-select/Selector/MultipleSelector.js +97 -0
  108. package/es/tntd-select/rc-select/Selector/MultipleSelector.js.map +1 -0
  109. package/es/tntd-select/rc-select/Selector/SingleSelector.js +45 -0
  110. package/es/tntd-select/rc-select/Selector/SingleSelector.js.map +1 -0
  111. package/es/tntd-select/rc-select/Selector/index.js +136 -0
  112. package/es/tntd-select/rc-select/Selector/index.js.map +1 -0
  113. package/es/tntd-select/rc-select/TransBtn.js +22 -0
  114. package/es/tntd-select/rc-select/TransBtn.js.map +1 -0
  115. package/es/tntd-select/rc-select/hooks/useAllowClear.js +25 -0
  116. package/es/tntd-select/rc-select/hooks/useAllowClear.js.map +1 -0
  117. package/es/tntd-select/rc-select/hooks/useBaseProps.js +10 -0
  118. package/es/tntd-select/rc-select/hooks/useBaseProps.js.map +1 -0
  119. package/es/tntd-select/rc-select/hooks/useCache.js +34 -0
  120. package/es/tntd-select/rc-select/hooks/useCache.js.map +1 -0
  121. package/es/tntd-select/rc-select/hooks/useDelayReset.js +24 -0
  122. package/es/tntd-select/rc-select/hooks/useDelayReset.js.map +1 -0
  123. package/es/tntd-select/rc-select/hooks/useFilterOptions.js +55 -0
  124. package/es/tntd-select/rc-select/hooks/useFilterOptions.js.map +1 -0
  125. package/es/tntd-select/rc-select/hooks/useId.js +28 -0
  126. package/es/tntd-select/rc-select/hooks/useId.js.map +1 -0
  127. package/es/tntd-select/rc-select/hooks/useLayoutEffect.js +18 -0
  128. package/es/tntd-select/rc-select/hooks/useLayoutEffect.js.map +1 -0
  129. package/es/tntd-select/rc-select/hooks/useLock.js +26 -0
  130. package/es/tntd-select/rc-select/hooks/useLock.js.map +1 -0
  131. package/es/tntd-select/rc-select/hooks/useOptions.js +45 -0
  132. package/es/tntd-select/rc-select/hooks/useOptions.js.map +1 -0
  133. package/es/tntd-select/rc-select/hooks/useRefFunc.js +14 -0
  134. package/es/tntd-select/rc-select/hooks/useRefFunc.js.map +1 -0
  135. package/es/tntd-select/rc-select/hooks/useSelectTriggerControl.js +32 -0
  136. package/es/tntd-select/rc-select/hooks/useSelectTriggerControl.js.map +1 -0
  137. package/es/tntd-select/rc-select/index.js +8 -0
  138. package/es/tntd-select/rc-select/index.js.map +1 -0
  139. package/es/tntd-select/rc-select/interface.js +2 -0
  140. package/es/tntd-select/rc-select/interface.js.map +1 -0
  141. package/es/tntd-select/rc-select/utils/commonUtil.js +32 -0
  142. package/es/tntd-select/rc-select/utils/commonUtil.js.map +1 -0
  143. package/es/tntd-select/rc-select/utils/keyUtil.js +34 -0
  144. package/es/tntd-select/rc-select/utils/keyUtil.js.map +1 -0
  145. package/es/tntd-select/rc-select/utils/legacyUtil.js +32 -0
  146. package/es/tntd-select/rc-select/utils/legacyUtil.js.map +1 -0
  147. package/es/tntd-select/rc-select/utils/platformUtil.js +5 -0
  148. package/es/tntd-select/rc-select/utils/platformUtil.js.map +1 -0
  149. package/es/tntd-select/rc-select/utils/valueUtil.js +99 -0
  150. package/es/tntd-select/rc-select/utils/valueUtil.js.map +1 -0
  151. package/es/tntd-select/rc-select/utils/warningPropsUtil.js +100 -0
  152. package/es/tntd-select/rc-select/utils/warningPropsUtil.js.map +1 -0
  153. package/lib/_util/motion.d.ts +6 -0
  154. package/lib/_util/motion.d.ts.map +1 -0
  155. package/lib/_util/motion.js +20 -0
  156. package/lib/_util/motion.js.map +1 -0
  157. package/lib/_util/type.d.ts +4 -0
  158. package/lib/_util/type.d.ts.map +1 -0
  159. package/lib/_util/type.js +9 -0
  160. package/lib/_util/type.js.map +1 -0
  161. package/lib/_util/warning.d.ts +5 -0
  162. package/lib/_util/warning.d.ts.map +1 -0
  163. package/lib/_util/warning.js +32 -0
  164. package/lib/_util/warning.js.map +1 -0
  165. package/lib/button/button.d.ts.map +1 -1
  166. package/lib/button/button.js +8 -0
  167. package/lib/button/button.js.map +1 -1
  168. package/lib/handle/handle.d.ts +3 -0
  169. package/lib/handle/handle.d.ts.map +1 -0
  170. package/lib/handle/handle.js +130 -0
  171. package/lib/handle/handle.js.map +1 -0
  172. package/lib/index.d.ts +1 -0
  173. package/lib/index.d.ts.map +1 -1
  174. package/lib/index.js +3 -1
  175. package/lib/index.js.map +1 -1
  176. package/lib/locale/default.d.ts +4 -1
  177. package/lib/locale/default.d.ts.map +1 -1
  178. package/lib/locale/en_US.d.ts +4 -1
  179. package/lib/locale/en_US.d.ts.map +1 -1
  180. package/lib/locale/en_US.js +6 -3
  181. package/lib/locale/en_US.js.map +1 -1
  182. package/lib/locale/zh_CN.d.ts +4 -1
  183. package/lib/locale/zh_CN.d.ts.map +1 -1
  184. package/lib/locale/zh_CN.js +4 -1
  185. package/lib/locale/zh_CN.js.map +1 -1
  186. package/lib/mention/index.js +25 -0
  187. package/lib/prev-locale.js +1 -1
  188. package/lib/prev-locale.js.map +1 -1
  189. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +1 -1
  190. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  191. package/lib/tntd-form/TntdForm/components/Item.js +65 -0
  192. package/lib/tntd-form/TntdForm/components/ItemComp.js +215 -0
  193. package/lib/tntd-form/TntdForm/components/List.js +123 -0
  194. package/lib/tntd-form/TntdForm/index.js +72 -0
  195. package/lib/tntd-form/TntdForm/interface.js +5 -0
  196. package/lib/tntd-form/TntdForm/store.js +10 -0
  197. package/lib/tntd-form/TntdForm/utils.js +239 -0
  198. package/lib/tntd-rc-select/_util/DisabledContext.d.ts +10 -0
  199. package/lib/tntd-rc-select/_util/DisabledContext.d.ts.map +1 -0
  200. package/lib/tntd-rc-select/_util/DisabledContext.js +35 -0
  201. package/lib/tntd-rc-select/_util/DisabledContext.js.map +1 -0
  202. package/lib/tntd-rc-select/_util/FormItemInputContext.d.ts +4 -0
  203. package/lib/tntd-rc-select/_util/FormItemInputContext.d.ts.map +1 -0
  204. package/lib/tntd-rc-select/_util/FormItemInputContext.js +29 -0
  205. package/lib/tntd-rc-select/_util/FormItemInputContext.js.map +1 -0
  206. package/lib/tntd-rc-select/_util/PurePanel.d.ts +9 -0
  207. package/lib/tntd-rc-select/_util/PurePanel.d.ts.map +1 -0
  208. package/lib/tntd-rc-select/_util/PurePanel.js +84 -0
  209. package/lib/tntd-rc-select/_util/PurePanel.js.map +1 -0
  210. package/lib/tntd-rc-select/_util/SizeContext.d.ts +4 -0
  211. package/lib/tntd-rc-select/_util/SizeContext.d.ts.map +1 -0
  212. package/lib/tntd-rc-select/_util/SizeContext.js +29 -0
  213. package/lib/tntd-rc-select/_util/SizeContext.js.map +1 -0
  214. package/lib/tntd-rc-select/_util/context.d.ts +42 -0
  215. package/lib/tntd-rc-select/_util/context.d.ts.map +1 -0
  216. package/lib/tntd-rc-select/_util/context.js +20 -0
  217. package/lib/tntd-rc-select/_util/context.js.map +1 -0
  218. package/lib/tntd-rc-select/_util/defaultRenderEmpty.d.ts +5 -0
  219. package/lib/tntd-rc-select/_util/defaultRenderEmpty.d.ts.map +1 -0
  220. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js +48 -0
  221. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js.map +1 -0
  222. package/lib/tntd-rc-select/_util/getIcons.d.ts +25 -0
  223. package/lib/tntd-rc-select/_util/getIcons.d.ts.map +1 -0
  224. package/lib/tntd-rc-select/_util/getIcons.js +78 -0
  225. package/lib/tntd-rc-select/_util/getIcons.js.map +1 -0
  226. package/lib/tntd-rc-select/_util/interface.d.ts +25 -0
  227. package/lib/tntd-rc-select/_util/interface.d.ts.map +1 -0
  228. package/lib/tntd-rc-select/_util/interface.js +9 -0
  229. package/lib/tntd-rc-select/_util/interface.js.map +1 -0
  230. package/lib/tntd-rc-select/_util/motion.d.ts +9 -0
  231. package/lib/tntd-rc-select/_util/motion.d.ts.map +1 -0
  232. package/lib/tntd-rc-select/_util/motion.js +42 -0
  233. package/lib/tntd-rc-select/_util/motion.js.map +1 -0
  234. package/lib/tntd-rc-select/_util/type.d.ts +10 -0
  235. package/lib/tntd-rc-select/_util/type.d.ts.map +1 -0
  236. package/lib/tntd-rc-select/_util/type.js +9 -0
  237. package/lib/tntd-rc-select/_util/type.js.map +1 -0
  238. package/lib/tntd-rc-select/_util/useCompactItemContext.d.ts +9 -0
  239. package/lib/tntd-rc-select/_util/useCompactItemContext.d.ts.map +1 -0
  240. package/lib/tntd-rc-select/_util/useCompactItemContext.js +54 -0
  241. package/lib/tntd-rc-select/_util/useCompactItemContext.js.map +1 -0
  242. package/lib/tntd-rc-select/_util/warning.d.ts +4 -0
  243. package/lib/tntd-rc-select/_util/warning.d.ts.map +1 -0
  244. package/lib/tntd-rc-select/_util/warning.js +40 -0
  245. package/lib/tntd-rc-select/_util/warning.js.map +1 -0
  246. package/lib/tntd-rc-select/img/no-data-s.png +0 -0
  247. package/lib/tntd-rc-select/index.d.ts +44 -0
  248. package/lib/tntd-rc-select/index.d.ts.map +1 -0
  249. package/lib/tntd-rc-select/index.js +131 -0
  250. package/lib/tntd-rc-select/index.js.map +1 -0
  251. package/lib/tntd-rc-select/style/index.less +1657 -0
  252. package/lib/tntd-select/_util/DisabledContext.d.ts +10 -0
  253. package/lib/tntd-select/_util/DisabledContext.d.ts.map +1 -0
  254. package/lib/tntd-select/_util/DisabledContext.js +35 -0
  255. package/lib/tntd-select/_util/DisabledContext.js.map +1 -0
  256. package/lib/tntd-select/_util/FormItemInputContext.d.ts +4 -0
  257. package/lib/tntd-select/_util/FormItemInputContext.d.ts.map +1 -0
  258. package/lib/tntd-select/_util/FormItemInputContext.js +29 -0
  259. package/lib/tntd-select/_util/FormItemInputContext.js.map +1 -0
  260. package/lib/tntd-select/_util/PurePanel.d.ts +9 -0
  261. package/lib/tntd-select/_util/PurePanel.d.ts.map +1 -0
  262. package/lib/tntd-select/_util/PurePanel.js +84 -0
  263. package/lib/tntd-select/_util/PurePanel.js.map +1 -0
  264. package/lib/tntd-select/_util/SizeContext.d.ts +4 -0
  265. package/lib/tntd-select/_util/SizeContext.d.ts.map +1 -0
  266. package/lib/tntd-select/_util/SizeContext.js +29 -0
  267. package/lib/tntd-select/_util/SizeContext.js.map +1 -0
  268. package/lib/tntd-select/_util/context.d.ts +42 -0
  269. package/lib/tntd-select/_util/context.d.ts.map +1 -0
  270. package/lib/tntd-select/_util/context.js +20 -0
  271. package/lib/tntd-select/_util/context.js.map +1 -0
  272. package/lib/tntd-select/_util/defaultRenderEmpty.d.ts +5 -0
  273. package/lib/tntd-select/_util/defaultRenderEmpty.d.ts.map +1 -0
  274. package/lib/tntd-select/_util/defaultRenderEmpty.js +48 -0
  275. package/lib/tntd-select/_util/defaultRenderEmpty.js.map +1 -0
  276. package/lib/tntd-select/_util/getIcons.d.ts +25 -0
  277. package/lib/tntd-select/_util/getIcons.d.ts.map +1 -0
  278. package/lib/tntd-select/_util/getIcons.js +78 -0
  279. package/lib/tntd-select/_util/getIcons.js.map +1 -0
  280. package/lib/tntd-select/_util/interface.d.ts +25 -0
  281. package/lib/tntd-select/_util/interface.d.ts.map +1 -0
  282. package/lib/tntd-select/_util/interface.js +9 -0
  283. package/lib/tntd-select/_util/interface.js.map +1 -0
  284. package/lib/tntd-select/_util/motion.d.ts +9 -0
  285. package/lib/tntd-select/_util/motion.d.ts.map +1 -0
  286. package/lib/tntd-select/_util/motion.js +42 -0
  287. package/lib/tntd-select/_util/motion.js.map +1 -0
  288. package/lib/tntd-select/_util/type.d.ts +10 -0
  289. package/lib/tntd-select/_util/type.d.ts.map +1 -0
  290. package/lib/tntd-select/_util/type.js +9 -0
  291. package/lib/tntd-select/_util/type.js.map +1 -0
  292. package/lib/tntd-select/_util/useCompactItemContext.d.ts +9 -0
  293. package/lib/tntd-select/_util/useCompactItemContext.d.ts.map +1 -0
  294. package/lib/tntd-select/_util/useCompactItemContext.js +54 -0
  295. package/lib/tntd-select/_util/useCompactItemContext.js.map +1 -0
  296. package/lib/tntd-select/_util/warning.d.ts +4 -0
  297. package/lib/tntd-select/_util/warning.d.ts.map +1 -0
  298. package/lib/tntd-select/_util/warning.js +40 -0
  299. package/lib/tntd-select/_util/warning.js.map +1 -0
  300. package/lib/tntd-select/index.d.ts.map +1 -1
  301. package/lib/tntd-select/index.js +7 -1
  302. package/lib/tntd-select/index.js.map +1 -1
  303. package/lib/tntd-select/rc-select/BaseSelect.d.ts +114 -0
  304. package/lib/tntd-select/rc-select/BaseSelect.d.ts.map +1 -0
  305. package/lib/tntd-select/rc-select/BaseSelect.js +459 -0
  306. package/lib/tntd-select/rc-select/BaseSelect.js.map +1 -0
  307. package/lib/tntd-select/rc-select/OptGroup.d.ts +13 -0
  308. package/lib/tntd-select/rc-select/OptGroup.d.ts.map +1 -0
  309. package/lib/tntd-select/rc-select/OptGroup.js +7 -0
  310. package/lib/tntd-select/rc-select/OptGroup.js.map +1 -0
  311. package/lib/tntd-select/rc-select/Option.d.ts +15 -0
  312. package/lib/tntd-select/rc-select/Option.d.ts.map +1 -0
  313. package/lib/tntd-select/rc-select/Option.js +7 -0
  314. package/lib/tntd-select/rc-select/Option.js.map +1 -0
  315. package/lib/tntd-select/rc-select/OptionList.d.ts +11 -0
  316. package/lib/tntd-select/rc-select/OptionList.d.ts.map +1 -0
  317. package/lib/tntd-select/rc-select/OptionList.js +285 -0
  318. package/lib/tntd-select/rc-select/OptionList.js.map +1 -0
  319. package/lib/tntd-select/rc-select/Select.d.ts +115 -0
  320. package/lib/tntd-select/rc-select/Select.d.ts.map +1 -0
  321. package/lib/tntd-select/rc-select/Select.js +456 -0
  322. package/lib/tntd-select/rc-select/Select.js.map +1 -0
  323. package/lib/tntd-select/rc-select/SelectContext.d.ts +23 -0
  324. package/lib/tntd-select/rc-select/SelectContext.d.ts.map +1 -0
  325. package/lib/tntd-select/rc-select/SelectContext.js +29 -0
  326. package/lib/tntd-select/rc-select/SelectContext.js.map +1 -0
  327. package/lib/tntd-select/rc-select/SelectTrigger.d.ts +31 -0
  328. package/lib/tntd-select/rc-select/SelectTrigger.d.ts.map +1 -0
  329. package/lib/tntd-select/rc-select/SelectTrigger.js +119 -0
  330. package/lib/tntd-select/rc-select/SelectTrigger.js.map +1 -0
  331. package/lib/tntd-select/rc-select/Selector/Input.d.ts +27 -0
  332. package/lib/tntd-select/rc-select/Selector/Input.d.ts.map +1 -0
  333. package/lib/tntd-select/rc-select/Selector/Input.js +75 -0
  334. package/lib/tntd-select/rc-select/Selector/Input.js.map +1 -0
  335. package/lib/tntd-select/rc-select/Selector/MultipleSelector.d.ts +17 -0
  336. package/lib/tntd-select/rc-select/Selector/MultipleSelector.d.ts.map +1 -0
  337. package/lib/tntd-select/rc-select/Selector/MultipleSelector.js +125 -0
  338. package/lib/tntd-select/rc-select/Selector/MultipleSelector.js.map +1 -0
  339. package/lib/tntd-select/rc-select/Selector/SingleSelector.d.ts +9 -0
  340. package/lib/tntd-select/rc-select/Selector/SingleSelector.d.ts.map +1 -0
  341. package/lib/tntd-select/rc-select/Selector/SingleSelector.js +73 -0
  342. package/lib/tntd-select/rc-select/Selector/SingleSelector.js.map +1 -0
  343. package/lib/tntd-select/rc-select/Selector/index.d.ts +83 -0
  344. package/lib/tntd-select/rc-select/Selector/index.d.ts.map +1 -0
  345. package/lib/tntd-select/rc-select/Selector/index.js +164 -0
  346. package/lib/tntd-select/rc-select/Selector/index.js.map +1 -0
  347. package/lib/tntd-select/rc-select/TransBtn.d.ts +13 -0
  348. package/lib/tntd-select/rc-select/TransBtn.d.ts.map +1 -0
  349. package/lib/tntd-select/rc-select/TransBtn.js +50 -0
  350. package/lib/tntd-select/rc-select/TransBtn.js.map +1 -0
  351. package/lib/tntd-select/rc-select/hooks/useAllowClear.d.ts +9 -0
  352. package/lib/tntd-select/rc-select/hooks/useAllowClear.d.ts.map +1 -0
  353. package/lib/tntd-select/rc-select/hooks/useAllowClear.js +32 -0
  354. package/lib/tntd-select/rc-select/hooks/useAllowClear.js.map +1 -0
  355. package/lib/tntd-select/rc-select/hooks/useBaseProps.d.ts +14 -0
  356. package/lib/tntd-select/rc-select/hooks/useBaseProps.d.ts.map +1 -0
  357. package/lib/tntd-select/rc-select/hooks/useBaseProps.js +37 -0
  358. package/lib/tntd-select/rc-select/hooks/useBaseProps.js.map +1 -0
  359. package/lib/tntd-select/rc-select/hooks/useCache.d.ts +8 -0
  360. package/lib/tntd-select/rc-select/hooks/useCache.d.ts.map +1 -0
  361. package/lib/tntd-select/rc-select/hooks/useCache.js +59 -0
  362. package/lib/tntd-select/rc-select/hooks/useCache.js.map +1 -0
  363. package/lib/tntd-select/rc-select/hooks/useDelayReset.d.ts +6 -0
  364. package/lib/tntd-select/rc-select/hooks/useDelayReset.d.ts.map +1 -0
  365. package/lib/tntd-select/rc-select/hooks/useDelayReset.js +50 -0
  366. package/lib/tntd-select/rc-select/hooks/useDelayReset.js.map +1 -0
  367. package/lib/tntd-select/rc-select/hooks/useFilterOptions.d.ts +4 -0
  368. package/lib/tntd-select/rc-select/hooks/useFilterOptions.d.ts.map +1 -0
  369. package/lib/tntd-select/rc-select/hooks/useFilterOptions.js +80 -0
  370. package/lib/tntd-select/rc-select/hooks/useFilterOptions.js.map +1 -0
  371. package/lib/tntd-select/rc-select/hooks/useId.d.ts +6 -0
  372. package/lib/tntd-select/rc-select/hooks/useId.d.ts.map +1 -0
  373. package/lib/tntd-select/rc-select/hooks/useId.js +59 -0
  374. package/lib/tntd-select/rc-select/hooks/useId.js.map +1 -0
  375. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.d.ts +6 -0
  376. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.d.ts.map +1 -0
  377. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.js +44 -0
  378. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.js.map +1 -0
  379. package/lib/tntd-select/rc-select/hooks/useLock.d.ts +8 -0
  380. package/lib/tntd-select/rc-select/hooks/useLock.d.ts.map +1 -0
  381. package/lib/tntd-select/rc-select/hooks/useLock.js +52 -0
  382. package/lib/tntd-select/rc-select/hooks/useLock.js.map +1 -0
  383. package/lib/tntd-select/rc-select/hooks/useOptions.d.ts +12 -0
  384. package/lib/tntd-select/rc-select/hooks/useOptions.d.ts.map +1 -0
  385. package/lib/tntd-select/rc-select/hooks/useOptions.js +71 -0
  386. package/lib/tntd-select/rc-select/hooks/useOptions.js.map +1 -0
  387. package/lib/tntd-select/rc-select/hooks/useRefFunc.d.ts +6 -0
  388. package/lib/tntd-select/rc-select/hooks/useRefFunc.d.ts.map +1 -0
  389. package/lib/tntd-select/rc-select/hooks/useRefFunc.js +40 -0
  390. package/lib/tntd-select/rc-select/hooks/useRefFunc.js.map +1 -0
  391. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.d.ts +2 -0
  392. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.d.ts.map +1 -0
  393. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.js +58 -0
  394. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.js.map +1 -0
  395. package/lib/tntd-select/rc-select/index.d.ts +11 -0
  396. package/lib/tntd-select/rc-select/index.d.ts.map +1 -0
  397. package/lib/tntd-select/rc-select/index.js +17 -0
  398. package/lib/tntd-select/rc-select/index.js.map +1 -0
  399. package/lib/tntd-select/rc-select/interface.d.ts +23 -0
  400. package/lib/tntd-select/rc-select/interface.d.ts.map +1 -0
  401. package/lib/tntd-select/rc-select/interface.js +3 -0
  402. package/lib/tntd-select/rc-select/interface.js.map +1 -0
  403. package/lib/tntd-select/rc-select/utils/commonUtil.d.ts +10 -0
  404. package/lib/tntd-select/rc-select/utils/commonUtil.d.ts.map +1 -0
  405. package/lib/tntd-select/rc-select/utils/commonUtil.js +39 -0
  406. package/lib/tntd-select/rc-select/utils/commonUtil.js.map +1 -0
  407. package/lib/tntd-select/rc-select/utils/keyUtil.d.ts +3 -0
  408. package/lib/tntd-select/rc-select/utils/keyUtil.d.ts.map +1 -0
  409. package/lib/tntd-select/rc-select/utils/keyUtil.js +41 -0
  410. package/lib/tntd-select/rc-select/utils/keyUtil.js.map +1 -0
  411. package/lib/tntd-select/rc-select/utils/legacyUtil.d.ts +4 -0
  412. package/lib/tntd-select/rc-select/utils/legacyUtil.d.ts.map +1 -0
  413. package/lib/tntd-select/rc-select/utils/legacyUtil.js +62 -0
  414. package/lib/tntd-select/rc-select/utils/legacyUtil.js.map +1 -0
  415. package/lib/tntd-select/rc-select/utils/platformUtil.d.ts +2 -0
  416. package/lib/tntd-select/rc-select/utils/platformUtil.d.ts.map +1 -0
  417. package/lib/tntd-select/rc-select/utils/platformUtil.js +9 -0
  418. package/lib/tntd-select/rc-select/utils/platformUtil.js.map +1 -0
  419. package/lib/tntd-select/rc-select/utils/valueUtil.d.ts +24 -0
  420. package/lib/tntd-select/rc-select/utils/valueUtil.d.ts.map +1 -0
  421. package/lib/tntd-select/rc-select/utils/valueUtil.js +109 -0
  422. package/lib/tntd-select/rc-select/utils/valueUtil.js.map +1 -0
  423. package/lib/tntd-select/rc-select/utils/warningPropsUtil.d.ts +5 -0
  424. package/lib/tntd-select/rc-select/utils/warningPropsUtil.d.ts.map +1 -0
  425. package/lib/tntd-select/rc-select/utils/warningPropsUtil.js +130 -0
  426. package/lib/tntd-select/rc-select/utils/warningPropsUtil.js.map +1 -0
  427. package/package.json +1 -1
@@ -0,0 +1,459 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.isMultiple = void 0;
41
+ const classnames_1 = __importDefault(require("classnames"));
42
+ const useLayoutEffect_1 = __importDefault(require("rc-util/lib/hooks/useLayoutEffect"));
43
+ const useMergedState_1 = __importDefault(require("rc-util/lib/hooks/useMergedState"));
44
+ const isMobile_1 = __importDefault(require("rc-util/lib/isMobile"));
45
+ const KeyCode_1 = __importDefault(require("rc-util/lib/KeyCode"));
46
+ const ref_1 = require("rc-util/lib/ref");
47
+ const React = __importStar(require("react"));
48
+ const useAllowClear_1 = require("./hooks/useAllowClear");
49
+ const useBaseProps_1 = require("./hooks/useBaseProps");
50
+ const useDelayReset_1 = __importDefault(require("./hooks/useDelayReset"));
51
+ const useLock_1 = __importDefault(require("./hooks/useLock"));
52
+ const useSelectTriggerControl_1 = __importDefault(require("./hooks/useSelectTriggerControl"));
53
+ const Selector_1 = __importDefault(require("./Selector"));
54
+ const SelectTrigger_1 = __importDefault(require("./SelectTrigger"));
55
+ const TransBtn_1 = __importDefault(require("./TransBtn"));
56
+ const valueUtil_1 = require("./utils/valueUtil");
57
+ const DEFAULT_OMIT_PROPS = [
58
+ 'value',
59
+ 'onChange',
60
+ 'removeIcon',
61
+ 'placeholder',
62
+ 'autoFocus',
63
+ 'maxTagCount',
64
+ 'maxTagTextLength',
65
+ 'maxTagPlaceholder',
66
+ 'choiceTransitionName',
67
+ 'onInputKeyDown',
68
+ 'onPopupScroll',
69
+ 'tabIndex',
70
+ ];
71
+ function isMultiple(mode) {
72
+ return mode === 'tags' || mode === 'multiple';
73
+ }
74
+ exports.isMultiple = isMultiple;
75
+ const BaseSelect = React.forwardRef((props, ref) => {
76
+ var _a;
77
+ const { id, prefixCls, className, showSearch, tagRender, direction, omitDomProps,
78
+ // Value
79
+ displayValues, onDisplayValuesChange, emptyOptions, notFoundContent = 'Not Found', onClear,
80
+ // Mode
81
+ mode,
82
+ // Status
83
+ disabled, loading,
84
+ // Customize Input
85
+ getInputElement, getRawInputElement,
86
+ // Open
87
+ open, defaultOpen, onDropdownVisibleChange,
88
+ // Active
89
+ activeValue, onActiveValueChange, activeDescendantId,
90
+ // Search
91
+ searchValue, autoClearSearchValue, onSearch, onSearchSplit, tokenSeparators,
92
+ // Icons
93
+ allowClear, suffixIcon, clearIcon,
94
+ // Dropdown
95
+ OptionList, animation, transitionName, dropdownStyle, dropdownClassName, dropdownMatchSelectWidth, dropdownRender, dropdownAlign, placement, builtinPlacements, getPopupContainer,
96
+ // Focus
97
+ showAction = [], onFocus, onBlur,
98
+ // Rest Events
99
+ onKeyUp, onKeyDown, onMouseDown } = props,
100
+ // Rest Props
101
+ restProps = __rest(props, ["id", "prefixCls", "className", "showSearch", "tagRender", "direction", "omitDomProps", "displayValues", "onDisplayValuesChange", "emptyOptions", "notFoundContent", "onClear", "mode", "disabled", "loading", "getInputElement", "getRawInputElement", "open", "defaultOpen", "onDropdownVisibleChange", "activeValue", "onActiveValueChange", "activeDescendantId", "searchValue", "autoClearSearchValue", "onSearch", "onSearchSplit", "tokenSeparators", "allowClear", "suffixIcon", "clearIcon", "OptionList", "animation", "transitionName", "dropdownStyle", "dropdownClassName", "dropdownMatchSelectWidth", "dropdownRender", "dropdownAlign", "placement", "builtinPlacements", "getPopupContainer", "showAction", "onFocus", "onBlur", "onKeyUp", "onKeyDown", "onMouseDown"]);
102
+ // ============================== MISC ==============================
103
+ const multiple = isMultiple(mode);
104
+ const mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';
105
+ const domProps = Object.assign({}, restProps);
106
+ DEFAULT_OMIT_PROPS.forEach((propName) => {
107
+ delete domProps[propName];
108
+ });
109
+ omitDomProps === null || omitDomProps === void 0 ? void 0 : omitDomProps.forEach((propName) => {
110
+ delete domProps[propName];
111
+ });
112
+ // ============================= Mobile =============================
113
+ const [mobile, setMobile] = React.useState(false);
114
+ React.useEffect(() => {
115
+ // Only update on the client side
116
+ setMobile((0, isMobile_1.default)());
117
+ }, []);
118
+ // ============================== Refs ==============================
119
+ const containerRef = React.useRef(null);
120
+ const selectorDomRef = React.useRef(null);
121
+ const triggerRef = React.useRef(null);
122
+ const selectorRef = React.useRef(null);
123
+ const listRef = React.useRef(null);
124
+ const blurRef = React.useRef(false);
125
+ /** Used for component focused management */
126
+ const [mockFocused, setMockFocused, cancelSetMockFocused] = (0, useDelayReset_1.default)();
127
+ // =========================== Imperative ===========================
128
+ React.useImperativeHandle(ref, () => {
129
+ var _a, _b;
130
+ return ({
131
+ focus: (_a = selectorRef.current) === null || _a === void 0 ? void 0 : _a.focus,
132
+ blur: (_b = selectorRef.current) === null || _b === void 0 ? void 0 : _b.blur,
133
+ scrollTo: (arg) => { var _a; return (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(arg); },
134
+ });
135
+ });
136
+ // ========================== Search Value ==========================
137
+ const mergedSearchValue = React.useMemo(() => {
138
+ var _a;
139
+ if (mode !== 'combobox') {
140
+ return searchValue;
141
+ }
142
+ const val = (_a = displayValues[0]) === null || _a === void 0 ? void 0 : _a.value;
143
+ return typeof val === 'string' || typeof val === 'number' ? String(val) : '';
144
+ }, [searchValue, mode, displayValues]);
145
+ // ========================== Custom Input ==========================
146
+ // Only works in `combobox`
147
+ const customizeInputElement = (mode === 'combobox' && typeof getInputElement === 'function' && getInputElement()) || null;
148
+ // Used for customize replacement for `rc-cascader`
149
+ const customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();
150
+ const customizeRawInputRef = (0, ref_1.useComposeRef)(selectorDomRef, (_a = customizeRawInputElement === null || customizeRawInputElement === void 0 ? void 0 : customizeRawInputElement.props) === null || _a === void 0 ? void 0 : _a.ref);
151
+ // ============================== Open ==============================
152
+ // SSR not support Portal which means we need delay `open` for the first time render
153
+ const [rendered, setRendered] = React.useState(false);
154
+ (0, useLayoutEffect_1.default)(() => {
155
+ setRendered(true);
156
+ }, []);
157
+ const [innerOpen, setInnerOpen] = (0, useMergedState_1.default)(false, {
158
+ defaultValue: defaultOpen,
159
+ value: open,
160
+ });
161
+ let mergedOpen = rendered ? innerOpen : false;
162
+ // Not trigger `open` in `combobox` when `notFoundContent` is empty
163
+ const emptyListContent = !notFoundContent && emptyOptions;
164
+ if (disabled || (emptyListContent && mergedOpen && mode === 'combobox')) {
165
+ mergedOpen = false;
166
+ }
167
+ const triggerOpen = emptyListContent ? false : mergedOpen;
168
+ const onToggleOpen = React.useCallback((newOpen) => {
169
+ const nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;
170
+ if (!disabled) {
171
+ setInnerOpen(nextOpen);
172
+ if (mergedOpen !== nextOpen) {
173
+ onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 ? void 0 : onDropdownVisibleChange(nextOpen);
174
+ }
175
+ }
176
+ }, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]);
177
+ // ============================= Search =============================
178
+ const tokenWithEnter = React.useMemo(() => (tokenSeparators || []).some((tokenSeparator) => ['\n', '\r\n'].includes(tokenSeparator)), [tokenSeparators]);
179
+ const onInternalSearch = (searchText, fromTyping, isCompositing) => {
180
+ let ret = true;
181
+ let newSearchText = searchText;
182
+ onActiveValueChange === null || onActiveValueChange === void 0 ? void 0 : onActiveValueChange(null);
183
+ // Check if match the `tokenSeparators`
184
+ const patchLabels = isCompositing
185
+ ? null
186
+ : (0, valueUtil_1.getSeparatedContent)(searchText, tokenSeparators);
187
+ // Ignore combobox since it's not split-able
188
+ if (mode !== 'combobox' && patchLabels) {
189
+ newSearchText = '';
190
+ onSearchSplit === null || onSearchSplit === void 0 ? void 0 : onSearchSplit(patchLabels);
191
+ // Should close when paste finish
192
+ onToggleOpen(false);
193
+ // Tell Selector that break next actions
194
+ ret = false;
195
+ }
196
+ if (onSearch && mergedSearchValue !== newSearchText) {
197
+ onSearch(newSearchText, {
198
+ source: fromTyping ? 'typing' : 'effect',
199
+ });
200
+ }
201
+ return ret;
202
+ };
203
+ // Only triggered when menu is closed & mode is tags
204
+ // If menu is open, OptionList will take charge
205
+ // If mode isn't tags, press enter is not meaningful when you can't see any option
206
+ const onInternalSearchSubmit = (searchText) => {
207
+ // prevent empty tags from appearing when you click the Enter button
208
+ if (!searchText || !searchText.trim()) {
209
+ return;
210
+ }
211
+ onSearch(searchText, { source: 'submit' });
212
+ };
213
+ // Close will clean up single mode search text
214
+ React.useEffect(() => {
215
+ if (!mergedOpen && !multiple && mode !== 'combobox') {
216
+ onInternalSearch('', false, false);
217
+ }
218
+ }, [mergedOpen]);
219
+ // ============================ Disabled ============================
220
+ // Close dropdown & remove focus state when disabled change
221
+ React.useEffect(() => {
222
+ if (innerOpen && disabled) {
223
+ setInnerOpen(false);
224
+ }
225
+ // After onBlur is triggered, the focused does not need to be reset
226
+ if (disabled && !blurRef.current) {
227
+ setMockFocused(false);
228
+ }
229
+ }, [disabled]);
230
+ // ============================ Keyboard ============================
231
+ /**
232
+ * We record input value here to check if can press to clean up by backspace
233
+ * - null: Key is not down, this is reset by key up
234
+ * - true: Search text is empty when first time backspace down
235
+ * - false: Search text is not empty when first time backspace down
236
+ */
237
+ const [getClearLock, setClearLock] = (0, useLock_1.default)();
238
+ // KeyDown
239
+ const onInternalKeyDown = (event, ...rest) => {
240
+ const clearLock = getClearLock();
241
+ const { which } = event;
242
+ if (which === KeyCode_1.default.ENTER) {
243
+ // Do not submit form when type in the input
244
+ if (mode !== 'combobox') {
245
+ event.preventDefault();
246
+ }
247
+ // We only manage open state here, close logic should handle by list component
248
+ if (!mergedOpen) {
249
+ onToggleOpen(true);
250
+ }
251
+ }
252
+ setClearLock(!!mergedSearchValue);
253
+ // Remove value by `backspace`
254
+ if (which === KeyCode_1.default.BACKSPACE &&
255
+ !clearLock &&
256
+ multiple &&
257
+ !mergedSearchValue &&
258
+ displayValues.length) {
259
+ const cloneDisplayValues = [...displayValues];
260
+ let removedDisplayValue = null;
261
+ for (let i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {
262
+ const current = cloneDisplayValues[i];
263
+ if (!current.disabled) {
264
+ cloneDisplayValues.splice(i, 1);
265
+ removedDisplayValue = current;
266
+ break;
267
+ }
268
+ }
269
+ if (removedDisplayValue) {
270
+ onDisplayValuesChange(cloneDisplayValues, {
271
+ type: 'remove',
272
+ values: [removedDisplayValue],
273
+ });
274
+ }
275
+ }
276
+ if (mergedOpen && listRef.current) {
277
+ listRef.current.onKeyDown(event, ...rest);
278
+ }
279
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event, ...rest);
280
+ };
281
+ // KeyUp
282
+ const onInternalKeyUp = (event, ...rest) => {
283
+ if (mergedOpen && listRef.current) {
284
+ listRef.current.onKeyUp(event, ...rest);
285
+ }
286
+ onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp(event, ...rest);
287
+ };
288
+ // ============================ Selector ============================
289
+ const onSelectorRemove = (val) => {
290
+ const newValues = displayValues.filter((i) => i !== val);
291
+ onDisplayValuesChange(newValues, {
292
+ type: 'remove',
293
+ values: [val],
294
+ });
295
+ };
296
+ // ========================== Focus / Blur ==========================
297
+ /** Record real focus status */
298
+ const focusRef = React.useRef(false);
299
+ const onContainerFocus = (...args) => {
300
+ setMockFocused(true);
301
+ if (!disabled) {
302
+ if (onFocus && !focusRef.current) {
303
+ onFocus(...args);
304
+ }
305
+ // `showAction` should handle `focus` if set
306
+ if (showAction.includes('focus')) {
307
+ onToggleOpen(true);
308
+ }
309
+ }
310
+ focusRef.current = true;
311
+ };
312
+ const onContainerBlur = (...args) => {
313
+ blurRef.current = true;
314
+ setMockFocused(false, () => {
315
+ focusRef.current = false;
316
+ blurRef.current = false;
317
+ onToggleOpen(false);
318
+ });
319
+ if (disabled) {
320
+ return;
321
+ }
322
+ if (mergedSearchValue) {
323
+ // `tags` mode should move `searchValue` into values
324
+ if (mode === 'tags') {
325
+ onSearch(mergedSearchValue, { source: 'submit' });
326
+ }
327
+ else if (mode === 'multiple') {
328
+ // `multiple` mode only clean the search value but not trigger event
329
+ onSearch('', {
330
+ source: 'blur',
331
+ });
332
+ }
333
+ }
334
+ if (onBlur) {
335
+ onBlur(...args);
336
+ }
337
+ };
338
+ // Give focus back of Select
339
+ const activeTimeoutIds = [];
340
+ React.useEffect(() => () => {
341
+ activeTimeoutIds.forEach((timeoutId) => clearTimeout(timeoutId));
342
+ activeTimeoutIds.splice(0, activeTimeoutIds.length);
343
+ }, []);
344
+ const onInternalMouseDown = (event, ...restArgs) => {
345
+ var _a;
346
+ const { target } = event;
347
+ const popupElement = (_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.getPopupElement();
348
+ // We should give focus back to selector if clicked item is not focusable
349
+ if (popupElement && popupElement.contains(target)) {
350
+ const timeoutId = setTimeout(() => {
351
+ var _a;
352
+ const index = activeTimeoutIds.indexOf(timeoutId);
353
+ if (index !== -1) {
354
+ activeTimeoutIds.splice(index, 1);
355
+ }
356
+ cancelSetMockFocused();
357
+ if (!mobile && !popupElement.contains(document.activeElement)) {
358
+ (_a = selectorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
359
+ }
360
+ });
361
+ activeTimeoutIds.push(timeoutId);
362
+ }
363
+ onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(event, ...restArgs);
364
+ };
365
+ // ============================ Dropdown ============================
366
+ const [, forceUpdate] = React.useState({});
367
+ // We need force update here since popup dom is render async
368
+ function onPopupMouseEnter() {
369
+ forceUpdate({});
370
+ }
371
+ // Used for raw custom input trigger
372
+ let onTriggerVisibleChange;
373
+ if (customizeRawInputElement) {
374
+ onTriggerVisibleChange = (newOpen) => {
375
+ onToggleOpen(newOpen);
376
+ };
377
+ }
378
+ // Close when click on non-select element
379
+ (0, useSelectTriggerControl_1.default)(() => { var _a; return [containerRef.current, (_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.getPopupElement()]; }, triggerOpen, onToggleOpen, !!customizeRawInputElement);
380
+ // ============================ Context =============================
381
+ const baseSelectContext = React.useMemo(() => (Object.assign(Object.assign({}, props), { notFoundContent, open: mergedOpen, triggerOpen,
382
+ id, showSearch: mergedShowSearch, multiple, toggleOpen: onToggleOpen })), [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]);
383
+ // ==================================================================
384
+ // == Render ==
385
+ // ==================================================================
386
+ // ============================= Arrow ==============================
387
+ const showSuffixIcon = !!suffixIcon || loading;
388
+ let arrowNode;
389
+ if (showSuffixIcon) {
390
+ arrowNode = (React.createElement(TransBtn_1.default, { className: (0, classnames_1.default)(`${prefixCls}-arrow`, {
391
+ [`${prefixCls}-arrow-loading`]: loading,
392
+ }), customizeIcon: suffixIcon, customizeIconProps: {
393
+ loading,
394
+ searchValue: mergedSearchValue,
395
+ open: mergedOpen,
396
+ focused: mockFocused,
397
+ showSearch: mergedShowSearch,
398
+ } }));
399
+ }
400
+ // ============================= Clear ==============================
401
+ const onClearMouseDown = () => {
402
+ var _a;
403
+ onClear === null || onClear === void 0 ? void 0 : onClear();
404
+ (_a = selectorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
405
+ onDisplayValuesChange([], {
406
+ type: 'clear',
407
+ values: displayValues,
408
+ });
409
+ onInternalSearch('', false, false);
410
+ };
411
+ const { allowClear: mergedAllowClear, clearIcon: clearNode } = (0, useAllowClear_1.useAllowClear)(prefixCls, onClearMouseDown, displayValues, allowClear, clearIcon, disabled, mergedSearchValue, mode);
412
+ // =========================== OptionList ===========================
413
+ const optionList = React.createElement(OptionList, { ref: listRef });
414
+ // ============================= Select =============================
415
+ const mergedClassName = (0, classnames_1.default)(prefixCls, className, {
416
+ [`${prefixCls}-focused`]: mockFocused,
417
+ [`${prefixCls}-multiple`]: multiple,
418
+ [`${prefixCls}-single`]: !multiple,
419
+ [`${prefixCls}-allow-clear`]: allowClear,
420
+ [`${prefixCls}-show-arrow`]: showSuffixIcon,
421
+ [`${prefixCls}-disabled`]: disabled,
422
+ [`${prefixCls}-loading`]: loading,
423
+ [`${prefixCls}-open`]: mergedOpen,
424
+ [`${prefixCls}-customize-input`]: customizeInputElement,
425
+ [`${prefixCls}-show-search`]: mergedShowSearch,
426
+ });
427
+ // >>> Selector
428
+ const selectorNode = (React.createElement(SelectTrigger_1.default, { ref: triggerRef, disabled: disabled, prefixCls: prefixCls, visible: triggerOpen, popupElement: optionList, animation: animation, transitionName: transitionName, dropdownStyle: dropdownStyle, dropdownClassName: dropdownClassName, direction: direction, dropdownMatchSelectWidth: dropdownMatchSelectWidth, dropdownRender: dropdownRender, dropdownAlign: dropdownAlign, placement: placement, builtinPlacements: builtinPlacements, getPopupContainer: getPopupContainer, empty: emptyOptions, getTriggerDOMNode: () => selectorDomRef.current, onPopupVisibleChange: onTriggerVisibleChange, onPopupMouseEnter: onPopupMouseEnter }, customizeRawInputElement ? (React.cloneElement(customizeRawInputElement, {
429
+ ref: customizeRawInputRef,
430
+ })) : (React.createElement(Selector_1.default, Object.assign({}, props, { domRef: selectorDomRef, prefixCls: prefixCls, inputElement: customizeInputElement, ref: selectorRef, id: id, showSearch: mergedShowSearch, autoClearSearchValue: autoClearSearchValue, mode: mode, activeDescendantId: activeDescendantId, tagRender: tagRender, values: displayValues, open: mergedOpen, onToggleOpen: onToggleOpen, activeValue: activeValue, searchValue: mergedSearchValue, onSearch: onInternalSearch, onSearchSubmit: onInternalSearchSubmit, onRemove: onSelectorRemove, tokenWithEnter: tokenWithEnter })))));
431
+ // >>> Render
432
+ let renderNode;
433
+ // Render raw
434
+ if (customizeRawInputElement) {
435
+ renderNode = selectorNode;
436
+ }
437
+ else {
438
+ renderNode = (React.createElement("div", Object.assign({ className: mergedClassName }, domProps, { ref: containerRef, onMouseDown: onInternalMouseDown, onKeyDown: onInternalKeyDown, onKeyUp: onInternalKeyUp, onFocus: onContainerFocus, onBlur: onContainerBlur }),
439
+ mockFocused && !mergedOpen && (React.createElement("span", { style: {
440
+ width: 0,
441
+ height: 0,
442
+ position: 'absolute',
443
+ overflow: 'hidden',
444
+ opacity: 0,
445
+ }, "aria-live": "polite" }, `${displayValues
446
+ .map(({ label, value }) => ['number', 'string'].includes(typeof label) ? label : value)
447
+ .join(', ')}`)),
448
+ selectorNode,
449
+ arrowNode,
450
+ mergedAllowClear && clearNode));
451
+ }
452
+ return (React.createElement(useBaseProps_1.BaseSelectContext.Provider, { value: baseSelectContext }, renderNode));
453
+ });
454
+ // Set display name for dev
455
+ if (process.env.NODE_ENV !== 'production') {
456
+ BaseSelect.displayName = 'BaseSelect';
457
+ }
458
+ exports.default = BaseSelect;
459
+ //# sourceMappingURL=BaseSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseSelect.js","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/BaseSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AlignType, BuildInPlacements } from '@rc-component/trigger/lib/interface';\nimport classNames from 'classnames';\nimport useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';\nimport useMergedState from 'rc-util/lib/hooks/useMergedState';\nimport isMobile from 'rc-util/lib/isMobile';\nimport KeyCode from 'rc-util/lib/KeyCode';\nimport { useComposeRef } from 'rc-util/lib/ref';\nimport type { ScrollConfig, ScrollTo } from 'rc-virtual-list/lib/List';\nimport * as React from 'react';\nimport { useAllowClear } from './hooks/useAllowClear';\nimport { BaseSelectContext } from './hooks/useBaseProps';\nimport useDelayReset from './hooks/useDelayReset';\nimport useLock from './hooks/useLock';\nimport useSelectTriggerControl from './hooks/useSelectTriggerControl';\nimport type {\n DisplayInfoType,\n DisplayValueType,\n Mode,\n Placement,\n RawValueType,\n RenderDOMFunc,\n RenderNode,\n} from './interface';\nimport type { RefSelectorProps } from './Selector';\nimport Selector from './Selector';\nimport type { RefTriggerProps } from './SelectTrigger';\nimport SelectTrigger from './SelectTrigger';\nimport TransBtn from './TransBtn';\nimport { getSeparatedContent } from './utils/valueUtil';\n\nexport type {\n DisplayInfoType,\n DisplayValueType,\n Mode,\n Placement,\n RenderDOMFunc,\n RenderNode,\n RawValueType,\n};\n\nconst DEFAULT_OMIT_PROPS = [\n 'value',\n 'onChange',\n 'removeIcon',\n 'placeholder',\n 'autoFocus',\n 'maxTagCount',\n 'maxTagTextLength',\n 'maxTagPlaceholder',\n 'choiceTransitionName',\n 'onInputKeyDown',\n 'onPopupScroll',\n 'tabIndex',\n] as const;\nexport interface RefOptionListProps {\n onKeyDown: React.KeyboardEventHandler;\n onKeyUp: React.KeyboardEventHandler;\n scrollTo?: (args: number | ScrollConfig) => void;\n}\n\nexport type CustomTagProps = {\n label: React.ReactNode;\n value: any;\n disabled: boolean;\n onClose: (event?: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n closable: boolean;\n};\n\nexport interface BaseSelectRef {\n focus: () => void;\n blur: () => void;\n scrollTo: ScrollTo;\n}\n\nexport interface BaseSelectPrivateProps {\n // >>> MISC\n id: string;\n prefixCls: string;\n omitDomProps?: string[];\n\n // >>> Value\n displayValues: DisplayValueType[];\n onDisplayValuesChange: (\n values: DisplayValueType[],\n info: {\n type: DisplayInfoType;\n values: DisplayValueType[];\n },\n ) => void;\n\n // >>> Active\n /** Current dropdown list active item string value */\n activeValue?: string;\n /** Link search input with target element */\n activeDescendantId?: string;\n onActiveValueChange?: (value: string | null) => void;\n\n // >>> Search\n searchValue: string;\n autoClearSearchValue?: boolean;\n /** Trigger onSearch, return false to prevent trigger open event */\n onSearch: (\n searchValue: string,\n info: {\n source:\n | 'typing' //User typing\n | 'effect' // Code logic trigger\n | 'submit' // tag mode only\n | 'blur'; // Not trigger event\n },\n ) => void;\n /** Trigger when search text match the `tokenSeparators`. Will provide split content */\n onSearchSplit?: (words: string[]) => void;\n\n // >>> Dropdown\n OptionList: React.ForwardRefExoticComponent<\n React.PropsWithoutRef<any> & React.RefAttributes<RefOptionListProps>\n >;\n /** Tell if provided `options` is empty */\n emptyOptions: boolean;\n}\n\nexport type BaseSelectPropsWithoutPrivate = Omit<BaseSelectProps, keyof BaseSelectPrivateProps>;\n\nexport interface BaseSelectProps extends BaseSelectPrivateProps, React.AriaAttributes {\n className?: string;\n style?: React.CSSProperties;\n title?: string;\n showSearch?: boolean;\n tagRender?: (props: CustomTagProps) => React.ReactElement;\n direction?: 'ltr' | 'rtl';\n maxLength?: number;\n\n // MISC\n tabIndex?: number;\n autoFocus?: boolean;\n notFoundContent?: React.ReactNode;\n placeholder?: React.ReactNode;\n onClear?: () => void;\n\n choiceTransitionName?: string;\n\n // >>> Mode\n mode?: Mode;\n\n // >>> Status\n disabled?: boolean;\n loading?: boolean;\n\n // >>> Open\n open?: boolean;\n defaultOpen?: boolean;\n onDropdownVisibleChange?: (open: boolean) => void;\n\n // >>> Customize Input\n /** @private Internal usage. Do not use in your production. */\n getInputElement?: () => JSX.Element;\n /** @private Internal usage. Do not use in your production. */\n getRawInputElement?: () => JSX.Element;\n\n // >>> Selector\n maxTagTextLength?: number;\n maxTagCount?: number | 'responsive';\n maxTagPlaceholder?: React.ReactNode | ((omittedValues: DisplayValueType[]) => React.ReactNode);\n\n // >>> Search\n tokenSeparators?: string[];\n\n // >>> Icons\n allowClear?: boolean | { clearIcon?: RenderNode };\n suffixIcon?: RenderNode;\n /**\n * Clear all icon\n * @deprecated Please use `allowClear` instead\n **/\n clearIcon?: RenderNode;\n /** Selector remove icon */\n removeIcon?: RenderNode;\n\n // >>> Dropdown\n animation?: string;\n transitionName?: string;\n dropdownStyle?: React.CSSProperties;\n dropdownClassName?: string;\n dropdownMatchSelectWidth?: boolean | number;\n dropdownRender?: (menu: React.ReactElement) => React.ReactElement;\n dropdownAlign?: AlignType;\n placement?: Placement;\n builtinPlacements?: BuildInPlacements;\n getPopupContainer?: RenderDOMFunc;\n\n // >>> Focus\n showAction?: ('focus' | 'click')[];\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n\n // >>> Rest Events\n onKeyUp?: React.KeyboardEventHandler<HTMLDivElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;\n onMouseDown?: React.MouseEventHandler<HTMLDivElement>;\n onPopupScroll?: React.UIEventHandler<HTMLDivElement>;\n onInputKeyDown?: React.KeyboardEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;\n onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n}\n\nexport function isMultiple(mode: Mode) {\n return mode === 'tags' || mode === 'multiple';\n}\n\nconst BaseSelect = React.forwardRef((props: BaseSelectProps, ref: React.Ref<BaseSelectRef>) => {\n const {\n id,\n prefixCls,\n className,\n showSearch,\n tagRender,\n direction,\n omitDomProps,\n\n // Value\n displayValues,\n onDisplayValuesChange,\n emptyOptions,\n notFoundContent = 'Not Found',\n onClear,\n\n // Mode\n mode,\n\n // Status\n disabled,\n loading,\n\n // Customize Input\n getInputElement,\n getRawInputElement,\n\n // Open\n open,\n defaultOpen,\n onDropdownVisibleChange,\n\n // Active\n activeValue,\n onActiveValueChange,\n activeDescendantId,\n\n // Search\n searchValue,\n autoClearSearchValue,\n onSearch,\n onSearchSplit,\n tokenSeparators,\n\n // Icons\n allowClear,\n suffixIcon,\n clearIcon,\n\n // Dropdown\n OptionList,\n animation,\n transitionName,\n dropdownStyle,\n dropdownClassName,\n dropdownMatchSelectWidth,\n dropdownRender,\n dropdownAlign,\n placement,\n builtinPlacements,\n getPopupContainer,\n\n // Focus\n showAction = [],\n onFocus,\n onBlur,\n\n // Rest Events\n onKeyUp,\n onKeyDown,\n onMouseDown,\n\n // Rest Props\n ...restProps\n } = props;\n\n // ============================== MISC ==============================\n const multiple = isMultiple(mode);\n const mergedShowSearch =\n (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';\n\n const domProps = {\n ...restProps,\n } as Omit<keyof typeof restProps, (typeof DEFAULT_OMIT_PROPS)[number]>;\n\n DEFAULT_OMIT_PROPS.forEach((propName) => {\n delete domProps[propName];\n });\n\n omitDomProps?.forEach((propName) => {\n delete domProps[propName];\n });\n\n // ============================= Mobile =============================\n const [mobile, setMobile] = React.useState(false);\n React.useEffect(() => {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ============================== Refs ==============================\n const containerRef = React.useRef<HTMLDivElement>(null);\n const selectorDomRef = React.useRef<HTMLDivElement>(null);\n const triggerRef = React.useRef<RefTriggerProps>(null);\n const selectorRef = React.useRef<RefSelectorProps>(null);\n const listRef = React.useRef<RefOptionListProps>(null);\n const blurRef = React.useRef<boolean>(false);\n\n /** Used for component focused management */\n const [mockFocused, setMockFocused, cancelSetMockFocused] = useDelayReset();\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, () => ({\n focus: selectorRef.current?.focus,\n blur: selectorRef.current?.blur,\n scrollTo: (arg) => listRef.current?.scrollTo(arg),\n }));\n\n // ========================== Search Value ==========================\n const mergedSearchValue = React.useMemo(() => {\n if (mode !== 'combobox') {\n return searchValue;\n }\n\n const val = displayValues[0]?.value;\n\n return typeof val === 'string' || typeof val === 'number' ? String(val) : '';\n }, [searchValue, mode, displayValues]);\n\n // ========================== Custom Input ==========================\n // Only works in `combobox`\n const customizeInputElement: React.ReactElement =\n (mode === 'combobox' && typeof getInputElement === 'function' && getInputElement()) || null;\n\n // Used for customize replacement for `rc-cascader`\n const customizeRawInputElement: React.ReactElement =\n typeof getRawInputElement === 'function' && getRawInputElement();\n\n const customizeRawInputRef = useComposeRef<HTMLElement>(\n selectorDomRef,\n customizeRawInputElement?.props?.ref,\n );\n\n // ============================== Open ==============================\n // SSR not support Portal which means we need delay `open` for the first time render\n const [rendered, setRendered] = React.useState(false);\n useLayoutEffect(() => {\n setRendered(true);\n }, []);\n\n const [innerOpen, setInnerOpen] = useMergedState<boolean>(false, {\n defaultValue: defaultOpen,\n value: open,\n });\n\n let mergedOpen = rendered ? innerOpen : false;\n\n // Not trigger `open` in `combobox` when `notFoundContent` is empty\n const emptyListContent = !notFoundContent && emptyOptions;\n if (disabled || (emptyListContent && mergedOpen && mode === 'combobox')) {\n mergedOpen = false;\n }\n const triggerOpen = emptyListContent ? false : mergedOpen;\n\n const onToggleOpen = React.useCallback(\n (newOpen?: boolean) => {\n const nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n\n if (!disabled) {\n setInnerOpen(nextOpen);\n\n if (mergedOpen !== nextOpen) {\n onDropdownVisibleChange?.(nextOpen);\n }\n }\n },\n [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange],\n );\n\n // ============================= Search =============================\n const tokenWithEnter = React.useMemo(\n () => (tokenSeparators || []).some((tokenSeparator) => ['\\n', '\\r\\n'].includes(tokenSeparator)),\n [tokenSeparators],\n );\n\n const onInternalSearch = (searchText: string, fromTyping: boolean, isCompositing: boolean) => {\n let ret = true;\n let newSearchText = searchText;\n onActiveValueChange?.(null);\n\n // Check if match the `tokenSeparators`\n const patchLabels: string[] = isCompositing\n ? null\n : getSeparatedContent(searchText, tokenSeparators);\n\n // Ignore combobox since it's not split-able\n if (mode !== 'combobox' && patchLabels) {\n newSearchText = '';\n\n onSearchSplit?.(patchLabels);\n\n // Should close when paste finish\n onToggleOpen(false);\n\n // Tell Selector that break next actions\n ret = false;\n }\n\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText, {\n source: fromTyping ? 'typing' : 'effect',\n });\n }\n\n return ret;\n };\n\n // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n const onInternalSearchSubmit = (searchText: string) => {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n onSearch(searchText, { source: 'submit' });\n };\n\n // Close will clean up single mode search text\n React.useEffect(() => {\n if (!mergedOpen && !multiple && mode !== 'combobox') {\n onInternalSearch('', false, false);\n }\n }, [mergedOpen]);\n\n // ============================ Disabled ============================\n // Close dropdown & remove focus state when disabled change\n React.useEffect(() => {\n if (innerOpen && disabled) {\n setInnerOpen(false);\n }\n\n // After onBlur is triggered, the focused does not need to be reset\n if (disabled && !blurRef.current) {\n setMockFocused(false);\n }\n }, [disabled]);\n\n // ============================ Keyboard ============================\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n const [getClearLock, setClearLock] = useLock();\n\n // KeyDown\n const onInternalKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (event, ...rest) => {\n const clearLock = getClearLock();\n const { which } = event;\n\n if (which === KeyCode.ENTER) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n }\n\n // We only manage open state here, close logic should handle by list component\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n\n setClearLock(!!mergedSearchValue);\n\n // Remove value by `backspace`\n if (\n which === KeyCode.BACKSPACE &&\n !clearLock &&\n multiple &&\n !mergedSearchValue &&\n displayValues.length\n ) {\n const cloneDisplayValues = [...displayValues];\n let removedDisplayValue = null;\n\n for (let i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {\n const current = cloneDisplayValues[i];\n\n if (!current.disabled) {\n cloneDisplayValues.splice(i, 1);\n removedDisplayValue = current;\n break;\n }\n }\n\n if (removedDisplayValue) {\n onDisplayValuesChange(cloneDisplayValues, {\n type: 'remove',\n values: [removedDisplayValue],\n });\n }\n }\n\n if (mergedOpen && listRef.current) {\n listRef.current.onKeyDown(event, ...rest);\n }\n\n onKeyDown?.(event, ...rest);\n };\n\n // KeyUp\n const onInternalKeyUp: React.KeyboardEventHandler<HTMLDivElement> = (event, ...rest) => {\n if (mergedOpen && listRef.current) {\n listRef.current.onKeyUp(event, ...rest);\n }\n\n onKeyUp?.(event, ...rest);\n };\n\n // ============================ Selector ============================\n const onSelectorRemove = (val: DisplayValueType) => {\n const newValues = displayValues.filter((i) => i !== val);\n\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [val],\n });\n };\n\n // ========================== Focus / Blur ==========================\n /** Record real focus status */\n const focusRef = React.useRef<boolean>(false);\n\n const onContainerFocus: React.FocusEventHandler<HTMLElement> = (...args) => {\n setMockFocused(true);\n\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus(...args);\n }\n\n // `showAction` should handle `focus` if set\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n\n focusRef.current = true;\n };\n\n const onContainerBlur: React.FocusEventHandler<HTMLElement> = (...args) => {\n blurRef.current = true;\n\n setMockFocused(false, () => {\n focusRef.current = false;\n blurRef.current = false;\n onToggleOpen(false);\n });\n\n if (disabled) {\n return;\n }\n\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n onSearch(mergedSearchValue, { source: 'submit' });\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n onSearch('', {\n source: 'blur',\n });\n }\n }\n\n if (onBlur) {\n onBlur(...args);\n }\n };\n\n // Give focus back of Select\n const activeTimeoutIds: any[] = [];\n React.useEffect(\n () => () => {\n activeTimeoutIds.forEach((timeoutId) => clearTimeout(timeoutId));\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n },\n [],\n );\n\n const onInternalMouseDown: React.MouseEventHandler<HTMLDivElement> = (event, ...restArgs) => {\n const { target } = event;\n const popupElement: HTMLDivElement = triggerRef.current?.getPopupElement();\n\n // We should give focus back to selector if clicked item is not focusable\n if (popupElement && popupElement.contains(target as HTMLElement)) {\n const timeoutId = setTimeout(() => {\n const index = activeTimeoutIds.indexOf(timeoutId);\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n\n cancelSetMockFocused();\n\n if (!mobile && !popupElement.contains(document.activeElement)) {\n selectorRef.current?.focus();\n }\n });\n\n activeTimeoutIds.push(timeoutId);\n }\n\n onMouseDown?.(event, ...restArgs);\n };\n\n // ============================ Dropdown ============================\n const [, forceUpdate] = React.useState({});\n // We need force update here since popup dom is render async\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n // Used for raw custom input trigger\n let onTriggerVisibleChange: null | ((newOpen: boolean) => void);\n if (customizeRawInputElement) {\n onTriggerVisibleChange = (newOpen: boolean) => {\n onToggleOpen(newOpen);\n };\n }\n\n // Close when click on non-select element\n useSelectTriggerControl(\n () => [containerRef.current, triggerRef.current?.getPopupElement()],\n triggerOpen,\n onToggleOpen,\n !!customizeRawInputElement,\n );\n\n // ============================ Context =============================\n const baseSelectContext = React.useMemo(\n () => ({\n ...props,\n notFoundContent,\n open: mergedOpen,\n triggerOpen,\n id,\n showSearch: mergedShowSearch,\n multiple,\n toggleOpen: onToggleOpen,\n }),\n [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen],\n );\n\n // ==================================================================\n // == Render ==\n // ==================================================================\n\n // ============================= Arrow ==============================\n const showSuffixIcon = !!suffixIcon || loading;\n let arrowNode: React.ReactNode;\n\n if (showSuffixIcon) {\n arrowNode = (\n <TransBtn\n className={classNames(`${prefixCls}-arrow`, {\n [`${prefixCls}-arrow-loading`]: loading,\n })}\n customizeIcon={suffixIcon}\n customizeIconProps={{\n loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch,\n }}\n />\n );\n }\n\n // ============================= Clear ==============================\n const onClearMouseDown: React.MouseEventHandler<HTMLSpanElement> = () => {\n onClear?.();\n\n selectorRef.current?.focus();\n\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues,\n });\n onInternalSearch('', false, false);\n };\n\n const { allowClear: mergedAllowClear, clearIcon: clearNode } = useAllowClear(\n prefixCls,\n onClearMouseDown,\n displayValues,\n allowClear,\n clearIcon,\n disabled,\n\n mergedSearchValue,\n mode,\n );\n\n // =========================== OptionList ===========================\n const optionList = <OptionList ref={listRef} />;\n\n // ============================= Select =============================\n const mergedClassName = classNames(prefixCls, className, {\n [`${prefixCls}-focused`]: mockFocused,\n [`${prefixCls}-multiple`]: multiple,\n [`${prefixCls}-single`]: !multiple,\n [`${prefixCls}-allow-clear`]: allowClear,\n [`${prefixCls}-show-arrow`]: showSuffixIcon,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-loading`]: loading,\n [`${prefixCls}-open`]: mergedOpen,\n [`${prefixCls}-customize-input`]: customizeInputElement,\n [`${prefixCls}-show-search`]: mergedShowSearch,\n });\n\n // >>> Selector\n const selectorNode = (\n <SelectTrigger\n ref={triggerRef}\n disabled={disabled}\n prefixCls={prefixCls}\n visible={triggerOpen}\n popupElement={optionList}\n animation={animation}\n transitionName={transitionName}\n dropdownStyle={dropdownStyle}\n dropdownClassName={dropdownClassName}\n direction={direction}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n dropdownRender={dropdownRender}\n dropdownAlign={dropdownAlign}\n placement={placement}\n builtinPlacements={builtinPlacements}\n getPopupContainer={getPopupContainer}\n empty={emptyOptions}\n getTriggerDOMNode={() => selectorDomRef.current}\n onPopupVisibleChange={onTriggerVisibleChange}\n onPopupMouseEnter={onPopupMouseEnter}\n >\n {customizeRawInputElement ? (\n React.cloneElement(customizeRawInputElement, {\n ref: customizeRawInputRef,\n })\n ) : (\n <Selector\n {...props}\n domRef={selectorDomRef}\n prefixCls={prefixCls}\n inputElement={customizeInputElement}\n ref={selectorRef}\n id={id}\n showSearch={mergedShowSearch}\n autoClearSearchValue={autoClearSearchValue}\n mode={mode}\n activeDescendantId={activeDescendantId}\n tagRender={tagRender}\n values={displayValues}\n open={mergedOpen}\n onToggleOpen={onToggleOpen}\n activeValue={activeValue}\n searchValue={mergedSearchValue}\n onSearch={onInternalSearch}\n onSearchSubmit={onInternalSearchSubmit}\n onRemove={onSelectorRemove}\n tokenWithEnter={tokenWithEnter}\n />\n )}\n </SelectTrigger>\n );\n\n // >>> Render\n let renderNode: React.ReactNode;\n\n // Render raw\n if (customizeRawInputElement) {\n renderNode = selectorNode;\n } else {\n renderNode = (\n <div\n className={mergedClassName}\n {...domProps}\n ref={containerRef}\n onMouseDown={onInternalMouseDown}\n onKeyDown={onInternalKeyDown}\n onKeyUp={onInternalKeyUp}\n onFocus={onContainerFocus}\n onBlur={onContainerBlur}\n >\n {mockFocused && !mergedOpen && (\n <span\n style={{\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: 'hidden',\n opacity: 0,\n }}\n aria-live=\"polite\"\n >\n {/* Merge into one string to make screen reader work as expect */}\n {`${displayValues\n .map(({ label, value }) =>\n ['number', 'string'].includes(typeof label) ? label : value,\n )\n .join(', ')}`}\n </span>\n )}\n {selectorNode}\n {arrowNode}\n {mergedAllowClear && clearNode}\n </div>\n );\n }\n\n return (\n <BaseSelectContext.Provider value={baseSelectContext}>{renderNode}</BaseSelectContext.Provider>\n );\n});\n\n// Set display name for dev\nif (process.env.NODE_ENV !== 'production') {\n BaseSelect.displayName = 'BaseSelect';\n}\n\nexport default BaseSelect;\n"]}
@@ -0,0 +1,13 @@
1
+ import type * as React from 'react';
2
+ import type { DefaultOptionType } from './Select';
3
+ export interface OptGroupProps extends Omit<DefaultOptionType, 'options'> {
4
+ children?: React.ReactNode;
5
+ }
6
+ export interface OptionGroupFC extends React.FC<OptGroupProps> {
7
+ /** Legacy for check if is a Option Group */
8
+ isSelectOptGroup: boolean;
9
+ }
10
+ /** This is a placeholder, not real render in dom */
11
+ declare const OptGroup: OptionGroupFC;
12
+ export default OptGroup;
13
+ //# sourceMappingURL=OptGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptGroup.d.ts","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/OptGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;IACvE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC;IAC5D,4CAA4C;IAC5C,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,oDAAoD;AACpD,QAAA,MAAM,QAAQ,EAAE,aAA0B,CAAC;AAG3C,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /** This is a placeholder, not real render in dom */
4
+ const OptGroup = () => null;
5
+ OptGroup.isSelectOptGroup = true;
6
+ exports.default = OptGroup;
7
+ //# sourceMappingURL=OptGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptGroup.js","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/OptGroup.tsx"],"names":[],"mappings":";;AAaA,oDAAoD;AACpD,MAAM,QAAQ,GAAkB,GAAG,EAAE,CAAC,IAAI,CAAC;AAC3C,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAEjC,kBAAe,QAAQ,CAAC","sourcesContent":["/* istanbul ignore file */\nimport type * as React from 'react';\nimport type { DefaultOptionType } from './Select';\n\nexport interface OptGroupProps extends Omit<DefaultOptionType, 'options'> {\n children?: React.ReactNode;\n}\n\nexport interface OptionGroupFC extends React.FC<OptGroupProps> {\n /** Legacy for check if is a Option Group */\n isSelectOptGroup: boolean;\n}\n\n/** This is a placeholder, not real render in dom */\nconst OptGroup: OptionGroupFC = () => null;\nOptGroup.isSelectOptGroup = true;\n\nexport default OptGroup;\n"]}
@@ -0,0 +1,15 @@
1
+ import type * as React from 'react';
2
+ import type { DefaultOptionType } from './Select';
3
+ export interface OptionProps extends Omit<DefaultOptionType, 'label'> {
4
+ children: React.ReactNode;
5
+ /** Save for customize data */
6
+ [prop: string]: any;
7
+ }
8
+ export interface OptionFC extends React.FC<OptionProps> {
9
+ /** Legacy for check if is a Option Group */
10
+ isSelectOption: boolean;
11
+ }
12
+ /** This is a placeholder, not real render in dom */
13
+ declare const Option: OptionFC;
14
+ export default Option;
15
+ //# sourceMappingURL=Option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/Option.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACnE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,8BAA8B;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;IACrD,4CAA4C;IAC5C,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,oDAAoD;AACpD,QAAA,MAAM,MAAM,EAAE,QAAqB,CAAC;AAGpC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /** This is a placeholder, not real render in dom */
4
+ const Option = () => null;
5
+ Option.isSelectOption = true;
6
+ exports.default = Option;
7
+ //# sourceMappingURL=Option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Option.js","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/Option.tsx"],"names":[],"mappings":";;AAgBA,oDAAoD;AACpD,MAAM,MAAM,GAAa,GAAG,EAAE,CAAC,IAAI,CAAC;AACpC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;AAE7B,kBAAe,MAAM,CAAC","sourcesContent":["/* istanbul ignore file */\nimport type * as React from 'react';\nimport type { DefaultOptionType } from './Select';\n\nexport interface OptionProps extends Omit<DefaultOptionType, 'label'> {\n children: React.ReactNode;\n\n /** Save for customize data */\n [prop: string]: any; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\n\nexport interface OptionFC extends React.FC<OptionProps> {\n /** Legacy for check if is a Option Group */\n isSelectOption: boolean;\n}\n\n/** This is a placeholder, not real render in dom */\nconst Option: OptionFC = () => null;\nOption.isSelectOption = true;\n\nexport default Option;\n"]}
@@ -0,0 +1,11 @@
1
+ import type { ScrollConfig } from 'rc-virtual-list/lib/List';
2
+ import * as React from 'react';
3
+ export declare type OptionListProps = Record<string, never>;
4
+ export interface RefOptionListProps {
5
+ onKeyDown: React.KeyboardEventHandler;
6
+ onKeyUp: React.KeyboardEventHandler;
7
+ scrollTo?: (args: number | ScrollConfig) => void;
8
+ }
9
+ declare const RefOptionList: React.ForwardRefExoticComponent<React.RefAttributes<RefOptionListProps>>;
10
+ export default RefOptionList;
11
+ //# sourceMappingURL=OptionList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionList.d.ts","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/OptionList.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAC;IACtC,OAAO,EAAE,KAAK,CAAC,oBAAoB,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,KAAK,IAAI,CAAC;CAClD;AAoXD,QAAA,MAAM,aAAa,0EAA+B,CAAC;AAGnD,eAAe,aAAa,CAAC"}