tntd 2.7.23 → 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 (370) hide show
  1. package/es/index.js +1 -0
  2. package/es/index.js.map +1 -1
  3. package/es/locale/en_US.js +5 -2
  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/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +1 -1
  8. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  9. package/es/tntd-rc-select/_util/DisabledContext.js +8 -0
  10. package/es/tntd-rc-select/_util/DisabledContext.js.map +1 -0
  11. package/es/tntd-rc-select/_util/FormItemInputContext.js +3 -0
  12. package/es/tntd-rc-select/_util/FormItemInputContext.js.map +1 -0
  13. package/es/tntd-rc-select/_util/PurePanel.js +55 -0
  14. package/es/tntd-rc-select/_util/PurePanel.js.map +1 -0
  15. package/es/tntd-rc-select/_util/SizeContext.js +3 -0
  16. package/es/tntd-rc-select/_util/SizeContext.js.map +1 -0
  17. package/es/tntd-rc-select/_util/context.js +14 -0
  18. package/es/tntd-rc-select/_util/context.js.map +1 -0
  19. package/es/tntd-rc-select/_util/defaultRenderEmpty.js +20 -0
  20. package/es/tntd-rc-select/_util/defaultRenderEmpty.js.map +1 -0
  21. package/es/tntd-rc-select/_util/getIcons.js +52 -0
  22. package/es/tntd-rc-select/_util/getIcons.js.map +1 -0
  23. package/es/tntd-rc-select/_util/interface.js +5 -0
  24. package/es/tntd-rc-select/_util/interface.js.map +1 -0
  25. package/es/tntd-rc-select/_util/motion.js +38 -0
  26. package/es/tntd-rc-select/_util/motion.js.map +1 -0
  27. package/es/tntd-rc-select/_util/type.js +4 -0
  28. package/es/tntd-rc-select/_util/type.js.map +1 -0
  29. package/es/tntd-rc-select/_util/useCompactItemContext.js +24 -0
  30. package/es/tntd-rc-select/_util/useCompactItemContext.js.map +1 -0
  31. package/es/tntd-rc-select/_util/warning.js +15 -0
  32. package/es/tntd-rc-select/_util/warning.js.map +1 -0
  33. package/es/tntd-rc-select/img/no-data-s.png +0 -0
  34. package/es/tntd-rc-select/index.js +103 -0
  35. package/es/tntd-rc-select/index.js.map +1 -0
  36. package/es/tntd-rc-select/style/index.less +1657 -0
  37. package/es/tntd-select/_util/DisabledContext.js +8 -0
  38. package/es/tntd-select/_util/DisabledContext.js.map +1 -0
  39. package/es/tntd-select/_util/FormItemInputContext.js +3 -0
  40. package/es/tntd-select/_util/FormItemInputContext.js.map +1 -0
  41. package/es/tntd-select/_util/PurePanel.js +4 -17
  42. package/es/tntd-select/_util/PurePanel.js.map +1 -1
  43. package/es/tntd-select/_util/SizeContext.js +3 -0
  44. package/es/tntd-select/_util/SizeContext.js.map +1 -0
  45. package/es/tntd-select/_util/context.js +14 -0
  46. package/es/tntd-select/_util/context.js.map +1 -0
  47. package/es/tntd-select/_util/defaultRenderEmpty.js +20 -0
  48. package/es/tntd-select/_util/defaultRenderEmpty.js.map +1 -0
  49. package/es/tntd-select/_util/getIcons.js +52 -0
  50. package/es/tntd-select/_util/getIcons.js.map +1 -0
  51. package/es/tntd-select/_util/interface.js +5 -0
  52. package/es/tntd-select/_util/interface.js.map +1 -0
  53. package/es/tntd-select/_util/motion.js +15 -8
  54. package/es/tntd-select/_util/motion.js.map +1 -1
  55. package/es/tntd-select/_util/type.js +4 -0
  56. package/es/tntd-select/_util/type.js.map +1 -0
  57. package/es/tntd-select/_util/useCompactItemContext.js +24 -0
  58. package/es/tntd-select/_util/useCompactItemContext.js.map +1 -0
  59. package/es/tntd-select/_util/warning.js +14 -5
  60. package/es/tntd-select/_util/warning.js.map +1 -1
  61. package/es/tntd-select/index.js +7 -1
  62. package/es/tntd-select/index.js.map +1 -1
  63. package/es/tntd-select/rc-select/BaseSelect.js +429 -0
  64. package/es/tntd-select/rc-select/BaseSelect.js.map +1 -0
  65. package/es/tntd-select/rc-select/OptGroup.js +5 -0
  66. package/es/tntd-select/rc-select/OptGroup.js.map +1 -0
  67. package/es/tntd-select/rc-select/Option.js +5 -0
  68. package/es/tntd-select/rc-select/Option.js.map +1 -0
  69. package/es/tntd-select/rc-select/OptionList.js +257 -0
  70. package/es/tntd-select/rc-select/OptionList.js.map +1 -0
  71. package/es/tntd-select/rc-select/Select.js +428 -0
  72. package/es/tntd-select/rc-select/Select.js.map +1 -0
  73. package/es/tntd-select/rc-select/SelectContext.js +4 -0
  74. package/es/tntd-select/rc-select/SelectContext.js.map +1 -0
  75. package/es/tntd-select/rc-select/SelectTrigger.js +91 -0
  76. package/es/tntd-select/rc-select/SelectTrigger.js.map +1 -0
  77. package/es/tntd-select/rc-select/Selector/Input.js +47 -0
  78. package/es/tntd-select/rc-select/Selector/Input.js.map +1 -0
  79. package/es/tntd-select/rc-select/Selector/MultipleSelector.js +97 -0
  80. package/es/tntd-select/rc-select/Selector/MultipleSelector.js.map +1 -0
  81. package/es/tntd-select/rc-select/Selector/SingleSelector.js +45 -0
  82. package/es/tntd-select/rc-select/Selector/SingleSelector.js.map +1 -0
  83. package/es/tntd-select/rc-select/Selector/index.js +136 -0
  84. package/es/tntd-select/rc-select/Selector/index.js.map +1 -0
  85. package/es/tntd-select/rc-select/TransBtn.js +22 -0
  86. package/es/tntd-select/rc-select/TransBtn.js.map +1 -0
  87. package/es/tntd-select/rc-select/hooks/useAllowClear.js +25 -0
  88. package/es/tntd-select/rc-select/hooks/useAllowClear.js.map +1 -0
  89. package/es/tntd-select/rc-select/hooks/useBaseProps.js +10 -0
  90. package/es/tntd-select/rc-select/hooks/useBaseProps.js.map +1 -0
  91. package/es/tntd-select/rc-select/hooks/useCache.js +34 -0
  92. package/es/tntd-select/rc-select/hooks/useCache.js.map +1 -0
  93. package/es/tntd-select/rc-select/hooks/useDelayReset.js +24 -0
  94. package/es/tntd-select/rc-select/hooks/useDelayReset.js.map +1 -0
  95. package/es/tntd-select/rc-select/hooks/useFilterOptions.js +55 -0
  96. package/es/tntd-select/rc-select/hooks/useFilterOptions.js.map +1 -0
  97. package/es/tntd-select/rc-select/hooks/useId.js +28 -0
  98. package/es/tntd-select/rc-select/hooks/useId.js.map +1 -0
  99. package/es/tntd-select/rc-select/hooks/useLayoutEffect.js +18 -0
  100. package/es/tntd-select/rc-select/hooks/useLayoutEffect.js.map +1 -0
  101. package/es/tntd-select/rc-select/hooks/useLock.js +26 -0
  102. package/es/tntd-select/rc-select/hooks/useLock.js.map +1 -0
  103. package/es/tntd-select/rc-select/hooks/useOptions.js +45 -0
  104. package/es/tntd-select/rc-select/hooks/useOptions.js.map +1 -0
  105. package/es/tntd-select/rc-select/hooks/useRefFunc.js +14 -0
  106. package/es/tntd-select/rc-select/hooks/useRefFunc.js.map +1 -0
  107. package/es/tntd-select/rc-select/hooks/useSelectTriggerControl.js +32 -0
  108. package/es/tntd-select/rc-select/hooks/useSelectTriggerControl.js.map +1 -0
  109. package/es/tntd-select/rc-select/index.js +8 -0
  110. package/es/tntd-select/rc-select/index.js.map +1 -0
  111. package/es/tntd-select/rc-select/interface.js +2 -0
  112. package/es/tntd-select/rc-select/interface.js.map +1 -0
  113. package/es/tntd-select/rc-select/utils/commonUtil.js +32 -0
  114. package/es/tntd-select/rc-select/utils/commonUtil.js.map +1 -0
  115. package/es/tntd-select/rc-select/utils/keyUtil.js +34 -0
  116. package/es/tntd-select/rc-select/utils/keyUtil.js.map +1 -0
  117. package/es/tntd-select/rc-select/utils/legacyUtil.js +32 -0
  118. package/es/tntd-select/rc-select/utils/legacyUtil.js.map +1 -0
  119. package/es/tntd-select/rc-select/utils/platformUtil.js +5 -0
  120. package/es/tntd-select/rc-select/utils/platformUtil.js.map +1 -0
  121. package/es/tntd-select/rc-select/utils/valueUtil.js +99 -0
  122. package/es/tntd-select/rc-select/utils/valueUtil.js.map +1 -0
  123. package/es/tntd-select/rc-select/utils/warningPropsUtil.js +100 -0
  124. package/es/tntd-select/rc-select/utils/warningPropsUtil.js.map +1 -0
  125. package/lib/index.d.ts +1 -0
  126. package/lib/index.d.ts.map +1 -1
  127. package/lib/index.js +3 -1
  128. package/lib/index.js.map +1 -1
  129. package/lib/locale/default.d.ts +4 -1
  130. package/lib/locale/default.d.ts.map +1 -1
  131. package/lib/locale/en_US.d.ts +4 -1
  132. package/lib/locale/en_US.d.ts.map +1 -1
  133. package/lib/locale/en_US.js +5 -2
  134. package/lib/locale/en_US.js.map +1 -1
  135. package/lib/locale/zh_CN.d.ts +4 -1
  136. package/lib/locale/zh_CN.d.ts.map +1 -1
  137. package/lib/locale/zh_CN.js +4 -1
  138. package/lib/locale/zh_CN.js.map +1 -1
  139. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +1 -1
  140. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  141. package/lib/tntd-rc-select/_util/DisabledContext.d.ts +10 -0
  142. package/lib/tntd-rc-select/_util/DisabledContext.d.ts.map +1 -0
  143. package/lib/tntd-rc-select/_util/DisabledContext.js +35 -0
  144. package/lib/tntd-rc-select/_util/DisabledContext.js.map +1 -0
  145. package/lib/tntd-rc-select/_util/FormItemInputContext.d.ts +4 -0
  146. package/lib/tntd-rc-select/_util/FormItemInputContext.d.ts.map +1 -0
  147. package/lib/tntd-rc-select/_util/FormItemInputContext.js +29 -0
  148. package/lib/tntd-rc-select/_util/FormItemInputContext.js.map +1 -0
  149. package/lib/tntd-rc-select/_util/PurePanel.d.ts +9 -0
  150. package/lib/tntd-rc-select/_util/PurePanel.d.ts.map +1 -0
  151. package/lib/tntd-rc-select/_util/PurePanel.js +84 -0
  152. package/lib/tntd-rc-select/_util/PurePanel.js.map +1 -0
  153. package/lib/tntd-rc-select/_util/SizeContext.d.ts +4 -0
  154. package/lib/tntd-rc-select/_util/SizeContext.d.ts.map +1 -0
  155. package/lib/tntd-rc-select/_util/SizeContext.js +29 -0
  156. package/lib/tntd-rc-select/_util/SizeContext.js.map +1 -0
  157. package/lib/tntd-rc-select/_util/context.d.ts +42 -0
  158. package/lib/tntd-rc-select/_util/context.d.ts.map +1 -0
  159. package/lib/tntd-rc-select/_util/context.js +20 -0
  160. package/lib/tntd-rc-select/_util/context.js.map +1 -0
  161. package/lib/tntd-rc-select/_util/defaultRenderEmpty.d.ts +5 -0
  162. package/lib/tntd-rc-select/_util/defaultRenderEmpty.d.ts.map +1 -0
  163. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js +48 -0
  164. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js.map +1 -0
  165. package/lib/tntd-rc-select/_util/getIcons.d.ts +25 -0
  166. package/lib/tntd-rc-select/_util/getIcons.d.ts.map +1 -0
  167. package/lib/tntd-rc-select/_util/getIcons.js +78 -0
  168. package/lib/tntd-rc-select/_util/getIcons.js.map +1 -0
  169. package/lib/tntd-rc-select/_util/interface.d.ts +25 -0
  170. package/lib/tntd-rc-select/_util/interface.d.ts.map +1 -0
  171. package/lib/tntd-rc-select/_util/interface.js +9 -0
  172. package/lib/tntd-rc-select/_util/interface.js.map +1 -0
  173. package/lib/tntd-rc-select/_util/motion.d.ts +9 -0
  174. package/lib/tntd-rc-select/_util/motion.d.ts.map +1 -0
  175. package/lib/tntd-rc-select/_util/motion.js +42 -0
  176. package/lib/tntd-rc-select/_util/motion.js.map +1 -0
  177. package/lib/tntd-rc-select/_util/type.d.ts +10 -0
  178. package/lib/tntd-rc-select/_util/type.d.ts.map +1 -0
  179. package/lib/tntd-rc-select/_util/type.js +9 -0
  180. package/lib/tntd-rc-select/_util/type.js.map +1 -0
  181. package/lib/tntd-rc-select/_util/useCompactItemContext.d.ts +9 -0
  182. package/lib/tntd-rc-select/_util/useCompactItemContext.d.ts.map +1 -0
  183. package/lib/tntd-rc-select/_util/useCompactItemContext.js +54 -0
  184. package/lib/tntd-rc-select/_util/useCompactItemContext.js.map +1 -0
  185. package/lib/tntd-rc-select/_util/warning.d.ts +4 -0
  186. package/lib/tntd-rc-select/_util/warning.d.ts.map +1 -0
  187. package/lib/tntd-rc-select/_util/warning.js +40 -0
  188. package/lib/tntd-rc-select/_util/warning.js.map +1 -0
  189. package/lib/tntd-rc-select/img/no-data-s.png +0 -0
  190. package/lib/tntd-rc-select/index.d.ts +44 -0
  191. package/lib/tntd-rc-select/index.d.ts.map +1 -0
  192. package/lib/tntd-rc-select/index.js +131 -0
  193. package/lib/tntd-rc-select/index.js.map +1 -0
  194. package/lib/tntd-rc-select/style/index.less +1657 -0
  195. package/lib/tntd-select/_util/DisabledContext.d.ts +10 -0
  196. package/lib/tntd-select/_util/DisabledContext.d.ts.map +1 -0
  197. package/lib/tntd-select/_util/DisabledContext.js +35 -0
  198. package/lib/tntd-select/_util/DisabledContext.js.map +1 -0
  199. package/lib/tntd-select/_util/FormItemInputContext.d.ts +4 -0
  200. package/lib/tntd-select/_util/FormItemInputContext.d.ts.map +1 -0
  201. package/lib/tntd-select/_util/FormItemInputContext.js +29 -0
  202. package/lib/tntd-select/_util/FormItemInputContext.js.map +1 -0
  203. package/lib/tntd-select/_util/PurePanel.d.ts +3 -2
  204. package/lib/tntd-select/_util/PurePanel.d.ts.map +1 -1
  205. package/lib/tntd-select/_util/PurePanel.js +4 -19
  206. package/lib/tntd-select/_util/PurePanel.js.map +1 -1
  207. package/lib/tntd-select/_util/SizeContext.d.ts +4 -0
  208. package/lib/tntd-select/_util/SizeContext.d.ts.map +1 -0
  209. package/lib/tntd-select/_util/SizeContext.js +29 -0
  210. package/lib/tntd-select/_util/SizeContext.js.map +1 -0
  211. package/lib/tntd-select/_util/context.d.ts +42 -0
  212. package/lib/tntd-select/_util/context.d.ts.map +1 -0
  213. package/lib/tntd-select/_util/context.js +20 -0
  214. package/lib/tntd-select/_util/context.js.map +1 -0
  215. package/lib/tntd-select/_util/defaultRenderEmpty.d.ts +5 -0
  216. package/lib/tntd-select/_util/defaultRenderEmpty.d.ts.map +1 -0
  217. package/lib/tntd-select/_util/defaultRenderEmpty.js +48 -0
  218. package/lib/tntd-select/_util/defaultRenderEmpty.js.map +1 -0
  219. package/lib/tntd-select/_util/getIcons.d.ts +25 -0
  220. package/lib/tntd-select/_util/getIcons.d.ts.map +1 -0
  221. package/lib/tntd-select/_util/getIcons.js +78 -0
  222. package/lib/tntd-select/_util/getIcons.js.map +1 -0
  223. package/lib/tntd-select/_util/interface.d.ts +25 -0
  224. package/lib/tntd-select/_util/interface.d.ts.map +1 -0
  225. package/lib/tntd-select/_util/interface.js +9 -0
  226. package/lib/tntd-select/_util/interface.js.map +1 -0
  227. package/lib/tntd-select/_util/motion.d.ts +5 -4
  228. package/lib/tntd-select/_util/motion.d.ts.map +1 -1
  229. package/lib/tntd-select/_util/motion.js +16 -8
  230. package/lib/tntd-select/_util/motion.js.map +1 -1
  231. package/lib/tntd-select/_util/type.d.ts +10 -0
  232. package/lib/tntd-select/_util/type.d.ts.map +1 -0
  233. package/lib/tntd-select/_util/type.js +9 -0
  234. package/lib/tntd-select/_util/type.js.map +1 -0
  235. package/lib/tntd-select/_util/useCompactItemContext.d.ts +9 -0
  236. package/lib/tntd-select/_util/useCompactItemContext.d.ts.map +1 -0
  237. package/lib/tntd-select/_util/useCompactItemContext.js +54 -0
  238. package/lib/tntd-select/_util/useCompactItemContext.js.map +1 -0
  239. package/lib/tntd-select/_util/warning.d.ts +3 -4
  240. package/lib/tntd-select/_util/warning.d.ts.map +1 -1
  241. package/lib/tntd-select/_util/warning.js +13 -5
  242. package/lib/tntd-select/_util/warning.js.map +1 -1
  243. package/lib/tntd-select/index.d.ts.map +1 -1
  244. package/lib/tntd-select/index.js +7 -1
  245. package/lib/tntd-select/index.js.map +1 -1
  246. package/lib/tntd-select/rc-select/BaseSelect.d.ts +114 -0
  247. package/lib/tntd-select/rc-select/BaseSelect.d.ts.map +1 -0
  248. package/lib/tntd-select/rc-select/BaseSelect.js +459 -0
  249. package/lib/tntd-select/rc-select/BaseSelect.js.map +1 -0
  250. package/lib/tntd-select/rc-select/OptGroup.d.ts +13 -0
  251. package/lib/tntd-select/rc-select/OptGroup.d.ts.map +1 -0
  252. package/lib/tntd-select/rc-select/OptGroup.js +7 -0
  253. package/lib/tntd-select/rc-select/OptGroup.js.map +1 -0
  254. package/lib/tntd-select/rc-select/Option.d.ts +15 -0
  255. package/lib/tntd-select/rc-select/Option.d.ts.map +1 -0
  256. package/lib/tntd-select/rc-select/Option.js +7 -0
  257. package/lib/tntd-select/rc-select/Option.js.map +1 -0
  258. package/lib/tntd-select/rc-select/OptionList.d.ts +11 -0
  259. package/lib/tntd-select/rc-select/OptionList.d.ts.map +1 -0
  260. package/lib/tntd-select/rc-select/OptionList.js +285 -0
  261. package/lib/tntd-select/rc-select/OptionList.js.map +1 -0
  262. package/lib/tntd-select/rc-select/Select.d.ts +115 -0
  263. package/lib/tntd-select/rc-select/Select.d.ts.map +1 -0
  264. package/lib/tntd-select/rc-select/Select.js +456 -0
  265. package/lib/tntd-select/rc-select/Select.js.map +1 -0
  266. package/lib/tntd-select/rc-select/SelectContext.d.ts +23 -0
  267. package/lib/tntd-select/rc-select/SelectContext.d.ts.map +1 -0
  268. package/lib/tntd-select/rc-select/SelectContext.js +29 -0
  269. package/lib/tntd-select/rc-select/SelectContext.js.map +1 -0
  270. package/lib/tntd-select/rc-select/SelectTrigger.d.ts +31 -0
  271. package/lib/tntd-select/rc-select/SelectTrigger.d.ts.map +1 -0
  272. package/lib/tntd-select/rc-select/SelectTrigger.js +119 -0
  273. package/lib/tntd-select/rc-select/SelectTrigger.js.map +1 -0
  274. package/lib/tntd-select/rc-select/Selector/Input.d.ts +27 -0
  275. package/lib/tntd-select/rc-select/Selector/Input.d.ts.map +1 -0
  276. package/lib/tntd-select/rc-select/Selector/Input.js +75 -0
  277. package/lib/tntd-select/rc-select/Selector/Input.js.map +1 -0
  278. package/lib/tntd-select/rc-select/Selector/MultipleSelector.d.ts +17 -0
  279. package/lib/tntd-select/rc-select/Selector/MultipleSelector.d.ts.map +1 -0
  280. package/lib/tntd-select/rc-select/Selector/MultipleSelector.js +125 -0
  281. package/lib/tntd-select/rc-select/Selector/MultipleSelector.js.map +1 -0
  282. package/lib/tntd-select/rc-select/Selector/SingleSelector.d.ts +9 -0
  283. package/lib/tntd-select/rc-select/Selector/SingleSelector.d.ts.map +1 -0
  284. package/lib/tntd-select/rc-select/Selector/SingleSelector.js +73 -0
  285. package/lib/tntd-select/rc-select/Selector/SingleSelector.js.map +1 -0
  286. package/lib/tntd-select/rc-select/Selector/index.d.ts +83 -0
  287. package/lib/tntd-select/rc-select/Selector/index.d.ts.map +1 -0
  288. package/lib/tntd-select/rc-select/Selector/index.js +164 -0
  289. package/lib/tntd-select/rc-select/Selector/index.js.map +1 -0
  290. package/lib/tntd-select/rc-select/TransBtn.d.ts +13 -0
  291. package/lib/tntd-select/rc-select/TransBtn.d.ts.map +1 -0
  292. package/lib/tntd-select/rc-select/TransBtn.js +50 -0
  293. package/lib/tntd-select/rc-select/TransBtn.js.map +1 -0
  294. package/lib/tntd-select/rc-select/hooks/useAllowClear.d.ts +9 -0
  295. package/lib/tntd-select/rc-select/hooks/useAllowClear.d.ts.map +1 -0
  296. package/lib/tntd-select/rc-select/hooks/useAllowClear.js +32 -0
  297. package/lib/tntd-select/rc-select/hooks/useAllowClear.js.map +1 -0
  298. package/lib/tntd-select/rc-select/hooks/useBaseProps.d.ts +14 -0
  299. package/lib/tntd-select/rc-select/hooks/useBaseProps.d.ts.map +1 -0
  300. package/lib/tntd-select/rc-select/hooks/useBaseProps.js +37 -0
  301. package/lib/tntd-select/rc-select/hooks/useBaseProps.js.map +1 -0
  302. package/lib/tntd-select/rc-select/hooks/useCache.d.ts +8 -0
  303. package/lib/tntd-select/rc-select/hooks/useCache.d.ts.map +1 -0
  304. package/lib/tntd-select/rc-select/hooks/useCache.js +59 -0
  305. package/lib/tntd-select/rc-select/hooks/useCache.js.map +1 -0
  306. package/lib/tntd-select/rc-select/hooks/useDelayReset.d.ts +6 -0
  307. package/lib/tntd-select/rc-select/hooks/useDelayReset.d.ts.map +1 -0
  308. package/lib/tntd-select/rc-select/hooks/useDelayReset.js +50 -0
  309. package/lib/tntd-select/rc-select/hooks/useDelayReset.js.map +1 -0
  310. package/lib/tntd-select/rc-select/hooks/useFilterOptions.d.ts +4 -0
  311. package/lib/tntd-select/rc-select/hooks/useFilterOptions.d.ts.map +1 -0
  312. package/lib/tntd-select/rc-select/hooks/useFilterOptions.js +80 -0
  313. package/lib/tntd-select/rc-select/hooks/useFilterOptions.js.map +1 -0
  314. package/lib/tntd-select/rc-select/hooks/useId.d.ts +6 -0
  315. package/lib/tntd-select/rc-select/hooks/useId.d.ts.map +1 -0
  316. package/lib/tntd-select/rc-select/hooks/useId.js +59 -0
  317. package/lib/tntd-select/rc-select/hooks/useId.js.map +1 -0
  318. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.d.ts +6 -0
  319. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.d.ts.map +1 -0
  320. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.js +44 -0
  321. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.js.map +1 -0
  322. package/lib/tntd-select/rc-select/hooks/useLock.d.ts +8 -0
  323. package/lib/tntd-select/rc-select/hooks/useLock.d.ts.map +1 -0
  324. package/lib/tntd-select/rc-select/hooks/useLock.js +52 -0
  325. package/lib/tntd-select/rc-select/hooks/useLock.js.map +1 -0
  326. package/lib/tntd-select/rc-select/hooks/useOptions.d.ts +12 -0
  327. package/lib/tntd-select/rc-select/hooks/useOptions.d.ts.map +1 -0
  328. package/lib/tntd-select/rc-select/hooks/useOptions.js +71 -0
  329. package/lib/tntd-select/rc-select/hooks/useOptions.js.map +1 -0
  330. package/lib/tntd-select/rc-select/hooks/useRefFunc.d.ts +6 -0
  331. package/lib/tntd-select/rc-select/hooks/useRefFunc.d.ts.map +1 -0
  332. package/lib/tntd-select/rc-select/hooks/useRefFunc.js +40 -0
  333. package/lib/tntd-select/rc-select/hooks/useRefFunc.js.map +1 -0
  334. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.d.ts +2 -0
  335. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.d.ts.map +1 -0
  336. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.js +58 -0
  337. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.js.map +1 -0
  338. package/lib/tntd-select/rc-select/index.d.ts +11 -0
  339. package/lib/tntd-select/rc-select/index.d.ts.map +1 -0
  340. package/lib/tntd-select/rc-select/index.js +17 -0
  341. package/lib/tntd-select/rc-select/index.js.map +1 -0
  342. package/lib/tntd-select/rc-select/interface.d.ts +23 -0
  343. package/lib/tntd-select/rc-select/interface.d.ts.map +1 -0
  344. package/lib/tntd-select/rc-select/interface.js +3 -0
  345. package/lib/tntd-select/rc-select/interface.js.map +1 -0
  346. package/lib/tntd-select/rc-select/utils/commonUtil.d.ts +10 -0
  347. package/lib/tntd-select/rc-select/utils/commonUtil.d.ts.map +1 -0
  348. package/lib/tntd-select/rc-select/utils/commonUtil.js +39 -0
  349. package/lib/tntd-select/rc-select/utils/commonUtil.js.map +1 -0
  350. package/lib/tntd-select/rc-select/utils/keyUtil.d.ts +3 -0
  351. package/lib/tntd-select/rc-select/utils/keyUtil.d.ts.map +1 -0
  352. package/lib/tntd-select/rc-select/utils/keyUtil.js +41 -0
  353. package/lib/tntd-select/rc-select/utils/keyUtil.js.map +1 -0
  354. package/lib/tntd-select/rc-select/utils/legacyUtil.d.ts +4 -0
  355. package/lib/tntd-select/rc-select/utils/legacyUtil.d.ts.map +1 -0
  356. package/lib/tntd-select/rc-select/utils/legacyUtil.js +62 -0
  357. package/lib/tntd-select/rc-select/utils/legacyUtil.js.map +1 -0
  358. package/lib/tntd-select/rc-select/utils/platformUtil.d.ts +2 -0
  359. package/lib/tntd-select/rc-select/utils/platformUtil.d.ts.map +1 -0
  360. package/lib/tntd-select/rc-select/utils/platformUtil.js +9 -0
  361. package/lib/tntd-select/rc-select/utils/platformUtil.js.map +1 -0
  362. package/lib/tntd-select/rc-select/utils/valueUtil.d.ts +24 -0
  363. package/lib/tntd-select/rc-select/utils/valueUtil.d.ts.map +1 -0
  364. package/lib/tntd-select/rc-select/utils/valueUtil.js +109 -0
  365. package/lib/tntd-select/rc-select/utils/valueUtil.js.map +1 -0
  366. package/lib/tntd-select/rc-select/utils/warningPropsUtil.d.ts +5 -0
  367. package/lib/tntd-select/rc-select/utils/warningPropsUtil.d.ts.map +1 -0
  368. package/lib/tntd-select/rc-select/utils/warningPropsUtil.js +130 -0
  369. package/lib/tntd-select/rc-select/utils/warningPropsUtil.js.map +1 -0
  370. package/package.json +1 -1
@@ -0,0 +1,428 @@
1
+ /**
2
+ * To match accessibility requirement, we always provide an input in the component.
3
+ * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.
4
+ * For focused select, we set `aria-live="polite"` to update the accessibility content.
5
+ *
6
+ * ref:
7
+ * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions
8
+ *
9
+ * New api:
10
+ * - listHeight
11
+ * - listItemHeight
12
+ * - component
13
+ *
14
+ * Remove deprecated api:
15
+ * - multiple
16
+ * - tags
17
+ * - combobox
18
+ * - firstActiveValue
19
+ * - dropdownMenuStyle
20
+ * - openClassName (Not list in api)
21
+ *
22
+ * Update:
23
+ * - `backfill` only support `combobox` mode
24
+ * - `combobox` mode not support `labelInValue` since it's meaningless
25
+ * - `getInputElement` only support `combobox` mode
26
+ * - `onChange` return OptionData instead of ReactNode
27
+ * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode
28
+ * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option
29
+ * - `combobox` mode not support `optionLabelProp`
30
+ */
31
+ var __rest = (this && this.__rest) || function (s, e) {
32
+ var t = {};
33
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
34
+ t[p] = s[p];
35
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
36
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
37
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
38
+ t[p[i]] = s[p[i]];
39
+ }
40
+ return t;
41
+ };
42
+ import useMergedState from 'rc-util/lib/hooks/useMergedState';
43
+ import warning from 'rc-util/lib/warning';
44
+ import * as React from 'react';
45
+ import BaseSelect, { isMultiple } from './BaseSelect';
46
+ import OptGroup from './OptGroup';
47
+ import Option from './Option';
48
+ import OptionList from './OptionList';
49
+ import SelectContext from './SelectContext';
50
+ import useCache from './hooks/useCache';
51
+ import useFilterOptions from './hooks/useFilterOptions';
52
+ import useId from './hooks/useId';
53
+ import useOptions from './hooks/useOptions';
54
+ import useRefFunc from './hooks/useRefFunc';
55
+ import { hasValue, isComboNoValue, toArray } from './utils/commonUtil';
56
+ import { fillFieldNames, flattenOptions, injectPropsWithOption } from './utils/valueUtil';
57
+ import warningProps, { warningNullOptions } from './utils/warningPropsUtil';
58
+ const OMIT_DOM_PROPS = ['inputValue'];
59
+ function isRawValue(value) {
60
+ return !value || typeof value !== 'object';
61
+ }
62
+ const Select = React.forwardRef((props, ref) => {
63
+ const { id, mode, prefixCls = 'rc-select', backfill, fieldNames,
64
+ // Search
65
+ inputValue, searchValue, onSearch, autoClearSearchValue = true,
66
+ // Select
67
+ onSelect, onDeselect, dropdownMatchSelectWidth = true,
68
+ // Options
69
+ filterOption, filterSort, optionFilterProp, optionLabelProp, options, optionRender, children, defaultActiveFirstOption, menuItemSelectedIcon, virtual, direction, listHeight = 200, listItemHeight = 20,
70
+ // Value
71
+ 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"]);
72
+ const mergedId = useId(id);
73
+ const multiple = isMultiple(mode);
74
+ const childrenAsData = !!(!options && children);
75
+ const mergedFilterOption = React.useMemo(() => {
76
+ if (filterOption === undefined && mode === 'combobox') {
77
+ return false;
78
+ }
79
+ return filterOption;
80
+ }, [filterOption, mode]);
81
+ // ========================= FieldNames =========================
82
+ const mergedFieldNames = React.useMemo(() => fillFieldNames(fieldNames, childrenAsData),
83
+ /* eslint-disable react-hooks/exhaustive-deps */
84
+ [
85
+ // We stringify fieldNames to avoid unnecessary re-renders.
86
+ JSON.stringify(fieldNames),
87
+ childrenAsData,
88
+ ]);
89
+ // =========================== Search ===========================
90
+ const [mergedSearchValue, setSearchValue] = useMergedState('', {
91
+ value: searchValue !== undefined ? searchValue : inputValue,
92
+ postState: (search) => search || '',
93
+ });
94
+ // =========================== Option ===========================
95
+ const parsedOptions = useOptions(options, children, mergedFieldNames, optionFilterProp, optionLabelProp);
96
+ const { valueOptions, labelOptions, options: mergedOptions } = parsedOptions;
97
+ // ========================= Wrap Value =========================
98
+ const convert2LabelValues = React.useCallback((draftValues) => {
99
+ // Convert to array
100
+ const valueList = toArray(draftValues);
101
+ // Convert to labelInValue type
102
+ return valueList.map((val) => {
103
+ var _a, _b;
104
+ let rawValue;
105
+ let rawLabel;
106
+ let rawKey;
107
+ let rawDisabled;
108
+ let rawTitle;
109
+ // Fill label & value
110
+ if (isRawValue(val)) {
111
+ rawValue = val;
112
+ }
113
+ else {
114
+ rawKey = val.key;
115
+ rawLabel = val.label;
116
+ rawValue = (_a = val.value) !== null && _a !== void 0 ? _a : rawKey;
117
+ }
118
+ const option = valueOptions.get(rawValue);
119
+ if (option) {
120
+ // Fill missing props
121
+ if (rawLabel === undefined)
122
+ rawLabel = option === null || option === void 0 ? void 0 : option[optionLabelProp || mergedFieldNames.label];
123
+ if (rawKey === undefined)
124
+ rawKey = (_b = option === null || option === void 0 ? void 0 : option.key) !== null && _b !== void 0 ? _b : rawValue;
125
+ rawDisabled = option === null || option === void 0 ? void 0 : option.disabled;
126
+ rawTitle = option === null || option === void 0 ? void 0 : option.title;
127
+ // Warning if label not same as provided
128
+ if (process.env.NODE_ENV !== 'production' && !optionLabelProp) {
129
+ const optionLabel = option === null || option === void 0 ? void 0 : option[mergedFieldNames.label];
130
+ if (optionLabel !== undefined &&
131
+ !React.isValidElement(optionLabel) &&
132
+ !React.isValidElement(rawLabel) &&
133
+ optionLabel !== rawLabel) {
134
+ warning(false, '`label` of `value` is not same as `label` in Select options.');
135
+ }
136
+ }
137
+ }
138
+ return {
139
+ label: rawLabel,
140
+ value: rawValue,
141
+ key: rawKey,
142
+ disabled: rawDisabled,
143
+ title: rawTitle,
144
+ };
145
+ });
146
+ }, [mergedFieldNames, optionLabelProp, valueOptions]);
147
+ // =========================== Values ===========================
148
+ const [internalValue, setInternalValue] = useMergedState(defaultValue, {
149
+ value,
150
+ });
151
+ // Merged value with LabelValueType
152
+ const rawLabeledValues = React.useMemo(() => {
153
+ var _a;
154
+ const values = convert2LabelValues(internalValue);
155
+ // combobox no need save value when it's no value (exclude value equal 0)
156
+ if (mode === 'combobox' && isComboNoValue((_a = values[0]) === null || _a === void 0 ? void 0 : _a.value)) {
157
+ return [];
158
+ }
159
+ return values;
160
+ }, [internalValue, convert2LabelValues, mode]);
161
+ // Fill label with cache to avoid option remove
162
+ const [mergedValues, getMixedOption] = useCache(rawLabeledValues, valueOptions);
163
+ const displayValues = React.useMemo(() => {
164
+ // `null` need show as placeholder instead
165
+ // https://github.com/ant-design/ant-design/issues/25057
166
+ if (!mode && mergedValues.length === 1) {
167
+ const firstValue = mergedValues[0];
168
+ if (firstValue.value === null &&
169
+ (firstValue.label === null || firstValue.label === undefined)) {
170
+ return [];
171
+ }
172
+ }
173
+ return mergedValues.map((item) => {
174
+ var _a;
175
+ return (Object.assign(Object.assign({}, item), { label: (_a = item.label) !== null && _a !== void 0 ? _a : item.value }));
176
+ });
177
+ }, [mode, mergedValues]);
178
+ /** Convert `displayValues` to raw value type set */
179
+ const rawValues = React.useMemo(() => new Set(mergedValues.map((val) => val.value)), [mergedValues]);
180
+ React.useEffect(() => {
181
+ var _a;
182
+ if (mode === 'combobox') {
183
+ const strValue = (_a = mergedValues[0]) === null || _a === void 0 ? void 0 : _a.value;
184
+ setSearchValue(hasValue(strValue) ? String(strValue) : '');
185
+ }
186
+ }, [mergedValues]);
187
+ // ======================= Display Option =======================
188
+ // Create a placeholder item if not exist in `options`
189
+ const createTagOption = useRefFunc((val, label) => {
190
+ const mergedLabel = label !== null && label !== void 0 ? label : val;
191
+ return {
192
+ [mergedFieldNames.value]: val,
193
+ [mergedFieldNames.label]: mergedLabel,
194
+ };
195
+ });
196
+ // Fill tag as option if mode is `tags`
197
+ const filledTagOptions = React.useMemo(() => {
198
+ if (mode !== 'tags') {
199
+ return mergedOptions;
200
+ }
201
+ // >>> Tag mode
202
+ const cloneOptions = [...mergedOptions];
203
+ // Check if value exist in options (include new patch item)
204
+ const existOptions = (val) => valueOptions.has(val);
205
+ // Fill current value as option
206
+ [...mergedValues]
207
+ .sort((a, b) => (a.value < b.value ? -1 : 1))
208
+ .forEach((item) => {
209
+ const val = item.value;
210
+ if (!existOptions(val)) {
211
+ cloneOptions.push(createTagOption(val, item.label));
212
+ }
213
+ });
214
+ return cloneOptions;
215
+ }, [createTagOption, mergedOptions, valueOptions, mergedValues, mode]);
216
+ const filteredOptions = useFilterOptions(filledTagOptions, mergedFieldNames, mergedSearchValue, mergedFilterOption, optionFilterProp);
217
+ // Fill options with search value if needed
218
+ const filledSearchOptions = React.useMemo(() => {
219
+ if (mode !== 'tags' ||
220
+ !mergedSearchValue ||
221
+ filteredOptions.some((item) => item[optionFilterProp || 'value'] === mergedSearchValue)) {
222
+ return filteredOptions;
223
+ }
224
+ // ignore when search value equal select input value
225
+ if (filteredOptions.some((item) => item[mergedFieldNames.value] === mergedSearchValue)) {
226
+ return filteredOptions;
227
+ }
228
+ // Fill search value as option
229
+ return [createTagOption(mergedSearchValue), ...filteredOptions];
230
+ }, [
231
+ createTagOption,
232
+ optionFilterProp,
233
+ mode,
234
+ filteredOptions,
235
+ mergedSearchValue,
236
+ mergedFieldNames,
237
+ ]);
238
+ const orderedFilteredOptions = React.useMemo(() => {
239
+ if (!filterSort) {
240
+ return filledSearchOptions;
241
+ }
242
+ return [...filledSearchOptions].sort((a, b) => filterSort(a, b));
243
+ }, [filledSearchOptions, filterSort]);
244
+ const displayOptions = React.useMemo(() => flattenOptions(orderedFilteredOptions, {
245
+ fieldNames: mergedFieldNames,
246
+ childrenAsData,
247
+ }), [orderedFilteredOptions, mergedFieldNames, childrenAsData]);
248
+ // =========================== Change ===========================
249
+ const triggerChange = (values) => {
250
+ const labeledValues = convert2LabelValues(values);
251
+ setInternalValue(labeledValues);
252
+ if (onChange &&
253
+ // Trigger event only when value changed
254
+ (labeledValues.length !== mergedValues.length ||
255
+ 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); }))) {
256
+ const returnValues = labelInValue ? labeledValues : labeledValues.map((v) => v.value);
257
+ const returnOptions = labeledValues.map((v) => injectPropsWithOption(getMixedOption(v.value)));
258
+ onChange(
259
+ // Value
260
+ multiple ? returnValues : returnValues[0],
261
+ // Option
262
+ multiple ? returnOptions : returnOptions[0]);
263
+ }
264
+ };
265
+ // ======================= Accessibility ========================
266
+ const [activeValue, setActiveValue] = React.useState(null);
267
+ const [accessibilityIndex, setAccessibilityIndex] = React.useState(0);
268
+ const mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';
269
+ const onActiveValue = React.useCallback((active, index, { source = 'keyboard' } = {}) => {
270
+ setAccessibilityIndex(index);
271
+ if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {
272
+ setActiveValue(String(active));
273
+ }
274
+ }, [backfill, mode]);
275
+ // ========================= OptionList =========================
276
+ const triggerSelect = (val, selected, type) => {
277
+ const getSelectEnt = () => {
278
+ var _a;
279
+ const option = getMixedOption(val);
280
+ return [
281
+ labelInValue
282
+ ? {
283
+ label: option === null || option === void 0 ? void 0 : option[mergedFieldNames.label],
284
+ value: val,
285
+ key: (_a = option === null || option === void 0 ? void 0 : option.key) !== null && _a !== void 0 ? _a : val,
286
+ }
287
+ : val,
288
+ injectPropsWithOption(option),
289
+ ];
290
+ };
291
+ if (selected && onSelect) {
292
+ const [wrappedValue, option] = getSelectEnt();
293
+ onSelect(wrappedValue, option);
294
+ }
295
+ else if (!selected && onDeselect && type !== 'clear') {
296
+ const [wrappedValue, option] = getSelectEnt();
297
+ onDeselect(wrappedValue, option);
298
+ }
299
+ };
300
+ // Used for OptionList selection
301
+ const onInternalSelect = useRefFunc((val, info) => {
302
+ let cloneValues;
303
+ // Single mode always trigger select only with option list
304
+ const mergedSelect = multiple ? info.selected : true;
305
+ if (mergedSelect) {
306
+ cloneValues = multiple ? [...mergedValues, val] : [val];
307
+ }
308
+ else {
309
+ cloneValues = mergedValues.filter((v) => v.value !== val);
310
+ }
311
+ triggerChange(cloneValues);
312
+ triggerSelect(val, mergedSelect);
313
+ // Clean search value if single or configured
314
+ if (mode === 'combobox') {
315
+ // setSearchValue(String(val));
316
+ setActiveValue('');
317
+ }
318
+ else if (!isMultiple || autoClearSearchValue) {
319
+ setSearchValue('');
320
+ setActiveValue('');
321
+ }
322
+ });
323
+ // ======================= Display Change =======================
324
+ // BaseSelect display values change
325
+ const onDisplayValuesChange = (nextValues, info) => {
326
+ triggerChange(nextValues);
327
+ const { type, values } = info;
328
+ if (type === 'remove' || type === 'clear') {
329
+ values.forEach((item) => {
330
+ triggerSelect(item.value, false, type);
331
+ });
332
+ }
333
+ };
334
+ // =========================== Search ===========================
335
+ const onInternalSearch = (searchText, info) => {
336
+ setSearchValue(searchText);
337
+ setActiveValue(null);
338
+ // [Submit] Tag mode should flush input
339
+ if (info.source === 'submit') {
340
+ const formatted = (searchText || '').trim();
341
+ // prevent empty tags from appearing when you click the Enter button
342
+ if (formatted) {
343
+ const newRawValues = Array.from(new Set([...rawValues, formatted]));
344
+ triggerChange(newRawValues);
345
+ triggerSelect(formatted, true);
346
+ setSearchValue('');
347
+ }
348
+ return;
349
+ }
350
+ if (info.source !== 'blur') {
351
+ if (mode === 'combobox') {
352
+ triggerChange(searchText);
353
+ }
354
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchText);
355
+ }
356
+ };
357
+ const onInternalSearchSplit = (words) => {
358
+ let patchValues = words;
359
+ if (mode !== 'tags') {
360
+ patchValues = words
361
+ .map((word) => {
362
+ const opt = labelOptions.get(word);
363
+ return opt === null || opt === void 0 ? void 0 : opt.value;
364
+ })
365
+ .filter((val) => val !== undefined);
366
+ }
367
+ const newRawValues = Array.from(new Set([...rawValues, ...patchValues]));
368
+ triggerChange(newRawValues);
369
+ newRawValues.forEach((newRawValue) => {
370
+ triggerSelect(newRawValue, true);
371
+ });
372
+ };
373
+ // ========================== Context ===========================
374
+ const selectContext = React.useMemo(() => {
375
+ const realVirtual = virtual !== false && dropdownMatchSelectWidth !== false;
376
+ return Object.assign(Object.assign({}, parsedOptions), { flattenOptions: displayOptions, onActiveValue, defaultActiveFirstOption: mergedDefaultActiveFirstOption, onSelect: onInternalSelect, menuItemSelectedIcon,
377
+ rawValues, fieldNames: mergedFieldNames, virtual: realVirtual, direction,
378
+ listHeight,
379
+ listItemHeight,
380
+ childrenAsData,
381
+ optionRender });
382
+ }, [
383
+ parsedOptions,
384
+ displayOptions,
385
+ onActiveValue,
386
+ mergedDefaultActiveFirstOption,
387
+ onInternalSelect,
388
+ menuItemSelectedIcon,
389
+ rawValues,
390
+ mergedFieldNames,
391
+ virtual,
392
+ dropdownMatchSelectWidth,
393
+ listHeight,
394
+ listItemHeight,
395
+ childrenAsData,
396
+ optionRender,
397
+ ]);
398
+ // ========================== Warning ===========================
399
+ if (process.env.NODE_ENV !== 'production') {
400
+ warningProps(props);
401
+ warningNullOptions(mergedOptions, mergedFieldNames);
402
+ }
403
+ // ==============================================================
404
+ // == Render ==
405
+ // ==============================================================
406
+ return (React.createElement(SelectContext.Provider, { value: selectContext },
407
+ React.createElement(BaseSelect, Object.assign({}, restProps, {
408
+ // >>> MISC
409
+ id: mergedId, prefixCls: prefixCls, ref: ref, omitDomProps: OMIT_DOM_PROPS, mode: mode,
410
+ // >>> Values
411
+ displayValues: displayValues, onDisplayValuesChange: onDisplayValuesChange,
412
+ // >>> Trigger
413
+ direction: direction,
414
+ // >>> Search
415
+ searchValue: mergedSearchValue, onSearch: onInternalSearch, autoClearSearchValue: autoClearSearchValue, onSearchSplit: onInternalSearchSplit, dropdownMatchSelectWidth: dropdownMatchSelectWidth,
416
+ // >>> OptionList
417
+ OptionList: OptionList, emptyOptions: !displayOptions.length,
418
+ // >>> Accessibility
419
+ activeValue: activeValue, activeDescendantId: `${mergedId}_list_${accessibilityIndex}` }))));
420
+ });
421
+ if (process.env.NODE_ENV !== 'production') {
422
+ Select.displayName = 'Select';
423
+ }
424
+ const TypedSelect = Select;
425
+ TypedSelect.Option = Option;
426
+ TypedSelect.OptGroup = OptGroup;
427
+ export default TypedSelect;
428
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/Select.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;;;;;;;;;;AAEH,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,gBAAgB,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,MAAM,eAAe,CAAC;AAClC,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAC5C,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,YAAY,EAAE,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE5E,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC,CAAC;AAwGtC,SAAS,UAAU,CAAC,KAAqB;IACvC,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AAC7C,CAAC;AAED,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,KAA0C,EAAE,GAA6B,EAAE,EAAE;IAC5E,MAAM,EACJ,EAAE,EACF,IAAI,EACJ,SAAS,GAAG,WAAW,EACvB,QAAQ,EACR,UAAU;IAEV,SAAS;IACT,UAAU,EACV,WAAW,EACX,QAAQ,EACR,oBAAoB,GAAG,IAAI;IAE3B,SAAS;IACT,QAAQ,EACR,UAAU,EACV,wBAAwB,GAAG,IAAI;IAE/B,UAAU;IACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,UAAU,GAAG,GAAG,EAChB,cAAc,GAAG,EAAE;IAEnB,QAAQ;IACR,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,KAGN,KAAK,EADJ,SAAS,UACV,KAAK,EAxCH,ybAwCL,CAAQ,CAAC;IAEV,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;IAEhD,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC5C,IAAI,YAAY,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,EAAE;YACrD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAEzB,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC;IAChD,gDAAgD;IAChD;QACE,2DAA2D;QAC3D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC1B,cAAc;KACf,CAEF,CAAC;IAEF,iEAAiE;IACjE,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE;QAC7D,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;QAC3D,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE;KACpC,CAAC,CAAC;IAEH,iEAAiE;IACjE,MAAM,aAAa,GAAG,UAAU,CAC9B,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,CAChB,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;IAE7E,iEAAiE;IACjE,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAC3C,CAAC,WAA2B,EAAE,EAAE;QAC9B,mBAAmB;QACnB,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAEvC,+BAA+B;QAC/B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;YAC3B,IAAI,QAAsB,CAAC;YAC3B,IAAI,QAAyB,CAAC;YAC9B,IAAI,MAAiB,CAAC;YACtB,IAAI,WAAgC,CAAC;YACrC,IAAI,QAAgB,CAAC;YAErB,qBAAqB;YACrB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;gBACnB,QAAQ,GAAG,GAAG,CAAC;aAChB;iBAAM;gBACL,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;gBACjB,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;gBACrB,QAAQ,GAAG,MAAA,GAAG,CAAC,KAAK,mCAAI,MAAM,CAAC;aAChC;YAED,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,MAAM,EAAE;gBACV,qBAAqB;gBACrB,IAAI,QAAQ,KAAK,SAAS;oBACxB,QAAQ,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,eAAe,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACjE,IAAI,MAAM,KAAK,SAAS;oBAAE,MAAM,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,QAAQ,CAAC;gBAC3D,WAAW,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC;gBAC/B,QAAQ,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC;gBAEzB,wCAAwC;gBACxC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,CAAC,eAAe,EAAE;oBAC7D,MAAM,WAAW,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACrD,IACE,WAAW,KAAK,SAAS;wBACzB,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;wBAClC,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;wBAC/B,WAAW,KAAK,QAAQ,EACxB;wBACA,OAAO,CAAC,KAAK,EAAE,8DAA8D,CAAC,CAAC;qBAChF;iBACF;aACF;YAED,OAAO;gBACL,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,MAAM;gBACX,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,QAAQ;aAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,gBAAgB,EAAE,eAAe,EAAE,YAAY,CAAC,CAClD,CAAC;IAEF,iEAAiE;IACjE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,cAAc,CAAC,YAAY,EAAE;QACrE,KAAK;KACN,CAAC,CAAC;IAEH,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QAC1C,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAElD,yEAAyE;QACzE,IAAI,IAAI,KAAK,UAAU,IAAI,cAAc,CAAC,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,EAAE;YAC3D,OAAO,EAAE,CAAC;SACX;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/C,+CAA+C;IAC/C,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAEhF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,0CAA0C;QAC1C,wDAAwD;QACxD,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,IACE,UAAU,CAAC,KAAK,KAAK,IAAI;gBACzB,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,EAC7D;gBACA,OAAO,EAAE,CAAC;aACX;SACF;QAED,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;YAAC,OAAA,iCAC7B,IAAI,KACP,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,KAAK,IAC/B,CAAA;SAAA,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAEzB,oDAAoD;IACpD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAC7B,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACnD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACnB,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,MAAM,QAAQ,GAAG,MAAA,YAAY,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC;YACxC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC5D;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,iEAAiE;IACjE,sDAAsD;IACtD,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,GAAiB,EAAE,KAAuB,EAAE,EAAE;QAChF,MAAM,WAAW,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,GAAG,CAAC;QACjC,OAAO;YACL,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG;YAC7B,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,WAAW;SACjB,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1C,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,OAAO,aAAa,CAAC;SACtB;QAED,eAAe;QACf,MAAM,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;QAExC,2DAA2D;QAC3D,MAAM,YAAY,GAAG,CAAC,GAAiB,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAElE,+BAA+B;QAC/B,CAAC,GAAG,YAAY,CAAC;aACd,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5C,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;YAEvB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBACtB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACrD;QACH,CAAC,CAAC,CAAC;QAEL,OAAO,YAAY,CAAC;IACtB,CAAC,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvE,MAAM,eAAe,GAAG,gBAAgB,CACtC,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,CACjB,CAAC;IAEF,2CAA2C;IAC3C,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7C,IACE,IAAI,KAAK,MAAM;YACf,CAAC,iBAAiB;YAClB,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,KAAK,iBAAiB,CAAC,EACvF;YACA,OAAO,eAAe,CAAC;SACxB;QACD,oDAAoD;QACpD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAAC,EAAE;YACtF,OAAO,eAAe,CAAC;SACxB;QACD,8BAA8B;QAC9B,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC;IAClE,CAAC,EAAE;QACD,eAAe;QACf,gBAAgB;QAChB,IAAI;QACJ,eAAe;QACf,iBAAiB;QACjB,gBAAgB;KACjB,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAChD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,mBAAmB,CAAC;SAC5B;QAED,OAAO,CAAC,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEtC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CACH,cAAc,CAAC,sBAAsB,EAAE;QACrC,UAAU,EAAE,gBAAgB;QAC5B,cAAc;KACf,CAAC,EACJ,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAC3D,CAAC;IAEF,iEAAiE;IACjE,MAAM,aAAa,GAAG,CAAC,MAAsB,EAAE,EAAE;QAC/C,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClD,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAEhC,IACE,QAAQ;YACR,wCAAwC;YACxC,CAAC,aAAa,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;gBAC3C,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,YAAY,CAAC,KAAK,CAAC,0CAAE,KAAK,OAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,CAAA,EAAA,CAAC,CAAC,EACtF;YACA,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtF,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAC/C,CAAC;YAEF,QAAQ;YACN,QAAQ;YACR,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACzC,SAAS;YACT,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAC5C,CAAC;SACH;IACH,CAAC,CAAC;IAEF,iEAAiE;IACjE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,8BAA8B,GAClC,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;IAE1F,MAAM,aAAa,GAAkB,KAAK,CAAC,WAAW,CACpD,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE;QAC9C,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,QAAQ,IAAI,IAAI,KAAK,UAAU,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,UAAU,EAAE;YAC/E,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SAChC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjB,CAAC;IAEF,iEAAiE;IACjE,MAAM,aAAa,GAAG,CAAC,GAAiB,EAAE,QAAiB,EAAE,IAAsB,EAAE,EAAE;QACrF,MAAM,YAAY,GAAG,GAAyD,EAAE;;YAC9E,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO;gBACL,YAAY;oBACV,CAAC,CAAC;wBACE,KAAK,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,gBAAgB,CAAC,KAAK,CAAC;wBACvC,KAAK,EAAE,GAAG;wBACV,GAAG,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,GAAG;qBACxB;oBACH,CAAC,CAAC,GAAG;gBACP,qBAAqB,CAAC,MAAM,CAAC;aAC9B,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,QAAQ,IAAI,QAAQ,EAAE;YACxB,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;YAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAChC;aAAM,IAAI,CAAC,QAAQ,IAAI,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE;YACtD,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;YAC9C,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAClC;IACH,CAAC,CAAC;IAEF,gCAAgC;IAChC,MAAM,gBAAgB,GAAG,UAAU,CAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAClE,IAAI,WAAgD,CAAC;QAErD,0DAA0D;QAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAErD,IAAI,YAAY,EAAE;YAChB,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACzD;aAAM;YACL,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;SAC3D;QAED,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3B,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAEjC,6CAA6C;QAC7C,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,+BAA+B;YAC/B,cAAc,CAAC,EAAE,CAAC,CAAC;SACpB;aAAM,IAAI,CAAC,UAAU,IAAI,oBAAoB,EAAE;YAC9C,cAAc,CAAC,EAAE,CAAC,CAAC;YACnB,cAAc,CAAC,EAAE,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,mCAAmC;IACnC,MAAM,qBAAqB,GAA6C,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;QAC3F,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAE9B,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtB,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,iEAAiE;IACjE,MAAM,gBAAgB,GAAgC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;QACzE,cAAc,CAAC,UAAU,CAAC,CAAC;QAC3B,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,uCAAuC;QACvC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC5B,MAAM,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,oEAAoE;YACpE,IAAI,SAAS,EAAE;gBACb,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAe,CAAC,GAAG,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBAClF,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC5B,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC/B,cAAc,CAAC,EAAE,CAAC,CAAC;aACpB;YAED,OAAO;SACR;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YAC1B,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,aAAa,CAAC,UAAU,CAAC,CAAC;aAC3B;YAED,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,UAAU,CAAC,CAAC;SACxB;IACH,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAqC,CAAC,KAAK,EAAE,EAAE;QACxE,IAAI,WAAW,GAAmB,KAAK,CAAC;QAExC,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,WAAW,GAAG,KAAK;iBAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC;YACpB,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;SACvC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAe,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACvF,aAAa,CAAC,YAAY,CAAC,CAAC;QAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,iEAAiE;IACjE,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,IAAI,wBAAwB,KAAK,KAAK,CAAC;QAC5E,uCACK,aAAa,KAChB,cAAc,EAAE,cAAc,EAC9B,aAAa,EACb,wBAAwB,EAAE,8BAA8B,EACxD,QAAQ,EAAE,gBAAgB,EAC1B,oBAAoB;YACpB,SAAS,EACT,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,WAAW,EACpB,SAAS;YACT,UAAU;YACV,cAAc;YACd,cAAc;YACd,YAAY,IACZ;IACJ,CAAC,EAAE;QACD,aAAa;QACb,cAAc;QACd,aAAa;QACb,8BAA8B;QAC9B,gBAAgB;QAChB,oBAAoB;QACpB,SAAS;QACT,gBAAgB;QAChB,OAAO;QACP,wBAAwB;QACxB,UAAU;QACV,cAAc;QACd,cAAc;QACd,YAAY;KACb,CAAC,CAAC;IAEH,iEAAiE;IACjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;KACrD;IAED,iEAAiE;IACjE,iEAAiE;IACjE,iEAAiE;IACjE,OAAO,CACL,oBAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa;QAC1C,oBAAC,UAAU,oBACL,SAAS;YACb,WAAW;YACX,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,IAAI;YACV,aAAa;YACb,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB;YAC5C,cAAc;YACd,SAAS,EAAE,SAAS;YACpB,aAAa;YACb,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,gBAAgB,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,qBAAqB,EACpC,wBAAwB,EAAE,wBAAwB;YAClD,iBAAiB;YACjB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,CAAC,cAAc,CAAC,MAAM;YACpC,oBAAoB;YACpB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,GAAG,QAAQ,SAAS,kBAAkB,EAAE,IAC5D,CACqB,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IACzC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;CAC/B;AAED,MAAM,WAAW,GAAG,MAUnB,CAAC;AAEF,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AAC5B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAEhC,eAAe,WAAW,CAAC","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,4 @@
1
+ import * as React from 'react';
2
+ const SelectContext = React.createContext(null);
3
+ export default SelectContext;
4
+ //# 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,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6B/B,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAqB,IAAI,CAAC,CAAC;AAEpE,eAAe,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,91 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import Trigger from '@rc-component/trigger';
13
+ import classNames from 'classnames';
14
+ import * as React from 'react';
15
+ const getBuiltInPlacements = (dropdownMatchSelectWidth) => {
16
+ // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided
17
+ const adjustX = dropdownMatchSelectWidth === true ? 0 : 1;
18
+ return {
19
+ bottomLeft: {
20
+ points: ['tl', 'bl'],
21
+ offset: [0, 4],
22
+ overflow: {
23
+ adjustX,
24
+ adjustY: 1,
25
+ },
26
+ htmlRegion: 'scroll',
27
+ },
28
+ bottomRight: {
29
+ points: ['tr', 'br'],
30
+ offset: [0, 4],
31
+ overflow: {
32
+ adjustX,
33
+ adjustY: 1,
34
+ },
35
+ htmlRegion: 'scroll',
36
+ },
37
+ topLeft: {
38
+ points: ['bl', 'tl'],
39
+ offset: [0, -4],
40
+ overflow: {
41
+ adjustX,
42
+ adjustY: 1,
43
+ },
44
+ htmlRegion: 'scroll',
45
+ },
46
+ topRight: {
47
+ points: ['br', 'tr'],
48
+ offset: [0, -4],
49
+ overflow: {
50
+ adjustX,
51
+ adjustY: 1,
52
+ },
53
+ htmlRegion: 'scroll',
54
+ },
55
+ };
56
+ };
57
+ const SelectTrigger = (props, ref) => {
58
+ const { prefixCls, disabled, visible, children, popupElement, animation, transitionName, dropdownStyle, dropdownClassName, direction = 'ltr', placement, builtinPlacements, dropdownMatchSelectWidth, dropdownRender, dropdownAlign, getPopupContainer, empty, getTriggerDOMNode, onPopupVisibleChange, onPopupMouseEnter } = props, restProps = __rest(props, ["prefixCls", "disabled", "visible", "children", "popupElement", "animation", "transitionName", "dropdownStyle", "dropdownClassName", "direction", "placement", "builtinPlacements", "dropdownMatchSelectWidth", "dropdownRender", "dropdownAlign", "getPopupContainer", "empty", "getTriggerDOMNode", "onPopupVisibleChange", "onPopupMouseEnter"]);
59
+ const dropdownPrefixCls = `${prefixCls}-dropdown`;
60
+ let popupNode = popupElement;
61
+ if (dropdownRender) {
62
+ popupNode = dropdownRender(popupElement);
63
+ }
64
+ const mergedBuiltinPlacements = React.useMemo(() => builtinPlacements || getBuiltInPlacements(dropdownMatchSelectWidth), [builtinPlacements, dropdownMatchSelectWidth]);
65
+ // ===================== Motion ======================
66
+ const mergedTransitionName = animation ? `${dropdownPrefixCls}-${animation}` : transitionName;
67
+ // =================== Popup Width ===================
68
+ const isNumberPopupWidth = typeof dropdownMatchSelectWidth === 'number';
69
+ const stretch = React.useMemo(() => {
70
+ if (isNumberPopupWidth) {
71
+ return null;
72
+ }
73
+ return dropdownMatchSelectWidth === false ? 'minWidth' : 'width';
74
+ }, [dropdownMatchSelectWidth, isNumberPopupWidth]);
75
+ let popupStyle = dropdownStyle;
76
+ if (isNumberPopupWidth) {
77
+ popupStyle = Object.assign(Object.assign({}, popupStyle), { width: dropdownMatchSelectWidth });
78
+ }
79
+ // ======================= Ref =======================
80
+ const popupRef = React.useRef(null);
81
+ React.useImperativeHandle(ref, () => ({
82
+ getPopupElement: () => popupRef.current,
83
+ }));
84
+ return (React.createElement(Trigger, Object.assign({}, restProps, { showAction: onPopupVisibleChange ? ['click'] : [], hideAction: onPopupVisibleChange ? ['click'] : [], popupPlacement: placement || (direction === 'rtl' ? 'bottomRight' : 'bottomLeft'), builtinPlacements: mergedBuiltinPlacements, prefixCls: dropdownPrefixCls, popupTransitionName: mergedTransitionName, popup: React.createElement("div", { ref: popupRef, onMouseEnter: onPopupMouseEnter }, popupNode), stretch: stretch, popupAlign: dropdownAlign, popupVisible: visible, getPopupContainer: getPopupContainer, popupClassName: classNames(dropdownClassName, {
85
+ [`${dropdownPrefixCls}-empty`]: empty,
86
+ }), popupStyle: popupStyle, getTriggerDOMNode: getTriggerDOMNode, onPopupVisibleChange: onPopupVisibleChange }), children));
87
+ };
88
+ const RefSelectTrigger = React.forwardRef(SelectTrigger);
89
+ RefSelectTrigger.displayName = 'SelectTrigger';
90
+ export default RefSelectTrigger;
91
+ //# sourceMappingURL=SelectTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTrigger.js","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/SelectTrigger.tsx"],"names":[],"mappings":"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","sourcesContent":["import Trigger from '@rc-component/trigger';\nimport type { AlignType, BuildInPlacements } from '@rc-component/trigger/lib/interface';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport type { Placement, RenderDOMFunc } from './BaseSelect';\n\nconst getBuiltInPlacements = (\n dropdownMatchSelectWidth: number | boolean,\n): Record<string, AlignType> => {\n // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided\n const adjustX = dropdownMatchSelectWidth === true ? 0 : 1;\n return {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX,\n adjustY: 1,\n },\n htmlRegion: 'scroll',\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX,\n adjustY: 1,\n },\n htmlRegion: 'scroll',\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX,\n adjustY: 1,\n },\n htmlRegion: 'scroll',\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX,\n adjustY: 1,\n },\n htmlRegion: 'scroll',\n },\n };\n};\n\nexport interface RefTriggerProps {\n getPopupElement: () => HTMLDivElement;\n}\n\nexport interface SelectTriggerProps {\n prefixCls: string;\n children: React.ReactElement;\n disabled: boolean;\n visible: boolean;\n popupElement: React.ReactElement;\n\n animation?: string;\n transitionName?: string;\n placement?: Placement;\n builtinPlacements?: BuildInPlacements;\n dropdownStyle: React.CSSProperties;\n dropdownClassName: string;\n direction: string;\n dropdownMatchSelectWidth?: boolean | number;\n dropdownRender?: (menu: React.ReactElement) => React.ReactElement;\n getPopupContainer?: RenderDOMFunc;\n dropdownAlign: AlignType;\n empty: boolean;\n\n getTriggerDOMNode: () => HTMLElement;\n onPopupVisibleChange?: (visible: boolean) => void;\n\n onPopupMouseEnter: () => void;\n}\n\nconst SelectTrigger: React.RefForwardingComponent<RefTriggerProps, SelectTriggerProps> = (\n props,\n ref,\n) => {\n const {\n prefixCls,\n disabled,\n visible,\n children,\n popupElement,\n animation,\n transitionName,\n dropdownStyle,\n dropdownClassName,\n direction = 'ltr',\n placement,\n builtinPlacements,\n dropdownMatchSelectWidth,\n dropdownRender,\n dropdownAlign,\n getPopupContainer,\n empty,\n getTriggerDOMNode,\n onPopupVisibleChange,\n onPopupMouseEnter,\n ...restProps\n } = props;\n\n const dropdownPrefixCls = `${prefixCls}-dropdown`;\n\n let popupNode = popupElement;\n if (dropdownRender) {\n popupNode = dropdownRender(popupElement);\n }\n\n const mergedBuiltinPlacements = React.useMemo(\n () => builtinPlacements || getBuiltInPlacements(dropdownMatchSelectWidth),\n [builtinPlacements, dropdownMatchSelectWidth],\n );\n\n // ===================== Motion ======================\n const mergedTransitionName = animation ? `${dropdownPrefixCls}-${animation}` : transitionName;\n\n // =================== Popup Width ===================\n const isNumberPopupWidth = typeof dropdownMatchSelectWidth === 'number';\n\n const stretch = React.useMemo(() => {\n if (isNumberPopupWidth) {\n return null;\n }\n\n return dropdownMatchSelectWidth === false ? 'minWidth' : 'width';\n }, [dropdownMatchSelectWidth, isNumberPopupWidth]);\n\n let popupStyle = dropdownStyle;\n\n if (isNumberPopupWidth) {\n popupStyle = {\n ...popupStyle,\n width: dropdownMatchSelectWidth,\n };\n }\n\n // ======================= Ref =======================\n const popupRef = React.useRef<HTMLDivElement>(null);\n\n React.useImperativeHandle(ref, () => ({\n getPopupElement: () => popupRef.current,\n }));\n\n return (\n <Trigger\n {...restProps}\n showAction={onPopupVisibleChange ? ['click'] : []}\n hideAction={onPopupVisibleChange ? ['click'] : []}\n popupPlacement={placement || (direction === 'rtl' ? 'bottomRight' : 'bottomLeft')}\n builtinPlacements={mergedBuiltinPlacements}\n prefixCls={dropdownPrefixCls}\n popupTransitionName={mergedTransitionName}\n popup={\n <div ref={popupRef} onMouseEnter={onPopupMouseEnter}>\n {popupNode}\n </div>\n }\n stretch={stretch}\n popupAlign={dropdownAlign}\n popupVisible={visible}\n getPopupContainer={getPopupContainer}\n popupClassName={classNames(dropdownClassName, {\n [`${dropdownPrefixCls}-empty`]: empty,\n })}\n popupStyle={popupStyle}\n getTriggerDOMNode={getTriggerDOMNode}\n onPopupVisibleChange={onPopupVisibleChange}\n >\n {children}\n </Trigger>\n );\n};\n\nconst RefSelectTrigger = React.forwardRef<RefTriggerProps, SelectTriggerProps>(SelectTrigger);\nRefSelectTrigger.displayName = 'SelectTrigger';\n\nexport default RefSelectTrigger;\n"]}