tntd 2.7.23 → 2.7.25

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 (380) hide show
  1. package/es/index.js +1 -0
  2. package/es/index.js.map +1 -1
  3. package/es/locale/en_US.js +21 -3
  4. package/es/locale/en_US.js.map +1 -1
  5. package/es/locale/zh_CN.js +4 -1
  6. package/es/locale/zh_CN.js.map +1 -1
  7. package/es/table/context.js.map +1 -1
  8. package/es/table/table.js +3 -2
  9. package/es/table/table.js.map +1 -1
  10. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +1 -1
  11. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  12. package/es/tntd-rc-select/_util/DisabledContext.js +8 -0
  13. package/es/tntd-rc-select/_util/DisabledContext.js.map +1 -0
  14. package/es/tntd-rc-select/_util/FormItemInputContext.js +3 -0
  15. package/es/tntd-rc-select/_util/FormItemInputContext.js.map +1 -0
  16. package/es/tntd-rc-select/_util/PurePanel.js +55 -0
  17. package/es/tntd-rc-select/_util/PurePanel.js.map +1 -0
  18. package/es/tntd-rc-select/_util/SizeContext.js +3 -0
  19. package/es/tntd-rc-select/_util/SizeContext.js.map +1 -0
  20. package/es/tntd-rc-select/_util/context.js +14 -0
  21. package/es/tntd-rc-select/_util/context.js.map +1 -0
  22. package/es/tntd-rc-select/_util/defaultRenderEmpty.js +20 -0
  23. package/es/tntd-rc-select/_util/defaultRenderEmpty.js.map +1 -0
  24. package/es/tntd-rc-select/_util/getIcons.js +52 -0
  25. package/es/tntd-rc-select/_util/getIcons.js.map +1 -0
  26. package/es/tntd-rc-select/_util/interface.js +5 -0
  27. package/es/tntd-rc-select/_util/interface.js.map +1 -0
  28. package/es/tntd-rc-select/_util/motion.js +38 -0
  29. package/es/tntd-rc-select/_util/motion.js.map +1 -0
  30. package/es/tntd-rc-select/_util/type.js +4 -0
  31. package/es/tntd-rc-select/_util/type.js.map +1 -0
  32. package/es/tntd-rc-select/_util/useCompactItemContext.js +24 -0
  33. package/es/tntd-rc-select/_util/useCompactItemContext.js.map +1 -0
  34. package/es/tntd-rc-select/_util/warning.js +15 -0
  35. package/es/tntd-rc-select/_util/warning.js.map +1 -0
  36. package/es/tntd-rc-select/img/no-data-s.png +0 -0
  37. package/es/tntd-rc-select/index.js +103 -0
  38. package/es/tntd-rc-select/index.js.map +1 -0
  39. package/es/tntd-rc-select/style/index.less +1657 -0
  40. package/es/tntd-select/_util/DisabledContext.js +8 -0
  41. package/es/tntd-select/_util/DisabledContext.js.map +1 -0
  42. package/es/tntd-select/_util/FormItemInputContext.js +3 -0
  43. package/es/tntd-select/_util/FormItemInputContext.js.map +1 -0
  44. package/es/tntd-select/_util/PurePanel.js +4 -17
  45. package/es/tntd-select/_util/PurePanel.js.map +1 -1
  46. package/es/tntd-select/_util/SizeContext.js +3 -0
  47. package/es/tntd-select/_util/SizeContext.js.map +1 -0
  48. package/es/tntd-select/_util/context.js +14 -0
  49. package/es/tntd-select/_util/context.js.map +1 -0
  50. package/es/tntd-select/_util/defaultRenderEmpty.js +20 -0
  51. package/es/tntd-select/_util/defaultRenderEmpty.js.map +1 -0
  52. package/es/tntd-select/_util/getIcons.js +52 -0
  53. package/es/tntd-select/_util/getIcons.js.map +1 -0
  54. package/es/tntd-select/_util/interface.js +5 -0
  55. package/es/tntd-select/_util/interface.js.map +1 -0
  56. package/es/tntd-select/_util/motion.js +15 -8
  57. package/es/tntd-select/_util/motion.js.map +1 -1
  58. package/es/tntd-select/_util/type.js +4 -0
  59. package/es/tntd-select/_util/type.js.map +1 -0
  60. package/es/tntd-select/_util/useCompactItemContext.js +24 -0
  61. package/es/tntd-select/_util/useCompactItemContext.js.map +1 -0
  62. package/es/tntd-select/_util/warning.js +14 -5
  63. package/es/tntd-select/_util/warning.js.map +1 -1
  64. package/es/tntd-select/index.js +7 -1
  65. package/es/tntd-select/index.js.map +1 -1
  66. package/es/tntd-select/rc-select/BaseSelect.js +429 -0
  67. package/es/tntd-select/rc-select/BaseSelect.js.map +1 -0
  68. package/es/tntd-select/rc-select/OptGroup.js +5 -0
  69. package/es/tntd-select/rc-select/OptGroup.js.map +1 -0
  70. package/es/tntd-select/rc-select/Option.js +5 -0
  71. package/es/tntd-select/rc-select/Option.js.map +1 -0
  72. package/es/tntd-select/rc-select/OptionList.js +257 -0
  73. package/es/tntd-select/rc-select/OptionList.js.map +1 -0
  74. package/es/tntd-select/rc-select/Select.js +428 -0
  75. package/es/tntd-select/rc-select/Select.js.map +1 -0
  76. package/es/tntd-select/rc-select/SelectContext.js +4 -0
  77. package/es/tntd-select/rc-select/SelectContext.js.map +1 -0
  78. package/es/tntd-select/rc-select/SelectTrigger.js +91 -0
  79. package/es/tntd-select/rc-select/SelectTrigger.js.map +1 -0
  80. package/es/tntd-select/rc-select/Selector/Input.js +47 -0
  81. package/es/tntd-select/rc-select/Selector/Input.js.map +1 -0
  82. package/es/tntd-select/rc-select/Selector/MultipleSelector.js +97 -0
  83. package/es/tntd-select/rc-select/Selector/MultipleSelector.js.map +1 -0
  84. package/es/tntd-select/rc-select/Selector/SingleSelector.js +45 -0
  85. package/es/tntd-select/rc-select/Selector/SingleSelector.js.map +1 -0
  86. package/es/tntd-select/rc-select/Selector/index.js +136 -0
  87. package/es/tntd-select/rc-select/Selector/index.js.map +1 -0
  88. package/es/tntd-select/rc-select/TransBtn.js +22 -0
  89. package/es/tntd-select/rc-select/TransBtn.js.map +1 -0
  90. package/es/tntd-select/rc-select/hooks/useAllowClear.js +25 -0
  91. package/es/tntd-select/rc-select/hooks/useAllowClear.js.map +1 -0
  92. package/es/tntd-select/rc-select/hooks/useBaseProps.js +10 -0
  93. package/es/tntd-select/rc-select/hooks/useBaseProps.js.map +1 -0
  94. package/es/tntd-select/rc-select/hooks/useCache.js +34 -0
  95. package/es/tntd-select/rc-select/hooks/useCache.js.map +1 -0
  96. package/es/tntd-select/rc-select/hooks/useDelayReset.js +24 -0
  97. package/es/tntd-select/rc-select/hooks/useDelayReset.js.map +1 -0
  98. package/es/tntd-select/rc-select/hooks/useFilterOptions.js +55 -0
  99. package/es/tntd-select/rc-select/hooks/useFilterOptions.js.map +1 -0
  100. package/es/tntd-select/rc-select/hooks/useId.js +28 -0
  101. package/es/tntd-select/rc-select/hooks/useId.js.map +1 -0
  102. package/es/tntd-select/rc-select/hooks/useLayoutEffect.js +18 -0
  103. package/es/tntd-select/rc-select/hooks/useLayoutEffect.js.map +1 -0
  104. package/es/tntd-select/rc-select/hooks/useLock.js +26 -0
  105. package/es/tntd-select/rc-select/hooks/useLock.js.map +1 -0
  106. package/es/tntd-select/rc-select/hooks/useOptions.js +45 -0
  107. package/es/tntd-select/rc-select/hooks/useOptions.js.map +1 -0
  108. package/es/tntd-select/rc-select/hooks/useRefFunc.js +14 -0
  109. package/es/tntd-select/rc-select/hooks/useRefFunc.js.map +1 -0
  110. package/es/tntd-select/rc-select/hooks/useSelectTriggerControl.js +32 -0
  111. package/es/tntd-select/rc-select/hooks/useSelectTriggerControl.js.map +1 -0
  112. package/es/tntd-select/rc-select/index.js +8 -0
  113. package/es/tntd-select/rc-select/index.js.map +1 -0
  114. package/es/tntd-select/rc-select/interface.js +2 -0
  115. package/es/tntd-select/rc-select/interface.js.map +1 -0
  116. package/es/tntd-select/rc-select/utils/commonUtil.js +32 -0
  117. package/es/tntd-select/rc-select/utils/commonUtil.js.map +1 -0
  118. package/es/tntd-select/rc-select/utils/keyUtil.js +34 -0
  119. package/es/tntd-select/rc-select/utils/keyUtil.js.map +1 -0
  120. package/es/tntd-select/rc-select/utils/legacyUtil.js +32 -0
  121. package/es/tntd-select/rc-select/utils/legacyUtil.js.map +1 -0
  122. package/es/tntd-select/rc-select/utils/platformUtil.js +5 -0
  123. package/es/tntd-select/rc-select/utils/platformUtil.js.map +1 -0
  124. package/es/tntd-select/rc-select/utils/valueUtil.js +99 -0
  125. package/es/tntd-select/rc-select/utils/valueUtil.js.map +1 -0
  126. package/es/tntd-select/rc-select/utils/warningPropsUtil.js +100 -0
  127. package/es/tntd-select/rc-select/utils/warningPropsUtil.js.map +1 -0
  128. package/lib/index.d.ts +1 -0
  129. package/lib/index.d.ts.map +1 -1
  130. package/lib/index.js +3 -1
  131. package/lib/index.js.map +1 -1
  132. package/lib/locale/default.d.ts +4 -1
  133. package/lib/locale/default.d.ts.map +1 -1
  134. package/lib/locale/en_US.d.ts +11 -1
  135. package/lib/locale/en_US.d.ts.map +1 -1
  136. package/lib/locale/en_US.js +21 -3
  137. package/lib/locale/en_US.js.map +1 -1
  138. package/lib/locale/zh_CN.d.ts +4 -1
  139. package/lib/locale/zh_CN.d.ts.map +1 -1
  140. package/lib/locale/zh_CN.js +4 -1
  141. package/lib/locale/zh_CN.js.map +1 -1
  142. package/lib/table/context.d.ts +1 -0
  143. package/lib/table/context.d.ts.map +1 -1
  144. package/lib/table/context.js.map +1 -1
  145. package/lib/table/table.d.ts +2 -1
  146. package/lib/table/table.d.ts.map +1 -1
  147. package/lib/table/table.js +3 -2
  148. package/lib/table/table.js.map +1 -1
  149. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +1 -1
  150. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  151. package/lib/tntd-rc-select/_util/DisabledContext.d.ts +10 -0
  152. package/lib/tntd-rc-select/_util/DisabledContext.d.ts.map +1 -0
  153. package/lib/tntd-rc-select/_util/DisabledContext.js +35 -0
  154. package/lib/tntd-rc-select/_util/DisabledContext.js.map +1 -0
  155. package/lib/tntd-rc-select/_util/FormItemInputContext.d.ts +4 -0
  156. package/lib/tntd-rc-select/_util/FormItemInputContext.d.ts.map +1 -0
  157. package/lib/tntd-rc-select/_util/FormItemInputContext.js +29 -0
  158. package/lib/tntd-rc-select/_util/FormItemInputContext.js.map +1 -0
  159. package/lib/tntd-rc-select/_util/PurePanel.d.ts +9 -0
  160. package/lib/tntd-rc-select/_util/PurePanel.d.ts.map +1 -0
  161. package/lib/tntd-rc-select/_util/PurePanel.js +84 -0
  162. package/lib/tntd-rc-select/_util/PurePanel.js.map +1 -0
  163. package/lib/tntd-rc-select/_util/SizeContext.d.ts +4 -0
  164. package/lib/tntd-rc-select/_util/SizeContext.d.ts.map +1 -0
  165. package/lib/tntd-rc-select/_util/SizeContext.js +29 -0
  166. package/lib/tntd-rc-select/_util/SizeContext.js.map +1 -0
  167. package/lib/tntd-rc-select/_util/context.d.ts +42 -0
  168. package/lib/tntd-rc-select/_util/context.d.ts.map +1 -0
  169. package/lib/tntd-rc-select/_util/context.js +20 -0
  170. package/lib/tntd-rc-select/_util/context.js.map +1 -0
  171. package/lib/tntd-rc-select/_util/defaultRenderEmpty.d.ts +5 -0
  172. package/lib/tntd-rc-select/_util/defaultRenderEmpty.d.ts.map +1 -0
  173. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js +48 -0
  174. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js.map +1 -0
  175. package/lib/tntd-rc-select/_util/getIcons.d.ts +25 -0
  176. package/lib/tntd-rc-select/_util/getIcons.d.ts.map +1 -0
  177. package/lib/tntd-rc-select/_util/getIcons.js +78 -0
  178. package/lib/tntd-rc-select/_util/getIcons.js.map +1 -0
  179. package/lib/tntd-rc-select/_util/interface.d.ts +25 -0
  180. package/lib/tntd-rc-select/_util/interface.d.ts.map +1 -0
  181. package/lib/tntd-rc-select/_util/interface.js +9 -0
  182. package/lib/tntd-rc-select/_util/interface.js.map +1 -0
  183. package/lib/tntd-rc-select/_util/motion.d.ts +9 -0
  184. package/lib/tntd-rc-select/_util/motion.d.ts.map +1 -0
  185. package/lib/tntd-rc-select/_util/motion.js +42 -0
  186. package/lib/tntd-rc-select/_util/motion.js.map +1 -0
  187. package/lib/tntd-rc-select/_util/type.d.ts +10 -0
  188. package/lib/tntd-rc-select/_util/type.d.ts.map +1 -0
  189. package/lib/tntd-rc-select/_util/type.js +9 -0
  190. package/lib/tntd-rc-select/_util/type.js.map +1 -0
  191. package/lib/tntd-rc-select/_util/useCompactItemContext.d.ts +9 -0
  192. package/lib/tntd-rc-select/_util/useCompactItemContext.d.ts.map +1 -0
  193. package/lib/tntd-rc-select/_util/useCompactItemContext.js +54 -0
  194. package/lib/tntd-rc-select/_util/useCompactItemContext.js.map +1 -0
  195. package/lib/tntd-rc-select/_util/warning.d.ts +4 -0
  196. package/lib/tntd-rc-select/_util/warning.d.ts.map +1 -0
  197. package/lib/tntd-rc-select/_util/warning.js +40 -0
  198. package/lib/tntd-rc-select/_util/warning.js.map +1 -0
  199. package/lib/tntd-rc-select/img/no-data-s.png +0 -0
  200. package/lib/tntd-rc-select/index.d.ts +44 -0
  201. package/lib/tntd-rc-select/index.d.ts.map +1 -0
  202. package/lib/tntd-rc-select/index.js +131 -0
  203. package/lib/tntd-rc-select/index.js.map +1 -0
  204. package/lib/tntd-rc-select/style/index.less +1657 -0
  205. package/lib/tntd-select/_util/DisabledContext.d.ts +10 -0
  206. package/lib/tntd-select/_util/DisabledContext.d.ts.map +1 -0
  207. package/lib/tntd-select/_util/DisabledContext.js +35 -0
  208. package/lib/tntd-select/_util/DisabledContext.js.map +1 -0
  209. package/lib/tntd-select/_util/FormItemInputContext.d.ts +4 -0
  210. package/lib/tntd-select/_util/FormItemInputContext.d.ts.map +1 -0
  211. package/lib/tntd-select/_util/FormItemInputContext.js +29 -0
  212. package/lib/tntd-select/_util/FormItemInputContext.js.map +1 -0
  213. package/lib/tntd-select/_util/PurePanel.d.ts +3 -2
  214. package/lib/tntd-select/_util/PurePanel.d.ts.map +1 -1
  215. package/lib/tntd-select/_util/PurePanel.js +4 -19
  216. package/lib/tntd-select/_util/PurePanel.js.map +1 -1
  217. package/lib/tntd-select/_util/SizeContext.d.ts +4 -0
  218. package/lib/tntd-select/_util/SizeContext.d.ts.map +1 -0
  219. package/lib/tntd-select/_util/SizeContext.js +29 -0
  220. package/lib/tntd-select/_util/SizeContext.js.map +1 -0
  221. package/lib/tntd-select/_util/context.d.ts +42 -0
  222. package/lib/tntd-select/_util/context.d.ts.map +1 -0
  223. package/lib/tntd-select/_util/context.js +20 -0
  224. package/lib/tntd-select/_util/context.js.map +1 -0
  225. package/lib/tntd-select/_util/defaultRenderEmpty.d.ts +5 -0
  226. package/lib/tntd-select/_util/defaultRenderEmpty.d.ts.map +1 -0
  227. package/lib/tntd-select/_util/defaultRenderEmpty.js +48 -0
  228. package/lib/tntd-select/_util/defaultRenderEmpty.js.map +1 -0
  229. package/lib/tntd-select/_util/getIcons.d.ts +25 -0
  230. package/lib/tntd-select/_util/getIcons.d.ts.map +1 -0
  231. package/lib/tntd-select/_util/getIcons.js +78 -0
  232. package/lib/tntd-select/_util/getIcons.js.map +1 -0
  233. package/lib/tntd-select/_util/interface.d.ts +25 -0
  234. package/lib/tntd-select/_util/interface.d.ts.map +1 -0
  235. package/lib/tntd-select/_util/interface.js +9 -0
  236. package/lib/tntd-select/_util/interface.js.map +1 -0
  237. package/lib/tntd-select/_util/motion.d.ts +5 -4
  238. package/lib/tntd-select/_util/motion.d.ts.map +1 -1
  239. package/lib/tntd-select/_util/motion.js +16 -8
  240. package/lib/tntd-select/_util/motion.js.map +1 -1
  241. package/lib/tntd-select/_util/type.d.ts +10 -0
  242. package/lib/tntd-select/_util/type.d.ts.map +1 -0
  243. package/lib/tntd-select/_util/type.js +9 -0
  244. package/lib/tntd-select/_util/type.js.map +1 -0
  245. package/lib/tntd-select/_util/useCompactItemContext.d.ts +9 -0
  246. package/lib/tntd-select/_util/useCompactItemContext.d.ts.map +1 -0
  247. package/lib/tntd-select/_util/useCompactItemContext.js +54 -0
  248. package/lib/tntd-select/_util/useCompactItemContext.js.map +1 -0
  249. package/lib/tntd-select/_util/warning.d.ts +3 -4
  250. package/lib/tntd-select/_util/warning.d.ts.map +1 -1
  251. package/lib/tntd-select/_util/warning.js +13 -5
  252. package/lib/tntd-select/_util/warning.js.map +1 -1
  253. package/lib/tntd-select/index.d.ts.map +1 -1
  254. package/lib/tntd-select/index.js +7 -1
  255. package/lib/tntd-select/index.js.map +1 -1
  256. package/lib/tntd-select/rc-select/BaseSelect.d.ts +114 -0
  257. package/lib/tntd-select/rc-select/BaseSelect.d.ts.map +1 -0
  258. package/lib/tntd-select/rc-select/BaseSelect.js +459 -0
  259. package/lib/tntd-select/rc-select/BaseSelect.js.map +1 -0
  260. package/lib/tntd-select/rc-select/OptGroup.d.ts +13 -0
  261. package/lib/tntd-select/rc-select/OptGroup.d.ts.map +1 -0
  262. package/lib/tntd-select/rc-select/OptGroup.js +7 -0
  263. package/lib/tntd-select/rc-select/OptGroup.js.map +1 -0
  264. package/lib/tntd-select/rc-select/Option.d.ts +15 -0
  265. package/lib/tntd-select/rc-select/Option.d.ts.map +1 -0
  266. package/lib/tntd-select/rc-select/Option.js +7 -0
  267. package/lib/tntd-select/rc-select/Option.js.map +1 -0
  268. package/lib/tntd-select/rc-select/OptionList.d.ts +11 -0
  269. package/lib/tntd-select/rc-select/OptionList.d.ts.map +1 -0
  270. package/lib/tntd-select/rc-select/OptionList.js +285 -0
  271. package/lib/tntd-select/rc-select/OptionList.js.map +1 -0
  272. package/lib/tntd-select/rc-select/Select.d.ts +115 -0
  273. package/lib/tntd-select/rc-select/Select.d.ts.map +1 -0
  274. package/lib/tntd-select/rc-select/Select.js +456 -0
  275. package/lib/tntd-select/rc-select/Select.js.map +1 -0
  276. package/lib/tntd-select/rc-select/SelectContext.d.ts +23 -0
  277. package/lib/tntd-select/rc-select/SelectContext.d.ts.map +1 -0
  278. package/lib/tntd-select/rc-select/SelectContext.js +29 -0
  279. package/lib/tntd-select/rc-select/SelectContext.js.map +1 -0
  280. package/lib/tntd-select/rc-select/SelectTrigger.d.ts +31 -0
  281. package/lib/tntd-select/rc-select/SelectTrigger.d.ts.map +1 -0
  282. package/lib/tntd-select/rc-select/SelectTrigger.js +119 -0
  283. package/lib/tntd-select/rc-select/SelectTrigger.js.map +1 -0
  284. package/lib/tntd-select/rc-select/Selector/Input.d.ts +27 -0
  285. package/lib/tntd-select/rc-select/Selector/Input.d.ts.map +1 -0
  286. package/lib/tntd-select/rc-select/Selector/Input.js +75 -0
  287. package/lib/tntd-select/rc-select/Selector/Input.js.map +1 -0
  288. package/lib/tntd-select/rc-select/Selector/MultipleSelector.d.ts +17 -0
  289. package/lib/tntd-select/rc-select/Selector/MultipleSelector.d.ts.map +1 -0
  290. package/lib/tntd-select/rc-select/Selector/MultipleSelector.js +125 -0
  291. package/lib/tntd-select/rc-select/Selector/MultipleSelector.js.map +1 -0
  292. package/lib/tntd-select/rc-select/Selector/SingleSelector.d.ts +9 -0
  293. package/lib/tntd-select/rc-select/Selector/SingleSelector.d.ts.map +1 -0
  294. package/lib/tntd-select/rc-select/Selector/SingleSelector.js +73 -0
  295. package/lib/tntd-select/rc-select/Selector/SingleSelector.js.map +1 -0
  296. package/lib/tntd-select/rc-select/Selector/index.d.ts +83 -0
  297. package/lib/tntd-select/rc-select/Selector/index.d.ts.map +1 -0
  298. package/lib/tntd-select/rc-select/Selector/index.js +164 -0
  299. package/lib/tntd-select/rc-select/Selector/index.js.map +1 -0
  300. package/lib/tntd-select/rc-select/TransBtn.d.ts +13 -0
  301. package/lib/tntd-select/rc-select/TransBtn.d.ts.map +1 -0
  302. package/lib/tntd-select/rc-select/TransBtn.js +50 -0
  303. package/lib/tntd-select/rc-select/TransBtn.js.map +1 -0
  304. package/lib/tntd-select/rc-select/hooks/useAllowClear.d.ts +9 -0
  305. package/lib/tntd-select/rc-select/hooks/useAllowClear.d.ts.map +1 -0
  306. package/lib/tntd-select/rc-select/hooks/useAllowClear.js +32 -0
  307. package/lib/tntd-select/rc-select/hooks/useAllowClear.js.map +1 -0
  308. package/lib/tntd-select/rc-select/hooks/useBaseProps.d.ts +14 -0
  309. package/lib/tntd-select/rc-select/hooks/useBaseProps.d.ts.map +1 -0
  310. package/lib/tntd-select/rc-select/hooks/useBaseProps.js +37 -0
  311. package/lib/tntd-select/rc-select/hooks/useBaseProps.js.map +1 -0
  312. package/lib/tntd-select/rc-select/hooks/useCache.d.ts +8 -0
  313. package/lib/tntd-select/rc-select/hooks/useCache.d.ts.map +1 -0
  314. package/lib/tntd-select/rc-select/hooks/useCache.js +59 -0
  315. package/lib/tntd-select/rc-select/hooks/useCache.js.map +1 -0
  316. package/lib/tntd-select/rc-select/hooks/useDelayReset.d.ts +6 -0
  317. package/lib/tntd-select/rc-select/hooks/useDelayReset.d.ts.map +1 -0
  318. package/lib/tntd-select/rc-select/hooks/useDelayReset.js +50 -0
  319. package/lib/tntd-select/rc-select/hooks/useDelayReset.js.map +1 -0
  320. package/lib/tntd-select/rc-select/hooks/useFilterOptions.d.ts +4 -0
  321. package/lib/tntd-select/rc-select/hooks/useFilterOptions.d.ts.map +1 -0
  322. package/lib/tntd-select/rc-select/hooks/useFilterOptions.js +80 -0
  323. package/lib/tntd-select/rc-select/hooks/useFilterOptions.js.map +1 -0
  324. package/lib/tntd-select/rc-select/hooks/useId.d.ts +6 -0
  325. package/lib/tntd-select/rc-select/hooks/useId.d.ts.map +1 -0
  326. package/lib/tntd-select/rc-select/hooks/useId.js +59 -0
  327. package/lib/tntd-select/rc-select/hooks/useId.js.map +1 -0
  328. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.d.ts +6 -0
  329. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.d.ts.map +1 -0
  330. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.js +44 -0
  331. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.js.map +1 -0
  332. package/lib/tntd-select/rc-select/hooks/useLock.d.ts +8 -0
  333. package/lib/tntd-select/rc-select/hooks/useLock.d.ts.map +1 -0
  334. package/lib/tntd-select/rc-select/hooks/useLock.js +52 -0
  335. package/lib/tntd-select/rc-select/hooks/useLock.js.map +1 -0
  336. package/lib/tntd-select/rc-select/hooks/useOptions.d.ts +12 -0
  337. package/lib/tntd-select/rc-select/hooks/useOptions.d.ts.map +1 -0
  338. package/lib/tntd-select/rc-select/hooks/useOptions.js +71 -0
  339. package/lib/tntd-select/rc-select/hooks/useOptions.js.map +1 -0
  340. package/lib/tntd-select/rc-select/hooks/useRefFunc.d.ts +6 -0
  341. package/lib/tntd-select/rc-select/hooks/useRefFunc.d.ts.map +1 -0
  342. package/lib/tntd-select/rc-select/hooks/useRefFunc.js +40 -0
  343. package/lib/tntd-select/rc-select/hooks/useRefFunc.js.map +1 -0
  344. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.d.ts +2 -0
  345. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.d.ts.map +1 -0
  346. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.js +58 -0
  347. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.js.map +1 -0
  348. package/lib/tntd-select/rc-select/index.d.ts +11 -0
  349. package/lib/tntd-select/rc-select/index.d.ts.map +1 -0
  350. package/lib/tntd-select/rc-select/index.js +17 -0
  351. package/lib/tntd-select/rc-select/index.js.map +1 -0
  352. package/lib/tntd-select/rc-select/interface.d.ts +23 -0
  353. package/lib/tntd-select/rc-select/interface.d.ts.map +1 -0
  354. package/lib/tntd-select/rc-select/interface.js +3 -0
  355. package/lib/tntd-select/rc-select/interface.js.map +1 -0
  356. package/lib/tntd-select/rc-select/utils/commonUtil.d.ts +10 -0
  357. package/lib/tntd-select/rc-select/utils/commonUtil.d.ts.map +1 -0
  358. package/lib/tntd-select/rc-select/utils/commonUtil.js +39 -0
  359. package/lib/tntd-select/rc-select/utils/commonUtil.js.map +1 -0
  360. package/lib/tntd-select/rc-select/utils/keyUtil.d.ts +3 -0
  361. package/lib/tntd-select/rc-select/utils/keyUtil.d.ts.map +1 -0
  362. package/lib/tntd-select/rc-select/utils/keyUtil.js +41 -0
  363. package/lib/tntd-select/rc-select/utils/keyUtil.js.map +1 -0
  364. package/lib/tntd-select/rc-select/utils/legacyUtil.d.ts +4 -0
  365. package/lib/tntd-select/rc-select/utils/legacyUtil.d.ts.map +1 -0
  366. package/lib/tntd-select/rc-select/utils/legacyUtil.js +62 -0
  367. package/lib/tntd-select/rc-select/utils/legacyUtil.js.map +1 -0
  368. package/lib/tntd-select/rc-select/utils/platformUtil.d.ts +2 -0
  369. package/lib/tntd-select/rc-select/utils/platformUtil.d.ts.map +1 -0
  370. package/lib/tntd-select/rc-select/utils/platformUtil.js +9 -0
  371. package/lib/tntd-select/rc-select/utils/platformUtil.js.map +1 -0
  372. package/lib/tntd-select/rc-select/utils/valueUtil.d.ts +24 -0
  373. package/lib/tntd-select/rc-select/utils/valueUtil.d.ts.map +1 -0
  374. package/lib/tntd-select/rc-select/utils/valueUtil.js +109 -0
  375. package/lib/tntd-select/rc-select/utils/valueUtil.js.map +1 -0
  376. package/lib/tntd-select/rc-select/utils/warningPropsUtil.d.ts +5 -0
  377. package/lib/tntd-select/rc-select/utils/warningPropsUtil.d.ts.map +1 -0
  378. package/lib/tntd-select/rc-select/utils/warningPropsUtil.js +130 -0
  379. package/lib/tntd-select/rc-select/utils/warningPropsUtil.js.map +1 -0
  380. package/package.json +1 -1
@@ -0,0 +1,456 @@
1
+ "use strict";
2
+ /**
3
+ * To match accessibility requirement, we always provide an input in the component.
4
+ * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.
5
+ * For focused select, we set `aria-live="polite"` to update the accessibility content.
6
+ *
7
+ * ref:
8
+ * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions
9
+ *
10
+ * New api:
11
+ * - listHeight
12
+ * - listItemHeight
13
+ * - component
14
+ *
15
+ * Remove deprecated api:
16
+ * - multiple
17
+ * - tags
18
+ * - combobox
19
+ * - firstActiveValue
20
+ * - dropdownMenuStyle
21
+ * - openClassName (Not list in api)
22
+ *
23
+ * Update:
24
+ * - `backfill` only support `combobox` mode
25
+ * - `combobox` mode not support `labelInValue` since it's meaningless
26
+ * - `getInputElement` only support `combobox` mode
27
+ * - `onChange` return OptionData instead of ReactNode
28
+ * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode
29
+ * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option
30
+ * - `combobox` mode not support `optionLabelProp`
31
+ */
32
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
33
+ if (k2 === undefined) k2 = k;
34
+ var desc = Object.getOwnPropertyDescriptor(m, k);
35
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
36
+ desc = { enumerable: true, get: function() { return m[k]; } };
37
+ }
38
+ Object.defineProperty(o, k2, desc);
39
+ }) : (function(o, m, k, k2) {
40
+ if (k2 === undefined) k2 = k;
41
+ o[k2] = m[k];
42
+ }));
43
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
44
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
45
+ }) : function(o, v) {
46
+ o["default"] = v;
47
+ });
48
+ var __importStar = (this && this.__importStar) || function (mod) {
49
+ if (mod && mod.__esModule) return mod;
50
+ var result = {};
51
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
52
+ __setModuleDefault(result, mod);
53
+ return result;
54
+ };
55
+ var __rest = (this && this.__rest) || function (s, e) {
56
+ var t = {};
57
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
58
+ t[p] = s[p];
59
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
60
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
61
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
62
+ t[p[i]] = s[p[i]];
63
+ }
64
+ return t;
65
+ };
66
+ var __importDefault = (this && this.__importDefault) || function (mod) {
67
+ return (mod && mod.__esModule) ? mod : { "default": mod };
68
+ };
69
+ Object.defineProperty(exports, "__esModule", { value: true });
70
+ const useMergedState_1 = __importDefault(require("rc-util/lib/hooks/useMergedState"));
71
+ const warning_1 = __importDefault(require("rc-util/lib/warning"));
72
+ const React = __importStar(require("react"));
73
+ const BaseSelect_1 = __importStar(require("./BaseSelect"));
74
+ const OptGroup_1 = __importDefault(require("./OptGroup"));
75
+ const Option_1 = __importDefault(require("./Option"));
76
+ const OptionList_1 = __importDefault(require("./OptionList"));
77
+ const SelectContext_1 = __importDefault(require("./SelectContext"));
78
+ const useCache_1 = __importDefault(require("./hooks/useCache"));
79
+ const useFilterOptions_1 = __importDefault(require("./hooks/useFilterOptions"));
80
+ const useId_1 = __importDefault(require("./hooks/useId"));
81
+ const useOptions_1 = __importDefault(require("./hooks/useOptions"));
82
+ const useRefFunc_1 = __importDefault(require("./hooks/useRefFunc"));
83
+ const commonUtil_1 = require("./utils/commonUtil");
84
+ const valueUtil_1 = require("./utils/valueUtil");
85
+ const warningPropsUtil_1 = __importStar(require("./utils/warningPropsUtil"));
86
+ const OMIT_DOM_PROPS = ['inputValue'];
87
+ function isRawValue(value) {
88
+ return !value || typeof value !== 'object';
89
+ }
90
+ const Select = React.forwardRef((props, ref) => {
91
+ const { id, mode, prefixCls = 'rc-select', backfill, fieldNames,
92
+ // Search
93
+ inputValue, searchValue, onSearch, autoClearSearchValue = true,
94
+ // Select
95
+ onSelect, onDeselect, dropdownMatchSelectWidth = true,
96
+ // Options
97
+ filterOption, filterSort, optionFilterProp, optionLabelProp, options, optionRender, children, defaultActiveFirstOption, menuItemSelectedIcon, virtual, direction, listHeight = 200, listItemHeight = 20,
98
+ // Value
99
+ value, defaultValue, labelInValue, onChange } = props, restProps = __rest(props, ["id", "mode", "prefixCls", "backfill", "fieldNames", "inputValue", "searchValue", "onSearch", "autoClearSearchValue", "onSelect", "onDeselect", "dropdownMatchSelectWidth", "filterOption", "filterSort", "optionFilterProp", "optionLabelProp", "options", "optionRender", "children", "defaultActiveFirstOption", "menuItemSelectedIcon", "virtual", "direction", "listHeight", "listItemHeight", "value", "defaultValue", "labelInValue", "onChange"]);
100
+ const mergedId = (0, useId_1.default)(id);
101
+ const multiple = (0, BaseSelect_1.isMultiple)(mode);
102
+ const childrenAsData = !!(!options && children);
103
+ const mergedFilterOption = React.useMemo(() => {
104
+ if (filterOption === undefined && mode === 'combobox') {
105
+ return false;
106
+ }
107
+ return filterOption;
108
+ }, [filterOption, mode]);
109
+ // ========================= FieldNames =========================
110
+ const mergedFieldNames = React.useMemo(() => (0, valueUtil_1.fillFieldNames)(fieldNames, childrenAsData),
111
+ /* eslint-disable react-hooks/exhaustive-deps */
112
+ [
113
+ // We stringify fieldNames to avoid unnecessary re-renders.
114
+ JSON.stringify(fieldNames),
115
+ childrenAsData,
116
+ ]);
117
+ // =========================== Search ===========================
118
+ const [mergedSearchValue, setSearchValue] = (0, useMergedState_1.default)('', {
119
+ value: searchValue !== undefined ? searchValue : inputValue,
120
+ postState: (search) => search || '',
121
+ });
122
+ // =========================== Option ===========================
123
+ const parsedOptions = (0, useOptions_1.default)(options, children, mergedFieldNames, optionFilterProp, optionLabelProp);
124
+ const { valueOptions, labelOptions, options: mergedOptions } = parsedOptions;
125
+ // ========================= Wrap Value =========================
126
+ const convert2LabelValues = React.useCallback((draftValues) => {
127
+ // Convert to array
128
+ const valueList = (0, commonUtil_1.toArray)(draftValues);
129
+ // Convert to labelInValue type
130
+ return valueList.map((val) => {
131
+ var _a, _b;
132
+ let rawValue;
133
+ let rawLabel;
134
+ let rawKey;
135
+ let rawDisabled;
136
+ let rawTitle;
137
+ // Fill label & value
138
+ if (isRawValue(val)) {
139
+ rawValue = val;
140
+ }
141
+ else {
142
+ rawKey = val.key;
143
+ rawLabel = val.label;
144
+ rawValue = (_a = val.value) !== null && _a !== void 0 ? _a : rawKey;
145
+ }
146
+ const option = valueOptions.get(rawValue);
147
+ if (option) {
148
+ // Fill missing props
149
+ if (rawLabel === undefined)
150
+ rawLabel = option === null || option === void 0 ? void 0 : option[optionLabelProp || mergedFieldNames.label];
151
+ if (rawKey === undefined)
152
+ rawKey = (_b = option === null || option === void 0 ? void 0 : option.key) !== null && _b !== void 0 ? _b : rawValue;
153
+ rawDisabled = option === null || option === void 0 ? void 0 : option.disabled;
154
+ rawTitle = option === null || option === void 0 ? void 0 : option.title;
155
+ // Warning if label not same as provided
156
+ if (process.env.NODE_ENV !== 'production' && !optionLabelProp) {
157
+ const optionLabel = option === null || option === void 0 ? void 0 : option[mergedFieldNames.label];
158
+ if (optionLabel !== undefined &&
159
+ !React.isValidElement(optionLabel) &&
160
+ !React.isValidElement(rawLabel) &&
161
+ optionLabel !== rawLabel) {
162
+ (0, warning_1.default)(false, '`label` of `value` is not same as `label` in Select options.');
163
+ }
164
+ }
165
+ }
166
+ return {
167
+ label: rawLabel,
168
+ value: rawValue,
169
+ key: rawKey,
170
+ disabled: rawDisabled,
171
+ title: rawTitle,
172
+ };
173
+ });
174
+ }, [mergedFieldNames, optionLabelProp, valueOptions]);
175
+ // =========================== Values ===========================
176
+ const [internalValue, setInternalValue] = (0, useMergedState_1.default)(defaultValue, {
177
+ value,
178
+ });
179
+ // Merged value with LabelValueType
180
+ const rawLabeledValues = React.useMemo(() => {
181
+ var _a;
182
+ const values = convert2LabelValues(internalValue);
183
+ // combobox no need save value when it's no value (exclude value equal 0)
184
+ if (mode === 'combobox' && (0, commonUtil_1.isComboNoValue)((_a = values[0]) === null || _a === void 0 ? void 0 : _a.value)) {
185
+ return [];
186
+ }
187
+ return values;
188
+ }, [internalValue, convert2LabelValues, mode]);
189
+ // Fill label with cache to avoid option remove
190
+ const [mergedValues, getMixedOption] = (0, useCache_1.default)(rawLabeledValues, valueOptions);
191
+ const displayValues = React.useMemo(() => {
192
+ // `null` need show as placeholder instead
193
+ // https://github.com/ant-design/ant-design/issues/25057
194
+ if (!mode && mergedValues.length === 1) {
195
+ const firstValue = mergedValues[0];
196
+ if (firstValue.value === null &&
197
+ (firstValue.label === null || firstValue.label === undefined)) {
198
+ return [];
199
+ }
200
+ }
201
+ return mergedValues.map((item) => {
202
+ var _a;
203
+ return (Object.assign(Object.assign({}, item), { label: (_a = item.label) !== null && _a !== void 0 ? _a : item.value }));
204
+ });
205
+ }, [mode, mergedValues]);
206
+ /** Convert `displayValues` to raw value type set */
207
+ const rawValues = React.useMemo(() => new Set(mergedValues.map((val) => val.value)), [mergedValues]);
208
+ React.useEffect(() => {
209
+ var _a;
210
+ if (mode === 'combobox') {
211
+ const strValue = (_a = mergedValues[0]) === null || _a === void 0 ? void 0 : _a.value;
212
+ setSearchValue((0, commonUtil_1.hasValue)(strValue) ? String(strValue) : '');
213
+ }
214
+ }, [mergedValues]);
215
+ // ======================= Display Option =======================
216
+ // Create a placeholder item if not exist in `options`
217
+ const createTagOption = (0, useRefFunc_1.default)((val, label) => {
218
+ const mergedLabel = label !== null && label !== void 0 ? label : val;
219
+ return {
220
+ [mergedFieldNames.value]: val,
221
+ [mergedFieldNames.label]: mergedLabel,
222
+ };
223
+ });
224
+ // Fill tag as option if mode is `tags`
225
+ const filledTagOptions = React.useMemo(() => {
226
+ if (mode !== 'tags') {
227
+ return mergedOptions;
228
+ }
229
+ // >>> Tag mode
230
+ const cloneOptions = [...mergedOptions];
231
+ // Check if value exist in options (include new patch item)
232
+ const existOptions = (val) => valueOptions.has(val);
233
+ // Fill current value as option
234
+ [...mergedValues]
235
+ .sort((a, b) => (a.value < b.value ? -1 : 1))
236
+ .forEach((item) => {
237
+ const val = item.value;
238
+ if (!existOptions(val)) {
239
+ cloneOptions.push(createTagOption(val, item.label));
240
+ }
241
+ });
242
+ return cloneOptions;
243
+ }, [createTagOption, mergedOptions, valueOptions, mergedValues, mode]);
244
+ const filteredOptions = (0, useFilterOptions_1.default)(filledTagOptions, mergedFieldNames, mergedSearchValue, mergedFilterOption, optionFilterProp);
245
+ // Fill options with search value if needed
246
+ const filledSearchOptions = React.useMemo(() => {
247
+ if (mode !== 'tags' ||
248
+ !mergedSearchValue ||
249
+ filteredOptions.some((item) => item[optionFilterProp || 'value'] === mergedSearchValue)) {
250
+ return filteredOptions;
251
+ }
252
+ // ignore when search value equal select input value
253
+ if (filteredOptions.some((item) => item[mergedFieldNames.value] === mergedSearchValue)) {
254
+ return filteredOptions;
255
+ }
256
+ // Fill search value as option
257
+ return [createTagOption(mergedSearchValue), ...filteredOptions];
258
+ }, [
259
+ createTagOption,
260
+ optionFilterProp,
261
+ mode,
262
+ filteredOptions,
263
+ mergedSearchValue,
264
+ mergedFieldNames,
265
+ ]);
266
+ const orderedFilteredOptions = React.useMemo(() => {
267
+ if (!filterSort) {
268
+ return filledSearchOptions;
269
+ }
270
+ return [...filledSearchOptions].sort((a, b) => filterSort(a, b));
271
+ }, [filledSearchOptions, filterSort]);
272
+ const displayOptions = React.useMemo(() => (0, valueUtil_1.flattenOptions)(orderedFilteredOptions, {
273
+ fieldNames: mergedFieldNames,
274
+ childrenAsData,
275
+ }), [orderedFilteredOptions, mergedFieldNames, childrenAsData]);
276
+ // =========================== Change ===========================
277
+ const triggerChange = (values) => {
278
+ const labeledValues = convert2LabelValues(values);
279
+ setInternalValue(labeledValues);
280
+ if (onChange &&
281
+ // Trigger event only when value changed
282
+ (labeledValues.length !== mergedValues.length ||
283
+ labeledValues.some((newVal, index) => { var _a; return ((_a = mergedValues[index]) === null || _a === void 0 ? void 0 : _a.value) !== (newVal === null || newVal === void 0 ? void 0 : newVal.value); }))) {
284
+ const returnValues = labelInValue ? labeledValues : labeledValues.map((v) => v.value);
285
+ const returnOptions = labeledValues.map((v) => (0, valueUtil_1.injectPropsWithOption)(getMixedOption(v.value)));
286
+ onChange(
287
+ // Value
288
+ multiple ? returnValues : returnValues[0],
289
+ // Option
290
+ multiple ? returnOptions : returnOptions[0]);
291
+ }
292
+ };
293
+ // ======================= Accessibility ========================
294
+ const [activeValue, setActiveValue] = React.useState(null);
295
+ const [accessibilityIndex, setAccessibilityIndex] = React.useState(0);
296
+ const mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';
297
+ const onActiveValue = React.useCallback((active, index, { source = 'keyboard' } = {}) => {
298
+ setAccessibilityIndex(index);
299
+ if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {
300
+ setActiveValue(String(active));
301
+ }
302
+ }, [backfill, mode]);
303
+ // ========================= OptionList =========================
304
+ const triggerSelect = (val, selected, type) => {
305
+ const getSelectEnt = () => {
306
+ var _a;
307
+ const option = getMixedOption(val);
308
+ return [
309
+ labelInValue
310
+ ? {
311
+ label: option === null || option === void 0 ? void 0 : option[mergedFieldNames.label],
312
+ value: val,
313
+ key: (_a = option === null || option === void 0 ? void 0 : option.key) !== null && _a !== void 0 ? _a : val,
314
+ }
315
+ : val,
316
+ (0, valueUtil_1.injectPropsWithOption)(option),
317
+ ];
318
+ };
319
+ if (selected && onSelect) {
320
+ const [wrappedValue, option] = getSelectEnt();
321
+ onSelect(wrappedValue, option);
322
+ }
323
+ else if (!selected && onDeselect && type !== 'clear') {
324
+ const [wrappedValue, option] = getSelectEnt();
325
+ onDeselect(wrappedValue, option);
326
+ }
327
+ };
328
+ // Used for OptionList selection
329
+ const onInternalSelect = (0, useRefFunc_1.default)((val, info) => {
330
+ let cloneValues;
331
+ // Single mode always trigger select only with option list
332
+ const mergedSelect = multiple ? info.selected : true;
333
+ if (mergedSelect) {
334
+ cloneValues = multiple ? [...mergedValues, val] : [val];
335
+ }
336
+ else {
337
+ cloneValues = mergedValues.filter((v) => v.value !== val);
338
+ }
339
+ triggerChange(cloneValues);
340
+ triggerSelect(val, mergedSelect);
341
+ // Clean search value if single or configured
342
+ if (mode === 'combobox') {
343
+ // setSearchValue(String(val));
344
+ setActiveValue('');
345
+ }
346
+ else if (!BaseSelect_1.isMultiple || autoClearSearchValue) {
347
+ setSearchValue('');
348
+ setActiveValue('');
349
+ }
350
+ });
351
+ // ======================= Display Change =======================
352
+ // BaseSelect display values change
353
+ const onDisplayValuesChange = (nextValues, info) => {
354
+ triggerChange(nextValues);
355
+ const { type, values } = info;
356
+ if (type === 'remove' || type === 'clear') {
357
+ values.forEach((item) => {
358
+ triggerSelect(item.value, false, type);
359
+ });
360
+ }
361
+ };
362
+ // =========================== Search ===========================
363
+ const onInternalSearch = (searchText, info) => {
364
+ setSearchValue(searchText);
365
+ setActiveValue(null);
366
+ // [Submit] Tag mode should flush input
367
+ if (info.source === 'submit') {
368
+ const formatted = (searchText || '').trim();
369
+ // prevent empty tags from appearing when you click the Enter button
370
+ if (formatted) {
371
+ const newRawValues = Array.from(new Set([...rawValues, formatted]));
372
+ triggerChange(newRawValues);
373
+ triggerSelect(formatted, true);
374
+ setSearchValue('');
375
+ }
376
+ return;
377
+ }
378
+ if (info.source !== 'blur') {
379
+ if (mode === 'combobox') {
380
+ triggerChange(searchText);
381
+ }
382
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchText);
383
+ }
384
+ };
385
+ const onInternalSearchSplit = (words) => {
386
+ let patchValues = words;
387
+ if (mode !== 'tags') {
388
+ patchValues = words
389
+ .map((word) => {
390
+ const opt = labelOptions.get(word);
391
+ return opt === null || opt === void 0 ? void 0 : opt.value;
392
+ })
393
+ .filter((val) => val !== undefined);
394
+ }
395
+ const newRawValues = Array.from(new Set([...rawValues, ...patchValues]));
396
+ triggerChange(newRawValues);
397
+ newRawValues.forEach((newRawValue) => {
398
+ triggerSelect(newRawValue, true);
399
+ });
400
+ };
401
+ // ========================== Context ===========================
402
+ const selectContext = React.useMemo(() => {
403
+ const realVirtual = virtual !== false && dropdownMatchSelectWidth !== false;
404
+ return Object.assign(Object.assign({}, parsedOptions), { flattenOptions: displayOptions, onActiveValue, defaultActiveFirstOption: mergedDefaultActiveFirstOption, onSelect: onInternalSelect, menuItemSelectedIcon,
405
+ rawValues, fieldNames: mergedFieldNames, virtual: realVirtual, direction,
406
+ listHeight,
407
+ listItemHeight,
408
+ childrenAsData,
409
+ optionRender });
410
+ }, [
411
+ parsedOptions,
412
+ displayOptions,
413
+ onActiveValue,
414
+ mergedDefaultActiveFirstOption,
415
+ onInternalSelect,
416
+ menuItemSelectedIcon,
417
+ rawValues,
418
+ mergedFieldNames,
419
+ virtual,
420
+ dropdownMatchSelectWidth,
421
+ listHeight,
422
+ listItemHeight,
423
+ childrenAsData,
424
+ optionRender,
425
+ ]);
426
+ // ========================== Warning ===========================
427
+ if (process.env.NODE_ENV !== 'production') {
428
+ (0, warningPropsUtil_1.default)(props);
429
+ (0, warningPropsUtil_1.warningNullOptions)(mergedOptions, mergedFieldNames);
430
+ }
431
+ // ==============================================================
432
+ // == Render ==
433
+ // ==============================================================
434
+ return (React.createElement(SelectContext_1.default.Provider, { value: selectContext },
435
+ React.createElement(BaseSelect_1.default, Object.assign({}, restProps, {
436
+ // >>> MISC
437
+ id: mergedId, prefixCls: prefixCls, ref: ref, omitDomProps: OMIT_DOM_PROPS, mode: mode,
438
+ // >>> Values
439
+ displayValues: displayValues, onDisplayValuesChange: onDisplayValuesChange,
440
+ // >>> Trigger
441
+ direction: direction,
442
+ // >>> Search
443
+ searchValue: mergedSearchValue, onSearch: onInternalSearch, autoClearSearchValue: autoClearSearchValue, onSearchSplit: onInternalSearchSplit, dropdownMatchSelectWidth: dropdownMatchSelectWidth,
444
+ // >>> OptionList
445
+ OptionList: OptionList_1.default, emptyOptions: !displayOptions.length,
446
+ // >>> Accessibility
447
+ activeValue: activeValue, activeDescendantId: `${mergedId}_list_${accessibilityIndex}` }))));
448
+ });
449
+ if (process.env.NODE_ENV !== 'production') {
450
+ Select.displayName = 'Select';
451
+ }
452
+ const TypedSelect = Select;
453
+ TypedSelect.Option = Option_1.default;
454
+ TypedSelect.OptGroup = OptGroup_1.default;
455
+ exports.default = TypedSelect;
456
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/Select.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n *\n * New api:\n * - listHeight\n * - listItemHeight\n * - component\n *\n * Remove deprecated api:\n * - multiple\n * - tags\n * - combobox\n * - firstActiveValue\n * - dropdownMenuStyle\n * - openClassName (Not list in api)\n *\n * Update:\n * - `backfill` only support `combobox` mode\n * - `combobox` mode not support `labelInValue` since it's meaningless\n * - `getInputElement` only support `combobox` mode\n * - `onChange` return OptionData instead of ReactNode\n * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode\n * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option\n * - `combobox` mode not support `optionLabelProp`\n */\n\nimport useMergedState from 'rc-util/lib/hooks/useMergedState';\nimport warning from 'rc-util/lib/warning';\nimport * as React from 'react';\nimport type {\n BaseSelectProps,\n BaseSelectPropsWithoutPrivate,\n BaseSelectRef,\n DisplayInfoType,\n DisplayValueType,\n RenderNode,\n} from './BaseSelect';\nimport BaseSelect, { isMultiple } from './BaseSelect';\nimport OptGroup from './OptGroup';\nimport Option from './Option';\nimport OptionList from './OptionList';\nimport SelectContext from './SelectContext';\nimport useCache from './hooks/useCache';\nimport useFilterOptions from './hooks/useFilterOptions';\nimport useId from './hooks/useId';\nimport useOptions from './hooks/useOptions';\nimport useRefFunc from './hooks/useRefFunc';\nimport type { FlattenOptionData } from './interface';\nimport { hasValue, isComboNoValue, toArray } from './utils/commonUtil';\nimport { fillFieldNames, flattenOptions, injectPropsWithOption } from './utils/valueUtil';\nimport warningProps, { warningNullOptions } from './utils/warningPropsUtil';\n\nconst OMIT_DOM_PROPS = ['inputValue'];\n\nexport type OnActiveValue = (\n active: RawValueType,\n index: number,\n info?: { source?: 'keyboard' | 'mouse' },\n) => void;\n\nexport type OnInternalSelect = (value: RawValueType, info: { selected: boolean }) => void;\n\nexport type RawValueType = string | number;\nexport interface LabelInValueType {\n label: React.ReactNode;\n value: RawValueType;\n /** @deprecated `key` is useless since it should always same as `value` */\n key?: React.Key;\n}\n\nexport type DraftValueType =\n | RawValueType\n | LabelInValueType\n | DisplayValueType\n | (RawValueType | LabelInValueType | DisplayValueType)[];\n\nexport type FilterFunc<OptionType> = (inputValue: string, option?: OptionType) => boolean;\n\nexport interface FieldNames {\n value?: string;\n label?: string;\n groupLabel?: string;\n options?: string;\n}\n\nexport interface BaseOptionType {\n disabled?: boolean;\n [name: string]: any;\n}\n\nexport interface DefaultOptionType extends BaseOptionType {\n label: React.ReactNode;\n value?: string | number | null;\n children?: Omit<DefaultOptionType, 'children'>[];\n}\n\nexport type SelectHandler<ValueType, OptionType extends BaseOptionType = DefaultOptionType> = (\n value: ValueType,\n option: OptionType,\n) => void;\n\ntype ArrayElementType<T> = T extends (infer E)[] ? E : T;\n\nexport interface SelectProps<ValueType = any, OptionType extends BaseOptionType = DefaultOptionType>\n extends BaseSelectPropsWithoutPrivate {\n prefixCls?: string;\n id?: string;\n\n backfill?: boolean;\n\n // >>> Field Names\n fieldNames?: FieldNames;\n\n // >>> Search\n /** @deprecated Use `searchValue` instead */\n inputValue?: string;\n searchValue?: string;\n onSearch?: (value: string) => void;\n autoClearSearchValue?: boolean;\n\n // >>> Select\n onSelect?: SelectHandler<ArrayElementType<ValueType>, OptionType>;\n onDeselect?: SelectHandler<ArrayElementType<ValueType>, OptionType>;\n\n // >>> Options\n /**\n * In Select, `false` means do nothing.\n * In TreeSelect, `false` will highlight match item.\n * It's by design.\n */\n filterOption?: boolean | FilterFunc<OptionType>;\n filterSort?: (optionA: OptionType, optionB: OptionType) => number;\n optionFilterProp?: string;\n optionLabelProp?: string;\n children?: React.ReactNode;\n options?: OptionType[];\n optionRender?: (\n oriOption: FlattenOptionData<BaseOptionType>,\n info: { index: number },\n ) => React.ReactNode;\n defaultActiveFirstOption?: boolean;\n virtual?: boolean;\n direction?: 'ltr' | 'rtl';\n listHeight?: number;\n listItemHeight?: number;\n\n // >>> Icon\n menuItemSelectedIcon?: RenderNode;\n\n mode?: 'combobox' | 'multiple' | 'tags';\n labelInValue?: boolean;\n value?: ValueType | null;\n defaultValue?: ValueType | null;\n onChange?: (value: ValueType, option: OptionType | OptionType[]) => void;\n}\n\nfunction isRawValue(value: DraftValueType): value is RawValueType {\n return !value || typeof value !== 'object';\n}\n\nconst Select = React.forwardRef(\n (props: SelectProps<any, DefaultOptionType>, ref: React.Ref<BaseSelectRef>) => {\n const {\n id,\n mode,\n prefixCls = 'rc-select',\n backfill,\n fieldNames,\n\n // Search\n inputValue,\n searchValue,\n onSearch,\n autoClearSearchValue = true,\n\n // Select\n onSelect,\n onDeselect,\n dropdownMatchSelectWidth = true,\n\n // Options\n filterOption,\n filterSort,\n optionFilterProp,\n optionLabelProp,\n options,\n optionRender,\n children,\n defaultActiveFirstOption,\n menuItemSelectedIcon,\n virtual,\n direction,\n listHeight = 200,\n listItemHeight = 20,\n\n // Value\n value,\n defaultValue,\n labelInValue,\n onChange,\n\n ...restProps\n } = props;\n\n const mergedId = useId(id);\n const multiple = isMultiple(mode);\n const childrenAsData = !!(!options && children);\n\n const mergedFilterOption = React.useMemo(() => {\n if (filterOption === undefined && mode === 'combobox') {\n return false;\n }\n return filterOption;\n }, [filterOption, mode]);\n\n // ========================= FieldNames =========================\n const mergedFieldNames = React.useMemo(\n () => fillFieldNames(fieldNames, childrenAsData),\n /* eslint-disable react-hooks/exhaustive-deps */\n [\n // We stringify fieldNames to avoid unnecessary re-renders.\n JSON.stringify(fieldNames),\n childrenAsData,\n ],\n /* eslint-enable react-hooks/exhaustive-deps */\n );\n\n // =========================== Search ===========================\n const [mergedSearchValue, setSearchValue] = useMergedState('', {\n value: searchValue !== undefined ? searchValue : inputValue,\n postState: (search) => search || '',\n });\n\n // =========================== Option ===========================\n const parsedOptions = useOptions(\n options,\n children,\n mergedFieldNames,\n optionFilterProp,\n optionLabelProp,\n );\n const { valueOptions, labelOptions, options: mergedOptions } = parsedOptions;\n\n // ========================= Wrap Value =========================\n const convert2LabelValues = React.useCallback(\n (draftValues: DraftValueType) => {\n // Convert to array\n const valueList = toArray(draftValues);\n\n // Convert to labelInValue type\n return valueList.map((val) => {\n let rawValue: RawValueType;\n let rawLabel: React.ReactNode;\n let rawKey: React.Key;\n let rawDisabled: boolean | undefined;\n let rawTitle: string;\n\n // Fill label & value\n if (isRawValue(val)) {\n rawValue = val;\n } else {\n rawKey = val.key;\n rawLabel = val.label;\n rawValue = val.value ?? rawKey;\n }\n\n const option = valueOptions.get(rawValue);\n if (option) {\n // Fill missing props\n if (rawLabel === undefined)\n rawLabel = option?.[optionLabelProp || mergedFieldNames.label];\n if (rawKey === undefined) rawKey = option?.key ?? rawValue;\n rawDisabled = option?.disabled;\n rawTitle = option?.title;\n\n // Warning if label not same as provided\n if (process.env.NODE_ENV !== 'production' && !optionLabelProp) {\n const optionLabel = option?.[mergedFieldNames.label];\n if (\n optionLabel !== undefined &&\n !React.isValidElement(optionLabel) &&\n !React.isValidElement(rawLabel) &&\n optionLabel !== rawLabel\n ) {\n warning(false, '`label` of `value` is not same as `label` in Select options.');\n }\n }\n }\n\n return {\n label: rawLabel,\n value: rawValue,\n key: rawKey,\n disabled: rawDisabled,\n title: rawTitle,\n };\n });\n },\n [mergedFieldNames, optionLabelProp, valueOptions],\n );\n\n // =========================== Values ===========================\n const [internalValue, setInternalValue] = useMergedState(defaultValue, {\n value,\n });\n\n // Merged value with LabelValueType\n const rawLabeledValues = React.useMemo(() => {\n const values = convert2LabelValues(internalValue);\n\n // combobox no need save value when it's no value (exclude value equal 0)\n if (mode === 'combobox' && isComboNoValue(values[0]?.value)) {\n return [];\n }\n\n return values;\n }, [internalValue, convert2LabelValues, mode]);\n\n // Fill label with cache to avoid option remove\n const [mergedValues, getMixedOption] = useCache(rawLabeledValues, valueOptions);\n\n const displayValues = React.useMemo(() => {\n // `null` need show as placeholder instead\n // https://github.com/ant-design/ant-design/issues/25057\n if (!mode && mergedValues.length === 1) {\n const firstValue = mergedValues[0];\n if (\n firstValue.value === null &&\n (firstValue.label === null || firstValue.label === undefined)\n ) {\n return [];\n }\n }\n\n return mergedValues.map((item) => ({\n ...item,\n label: item.label ?? item.value,\n }));\n }, [mode, mergedValues]);\n\n /** Convert `displayValues` to raw value type set */\n const rawValues = React.useMemo(\n () => new Set(mergedValues.map((val) => val.value)),\n [mergedValues],\n );\n\n React.useEffect(() => {\n if (mode === 'combobox') {\n const strValue = mergedValues[0]?.value;\n setSearchValue(hasValue(strValue) ? String(strValue) : '');\n }\n }, [mergedValues]);\n\n // ======================= Display Option =======================\n // Create a placeholder item if not exist in `options`\n const createTagOption = useRefFunc((val: RawValueType, label?: React.ReactNode) => {\n const mergedLabel = label ?? val;\n return {\n [mergedFieldNames.value]: val,\n [mergedFieldNames.label]: mergedLabel,\n } as DefaultOptionType;\n });\n\n // Fill tag as option if mode is `tags`\n const filledTagOptions = React.useMemo(() => {\n if (mode !== 'tags') {\n return mergedOptions;\n }\n\n // >>> Tag mode\n const cloneOptions = [...mergedOptions];\n\n // Check if value exist in options (include new patch item)\n const existOptions = (val: RawValueType) => valueOptions.has(val);\n\n // Fill current value as option\n [...mergedValues]\n .sort((a, b) => (a.value < b.value ? -1 : 1))\n .forEach((item) => {\n const val = item.value;\n\n if (!existOptions(val)) {\n cloneOptions.push(createTagOption(val, item.label));\n }\n });\n\n return cloneOptions;\n }, [createTagOption, mergedOptions, valueOptions, mergedValues, mode]);\n\n const filteredOptions = useFilterOptions(\n filledTagOptions,\n mergedFieldNames,\n mergedSearchValue,\n mergedFilterOption,\n optionFilterProp,\n );\n\n // Fill options with search value if needed\n const filledSearchOptions = React.useMemo(() => {\n if (\n mode !== 'tags' ||\n !mergedSearchValue ||\n filteredOptions.some((item) => item[optionFilterProp || 'value'] === mergedSearchValue)\n ) {\n return filteredOptions;\n }\n // ignore when search value equal select input value\n if (filteredOptions.some((item) => item[mergedFieldNames.value] === mergedSearchValue)) {\n return filteredOptions;\n }\n // Fill search value as option\n return [createTagOption(mergedSearchValue), ...filteredOptions];\n }, [\n createTagOption,\n optionFilterProp,\n mode,\n filteredOptions,\n mergedSearchValue,\n mergedFieldNames,\n ]);\n\n const orderedFilteredOptions = React.useMemo(() => {\n if (!filterSort) {\n return filledSearchOptions;\n }\n\n return [...filledSearchOptions].sort((a, b) => filterSort(a, b));\n }, [filledSearchOptions, filterSort]);\n\n const displayOptions = React.useMemo(\n () =>\n flattenOptions(orderedFilteredOptions, {\n fieldNames: mergedFieldNames,\n childrenAsData,\n }),\n [orderedFilteredOptions, mergedFieldNames, childrenAsData],\n );\n\n // =========================== Change ===========================\n const triggerChange = (values: DraftValueType) => {\n const labeledValues = convert2LabelValues(values);\n setInternalValue(labeledValues);\n\n if (\n onChange &&\n // Trigger event only when value changed\n (labeledValues.length !== mergedValues.length ||\n labeledValues.some((newVal, index) => mergedValues[index]?.value !== newVal?.value))\n ) {\n const returnValues = labelInValue ? labeledValues : labeledValues.map((v) => v.value);\n const returnOptions = labeledValues.map((v) =>\n injectPropsWithOption(getMixedOption(v.value)),\n );\n\n onChange(\n // Value\n multiple ? returnValues : returnValues[0],\n // Option\n multiple ? returnOptions : returnOptions[0],\n );\n }\n };\n\n // ======================= Accessibility ========================\n const [activeValue, setActiveValue] = React.useState<string>(null);\n const [accessibilityIndex, setAccessibilityIndex] = React.useState(0);\n const mergedDefaultActiveFirstOption =\n defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';\n\n const onActiveValue: OnActiveValue = React.useCallback(\n (active, index, { source = 'keyboard' } = {}) => {\n setAccessibilityIndex(index);\n\n if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {\n setActiveValue(String(active));\n }\n },\n [backfill, mode],\n );\n\n // ========================= OptionList =========================\n const triggerSelect = (val: RawValueType, selected: boolean, type?: DisplayInfoType) => {\n const getSelectEnt = (): [RawValueType | LabelInValueType, DefaultOptionType] => {\n const option = getMixedOption(val);\n return [\n labelInValue\n ? {\n label: option?.[mergedFieldNames.label],\n value: val,\n key: option?.key ?? val,\n }\n : val,\n injectPropsWithOption(option),\n ];\n };\n\n if (selected && onSelect) {\n const [wrappedValue, option] = getSelectEnt();\n onSelect(wrappedValue, option);\n } else if (!selected && onDeselect && type !== 'clear') {\n const [wrappedValue, option] = getSelectEnt();\n onDeselect(wrappedValue, option);\n }\n };\n\n // Used for OptionList selection\n const onInternalSelect = useRefFunc<OnInternalSelect>((val, info) => {\n let cloneValues: (RawValueType | DisplayValueType)[];\n\n // Single mode always trigger select only with option list\n const mergedSelect = multiple ? info.selected : true;\n\n if (mergedSelect) {\n cloneValues = multiple ? [...mergedValues, val] : [val];\n } else {\n cloneValues = mergedValues.filter((v) => v.value !== val);\n }\n\n triggerChange(cloneValues);\n triggerSelect(val, mergedSelect);\n\n // Clean search value if single or configured\n if (mode === 'combobox') {\n // setSearchValue(String(val));\n setActiveValue('');\n } else if (!isMultiple || autoClearSearchValue) {\n setSearchValue('');\n setActiveValue('');\n }\n });\n\n // ======================= Display Change =======================\n // BaseSelect display values change\n const onDisplayValuesChange: BaseSelectProps['onDisplayValuesChange'] = (nextValues, info) => {\n triggerChange(nextValues);\n const { type, values } = info;\n\n if (type === 'remove' || type === 'clear') {\n values.forEach((item) => {\n triggerSelect(item.value, false, type);\n });\n }\n };\n\n // =========================== Search ===========================\n const onInternalSearch: BaseSelectProps['onSearch'] = (searchText, info) => {\n setSearchValue(searchText);\n setActiveValue(null);\n\n // [Submit] Tag mode should flush input\n if (info.source === 'submit') {\n const formatted = (searchText || '').trim();\n // prevent empty tags from appearing when you click the Enter button\n if (formatted) {\n const newRawValues = Array.from(new Set<RawValueType>([...rawValues, formatted]));\n triggerChange(newRawValues);\n triggerSelect(formatted, true);\n setSearchValue('');\n }\n\n return;\n }\n\n if (info.source !== 'blur') {\n if (mode === 'combobox') {\n triggerChange(searchText);\n }\n\n onSearch?.(searchText);\n }\n };\n\n const onInternalSearchSplit: BaseSelectProps['onSearchSplit'] = (words) => {\n let patchValues: RawValueType[] = words;\n\n if (mode !== 'tags') {\n patchValues = words\n .map((word) => {\n const opt = labelOptions.get(word);\n return opt?.value;\n })\n .filter((val) => val !== undefined);\n }\n\n const newRawValues = Array.from(new Set<RawValueType>([...rawValues, ...patchValues]));\n triggerChange(newRawValues);\n newRawValues.forEach((newRawValue) => {\n triggerSelect(newRawValue, true);\n });\n };\n\n // ========================== Context ===========================\n const selectContext = React.useMemo(() => {\n const realVirtual = virtual !== false && dropdownMatchSelectWidth !== false;\n return {\n ...parsedOptions,\n flattenOptions: displayOptions,\n onActiveValue,\n defaultActiveFirstOption: mergedDefaultActiveFirstOption,\n onSelect: onInternalSelect,\n menuItemSelectedIcon,\n rawValues,\n fieldNames: mergedFieldNames,\n virtual: realVirtual,\n direction,\n listHeight,\n listItemHeight,\n childrenAsData,\n optionRender,\n };\n }, [\n parsedOptions,\n displayOptions,\n onActiveValue,\n mergedDefaultActiveFirstOption,\n onInternalSelect,\n menuItemSelectedIcon,\n rawValues,\n mergedFieldNames,\n virtual,\n dropdownMatchSelectWidth,\n listHeight,\n listItemHeight,\n childrenAsData,\n optionRender,\n ]);\n\n // ========================== Warning ===========================\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props);\n warningNullOptions(mergedOptions, mergedFieldNames);\n }\n\n // ==============================================================\n // == Render ==\n // ==============================================================\n return (\n <SelectContext.Provider value={selectContext}>\n <BaseSelect\n {...restProps}\n // >>> MISC\n id={mergedId}\n prefixCls={prefixCls}\n ref={ref}\n omitDomProps={OMIT_DOM_PROPS}\n mode={mode}\n // >>> Values\n displayValues={displayValues}\n onDisplayValuesChange={onDisplayValuesChange}\n // >>> Trigger\n direction={direction}\n // >>> Search\n searchValue={mergedSearchValue}\n onSearch={onInternalSearch}\n autoClearSearchValue={autoClearSearchValue}\n onSearchSplit={onInternalSearchSplit}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n // >>> OptionList\n OptionList={OptionList}\n emptyOptions={!displayOptions.length}\n // >>> Accessibility\n activeValue={activeValue}\n activeDescendantId={`${mergedId}_list_${accessibilityIndex}`}\n />\n </SelectContext.Provider>\n );\n },\n);\n\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\n\nconst TypedSelect = Select as unknown as (<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType,\n>(\n props: React.PropsWithChildren<SelectProps<ValueType, OptionType>> & {\n ref?: React.Ref<BaseSelectRef>;\n },\n) => React.ReactElement) & {\n Option: typeof Option;\n OptGroup: typeof OptGroup;\n};\n\nTypedSelect.Option = Option;\nTypedSelect.OptGroup = OptGroup;\n\nexport default TypedSelect;\n"]}
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import type { RawValueType, RenderNode } from './BaseSelect';
3
+ import type { BaseOptionType, FieldNames, OnActiveValue, OnInternalSelect, SelectProps } from './Select';
4
+ import type { FlattenOptionData } from './interface';
5
+ export interface SelectContextProps {
6
+ options: BaseOptionType[];
7
+ optionRender?: SelectProps['optionRender'];
8
+ flattenOptions: FlattenOptionData<BaseOptionType>[];
9
+ onActiveValue: OnActiveValue;
10
+ defaultActiveFirstOption?: boolean;
11
+ onSelect: OnInternalSelect;
12
+ menuItemSelectedIcon?: RenderNode;
13
+ rawValues: Set<RawValueType>;
14
+ fieldNames?: FieldNames;
15
+ virtual?: boolean;
16
+ direction?: 'ltr' | 'rtl';
17
+ listHeight?: number;
18
+ listItemHeight?: number;
19
+ childrenAsData?: boolean;
20
+ }
21
+ declare const SelectContext: React.Context<SelectContextProps>;
22
+ export default SelectContext;
23
+ //# sourceMappingURL=SelectContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectContext.d.ts","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/SelectContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC3C,cAAc,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC;IACpD,aAAa,EAAE,aAAa,CAAC;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,QAAA,MAAM,aAAa,mCAAgD,CAAC;AAEpE,eAAe,aAAa,CAAC"}
@@ -0,0 +1,29 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const React = __importStar(require("react"));
27
+ const SelectContext = React.createContext(null);
28
+ exports.default = SelectContext;
29
+ //# sourceMappingURL=SelectContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectContext.js","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/SelectContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AA6B/B,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAqB,IAAI,CAAC,CAAC;AAEpE,kBAAe,aAAa,CAAC","sourcesContent":["import * as React from 'react';\nimport type { RawValueType, RenderNode } from './BaseSelect';\nimport type {\n BaseOptionType,\n FieldNames,\n OnActiveValue,\n OnInternalSelect,\n SelectProps,\n} from './Select';\nimport type { FlattenOptionData } from './interface';\n\n// Use any here since we do not get the type during compilation\nexport interface SelectContextProps {\n options: BaseOptionType[];\n optionRender?: SelectProps['optionRender'];\n flattenOptions: FlattenOptionData<BaseOptionType>[];\n onActiveValue: OnActiveValue;\n defaultActiveFirstOption?: boolean;\n onSelect: OnInternalSelect;\n menuItemSelectedIcon?: RenderNode;\n rawValues: Set<RawValueType>;\n fieldNames?: FieldNames;\n virtual?: boolean;\n direction?: 'ltr' | 'rtl';\n listHeight?: number;\n listItemHeight?: number;\n childrenAsData?: boolean;\n}\n\nconst SelectContext = React.createContext<SelectContextProps>(null);\n\nexport default SelectContext;\n"]}
@@ -0,0 +1,31 @@
1
+ import type { AlignType, BuildInPlacements } from '@rc-component/trigger/lib/interface';
2
+ import * as React from 'react';
3
+ import type { Placement, RenderDOMFunc } from './BaseSelect';
4
+ export interface RefTriggerProps {
5
+ getPopupElement: () => HTMLDivElement;
6
+ }
7
+ export interface SelectTriggerProps {
8
+ prefixCls: string;
9
+ children: React.ReactElement;
10
+ disabled: boolean;
11
+ visible: boolean;
12
+ popupElement: React.ReactElement;
13
+ animation?: string;
14
+ transitionName?: string;
15
+ placement?: Placement;
16
+ builtinPlacements?: BuildInPlacements;
17
+ dropdownStyle: React.CSSProperties;
18
+ dropdownClassName: string;
19
+ direction: string;
20
+ dropdownMatchSelectWidth?: boolean | number;
21
+ dropdownRender?: (menu: React.ReactElement) => React.ReactElement;
22
+ getPopupContainer?: RenderDOMFunc;
23
+ dropdownAlign: AlignType;
24
+ empty: boolean;
25
+ getTriggerDOMNode: () => HTMLElement;
26
+ onPopupVisibleChange?: (visible: boolean) => void;
27
+ onPopupMouseEnter: () => void;
28
+ }
29
+ declare const RefSelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<RefTriggerProps>>;
30
+ export default RefSelectTrigger;
31
+ //# sourceMappingURL=SelectTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTrigger.d.ts","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/SelectTrigger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA+C7D,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,cAAc,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;IAEjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC;IAClE,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,aAAa,EAAE,SAAS,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IAEf,iBAAiB,EAAE,MAAM,WAAW,CAAC;IACrC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAElD,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAsGD,QAAA,MAAM,gBAAgB,4FAAuE,CAAC;AAG9F,eAAe,gBAAgB,CAAC"}