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,8 @@
1
+ import * as React from 'react';
2
+ const DisabledContext = React.createContext(false);
3
+ export const DisabledContextProvider = ({ children, disabled }) => {
4
+ const originDisabled = React.useContext(DisabledContext);
5
+ return (React.createElement(DisabledContext.Provider, { value: disabled !== null && disabled !== void 0 ? disabled : originDisabled }, children));
6
+ };
7
+ export default DisabledContext;
8
+ //# sourceMappingURL=DisabledContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisabledContext.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/DisabledContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAe,KAAK,CAAC,CAAA;AAOhE,MAAM,CAAC,MAAM,uBAAuB,GAAmC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;IAChG,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;IACxD,OAAO,CACL,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,cAAc,IACxD,QAAQ,CACgB,CAC5B,CAAA;AACH,CAAC,CAAA;AAED,eAAe,eAAe,CAAA","sourcesContent":["import * as React from 'react'\n\nexport type DisabledType = true | false | undefined\n\nconst DisabledContext = React.createContext<DisabledType>(false)\n\nexport interface DisabledContextProps {\n disabled?: DisabledType\n children?: React.ReactNode\n}\n\nexport const DisabledContextProvider: React.FC<DisabledContextProps> = ({ children, disabled }) => {\n const originDisabled = React.useContext(DisabledContext)\n return (\n <DisabledContext.Provider value={disabled ?? originDisabled}>\n {children}\n </DisabledContext.Provider>\n )\n}\n\nexport default DisabledContext\n"]}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ export const FormItemInputContext = React.createContext({});
3
+ //# sourceMappingURL=FormItemInputContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormItemInputContext.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/FormItemInputContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAA6B,EAAE,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport type { FormItemStatusContextProps } from './interface'\n\nexport const FormItemInputContext = React.createContext<FormItemStatusContextProps>({})\n"]}
@@ -1,19 +1,6 @@
1
1
  import useMergedState from 'rc-util/lib/hooks/useMergedState';
2
2
  import * as React from 'react';
3
- import ConfigProvider from '../../config-provider';
4
- export function withPureRenderTheme(Component) {
5
- return function PureRenderThemeComponent(props) {
6
- return (React.createElement(ConfigProvider
7
- // theme={{
8
- // token: {
9
- // motion: false,
10
- // zIndexPopupBase: 0,
11
- // },
12
- // }}
13
- , null,
14
- React.createElement(Component, Object.assign({}, props))));
15
- };
16
- }
3
+ import { ConfigContext } from './context';
17
4
  /* istanbul ignore next */
18
5
  export default function genPurePanel(Component, defaultPrefixCls, getDropdownCls, postProps) {
19
6
  function PurePanel(props) {
@@ -24,8 +11,8 @@ export default function genPurePanel(Component, defaultPrefixCls, getDropdownCls
24
11
  const [open, setOpen] = useMergedState(false, {
25
12
  value: props.open,
26
13
  });
27
- // const { getPrefixCls } = React.useContext(ConfigContext);
28
- const prefixCls = 'antd-select'; // getPrefixCls(defaultPrefixCls || 'select', customizePrefixCls);
14
+ const { getPrefixCls } = React.useContext(ConfigContext);
15
+ const prefixCls = getPrefixCls(defaultPrefixCls || 'select', customizePrefixCls);
29
16
  React.useEffect(() => {
30
17
  // We do not care about ssr
31
18
  setOpen(true);
@@ -63,6 +50,6 @@ export default function genPurePanel(Component, defaultPrefixCls, getDropdownCls
63
50
  } },
64
51
  React.createElement(Component, Object.assign({}, mergedProps))));
65
52
  }
66
- return withPureRenderTheme(PurePanel);
53
+ return PurePanel;
67
54
  }
68
55
  //# sourceMappingURL=PurePanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PurePanel.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/PurePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import useMergedState from 'rc-util/lib/hooks/useMergedState';\nimport * as React from 'react';\nimport ConfigProvider, { ConfigContext } from '../../config-provider';\n\nexport function withPureRenderTheme(Component: any) {\n return function PureRenderThemeComponent(props: any) {\n return (\n <ConfigProvider\n // theme={{\n // token: {\n // motion: false,\n // zIndexPopupBase: 0,\n // },\n // }}\n >\n <Component {...props} />\n </ConfigProvider>\n );\n };\n}\n\nexport interface BaseProps {\n prefixCls?: string;\n style?: React.CSSProperties;\n}\n\n/* istanbul ignore next */\nexport default function genPurePanel<ComponentProps extends BaseProps>(\n Component: any,\n defaultPrefixCls?: string,\n getDropdownCls?: null | ((prefixCls: string) => string),\n postProps?: (props: ComponentProps) => ComponentProps,\n) {\n type WrapProps = Omit<ComponentProps, 'open' | 'visible'> & { open?: boolean };\n\n function PurePanel(props: WrapProps) {\n const { prefixCls: customizePrefixCls, style } = props;\n\n const holderRef = React.useRef<HTMLDivElement>(null);\n const [popupHeight, setPopupHeight] = React.useState(0);\n const [popupWidth, setPopupWidth] = React.useState(0);\n const [open, setOpen] = useMergedState(false, {\n value: props.open,\n });\n\n // const { getPrefixCls } = React.useContext(ConfigContext);\n const prefixCls ='antd-select';// getPrefixCls(defaultPrefixCls || 'select', customizePrefixCls);\n\n React.useEffect(() => {\n // We do not care about ssr\n setOpen(true);\n\n if (typeof ResizeObserver !== 'undefined') {\n const resizeObserver = new ResizeObserver((entries) => {\n const element: HTMLDivElement = entries[0].target as any;\n setPopupHeight(element.offsetHeight + 8);\n setPopupWidth(element.offsetWidth);\n });\n\n const interval = setInterval(() => {\n const dropdownCls = getDropdownCls\n ? `.${getDropdownCls(prefixCls)}`\n : `.${prefixCls}-dropdown`;\n const popup = holderRef.current?.querySelector(dropdownCls);\n\n if (popup) {\n clearInterval(interval);\n resizeObserver.observe(popup);\n }\n }, 10);\n\n return () => {\n clearInterval(interval);\n resizeObserver.disconnect();\n };\n }\n }, []);\n\n let mergedProps: WrapProps = {\n ...props,\n style: {\n ...style,\n margin: 0,\n },\n open,\n visible: open,\n getPopupContainer: () => holderRef.current!,\n };\n\n if (postProps) {\n mergedProps = postProps(mergedProps as ComponentProps);\n }\n\n return (\n <div\n ref={holderRef}\n style={{\n paddingBottom: popupHeight,\n position: 'relative',\n minWidth: popupWidth,\n }}\n >\n <Component {...mergedProps} />\n </div>\n );\n }\n\n return withPureRenderTheme(PurePanel);\n}\n"]}
1
+ {"version":3,"file":"PurePanel.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/PurePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import useMergedState from 'rc-util/lib/hooks/useMergedState';\nimport * as React from 'react';\nimport { ConfigContext } from './context'\n\nexport interface BaseProps {\n prefixCls?: string;\n style?: React.CSSProperties;\n}\n\n/* istanbul ignore next */\nexport default function genPurePanel<ComponentProps extends BaseProps>(\n Component: any,\n defaultPrefixCls?: string,\n getDropdownCls?: null | ((prefixCls: string) => string),\n postProps?: (props: ComponentProps) => ComponentProps,\n) {\n type WrapProps = Omit<ComponentProps, 'open' | 'visible'> & { open?: boolean };\n\n function PurePanel(props: WrapProps) {\n const { prefixCls: customizePrefixCls, style } = props;\n\n const holderRef = React.useRef<HTMLDivElement>(null);\n const [popupHeight, setPopupHeight] = React.useState(0);\n const [popupWidth, setPopupWidth] = React.useState(0);\n const [open, setOpen] = useMergedState(false, {\n value: props.open,\n });\n\n const { getPrefixCls } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls(defaultPrefixCls || 'select', customizePrefixCls);\n\n React.useEffect(() => {\n // We do not care about ssr\n setOpen(true);\n\n if (typeof ResizeObserver !== 'undefined') {\n const resizeObserver = new ResizeObserver((entries) => {\n const element: HTMLDivElement = entries[0].target as any;\n setPopupHeight(element.offsetHeight + 8);\n setPopupWidth(element.offsetWidth);\n });\n\n const interval = setInterval(() => {\n const dropdownCls = getDropdownCls\n ? `.${getDropdownCls(prefixCls)}`\n : `.${prefixCls}-dropdown`;\n const popup = holderRef.current?.querySelector(dropdownCls);\n\n if (popup) {\n clearInterval(interval);\n resizeObserver.observe(popup);\n }\n }, 10);\n\n return () => {\n clearInterval(interval);\n resizeObserver.disconnect();\n };\n }\n }, []);\n\n let mergedProps: WrapProps = {\n ...props,\n style: {\n ...style,\n margin: 0,\n },\n open,\n visible: open,\n getPopupContainer: () => holderRef.current!,\n };\n\n if (postProps) {\n mergedProps = postProps(mergedProps as ComponentProps);\n }\n\n return (\n <div\n ref={holderRef}\n style={{\n paddingBottom: popupHeight,\n position: 'relative',\n minWidth: popupWidth,\n }}\n >\n <Component {...mergedProps} />\n </div>\n );\n }\n\n return PurePanel;\n}"]}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ export const SizeContext = React.createContext(undefined);
3
+ //# sourceMappingURL=SizeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SizeContext.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/SizeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAW,SAAS,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport type { SizeType } from './interface'\n\nexport const SizeContext = React.createContext<SizeType>(undefined)\n"]}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ const defaultGetPrefixCls = (suffixCls, customizePrefixCls) => {
3
+ if (customizePrefixCls)
4
+ return customizePrefixCls;
5
+ return suffixCls ? `tntd-rc-${suffixCls}` : 'tntd-rc';
6
+ };
7
+ export const defaultIconPrefixCls = 'anticon';
8
+ // zombieJ: 🚨 Do not pass `defaultRenderEmpty` here since it will case circular dependency.
9
+ export const ConfigContext = React.createContext({
10
+ // We provide a default function for Context without provider
11
+ getPrefixCls: defaultGetPrefixCls,
12
+ });
13
+ export const ConfigConsumer = ConfigContext.Consumer;
14
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,MAAM,mBAAmB,GAAG,CAAC,SAAkB,EAAE,kBAA2B,EAAE,EAAE;IAC9E,IAAI,kBAAkB;QAAE,OAAO,kBAAkB,CAAA;IAEjD,OAAO,SAAS,CAAC,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACvD,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAiC7C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAsB;IACpE,6DAA6D;IAC7D,YAAY,EAAE,mBAAmB;CAClC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAA","sourcesContent":["import React from 'react'\nimport type { RenderEmptyHandler } from './defaultRenderEmpty'\n\nexport interface CSPConfig {\n nonce?: string\n}\n\nconst defaultGetPrefixCls = (suffixCls?: string, customizePrefixCls?: string) => {\n if (customizePrefixCls) return customizePrefixCls\n\n return suffixCls ? `tntd-rc-${suffixCls}` : 'tntd-rc'\n}\n\nexport type DirectionType = 'ltr' | 'rtl' | undefined\n\nexport type SizeType = 'small' | 'middle' | 'large' | undefined\n\nexport type RequiredMark = boolean | 'optional'\n\nexport const defaultIconPrefixCls = 'anticon'\n\nexport interface ConfigConsumerProps {\n getTargetContainer?: () => HTMLElement\n getPopupContainer?: (triggerNode?: HTMLElement) => HTMLElement\n rootPrefixCls?: string\n iconPrefixCls?: string\n getPrefixCls: (suffixCls?: string, customizePrefixCls?: string) => string\n renderEmpty?: RenderEmptyHandler\n csp?: CSPConfig\n autoInsertSpaceInButton?: boolean\n input?: {\n autoComplete?: string\n }\n pagination?: {\n showSizeChanger?: boolean\n }\n locale?: object\n pageHeader?: {\n ghost: boolean\n }\n direction?: DirectionType\n space?: {\n size?: SizeType | number\n }\n virtual?: boolean\n dropdownMatchSelectWidth?: boolean\n form?: {\n requiredMark?: RequiredMark\n colon?: boolean\n }\n}\n\n// zombieJ: 🚨 Do not pass `defaultRenderEmpty` here since it will case circular dependency.\nexport const ConfigContext = React.createContext<ConfigConsumerProps>({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n})\n\nexport const ConfigConsumer = ConfigContext.Consumer\n"]}
@@ -0,0 +1,20 @@
1
+ /*
2
+ * @Descripttion: 空状态
3
+ * @Author: 郑泳健
4
+ * @Date: 2022-12-19 16:45:16
5
+ * @LastEditors: 郑泳健
6
+ * @LastEditTime: 2023-02-07 11:47:03
7
+ */
8
+ import * as React from 'react';
9
+ import { ConfigConsumer } from './context';
10
+ import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
11
+ const defaultRenderEmpty = (componentName) => (React.createElement(ConfigConsumer, null, ({ getPrefixCls }) => {
12
+ const prefix = getPrefixCls('empty');
13
+ return (React.createElement(LocaleReceiver, { componentName: "TntdSelect" }, (locale) => {
14
+ return (React.createElement("div", { className: `tntd-select-no-data-wrapper ${prefix}` },
15
+ React.createElement("img", { style: { width: 80, height: 50 }, src: require('../img/no-data-s.png').default }),
16
+ React.createElement("div", { className: "tntd-select-no-data-content" }, locale.noData)));
17
+ }));
18
+ }));
19
+ export default defaultRenderEmpty;
20
+ //# sourceMappingURL=defaultRenderEmpty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultRenderEmpty.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/defaultRenderEmpty.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,cAAc,MAAM,wCAAwC,CAAA;AAEnE,MAAM,kBAAkB,GAAG,CAAC,aAAqB,EAAE,EAAE,CAAC,CACpD,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IACpB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAEpC,OAAO,CACL,oBAAC,cAAc,IAAC,aAAa,EAAC,YAAY,IACvC,CAAC,MAAM,EAAE,EAAE;QACV,OAAO,CACL,6BAAK,SAAS,EAAE,+BAA+B,MAAM,EAAE;YACrD,6BACE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAChC,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,GAC5C;YACF,6BAAK,SAAS,EAAC,6BAA6B,IACxC,MAAmC,CAAC,MAAM,CACxC,CACF,CACP,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACc,CAClB,CAAA;AAID,eAAe,kBAAkB,CAAA","sourcesContent":["/*\n * @Descripttion: 空状态\n * @Author: 郑泳健\n * @Date: 2022-12-19 16:45:16\n * @LastEditors: 郑泳健\n * @LastEditTime: 2023-02-07 11:47:03\n */\nimport * as React from 'react'\nimport { ConfigConsumer } from './context'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\n\nconst defaultRenderEmpty = (componentName: string) => (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefix = getPrefixCls('empty')\n\n return (\n <LocaleReceiver componentName=\"TntdSelect\">\n {(locale) => {\n return (\n <div className={`tntd-select-no-data-wrapper ${prefix}`}>\n <img\n style={{ width: 80, height: 50 }}\n src={require('../img/no-data-s.png').default}\n />\n <div className=\"tntd-select-no-data-content\">\n {(locale as Record<'noData', object>).noData}\n </div>\n </div>\n )\n }}\n </LocaleReceiver>\n )\n }}\n </ConfigConsumer>\n)\n\nexport type RenderEmptyHandler = typeof defaultRenderEmpty\n\nexport default defaultRenderEmpty\n"]}
@@ -0,0 +1,52 @@
1
+ import * as React from 'react';
2
+ import { Icon } from 'antd';
3
+ export default function getIcons({ suffixIcon, clearIcon, menuItemSelectedIcon, removeIcon, loading, multiple, hasFeedback, prefixCls, showArrow, feedbackIcon, }) {
4
+ // Clear Icon
5
+ const mergedClearIcon = clearIcon !== null && clearIcon !== void 0 ? clearIcon : React.createElement(Icon, { type: "close-circle", theme: "filled" });
6
+ // Validation Feedback Icon
7
+ const getSuffixIconNode = (arrowIcon) => (React.createElement(React.Fragment, null,
8
+ showArrow !== false && arrowIcon,
9
+ hasFeedback && feedbackIcon));
10
+ // Arrow item icon
11
+ let mergedSuffixIcon = null;
12
+ if (suffixIcon !== undefined) {
13
+ mergedSuffixIcon = getSuffixIconNode(suffixIcon);
14
+ }
15
+ else if (loading) {
16
+ mergedSuffixIcon = getSuffixIconNode(React.createElement(Icon, { type: "loading" }));
17
+ }
18
+ else {
19
+ const iconCls = `${prefixCls}-suffix`;
20
+ mergedSuffixIcon = ({ open, showSearch }) => {
21
+ if (open && showSearch) {
22
+ return getSuffixIconNode(React.createElement(Icon, { className: iconCls, type: "search" }));
23
+ }
24
+ return getSuffixIconNode(React.createElement(Icon, { className: iconCls, type: "down" }));
25
+ };
26
+ }
27
+ // Checked item icon
28
+ let mergedItemIcon = null;
29
+ if (menuItemSelectedIcon !== undefined) {
30
+ mergedItemIcon = menuItemSelectedIcon;
31
+ }
32
+ else if (multiple) {
33
+ mergedItemIcon = React.createElement(Icon, { type: "check" });
34
+ }
35
+ else {
36
+ mergedItemIcon = null;
37
+ }
38
+ let mergedRemoveIcon = null;
39
+ if (removeIcon !== undefined) {
40
+ mergedRemoveIcon = removeIcon;
41
+ }
42
+ else {
43
+ mergedRemoveIcon = React.createElement(Icon, { type: "close" });
44
+ }
45
+ return {
46
+ clearIcon: mergedClearIcon,
47
+ suffixIcon: mergedSuffixIcon,
48
+ itemIcon: mergedItemIcon,
49
+ removeIcon: mergedRemoveIcon,
50
+ };
51
+ }
52
+ //# sourceMappingURL=getIcons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIcons.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/getIcons.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,YAAY,GAYb;IACC,aAAa;IACb,MAAM,eAAe,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,oBAAC,IAAI,IAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,QAAQ,GAAG,CAAA;IAEhF,2BAA2B;IAC3B,MAAM,iBAAiB,GAAG,CAAC,SAAqB,EAAE,EAAE,CAAC,CACnD;QACG,SAAS,KAAK,KAAK,IAAI,SAAS;QAChC,WAAW,IAAI,YAAY,CAC3B,CACJ,CAAA;IAED,kBAAkB;IAClB,IAAI,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAI,UAAU,KAAK,SAAS,EAAE;QAC5B,gBAAgB,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAA;KACjD;SAAM,IAAI,OAAO,EAAE;QAClB,gBAAgB,GAAG,iBAAiB,CAAC,oBAAC,IAAI,IAAC,IAAI,EAAC,SAAS,GAAG,CAAC,CAAA;KAC9D;SAAM;QACL,MAAM,OAAO,GAAG,GAAG,SAAS,SAAS,CAAA;QACrC,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAA0C,EAAE,EAAE;YAClF,IAAI,IAAI,IAAI,UAAU,EAAE;gBACtB,OAAO,iBAAiB,CAAC,oBAAC,IAAI,IAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAC,QAAQ,GAAG,CAAC,CAAA;aACrE;YACD,OAAO,iBAAiB,CAAC,oBAAC,IAAI,IAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,GAAG,CAAC,CAAA;QACpE,CAAC,CAAA;KACF;IAED,oBAAoB;IACpB,IAAI,cAAc,GAAG,IAAI,CAAA;IACzB,IAAI,oBAAoB,KAAK,SAAS,EAAE;QACtC,cAAc,GAAG,oBAAoB,CAAA;KACtC;SAAM,IAAI,QAAQ,EAAE;QACnB,cAAc,GAAG,oBAAC,IAAI,IAAC,IAAI,EAAC,OAAO,GAAG,CAAA;KACvC;SAAM;QACL,cAAc,GAAG,IAAI,CAAA;KACtB;IAED,IAAI,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAI,UAAU,KAAK,SAAS,EAAE;QAC5B,gBAAgB,GAAG,UAAU,CAAA;KAC9B;SAAM;QACL,gBAAgB,GAAG,oBAAC,IAAI,IAAC,IAAI,EAAC,OAAO,GAAG,CAAA;KACzC;IAED,OAAO;QACL,SAAS,EAAE,eAAe;QAC1B,UAAU,EAAE,gBAAgB;QAC5B,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,gBAAgB;KAC7B,CAAA;AACH,CAAC","sourcesContent":["import type { ReactNode } from 'react'\nimport * as React from 'react'\nimport { Icon } from 'antd'\n\ntype RenderNode = React.ReactNode | ((props: any) => React.ReactNode)\n\nexport default function getIcons({\n suffixIcon,\n clearIcon,\n menuItemSelectedIcon,\n removeIcon,\n loading,\n multiple,\n hasFeedback,\n prefixCls,\n showArrow,\n feedbackIcon,\n}: {\n suffixIcon?: React.ReactNode\n clearIcon?: RenderNode\n menuItemSelectedIcon?: RenderNode\n removeIcon?: RenderNode\n loading?: boolean\n multiple?: boolean\n hasFeedback?: boolean\n feedbackIcon?: ReactNode\n prefixCls: string\n showArrow?: boolean\n}) {\n // Clear Icon\n const mergedClearIcon = clearIcon ?? <Icon type=\"close-circle\" theme=\"filled\" />\n\n // Validation Feedback Icon\n const getSuffixIconNode = (arrowIcon?: ReactNode) => (\n <>\n {showArrow !== false && arrowIcon}\n {hasFeedback && feedbackIcon}\n </>\n )\n\n // Arrow item icon\n let mergedSuffixIcon = null\n if (suffixIcon !== undefined) {\n mergedSuffixIcon = getSuffixIconNode(suffixIcon)\n } else if (loading) {\n mergedSuffixIcon = getSuffixIconNode(<Icon type=\"loading\" />)\n } else {\n const iconCls = `${prefixCls}-suffix`\n mergedSuffixIcon = ({ open, showSearch }: { open: boolean; showSearch: boolean }) => {\n if (open && showSearch) {\n return getSuffixIconNode(<Icon className={iconCls} type=\"search\" />)\n }\n return getSuffixIconNode(<Icon className={iconCls} type=\"down\" />)\n }\n }\n\n // Checked item icon\n let mergedItemIcon = null\n if (menuItemSelectedIcon !== undefined) {\n mergedItemIcon = menuItemSelectedIcon\n } else if (multiple) {\n mergedItemIcon = <Icon type=\"check\" />\n } else {\n mergedItemIcon = null\n }\n\n let mergedRemoveIcon = null\n if (removeIcon !== undefined) {\n mergedRemoveIcon = removeIcon\n } else {\n mergedRemoveIcon = <Icon type=\"close\" />\n }\n\n return {\n clearIcon: mergedClearIcon,\n suffixIcon: mergedSuffixIcon,\n itemIcon: mergedItemIcon,\n removeIcon: mergedRemoveIcon,\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export const tuple = (...args) => args;
2
+ const ValidateStatuses = tuple('success', 'warning', 'error', 'validating', '');
3
+ const SelectPlacements = tuple('bottomLeft', 'bottomRight', 'topLeft', 'topRight');
4
+ const InputStatuses = tuple('warning', 'error', '');
5
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/interface.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAqB,GAAG,IAAO,EAAE,EAAE,CAAC,IAAI,CAAA;AAE7D,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;AAI/E,MAAM,gBAAgB,GAAG,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;AAIlF,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA","sourcesContent":["import type { ReactElement, JSXElementConstructor } from 'react'\n\nexport type SizeType = 'small' | 'middle' | 'large' | undefined\n\nexport type DirectionType = 'ltr' | 'rtl' | undefined\n\nexport const tuple = <T extends string[]>(...args: T) => args\n\nconst ValidateStatuses = tuple('success', 'warning', 'error', 'validating', '')\n\nexport type ValidateStatus = typeof ValidateStatuses[number]\n\nconst SelectPlacements = tuple('bottomLeft', 'bottomRight', 'topLeft', 'topRight')\n\nexport type SelectCommonPlacement = typeof SelectPlacements[number]\n\nconst InputStatuses = tuple('warning', 'error', '')\n\nexport type InputStatus = typeof InputStatuses[number]\n\nexport interface SpaceCompactItemContextType {\n compactSize?: SizeType\n compactDirection?: 'horizontal' | 'vertical'\n isFirstItem?: boolean\n isLastItem?: boolean\n}\n\nexport interface FormItemStatusContextProps {\n isFormItemInput?: boolean\n status?: ValidateStatus\n hasFeedback?: boolean\n feedbackIcon?: React.ReactNode\n}\n\nexport type DropdownRender = (\n menu: ReactElement<any, string | JSXElementConstructor<any>>\n) => ReactElement<any, string | JSXElementConstructor<any>>\n"]}
@@ -1,13 +1,14 @@
1
+ import { tuple } from './type';
1
2
  // ================== Collapse Motion ==================
2
3
  const getCollapsedHeight = () => ({ height: 0, opacity: 0 });
3
- const getRealHeight = (node) => {
4
+ const getRealHeight = node => {
4
5
  const { scrollHeight } = node;
5
6
  return { height: scrollHeight, opacity: 1 };
6
7
  };
7
- const getCurrentHeight = (node) => ({ height: node ? node.offsetHeight : 0 });
8
+ const getCurrentHeight = node => ({ height: node ? node.offsetHeight : 0 });
8
9
  const skipOpacityTransition = (_, event) => (event === null || event === void 0 ? void 0 : event.deadline) === true || event.propertyName === 'height';
9
- const initCollapseMotion = (rootCls = 'ant') => ({
10
- motionName: `${rootCls}-motion-collapse`,
10
+ const collapseMotion = {
11
+ motionName: 'ant-motion-collapse',
11
12
  onAppearStart: getCollapsedHeight,
12
13
  onEnterStart: getCollapsedHeight,
13
14
  onAppearActive: getRealHeight,
@@ -18,14 +19,20 @@ const initCollapseMotion = (rootCls = 'ant') => ({
18
19
  onEnterEnd: skipOpacityTransition,
19
20
  onLeaveEnd: skipOpacityTransition,
20
21
  motionDeadline: 500,
21
- });
22
- const SelectPlacements = ['bottomLeft', 'bottomRight', 'topLeft', 'topRight'];
22
+ };
23
+ const SelectPlacements = tuple('bottomLeft', 'bottomRight', 'topLeft', 'topRight');
24
+ const getTransitionDirection = (placement) => {
25
+ if (placement !== undefined && (placement === 'topLeft' || placement === 'topRight')) {
26
+ return `slide-down`;
27
+ }
28
+ return `slide-up`;
29
+ };
23
30
  const getTransitionName = (rootPrefixCls, motion, transitionName) => {
24
31
  if (transitionName !== undefined) {
25
32
  return transitionName;
26
33
  }
27
34
  return `${rootPrefixCls}-${motion}`;
28
35
  };
29
- export { getTransitionName };
30
- export default initCollapseMotion;
36
+ export { getTransitionName, getTransitionDirection };
37
+ export default collapseMotion;
31
38
  //# sourceMappingURL=motion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/motion.ts"],"names":[],"mappings":"AAGA,wDAAwD;AACxD,MAAM,kBAAkB,GAAuB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACjF,MAAM,aAAa,GAAuB,CAAC,IAAI,EAAE,EAAE;IACjD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC9C,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClG,MAAM,qBAAqB,GAA0B,CAAC,CAAC,EAAE,KAAkB,EAAE,EAAE,CAC7E,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,MAAK,IAAI,IAAK,KAAyB,CAAC,YAAY,KAAK,QAAQ,CAAC;AAEnF,MAAM,kBAAkB,GAAG,CAAC,UAAkB,KAAK,EAAkB,EAAE,CAAC,CAAC;IACvE,UAAU,EAAE,GAAG,OAAO,kBAAkB;IACxC,aAAa,EAAE,kBAAkB;IACjC,YAAY,EAAE,kBAAkB;IAChC,cAAc,EAAE,aAAa;IAC7B,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,gBAAgB;IAC9B,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,qBAAqB;IAClC,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,qBAAqB;IACjC,cAAc,EAAE,GAAG;CACpB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAIvF,MAAM,iBAAiB,GAAG,CAAC,aAAqB,EAAE,MAAc,EAAE,cAAuB,EAAE,EAAE;IAC3F,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO,cAAc,CAAC;KACvB;IACD,OAAO,GAAG,aAAa,IAAI,MAAM,EAAE,CAAC;AACtC,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,eAAe,kBAAkB,CAAC","sourcesContent":["import type { CSSMotionProps, MotionEndEventHandler, MotionEventHandler } from 'rc-motion';\nimport type { MotionEvent } from 'rc-motion/lib/interface';\n\n// ================== Collapse Motion ==================\nconst getCollapsedHeight: MotionEventHandler = () => ({ height: 0, opacity: 0 });\nconst getRealHeight: MotionEventHandler = (node) => {\n const { scrollHeight } = node;\n return { height: scrollHeight, opacity: 1 };\n};\nconst getCurrentHeight: MotionEventHandler = (node) => ({ height: node ? node.offsetHeight : 0 });\nconst skipOpacityTransition: MotionEndEventHandler = (_, event: MotionEvent) =>\n event?.deadline === true || (event as TransitionEvent).propertyName === 'height';\n\nconst initCollapseMotion = (rootCls: string = 'ant'): CSSMotionProps => ({\n motionName: `${rootCls}-motion-collapse`,\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500,\n});\n\nconst SelectPlacements = ['bottomLeft', 'bottomRight', 'topLeft', 'topRight'] as const;\n\nexport type SelectCommonPlacement = typeof SelectPlacements[number];\n\nconst getTransitionName = (rootPrefixCls: string, motion: string, transitionName?: string) => {\n if (transitionName !== undefined) {\n return transitionName;\n }\n return `${rootPrefixCls}-${motion}`;\n};\n\nexport { getTransitionName };\nexport default initCollapseMotion;"]}
1
+ {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/motion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,wDAAwD;AACxD,MAAM,kBAAkB,GAAuB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACjF,MAAM,aAAa,GAAuB,IAAI,CAAC,EAAE;IAC/C,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC9C,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAuB,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAChG,MAAM,qBAAqB,GAA0B,CAAC,CAAC,EAAE,KAAkB,EAAE,EAAE,CAC7E,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,MAAK,IAAI,IAAK,KAAyB,CAAC,YAAY,KAAK,QAAQ,CAAC;AAEnF,MAAM,cAAc,GAAmB;IACrC,UAAU,EAAE,qBAAqB;IACjC,aAAa,EAAE,kBAAkB;IACjC,YAAY,EAAE,kBAAkB;IAChC,cAAc,EAAE,aAAa;IAC7B,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,gBAAgB;IAC9B,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,qBAAqB;IAClC,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,qBAAqB;IACjC,cAAc,EAAE,GAAG;CACpB,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAGnF,MAAM,sBAAsB,GAAG,CAAC,SAA4C,EAAE,EAAE;IAC9E,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,UAAU,CAAC,EAAE;QACpF,OAAO,YAAY,CAAC;KACrB;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,aAAqB,EAAE,MAAc,EAAE,cAAuB,EAAE,EAAE;IAC3F,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO,cAAc,CAAC;KACvB;IACD,OAAO,GAAG,aAAa,IAAI,MAAM,EAAE,CAAC;AACtC,CAAC,CAAC;AACF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;AACrD,eAAe,cAAc,CAAC","sourcesContent":["import type { CSSMotionProps, MotionEndEventHandler, MotionEventHandler } from 'rc-motion';\nimport type { MotionEvent } from 'rc-motion/lib/interface';\nimport { tuple } from './type';\n\n// ================== Collapse Motion ==================\nconst getCollapsedHeight: MotionEventHandler = () => ({ height: 0, opacity: 0 });\nconst getRealHeight: MotionEventHandler = node => {\n const { scrollHeight } = node;\n return { height: scrollHeight, opacity: 1 };\n};\nconst getCurrentHeight: MotionEventHandler = node => ({ height: node ? node.offsetHeight : 0 });\nconst skipOpacityTransition: MotionEndEventHandler = (_, event: MotionEvent) =>\n event?.deadline === true || (event as TransitionEvent).propertyName === 'height';\n\nconst collapseMotion: CSSMotionProps = {\n motionName: 'ant-motion-collapse',\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500,\n};\n\nconst SelectPlacements = tuple('bottomLeft', 'bottomRight', 'topLeft', 'topRight');\nexport type SelectCommonPlacement = typeof SelectPlacements[number];\n\nconst getTransitionDirection = (placement: SelectCommonPlacement | undefined) => {\n if (placement !== undefined && (placement === 'topLeft' || placement === 'topRight')) {\n return `slide-down`;\n }\n return `slide-up`;\n};\n\nconst getTransitionName = (rootPrefixCls: string, motion: string, transitionName?: string) => {\n if (transitionName !== undefined) {\n return transitionName;\n }\n return `${rootPrefixCls}-${motion}`;\n};\nexport { getTransitionName, getTransitionDirection };\nexport default collapseMotion;"]}
@@ -0,0 +1,4 @@
1
+ // https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead
2
+ export const tuple = (...args) => args;
3
+ export const tupleNum = (...args) => args;
4
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/type.ts"],"names":[],"mappings":"AAAA,qHAAqH;AACrH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAqB,GAAG,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAqB,GAAG,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC","sourcesContent":["// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead\nexport const tuple = <T extends string[]>(...args: T) => args;\n\nexport const tupleNum = <T extends number[]>(...args: T) => args;\n\n/**\n * https://stackoverflow.com/a/59187769 Extract the type of an element of an array/tuple without\n * performing indexing\n */\nexport type ElementOf<T> = T extends (infer E)[] ? E : T extends readonly (infer F)[] ? F : never;\n\n/** https://github.com/Microsoft/TypeScript/issues/29729 */\nexport type LiteralUnion<T extends U, U> = T | (U & {});\n"]}
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ import classNames from 'classnames';
3
+ export const SpaceCompactItemContext = React.createContext(null);
4
+ export const useCompactItemContext = (prefixCls, direction) => {
5
+ const compactItemContext = React.useContext(SpaceCompactItemContext);
6
+ const compactItemClassnames = React.useMemo(() => {
7
+ if (!compactItemContext)
8
+ return '';
9
+ const { compactDirection, isFirstItem, isLastItem } = compactItemContext;
10
+ const separator = compactDirection === 'vertical' ? '-vertical-' : '-';
11
+ return classNames({
12
+ [`${prefixCls}-compact${separator}item`]: true,
13
+ [`${prefixCls}-compact${separator}first-item`]: isFirstItem,
14
+ [`${prefixCls}-compact${separator}last-item`]: isLastItem,
15
+ [`${prefixCls}-compact${separator}item-rtl`]: direction === 'rtl',
16
+ });
17
+ }, [prefixCls, direction, compactItemContext]);
18
+ return {
19
+ compactSize: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactSize,
20
+ compactDirection: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactDirection,
21
+ compactItemClassnames,
22
+ };
23
+ };
24
+ //# sourceMappingURL=useCompactItemContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCompactItemContext.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/useCompactItemContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAqC,IAAI,CAAC,CAAA;AAEpG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,SAAwB,EAAE,EAAE;IACnF,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAEpE,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC/C,IAAI,CAAC,kBAAkB;YAAE,OAAO,EAAE,CAAA;QAElC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAA;QACxE,MAAM,SAAS,GAAG,gBAAgB,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAA;QAEtE,OAAO,UAAU,CAAC;YAChB,CAAC,GAAG,SAAS,WAAW,SAAS,MAAM,CAAC,EAAE,IAAI;YAC9C,CAAC,GAAG,SAAS,WAAW,SAAS,YAAY,CAAC,EAAE,WAAW;YAC3D,CAAC,GAAG,SAAS,WAAW,SAAS,WAAW,CAAC,EAAE,UAAU;YACzD,CAAC,GAAG,SAAS,WAAW,SAAS,UAAU,CAAC,EAAE,SAAS,KAAK,KAAK;SAClE,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAE9C,OAAO;QACL,WAAW,EAAE,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,WAAW;QAC5C,gBAAgB,EAAE,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,gBAAgB;QACtD,qBAAqB;KACtB,CAAA;AACH,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport type { DirectionType, SpaceCompactItemContextType } from './interface'\nimport classNames from 'classnames'\n\nexport const SpaceCompactItemContext = React.createContext<SpaceCompactItemContextType | null>(null)\n\nexport const useCompactItemContext = (prefixCls: string, direction: DirectionType) => {\n const compactItemContext = React.useContext(SpaceCompactItemContext)\n\n const compactItemClassnames = React.useMemo(() => {\n if (!compactItemContext) return ''\n\n const { compactDirection, isFirstItem, isLastItem } = compactItemContext\n const separator = compactDirection === 'vertical' ? '-vertical-' : '-'\n\n return classNames({\n [`${prefixCls}-compact${separator}item`]: true,\n [`${prefixCls}-compact${separator}first-item`]: isFirstItem,\n [`${prefixCls}-compact${separator}last-item`]: isLastItem,\n [`${prefixCls}-compact${separator}item-rtl`]: direction === 'rtl',\n })\n }, [prefixCls, direction, compactItemContext])\n\n return {\n compactSize: compactItemContext?.compactSize,\n compactDirection: compactItemContext?.compactDirection,\n compactItemClassnames,\n }\n}\n"]}
@@ -1,6 +1,15 @@
1
- import warning, { resetWarned } from 'rc-util/lib/warning';
2
- export { resetWarned };
3
- export default (valid, component, message) => {
4
- warning(valid, `[antd: ${component}] ${message}`);
5
- };
1
+ import rcWarning, { resetWarned } from 'rc-util/lib/warning';
2
+ function noop() { }
3
+ // eslint-disable-next-line import/no-mutable-exports
4
+ let warning = noop;
5
+ if (process.env.NODE_ENV !== 'production') {
6
+ warning = (valid, component, message) => {
7
+ rcWarning(valid, `[antd: ${component}] ${message}`);
8
+ // StrictMode will inject console which will not throw warning in React 17.
9
+ if (process.env.NODE_ENV === 'test') {
10
+ resetWarned();
11
+ }
12
+ };
13
+ }
14
+ export default warning;
6
15
  //# sourceMappingURL=warning.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"warning.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/warning.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,eAAe,CAAC,KAAc,EAAE,SAAiB,EAAE,OAAe,EAAQ,EAAE;IAC1E,OAAO,CAAC,KAAK,EAAE,UAAU,SAAS,KAAK,OAAO,EAAE,CAAC,CAAA;AACnD,CAAC,CAAA","sourcesContent":["import warning, { resetWarned } from 'rc-util/lib/warning'\n\nexport { resetWarned }\n\nexport default (valid: boolean, component: string, message: string): void => {\n warning(valid, `[antd: ${component}] ${message}`)\n}\n"]}
1
+ {"version":3,"file":"warning.js","sourceRoot":"","sources":["../../../src/tntd-select/_util/warning.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAE5D,SAAS,IAAI,KAAI,CAAC;AAIlB,qDAAqD;AACrD,IAAI,OAAO,GAAY,IAAI,CAAA;AAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IACzC,OAAO,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QACtC,SAAS,CAAC,KAAK,EAAE,UAAU,SAAS,KAAK,OAAO,EAAE,CAAC,CAAA;QAEnD,2EAA2E;QAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;YACnC,WAAW,EAAE,CAAA;SACd;IACH,CAAC,CAAA;CACF;AAED,eAAe,OAAO,CAAA","sourcesContent":["import rcWarning, { resetWarned } from 'rc-util/lib/warning'\n\nfunction noop() {}\n\ntype Warning = (valid: boolean, component: string, message?: string) => void\n\n// eslint-disable-next-line import/no-mutable-exports\nlet warning: Warning = noop\nif (process.env.NODE_ENV !== 'production') {\n warning = (valid, component, message) => {\n rcWarning(valid, `[antd: ${component}] ${message}`)\n\n // StrictMode will inject console which will not throw warning in React 17.\n if (process.env.NODE_ENV === 'test') {\n resetWarned()\n }\n }\n}\n\nexport default warning\n"]}
@@ -460,9 +460,15 @@ class SuperSelect extends PureComponent {
460
460
  this.isMultiple = ['tags', 'multiple'].includes(mode);
461
461
  this.setState({
462
462
  children: arr || [],
463
- filterChildren: null,
463
+ filterChildren: null
464
464
  }, () => {
465
465
  if (arr && arr.length > 0) {
466
+ // 设置下拉列表显示数据
467
+ if (!value) {
468
+ this.scrollTop = 0;
469
+ this.scrollEle && this.scrollEle.scrollTo(0, 0);
470
+ this.setSuperDrowDownMenu(true);
471
+ }
466
472
  this.formulaWidth();
467
473
  if (!this.inputEle) {
468
474
  this.removeEvent();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\n\nimport Select from '../select'\nimport Empty from '../empty'\nimport Spin from '../spin';\nimport DropDownWrap from './DropDownWrap'\nimport { capitalizeFirstLetter } from '../utils'\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n const selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n\n this.setState({\n children: arr || [],\n filterChildren: null,\n },()=>{\n if (arr && arr.length > 0) {\n this.formulaWidth()\n\n if (!this.inputEle) {\n this.removeEvent();\n this.addEvent();\n }\n }\n })\n\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault();\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown',this.preventEvent, false);\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDrowDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDrowDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown',this.preventEvent,false);\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, ...props } = this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if(_props.loading) {\n return (\n <Spin size=\"small\" style={{ marginLeft: 8 }} />\n )\n }\n if (this.allList.length === 0) {\n return (\n <div style={{ padding: '5px 12px' }}>\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }\n}\n\nSuperSelect.Option = Option\n\nexport default SuperSelect\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\n\nimport Select from '../select'\nimport Empty from '../empty'\nimport Spin from '../spin';\nimport DropDownWrap from './DropDownWrap'\nimport { capitalizeFirstLetter } from '../utils'\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n const selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n \n this.setState(\n {\n children: arr || [],\n filterChildren: null\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0;\n this.scrollEle && this.scrollEle.scrollTo(0, 0);\n this.setSuperDrowDownMenu(true);\n }\n this.formulaWidth();\n if (!this.inputEle) {\n this.removeEvent();\n this.addEvent();\n }\n }\n }\n );\n\n\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault();\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown',this.preventEvent, false);\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDrowDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDrowDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown',this.preventEvent,false);\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, ...props } = this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if(_props.loading) {\n return (\n <Spin size=\"small\" style={{ marginLeft: 8 }} />\n )\n }\n if (this.allList.length === 0) {\n return (\n <div style={{ padding: '5px 12px' }}>\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }\n}\n\nSuperSelect.Option = Option\n\nexport default SuperSelect\n"]}