tntd 2.0.8 → 2.0.10

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 (613) hide show
  1. package/es/affix/index.js +1 -2
  2. package/es/alert/index.js +1 -2
  3. package/es/anchor/index.js +1 -2
  4. package/es/array-input/icon.js +24 -6
  5. package/es/array-input/index.js +228 -119
  6. package/es/auth-context/index.js +1 -2
  7. package/es/auto-complete/index.js +1 -2
  8. package/es/avatar/index.js +1 -2
  9. package/es/back-top/index.js +1 -2
  10. package/es/badge/index.js +1 -2
  11. package/es/breadcrumb/index.js +1 -2
  12. package/es/button/index.js +1 -2
  13. package/es/calendar/index.js +1 -2
  14. package/es/card/index.js +1 -2
  15. package/es/carousel/index.js +1 -2
  16. package/es/cascader/index.js +1 -2
  17. package/es/checkbox/index.js +1 -2
  18. package/es/col/index.js +1 -2
  19. package/es/collapse/index.js +1 -2
  20. package/es/columns/index.js +72 -30
  21. package/es/columns/style/index.js +1 -2
  22. package/es/comment/index.js +1 -2
  23. package/es/config-provider/config-provider.js +1 -2
  24. package/es/config-provider/index.js +1 -2
  25. package/es/date-picker/index.js +1 -2
  26. package/es/descriptions/index.js +1 -2
  27. package/es/development-login/LoginModal.js +89 -48
  28. package/es/development-login/index.js +17 -8
  29. package/es/divider/index.js +1 -2
  30. package/es/drawer/drawer.js +31 -22
  31. package/es/drawer/drawer.js.map +1 -1
  32. package/es/drawer/index.js +1 -2
  33. package/es/dropdown/index.js +1 -2
  34. package/es/ellipsis/Svg/CopySVG.js +63 -17
  35. package/es/ellipsis/Svg/TickSVG.js +41 -12
  36. package/es/ellipsis/index.js +111 -68
  37. package/es/empty/empty.js +65 -51
  38. package/es/empty/empty.stories.js +5 -6
  39. package/es/empty/index.js +1 -2
  40. package/es/exception/exception.js +32 -19
  41. package/es/exception/index.js +1 -2
  42. package/es/form/index.js +1 -2
  43. package/es/handle/index.js +120 -63
  44. package/es/handle/index.js.map +1 -1
  45. package/es/icon/index.js +1 -2
  46. package/es/icon-list/index.js +1 -120
  47. package/es/img/Contain.js +66 -39
  48. package/es/img/Cover.js +109 -72
  49. package/es/img/index.js +55 -32
  50. package/es/index.js +3 -2
  51. package/es/index.js.map +1 -1
  52. package/es/input/index.js +1 -2
  53. package/es/input-number/index.js +1 -2
  54. package/es/layout/index.js +1 -2
  55. package/es/list/index.js +1 -2
  56. package/es/loading-button/index.js +40 -28
  57. package/es/locale/default.js +5 -4
  58. package/es/locale/default.js.map +1 -1
  59. package/es/locale/en_US.js +31 -27
  60. package/es/locale/en_US.js.map +1 -1
  61. package/es/locale/index.js +1 -2
  62. package/es/locale/zh_CN.js +31 -27
  63. package/es/locale/zh_CN.js.map +1 -1
  64. package/es/locale-provider/index.js +1 -2
  65. package/es/mention/index.js +1 -2
  66. package/es/mentions/index.js +1 -2
  67. package/es/menu/index.js +1 -2
  68. package/es/message/index.js +1 -2
  69. package/es/modal/index.js +1 -2
  70. package/es/notification/index.js +2 -3
  71. package/es/notification/index.js.map +1 -1
  72. package/es/page/Box.js +58 -33
  73. package/es/page/index.js +139 -88
  74. package/es/page/utils.js +17 -14
  75. package/es/page-header/index.js +1 -2
  76. package/es/pagination/index.js +1 -2
  77. package/es/popconfirm/index.js +1 -2
  78. package/es/popover/index.js +1 -2
  79. package/es/prev-locale.js +52 -47
  80. package/es/progress/index.js +1 -2
  81. package/es/query-form/Field/Checkbox.js +24 -17
  82. package/es/query-form/Field/Select.js +62 -40
  83. package/es/query-form/Field/SelectInput.js +77 -45
  84. package/es/query-form/Field/fieldsMap.js +20 -20
  85. package/es/query-form/Field/index.js +113 -66
  86. package/es/query-form/createActions.js +54 -46
  87. package/es/query-form/index.js +359 -247
  88. package/es/query-form/useForm.js +3 -4
  89. package/es/query-list-scene/List.js +343 -258
  90. package/es/query-list-scene/QueryForm.js +141 -95
  91. package/es/query-list-scene/QueryListScene.js +31 -21
  92. package/es/query-list-scene/Title.js +6 -4
  93. package/es/query-list-scene/Toolbar.js +25 -15
  94. package/es/query-list-scene/createActions.js +63 -60
  95. package/es/query-list-scene/index.js +1 -2
  96. package/es/query-list-scene/index.less +1 -1
  97. package/es/query-list-scene/useActions.js +3 -4
  98. package/es/radio/index.js +1 -2
  99. package/es/rate/index.js +1 -2
  100. package/es/render-empty/index.js +1 -2
  101. package/es/render-empty/render-empty.js +21 -16
  102. package/es/result/index.js +1 -2
  103. package/es/row/index.js +1 -2
  104. package/es/select/index.js +1 -2
  105. package/es/skeleton/index.js +1 -2
  106. package/es/slider/index.js +1 -2
  107. package/es/spin/index.js +1 -2
  108. package/es/statistic/index.js +1 -2
  109. package/es/steps/index.js +1 -2
  110. package/es/steps/steps.js +59 -35
  111. package/es/svg-components/illustration-403.js +208 -58
  112. package/es/svg-components/illustration-404.js +292 -75
  113. package/es/svg-components/illustration-500.js +323 -83
  114. package/es/svg-components/illustration-empty.js +56 -15
  115. package/es/svg-components/illustration-failure.js +114 -36
  116. package/es/svg-components/illustration-no-access.js +116 -35
  117. package/es/svg-components/illustration-no-chart.js +136 -37
  118. package/es/svg-components/illustration-no-result.js +94 -32
  119. package/es/svg-components/illustration-offline.js +133 -43
  120. package/es/svg-components/illustration-success.js +139 -43
  121. package/es/svg-components/index.js +1 -2
  122. package/es/switch/index.js +1 -2
  123. package/es/table/assets/image-loading-background.js +47 -17
  124. package/es/table/assets/image-loading.js +28 -5
  125. package/es/table/constants.js +1 -2
  126. package/es/table/context.js +1 -2
  127. package/es/table/hooks/index.js +1 -2
  128. package/es/table/hooks/use-column-setting.js +14 -16
  129. package/es/table/index.js +1 -2
  130. package/es/table/table.js +76 -48
  131. package/es/table/table.stories.js +150 -139
  132. package/es/table/utils.js +21 -18
  133. package/es/tabs/index.js +1 -2
  134. package/es/tag/index.js +1 -2
  135. package/es/time-picker/index.js +1 -2
  136. package/es/timeline/index.js +1 -2
  137. package/es/title/index.js +38 -20
  138. package/es/tntd-cascader/AntdCascader/component/DisabledContext.js +9 -5
  139. package/es/tntd-cascader/AntdCascader/component/FormItemInputContext.js +1 -2
  140. package/es/tntd-cascader/AntdCascader/component/SizeContext.js +1 -2
  141. package/es/tntd-cascader/AntdCascader/component/context.js +9 -9
  142. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +24 -10
  143. package/es/tntd-cascader/AntdCascader/component/getIcons.js +81 -50
  144. package/es/tntd-cascader/AntdCascader/component/useCompactItemContext.js +22 -20
  145. package/es/tntd-cascader/AntdCascader/config/utils.js +19 -18
  146. package/es/tntd-cascader/AntdCascader/config/warning.js +14 -11
  147. package/es/tntd-cascader/AntdCascader/index.js +212 -119
  148. package/es/tntd-cascader/AntdCascader/interface.js +1 -2
  149. package/es/tntd-cascader/index.js +1 -2
  150. package/es/tntd-cascader/rc-cascader/Cascader.js +279 -235
  151. package/es/tntd-cascader/rc-cascader/OptionList/Checkbox.js +21 -11
  152. package/es/tntd-cascader/rc-cascader/OptionList/Column.js +185 -116
  153. package/es/tntd-cascader/rc-cascader/OptionList/index.js +197 -128
  154. package/es/tntd-cascader/rc-cascader/OptionList/useActive.js +24 -19
  155. package/es/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +173 -137
  156. package/es/tntd-cascader/rc-cascader/context.js +1 -2
  157. package/es/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +50 -37
  158. package/es/tntd-cascader/rc-cascader/hooks/useEntities.js +27 -24
  159. package/es/tntd-cascader/rc-cascader/hooks/useMissingValues.js +16 -17
  160. package/es/tntd-cascader/rc-cascader/hooks/useRefFunc.js +8 -8
  161. package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +27 -23
  162. package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +58 -41
  163. package/es/tntd-cascader/rc-cascader/index.js +1 -2
  164. package/es/tntd-cascader/rc-cascader/utils/commonUtil.js +37 -27
  165. package/es/tntd-cascader/rc-cascader/utils/treeUtil.js +32 -33
  166. package/es/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +33 -25
  167. package/es/tntd-icon/fonts/iconfont.js +41 -53
  168. package/es/tntd-icon/index.js +27 -17
  169. package/es/tntd-layout/ActionsContext.js +3 -4
  170. package/es/tntd-layout/AppList.js +149 -79
  171. package/es/tntd-layout/Application.js +46 -29
  172. package/es/tntd-layout/Avatar.js +84 -42
  173. package/es/tntd-layout/CompatibleLanguage.js +106 -56
  174. package/es/tntd-layout/EnterpriseLayout/Avatar.js +97 -47
  175. package/es/tntd-layout/EnterpriseLayout/Language.js +62 -34
  176. package/es/tntd-layout/EnterpriseLayout/Theme.js +49 -24
  177. package/es/tntd-layout/EnterpriseLayout/index.js +17 -9
  178. package/es/tntd-layout/GlobalNavigation/NavigationPopup.js +244 -154
  179. package/es/tntd-layout/GlobalNavigation/index.js +90 -50
  180. package/es/tntd-layout/Header.js +59 -26
  181. package/es/tntd-layout/HeaderActions.js +87 -34
  182. package/es/tntd-layout/HeaderNavs.js +54 -35
  183. package/es/tntd-layout/HeaderTabs.js +197 -140
  184. package/es/tntd-layout/Iconfont.js +1 -2
  185. package/es/tntd-layout/Language.js +61 -33
  186. package/es/tntd-layout/Layout.js +181 -78
  187. package/es/tntd-layout/Logo.js +61 -42
  188. package/es/tntd-layout/OrgAppList.js +228 -142
  189. package/es/tntd-layout/SideMenu.js +268 -161
  190. package/es/tntd-layout/Theme.js +53 -29
  191. package/es/tntd-layout/createActions.js +28 -29
  192. package/es/tntd-layout/images/index.js +31 -32
  193. package/es/tntd-layout/index.js +100 -60
  194. package/es/tntd-layout/paaslayout/CompactSideMenu.js +124 -65
  195. package/es/tntd-layout/paaslayout/Header.js +37 -14
  196. package/es/tntd-layout/paaslayout/Logo.js +2 -3
  197. package/es/tntd-layout/paaslayout/SideMenu.js +124 -63
  198. package/es/tntd-layout/paaslayout/index.js +168 -79
  199. package/es/tntd-layout/storage.js +20 -13
  200. package/es/tntd-modal/index.js +79 -32
  201. package/es/tntd-second-page/index.js +55 -0
  202. package/es/tntd-second-page/index.js.map +1 -0
  203. package/es/tntd-second-page/index.less +105 -0
  204. package/es/tntd-select/DropDownWrap.js +77 -52
  205. package/es/tntd-select/index.js +612 -486
  206. package/es/tooltip/index.js +1 -2
  207. package/es/transfer/index.js +1 -2
  208. package/es/tree/index.js +1 -2
  209. package/es/tree-select/index.js +1 -2
  210. package/es/typography/index.js +1 -2
  211. package/es/upload/index.js +1 -2
  212. package/es/utils/checkAuth.js +25 -21
  213. package/es/utils/findMenuInfoByPath.js +36 -30
  214. package/es/utils/index.js +75 -60
  215. package/es/version/index.js +1 -2
  216. package/lib/affix/index.d.ts +3 -3
  217. package/lib/affix/index.js +29 -22
  218. package/lib/affix/index.js.map +1 -1
  219. package/lib/alert/index.d.ts +3 -3
  220. package/lib/alert/index.js +29 -22
  221. package/lib/alert/index.js.map +1 -1
  222. package/lib/anchor/index.d.ts +3 -3
  223. package/lib/anchor/index.js +29 -22
  224. package/lib/anchor/index.js.map +1 -1
  225. package/lib/array-input/icon.js +38 -11
  226. package/lib/array-input/index.js +304 -150
  227. package/lib/auth-context/index.js +13 -4
  228. package/lib/auto-complete/index.d.ts +3 -3
  229. package/lib/auto-complete/index.js +29 -22
  230. package/lib/auto-complete/index.js.map +1 -1
  231. package/lib/avatar/index.d.ts +3 -3
  232. package/lib/avatar/index.js +29 -22
  233. package/lib/avatar/index.js.map +1 -1
  234. package/lib/back-top/index.d.ts +3 -3
  235. package/lib/back-top/index.js +29 -22
  236. package/lib/back-top/index.js.map +1 -1
  237. package/lib/badge/index.d.ts +3 -3
  238. package/lib/badge/index.js +29 -22
  239. package/lib/badge/index.js.map +1 -1
  240. package/lib/breadcrumb/index.d.ts +3 -3
  241. package/lib/breadcrumb/index.js +29 -22
  242. package/lib/breadcrumb/index.js.map +1 -1
  243. package/lib/button/index.d.ts +3 -3
  244. package/lib/button/index.js +29 -22
  245. package/lib/button/index.js.map +1 -1
  246. package/lib/calendar/index.d.ts +3 -3
  247. package/lib/calendar/index.js +29 -22
  248. package/lib/calendar/index.js.map +1 -1
  249. package/lib/card/index.d.ts +3 -3
  250. package/lib/card/index.js +29 -22
  251. package/lib/card/index.js.map +1 -1
  252. package/lib/carousel/index.d.ts +3 -3
  253. package/lib/carousel/index.js +29 -22
  254. package/lib/carousel/index.js.map +1 -1
  255. package/lib/cascader/index.d.ts +3 -3
  256. package/lib/cascader/index.js +29 -22
  257. package/lib/cascader/index.js.map +1 -1
  258. package/lib/checkbox/index.d.ts +3 -3
  259. package/lib/checkbox/index.js +29 -22
  260. package/lib/checkbox/index.js.map +1 -1
  261. package/lib/col/index.d.ts +3 -3
  262. package/lib/col/index.js +29 -22
  263. package/lib/col/index.js.map +1 -1
  264. package/lib/collapse/index.d.ts +3 -3
  265. package/lib/collapse/index.js +31 -23
  266. package/lib/collapse/index.js.map +1 -1
  267. package/lib/columns/index.js +95 -41
  268. package/lib/columns/style/index.js +1 -2
  269. package/lib/comment/index.d.ts +3 -3
  270. package/lib/comment/index.js +29 -22
  271. package/lib/comment/index.js.map +1 -1
  272. package/lib/config-provider/config-provider.d.ts +1 -1
  273. package/lib/config-provider/config-provider.js +14 -8
  274. package/lib/config-provider/config-provider.js.map +1 -1
  275. package/lib/config-provider/index.d.ts +3 -3
  276. package/lib/config-provider/index.js +29 -22
  277. package/lib/config-provider/index.js.map +1 -1
  278. package/lib/date-picker/index.d.ts +3 -3
  279. package/lib/date-picker/index.js +29 -22
  280. package/lib/date-picker/index.js.map +1 -1
  281. package/lib/descriptions/index.d.ts +3 -3
  282. package/lib/descriptions/index.js +29 -22
  283. package/lib/descriptions/index.js.map +1 -1
  284. package/lib/development-login/LoginModal.js +136 -80
  285. package/lib/development-login/index.js +53 -35
  286. package/lib/divider/index.d.ts +3 -3
  287. package/lib/divider/index.js +29 -22
  288. package/lib/divider/index.js.map +1 -1
  289. package/lib/drawer/drawer.d.ts +3 -3
  290. package/lib/drawer/drawer.d.ts.map +1 -1
  291. package/lib/drawer/drawer.js +51 -32
  292. package/lib/drawer/drawer.js.map +1 -1
  293. package/lib/drawer/index.d.ts +2 -2
  294. package/lib/drawer/index.js +26 -20
  295. package/lib/drawer/index.js.map +1 -1
  296. package/lib/dropdown/index.d.ts +3 -3
  297. package/lib/dropdown/index.js +29 -22
  298. package/lib/dropdown/index.js.map +1 -1
  299. package/lib/ellipsis/Svg/CopySVG.js +74 -21
  300. package/lib/ellipsis/Svg/TickSVG.js +52 -16
  301. package/lib/ellipsis/index.js +159 -105
  302. package/lib/empty/empty.d.ts +2 -2
  303. package/lib/empty/empty.js +107 -76
  304. package/lib/empty/empty.js.map +1 -1
  305. package/lib/empty/empty.stories.js +37 -18
  306. package/lib/empty/index.d.ts +1 -1
  307. package/lib/empty/index.js +24 -19
  308. package/lib/empty/index.js.map +1 -1
  309. package/lib/exception/exception.js +53 -31
  310. package/lib/exception/exception.js.map +1 -1
  311. package/lib/exception/index.js +22 -18
  312. package/lib/form/index.d.ts +3 -3
  313. package/lib/form/index.js +29 -22
  314. package/lib/form/index.js.map +1 -1
  315. package/lib/handle/index.d.ts.map +1 -1
  316. package/lib/handle/index.js +164 -96
  317. package/lib/handle/index.js.map +1 -1
  318. package/lib/icon/index.d.ts +3 -3
  319. package/lib/icon/index.js +29 -22
  320. package/lib/icon/index.js.map +1 -1
  321. package/lib/icon-list/index.js +7 -121
  322. package/lib/img/Contain.js +80 -44
  323. package/lib/img/Cover.js +139 -78
  324. package/lib/img/index.js +92 -60
  325. package/lib/index.d.ts +2 -1
  326. package/lib/index.d.ts.map +1 -1
  327. package/lib/index.js +694 -180
  328. package/lib/index.js.map +1 -1
  329. package/lib/input/index.d.ts +3 -3
  330. package/lib/input/index.js +29 -22
  331. package/lib/input/index.js.map +1 -1
  332. package/lib/input-number/index.d.ts +3 -3
  333. package/lib/input-number/index.js +29 -22
  334. package/lib/input-number/index.js.map +1 -1
  335. package/lib/layout/index.d.ts +3 -3
  336. package/lib/layout/index.js +29 -22
  337. package/lib/layout/index.js.map +1 -1
  338. package/lib/list/index.d.ts +3 -3
  339. package/lib/list/index.js +29 -22
  340. package/lib/list/index.js.map +1 -1
  341. package/lib/loading-button/index.js +75 -55
  342. package/lib/locale/default.d.ts +3 -0
  343. package/lib/locale/default.d.ts.map +1 -1
  344. package/lib/locale/default.js +17 -10
  345. package/lib/locale/default.js.map +1 -1
  346. package/lib/locale/en_US.d.ts +3 -0
  347. package/lib/locale/en_US.d.ts.map +1 -1
  348. package/lib/locale/en_US.js +41 -32
  349. package/lib/locale/en_US.js.map +1 -1
  350. package/lib/locale/index.js +39 -18
  351. package/lib/locale/zh_CN.d.ts +3 -0
  352. package/lib/locale/zh_CN.d.ts.map +1 -1
  353. package/lib/locale/zh_CN.js +41 -32
  354. package/lib/locale/zh_CN.js.map +1 -1
  355. package/lib/locale-provider/index.d.ts +3 -3
  356. package/lib/locale-provider/index.js +29 -22
  357. package/lib/locale-provider/index.js.map +1 -1
  358. package/lib/mention/index.d.ts +3 -3
  359. package/lib/mention/index.js +29 -22
  360. package/lib/mention/index.js.map +1 -1
  361. package/lib/mentions/index.d.ts +3 -3
  362. package/lib/mentions/index.js +29 -22
  363. package/lib/mentions/index.js.map +1 -1
  364. package/lib/menu/index.d.ts +3 -3
  365. package/lib/menu/index.js +29 -22
  366. package/lib/menu/index.js.map +1 -1
  367. package/lib/message/index.d.ts +3 -3
  368. package/lib/message/index.js +30 -22
  369. package/lib/message/index.js.map +1 -1
  370. package/lib/modal/index.d.ts +3 -3
  371. package/lib/modal/index.js +30 -22
  372. package/lib/modal/index.js.map +1 -1
  373. package/lib/notification/index.d.ts +4 -4
  374. package/lib/notification/index.js +29 -22
  375. package/lib/notification/index.js.map +1 -1
  376. package/lib/page/Box.js +79 -40
  377. package/lib/page/index.js +180 -99
  378. package/lib/page/utils.js +29 -15
  379. package/lib/page-header/index.d.ts +3 -3
  380. package/lib/page-header/index.js +29 -22
  381. package/lib/page-header/index.js.map +1 -1
  382. package/lib/pagination/index.d.ts +3 -3
  383. package/lib/pagination/index.js +29 -22
  384. package/lib/pagination/index.js.map +1 -1
  385. package/lib/popconfirm/index.d.ts +3 -3
  386. package/lib/popconfirm/index.js +29 -22
  387. package/lib/popconfirm/index.js.map +1 -1
  388. package/lib/popover/index.d.ts +3 -3
  389. package/lib/popover/index.js +29 -22
  390. package/lib/popover/index.js.map +1 -1
  391. package/lib/prev-locale.js +76 -53
  392. package/lib/progress/index.d.ts +3 -3
  393. package/lib/progress/index.js +29 -22
  394. package/lib/progress/index.js.map +1 -1
  395. package/lib/query-form/Field/Checkbox.js +37 -22
  396. package/lib/query-form/Field/Select.js +97 -68
  397. package/lib/query-form/Field/SelectInput.js +110 -73
  398. package/lib/query-form/Field/fieldsMap.d.ts +2 -2
  399. package/lib/query-form/Field/fieldsMap.js +45 -32
  400. package/lib/query-form/Field/index.js +171 -95
  401. package/lib/query-form/createActions.js +60 -50
  402. package/lib/query-form/index.d.ts +1 -1
  403. package/lib/query-form/index.d.ts.map +1 -1
  404. package/lib/query-form/index.js +446 -286
  405. package/lib/query-form/useForm.js +15 -11
  406. package/lib/query-list-scene/List.d.ts +2 -2
  407. package/lib/query-list-scene/List.d.ts.map +1 -1
  408. package/lib/query-list-scene/List.js +414 -292
  409. package/lib/query-list-scene/QueryForm.js +191 -104
  410. package/lib/query-list-scene/QueryListScene.js +87 -31
  411. package/lib/query-list-scene/Title.js +19 -9
  412. package/lib/query-list-scene/Toolbar.js +38 -20
  413. package/lib/query-list-scene/createActions.d.ts +4 -4
  414. package/lib/query-list-scene/createActions.js +85 -64
  415. package/lib/query-list-scene/index.d.ts +4 -4
  416. package/lib/query-list-scene/index.js +38 -24
  417. package/lib/query-list-scene/index.less +1 -1
  418. package/lib/query-list-scene/useActions.d.ts +4 -4
  419. package/lib/query-list-scene/useActions.js +15 -11
  420. package/lib/radio/index.d.ts +3 -3
  421. package/lib/radio/index.js +29 -22
  422. package/lib/radio/index.js.map +1 -1
  423. package/lib/rate/index.d.ts +3 -3
  424. package/lib/rate/index.js +29 -22
  425. package/lib/rate/index.js.map +1 -1
  426. package/lib/render-empty/index.js +10 -4
  427. package/lib/render-empty/render-empty.js +36 -22
  428. package/lib/render-empty/render-empty.js.map +1 -1
  429. package/lib/result/index.d.ts +3 -3
  430. package/lib/result/index.js +29 -22
  431. package/lib/result/index.js.map +1 -1
  432. package/lib/row/index.d.ts +3 -3
  433. package/lib/row/index.js +29 -22
  434. package/lib/row/index.js.map +1 -1
  435. package/lib/select/index.d.ts +3 -3
  436. package/lib/select/index.js +29 -22
  437. package/lib/select/index.js.map +1 -1
  438. package/lib/skeleton/index.d.ts +3 -3
  439. package/lib/skeleton/index.js +29 -22
  440. package/lib/skeleton/index.js.map +1 -1
  441. package/lib/slider/index.d.ts +3 -3
  442. package/lib/slider/index.js +29 -22
  443. package/lib/slider/index.js.map +1 -1
  444. package/lib/spin/index.d.ts +3 -3
  445. package/lib/spin/index.js +29 -22
  446. package/lib/spin/index.js.map +1 -1
  447. package/lib/statistic/index.d.ts +3 -3
  448. package/lib/statistic/index.js +29 -22
  449. package/lib/statistic/index.js.map +1 -1
  450. package/lib/steps/index.d.ts +1 -1
  451. package/lib/steps/index.js +24 -19
  452. package/lib/steps/index.js.map +1 -1
  453. package/lib/steps/steps.d.ts +3 -3
  454. package/lib/steps/steps.js +89 -59
  455. package/lib/steps/steps.js.map +1 -1
  456. package/lib/svg-components/illustration-403.js +223 -84
  457. package/lib/svg-components/illustration-404.js +307 -101
  458. package/lib/svg-components/illustration-500.js +338 -109
  459. package/lib/svg-components/illustration-empty.js +71 -41
  460. package/lib/svg-components/illustration-failure.js +129 -62
  461. package/lib/svg-components/illustration-no-access.js +131 -61
  462. package/lib/svg-components/illustration-no-chart.js +151 -63
  463. package/lib/svg-components/illustration-no-result.js +109 -58
  464. package/lib/svg-components/illustration-offline.js +148 -69
  465. package/lib/svg-components/illustration-success.js +154 -69
  466. package/lib/svg-components/index.js +86 -26
  467. package/lib/switch/index.d.ts +3 -3
  468. package/lib/switch/index.js +29 -22
  469. package/lib/switch/index.js.map +1 -1
  470. package/lib/table/assets/image-loading-background.js +62 -43
  471. package/lib/table/assets/image-loading.js +43 -31
  472. package/lib/table/constants.js +6 -3
  473. package/lib/table/context.d.ts +1 -1
  474. package/lib/table/context.js +9 -4
  475. package/lib/table/context.js.map +1 -1
  476. package/lib/table/hooks/index.js +15 -16
  477. package/lib/table/hooks/use-column-setting.d.ts +1 -1
  478. package/lib/table/hooks/use-column-setting.js +45 -20
  479. package/lib/table/hooks/use-column-setting.js.map +1 -1
  480. package/lib/table/index.d.ts +1 -1
  481. package/lib/table/index.js +24 -19
  482. package/lib/table/index.js.map +1 -1
  483. package/lib/table/table.d.ts +3 -3
  484. package/lib/table/table.js +140 -89
  485. package/lib/table/table.js.map +1 -1
  486. package/lib/table/table.stories.js +191 -154
  487. package/lib/table/utils.d.ts +1 -1
  488. package/lib/table/utils.js +33 -25
  489. package/lib/table/utils.js.map +1 -1
  490. package/lib/tabs/index.d.ts +3 -3
  491. package/lib/tabs/index.js +29 -22
  492. package/lib/tabs/index.js.map +1 -1
  493. package/lib/tag/index.d.ts +3 -3
  494. package/lib/tag/index.js +29 -22
  495. package/lib/tag/index.js.map +1 -1
  496. package/lib/time-picker/index.d.ts +3 -3
  497. package/lib/time-picker/index.js +29 -22
  498. package/lib/time-picker/index.js.map +1 -1
  499. package/lib/timeline/index.d.ts +3 -3
  500. package/lib/timeline/index.js +29 -22
  501. package/lib/timeline/index.js.map +1 -1
  502. package/lib/title/index.js +55 -26
  503. package/lib/tntd-cascader/AntdCascader/component/DisabledContext.js +25 -31
  504. package/lib/tntd-cascader/AntdCascader/component/FormItemInputContext.js +14 -26
  505. package/lib/tntd-cascader/AntdCascader/component/SizeContext.js +14 -26
  506. package/lib/tntd-cascader/AntdCascader/component/context.js +24 -16
  507. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +44 -39
  508. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  509. package/lib/tntd-cascader/AntdCascader/component/getIcons.js +99 -75
  510. package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js +40 -50
  511. package/lib/tntd-cascader/AntdCascader/config/utils.js +38 -27
  512. package/lib/tntd-cascader/AntdCascader/config/warning.js +28 -36
  513. package/lib/tntd-cascader/AntdCascader/index.js +269 -162
  514. package/lib/tntd-cascader/AntdCascader/interface.js +16 -6
  515. package/lib/tntd-cascader/img/no-data-s.png +0 -0
  516. package/lib/tntd-cascader/index.js +14 -8
  517. package/lib/tntd-cascader/rc-cascader/Cascader.js +390 -284
  518. package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js +40 -41
  519. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +226 -152
  520. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +267 -163
  521. package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +55 -48
  522. package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +229 -166
  523. package/lib/tntd-cascader/rc-cascader/context.js +16 -27
  524. package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +79 -63
  525. package/lib/tntd-cascader/rc-cascader/hooks/useEntities.js +49 -49
  526. package/lib/tntd-cascader/rc-cascader/hooks/useMissingValues.js +34 -41
  527. package/lib/tntd-cascader/rc-cascader/hooks/useRefFunc.js +21 -33
  528. package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +42 -51
  529. package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +90 -65
  530. package/lib/tntd-cascader/rc-cascader/index.js +12 -7
  531. package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js +60 -38
  532. package/lib/tntd-cascader/rc-cascader/utils/treeUtil.js +50 -39
  533. package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +43 -32
  534. package/lib/tntd-icon/fonts/iconfont.js +41 -53
  535. package/lib/tntd-icon/index.js +51 -25
  536. package/lib/tntd-layout/ActionsContext.js +11 -4
  537. package/lib/tntd-layout/AppList.js +245 -221
  538. package/lib/tntd-layout/Application.js +137 -111
  539. package/lib/tntd-layout/Avatar.js +154 -135
  540. package/lib/tntd-layout/CompatibleLanguage.js +201 -180
  541. package/lib/tntd-layout/EnterpriseLayout/Avatar.js +173 -146
  542. package/lib/tntd-layout/EnterpriseLayout/Language.js +104 -90
  543. package/lib/tntd-layout/EnterpriseLayout/Theme.js +99 -102
  544. package/lib/tntd-layout/EnterpriseLayout/index.js +36 -17
  545. package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js +413 -277
  546. package/lib/tntd-layout/GlobalNavigation/index.js +159 -115
  547. package/lib/tntd-layout/Header.js +111 -136
  548. package/lib/tntd-layout/HeaderActions.js +134 -104
  549. package/lib/tntd-layout/HeaderNavs.js +117 -106
  550. package/lib/tntd-layout/HeaderTabs.js +286 -310
  551. package/lib/tntd-layout/Iconfont.js +16 -7
  552. package/lib/tntd-layout/Language.js +100 -76
  553. package/lib/tntd-layout/Layout.js +253 -171
  554. package/lib/tntd-layout/Logo.js +91 -139
  555. package/lib/tntd-layout/OrgAppList.js +301 -383
  556. package/lib/tntd-layout/SideMenu.js +331 -392
  557. package/lib/tntd-layout/Theme.js +127 -93
  558. package/lib/tntd-layout/createActions.js +50 -34
  559. package/lib/tntd-layout/images/avatar/empty.png +0 -0
  560. package/lib/tntd-layout/images/avatar/female1.png +0 -0
  561. package/lib/tntd-layout/images/avatar/female2.png +0 -0
  562. package/lib/tntd-layout/images/avatar/female3.png +0 -0
  563. package/lib/tntd-layout/images/avatar/female4.png +0 -0
  564. package/lib/tntd-layout/images/avatar/female5.png +0 -0
  565. package/lib/tntd-layout/images/avatar/female6.png +0 -0
  566. package/lib/tntd-layout/images/avatar/male1.png +0 -0
  567. package/lib/tntd-layout/images/avatar/male2.png +0 -0
  568. package/lib/tntd-layout/images/avatar/male3.png +0 -0
  569. package/lib/tntd-layout/images/avatar/male4.png +0 -0
  570. package/lib/tntd-layout/images/avatar/male5.png +0 -0
  571. package/lib/tntd-layout/images/avatar/male6.png +0 -0
  572. package/lib/tntd-layout/images/index.js +96 -66
  573. package/lib/tntd-layout/index.js +165 -95
  574. package/lib/tntd-layout/paaslayout/CompactSideMenu.js +178 -177
  575. package/lib/tntd-layout/paaslayout/Header.js +84 -79
  576. package/lib/tntd-layout/paaslayout/Logo.js +32 -30
  577. package/lib/tntd-layout/paaslayout/SideMenu.js +182 -147
  578. package/lib/tntd-layout/paaslayout/index.js +251 -141
  579. package/lib/tntd-layout/storage.js +88 -30
  580. package/lib/tntd-modal/index.js +117 -62
  581. package/lib/tntd-second-page/index.d.ts +17 -0
  582. package/lib/tntd-second-page/index.d.ts.map +1 -0
  583. package/lib/tntd-second-page/index.js +72 -0
  584. package/lib/tntd-second-page/index.js.map +1 -0
  585. package/lib/tntd-second-page/index.less +105 -0
  586. package/lib/tntd-select/DropDownWrap.js +123 -78
  587. package/lib/tntd-select/index.d.ts +1 -1
  588. package/lib/tntd-select/index.js +697 -520
  589. package/lib/tooltip/index.d.ts +3 -3
  590. package/lib/tooltip/index.js +29 -22
  591. package/lib/tooltip/index.js.map +1 -1
  592. package/lib/transfer/index.d.ts +3 -3
  593. package/lib/transfer/index.js +29 -22
  594. package/lib/transfer/index.js.map +1 -1
  595. package/lib/tree/index.d.ts +3 -3
  596. package/lib/tree/index.js +29 -22
  597. package/lib/tree/index.js.map +1 -1
  598. package/lib/tree-select/index.d.ts +3 -3
  599. package/lib/tree-select/index.js +29 -22
  600. package/lib/tree-select/index.js.map +1 -1
  601. package/lib/typography/index.d.ts +3 -3
  602. package/lib/typography/index.js +29 -22
  603. package/lib/typography/index.js.map +1 -1
  604. package/lib/upload/index.d.ts +3 -3
  605. package/lib/upload/index.js +29 -22
  606. package/lib/upload/index.js.map +1 -1
  607. package/lib/utils/checkAuth.js +40 -23
  608. package/lib/utils/findMenuInfoByPath.js +47 -34
  609. package/lib/utils/index.js +144 -79
  610. package/lib/version/index.d.ts +3 -3
  611. package/lib/version/index.js +29 -22
  612. package/lib/version/index.js.map +1 -1
  613. package/package.json +10 -5
@@ -1,538 +1,715 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
17
5
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __rest = (this && this.__rest) || function (s, e) {
26
- var t = {};
27
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
- t[p] = s[p];
29
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
- t[p[i]] = s[p[i]];
33
- }
34
- return t;
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _select = _interopRequireDefault(require("../select"));
11
+
12
+ var _empty = _interopRequireDefault(require("../empty"));
13
+
14
+ var _DropDownWrap = _interopRequireDefault(require("./DropDownWrap"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
19
+
20
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
23
+
24
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
25
+
26
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
27
+
28
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
29
+
30
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
31
+
32
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
33
+
34
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
35
+
36
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
37
+
38
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
39
+
40
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
41
+ var t = {};
42
+
43
+ for (var p in s) {
44
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
45
+ }
46
+
47
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
48
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
49
+ }
50
+ return t;
35
51
  };
36
- var __importDefault = (this && this.__importDefault) || function (mod) {
37
- return (mod && mod.__esModule) ? mod : { "default": mod };
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- const react_1 = __importStar(require("react"));
41
- const select_1 = __importDefault(require("../select"));
42
- const empty_1 = __importDefault(require("../empty"));
43
- const DropDownWrap_1 = __importDefault(require("./DropDownWrap"));
52
+
44
53
  // 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER
45
- const ITEM_ELEMENT_NUMBER = 30;
46
- // Select size 配置
47
- const ITEM_HEIGHT_CFG = {
48
- small: 24,
49
- large: 40,
50
- default: 32,
54
+ var ITEM_ELEMENT_NUMBER = 30; // Select size 配置
55
+
56
+ var ITEM_HEIGHT_CFG = {
57
+ small: 24,
58
+ large: 40,
59
+ "default": 32
51
60
  };
52
- const ARROW_CODE = {
53
- 40: 'down',
54
- 38: 'up',
61
+ var ARROW_CODE = {
62
+ 40: 'down',
63
+ 38: 'up'
55
64
  };
56
- const DROPDOWN_HEIGHT = 224;
57
- const Option = select_1.default.Option;
58
- class SuperSelect extends react_1.PureComponent {
59
- constructor(props) {
60
- super(props);
61
- Object.defineProperty(this, "turnChildren", {
62
- enumerable: true,
63
- configurable: true,
64
- writable: true,
65
- value: (children) => {
66
- if (!children)
67
- return [];
68
- let arr = [];
69
- if (children && children.props) {
70
- arr.push(children);
71
- }
72
- else {
73
- children.forEach((item) => {
74
- if (item) {
75
- if (item instanceof Array) {
76
- arr = arr.concat(item);
77
- }
78
- else {
79
- arr.push(item);
80
- }
81
- }
82
- });
83
- }
84
- return arr;
85
- }
86
- });
87
- Object.defineProperty(this, "formulaWidth", {
88
- enumerable: true,
89
- configurable: true,
90
- writable: true,
91
- value: () => {
92
- // 获取dom设置宽度
93
- const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props;
94
- const selectDom = document.getElementById(this.id);
95
- const selectWidth = selectDom.clientWidth || selectDom.offsetWidth;
96
- let arr = [];
97
- let formulaMaxWidth = 10;
98
- if (!dropdownMatchSelectWidth) {
99
- formulaMaxWidth = maxWidth || 10;
100
- }
101
- if (!dropdownMatchSelectWidth && !maxWidth) {
102
- const children = this.turnChildren(arr2);
103
- for (let i = 0; i < children.length; i++) {
104
- const val = children[i].props.children;
105
- const textWidth = this.getTextPixelWith(val);
106
- arr.push(textWidth.toFixed(2));
107
- }
108
- if (arr.length > 0) {
109
- formulaMaxWidth = Math.max(...arr);
110
- }
111
- }
112
- this.setState({
113
- selectWidth,
114
- maxWidth: formulaMaxWidth,
115
- });
116
- }
117
- });
118
- // 获取单行文本的像素宽度
119
- Object.defineProperty(this, "getTextPixelWith", {
120
- enumerable: true,
121
- configurable: true,
122
- writable: true,
123
- value: (text, fontStyle = '14px') => {
124
- let canvas = document.createElement('canvas'); // 创建 canvas 画布
125
- let context = canvas.getContext('2d'); // 获取 canvas 绘图上下文环境
126
- context.font = fontStyle; // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度
127
- let dimension = context.measureText(text); // 测量文字
128
- return dimension.width;
129
- }
130
- });
131
- Object.defineProperty(this, "getItemStyle", {
132
- enumerable: true,
133
- configurable: true,
134
- writable: true,
135
- value: (i) => ({
136
- position: 'absolute',
137
- top: this.ITEM_HEIGHT * i,
138
- width: '100%',
139
- height: this.ITEM_HEIGHT,
140
- })
141
- });
142
- Object.defineProperty(this, "addEvent", {
143
- enumerable: true,
144
- configurable: true,
145
- writable: true,
146
- value: () => {
147
- this.scrollEle = document.querySelector(`.${this.dropdownClassName}`);
148
- // 下拉菜单未展开时元素不存在
149
- if (!this.scrollEle)
150
- return;
151
- this.scrollEle.addEventListener('scroll', this.onScroll, false);
152
- this.inputEle = document.querySelector(`#${this.id}`);
153
- if (!this.inputEle)
154
- return;
155
- this.inputEle.addEventListener('keydown', this.onKeyDown, false);
156
- }
157
- });
158
- // 模拟 antd select 按下 上下箭头 键时滚动列表
159
- Object.defineProperty(this, "onKeyDown", {
160
- enumerable: true,
161
- configurable: true,
162
- writable: true,
163
- value: (e) => {
164
- const { keyCode } = e || {};
165
- setTimeout(() => {
166
- const activeItem = document.querySelector(`.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`);
167
- if (!activeItem)
168
- return;
169
- const { offsetTop } = activeItem;
170
- const isUp = ARROW_CODE[keyCode] === 'up';
171
- const isDown = ARROW_CODE[keyCode] === 'down';
172
- // 在所有列表第一行按上键
173
- if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp) {
174
- this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT);
175
- this.prevTop = this.allHeight;
176
- return;
177
- }
178
- // 在所有列表中最后一行按下键
179
- if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown) {
180
- this.scrollEle.scrollTo(0, 0);
181
- this.prevTop = 0;
182
- return;
183
- }
184
- this.prevTop = offsetTop;
185
- // 向下滚动到下拉框最后一行时,向下滚动一行的高度
186
- if (offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&
187
- isDown) {
188
- this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT);
189
- return;
190
- }
191
- // 向上滚动到下拉框第一一行时,向上滚动一行的高度
192
- if (offsetTop < this.scrollEle.scrollTop && isUp) {
193
- this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT);
194
- }
195
- }, 100);
196
- }
197
- });
198
- Object.defineProperty(this, "onScroll", {
199
- enumerable: true,
200
- configurable: true,
201
- writable: true,
202
- value: () => this.throttleByHeight(this.onScrollReal)
203
- });
204
- Object.defineProperty(this, "onScrollReal", {
205
- enumerable: true,
206
- configurable: true,
207
- writable: true,
208
- value: () => {
209
- this.allList = this.getUseChildrenList();
210
- const { startIndex, endIndex } = this.getStartAndEndIndex();
211
- this.prevScrollTop = this.scrollTop;
212
- // 重新渲染列表组件 Wrap
213
- const allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
214
- this.wrap.reactList(allHeight, startIndex, endIndex);
215
- }
216
- });
217
- Object.defineProperty(this, "throttleByHeight", {
218
- enumerable: true,
219
- configurable: true,
220
- writable: true,
221
- value: () => {
222
- this.scrollTop = this.scrollEle.scrollTop;
223
- // 滚动的高度
224
- let delta = this.prevScrollTop - this.scrollTop;
225
- delta = delta < 0 ? 0 - delta : delta;
226
- delta > this.reactDelta && this.onScrollReal();
227
- }
228
- });
229
- // 列表可展示所有 children
230
- Object.defineProperty(this, "getUseChildrenList", {
231
- enumerable: true,
232
- configurable: true,
233
- writable: true,
234
- value: () => this.state.filterChildren || this.state.children
235
- });
236
- Object.defineProperty(this, "getStartAndEndIndex", {
237
- enumerable: true,
238
- configurable: true,
239
- writable: true,
240
- value: () => {
241
- // 滚动后显示在列表可视区中的第一个 item 的 index
242
- const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0));
243
- const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2;
244
- const endIndex = showIndex + ITEM_ELEMENT_NUMBER;
245
- return { startIndex, endIndex };
246
- }
247
- });
248
- // 须使用 setTimeout 确保在 dom 加载完成之后添加事件
249
- Object.defineProperty(this, "setSuperDrowDownMenu", {
250
- enumerable: true,
251
- configurable: true,
252
- writable: true,
253
- value: (visible) => {
254
- if (!visible)
255
- return;
256
- this.allList = this.getUseChildrenList();
257
- if (!this.eventTimer || !this.scrollEle) {
258
- this.eventTimer = setTimeout(() => this.addEvent(), 0);
259
- }
260
- else {
261
- const allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
262
- // 下拉列表单独重新渲染
263
- const { startIndex, endIndex } = this.getStartAndEndIndex();
264
- setTimeout(() => {
265
- this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex);
266
- }, 0);
267
- }
268
- }
269
- });
270
- Object.defineProperty(this, "onDropdownVisibleChange", {
271
- enumerable: true,
272
- configurable: true,
273
- writable: true,
274
- value: (visible) => {
275
- const { onDropdownVisibleChange } = this.props;
276
- onDropdownVisibleChange && onDropdownVisibleChange(visible);
277
- const { value, children } = this.state;
278
- // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options
279
- if (!visible) {
280
- // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁
281
- setTimeout(() => {
282
- this.setState({ filterChildren: null });
283
- this.setDefaultScrollTop(value);
284
- }, 100);
285
- // this.removeEvent();
286
- }
287
- else {
288
- // this.addEvent();
289
- if (value) {
290
- // 如果已有 value, 设置默认滚动位置
291
- this.setDefaultScrollTop();
292
- // 设置下拉列表显示数据
293
- this.setSuperDrowDownMenu(visible);
294
- }
295
- else if (!value && value !== 0 && children && children.length > 0) {
296
- // 无数据时,下拉回归至第一个
297
- const val = children[0].props.value;
298
- this.setDefaultScrollTop(val);
299
- }
300
- }
301
- }
302
- });
303
- Object.defineProperty(this, "onDeselect", {
304
- enumerable: true,
305
- configurable: true,
306
- writable: true,
307
- value: (value) => {
308
- const { onDeselect } = this.props;
309
- onDeselect && onDeselect(value);
310
- }
311
- });
312
- // 在搜索重新计算下拉滚动条高度
313
- Object.defineProperty(this, "onChange", {
314
- enumerable: true,
315
- configurable: true,
316
- writable: true,
317
- value: (value, opt) => {
318
- const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props;
319
- if (showSearch || this.isMultiple) {
320
- // 搜索模式下选择后是否需要重置搜索状态
321
- if (autoClearSearchValue !== false) {
322
- this.setState({ filterChildren: null }, () => {
323
- // 搜索成功后重新设置列表的总高度
324
- this.setSuperDrowDownMenu(true);
325
- });
326
- }
327
- }
328
- if (mode === 'multiple') {
329
- if (value.length <= maxCount) {
330
- this.setState({ value });
331
- }
332
- }
333
- else {
334
- this.setState({ value });
335
- }
336
- onChange && onChange(value, opt);
337
- if (mode !== 'multiple') {
338
- this.select && this.select.blur();
339
- }
340
- }
341
- });
342
- Object.defineProperty(this, "onSearch", {
343
- enumerable: true,
344
- configurable: true,
345
- writable: true,
346
- value: (v) => {
347
- const { showSearch, onSearch, filterOption, children: arr } = this.props;
348
- let children = this.turnChildren(arr);
349
- if (showSearch && filterOption !== false) {
350
- // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表
351
- let filterChildren = null;
352
- if (typeof filterOption === 'function') {
353
- filterChildren = children.filter((item) => filterOption(v, item));
354
- }
355
- else if (filterOption === undefined) {
356
- filterChildren = children.filter((item) => this.filterOption(v, item));
357
- }
358
- // 搜索框有值,去除disabled=true的children
359
- let newFilterChild = [];
360
- filterChildren &&
361
- filterChildren.forEach((item, index) => {
362
- if (!item.props.disabled) {
363
- newFilterChild.push(item);
364
- }
365
- });
366
- filterChildren = newFilterChild;
367
- // 设置下拉列表显示数据
368
- this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {
369
- setTimeout(() => {
370
- // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据
371
- if (filterChildren) {
372
- this.scrollTop = 0;
373
- this.scrollEle.scrollTo(0, 0);
374
- }
375
- // 搜索成功后需要重新设置列表的总高度
376
- this.setSuperDrowDownMenu(true);
377
- }, 0);
378
- });
379
- }
380
- onSearch && onSearch(v);
381
- }
382
- });
383
- Object.defineProperty(this, "filterOption", {
384
- enumerable: true,
385
- configurable: true,
386
- writable: true,
387
- value: (v, option) => {
388
- // 自定义过滤对应的 option 属性配置
389
- const filterProps = this.props.optionFilterProp || 'value';
390
- return `${option.props[filterProps]}`.indexOf(v) >= 0;
391
- }
392
- });
393
- Object.defineProperty(this, "setDefaultScrollTop", {
394
- enumerable: true,
395
- configurable: true,
396
- writable: true,
397
- value: (data) => {
398
- const { value } = this.state;
399
- const { children: arr } = this.props;
400
- const children = this.turnChildren(arr);
401
- let val = data || data === 0 ? data : value;
402
- for (let i = 0; i < children.length; i++) {
403
- const item = children[i];
404
- const itemValue = item.props.value;
405
- if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {
406
- const targetScrollTop = i * this.ITEM_HEIGHT;
407
- setTimeout(() => {
408
- if (!this.scrollEle) {
409
- this.addEvent();
410
- }
411
- this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop);
412
- }, 100);
413
- return;
414
- }
415
- }
416
- }
417
- });
418
- Object.defineProperty(this, "removeEvent", {
419
- enumerable: true,
420
- configurable: true,
421
- writable: true,
422
- value: () => {
423
- if (!this.scrollEle)
424
- return;
425
- this.scrollEle.removeEventListener('scroll', this.onScroll, false);
426
- if (!this.inputEle)
427
- return;
428
- this.inputEle.removeEventListener('keydown', this.onKeyDown, false);
65
+ var DROPDOWN_HEIGHT = 224;
66
+ var Option = _select["default"].Option;
67
+
68
+ var SuperSelect =
69
+ /*#__PURE__*/
70
+ function (_PureComponent) {
71
+ _inherits(SuperSelect, _PureComponent);
72
+
73
+ function SuperSelect(props) {
74
+ var _this;
75
+
76
+ _classCallCheck(this, SuperSelect);
77
+
78
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(SuperSelect).call(this, props));
79
+ Object.defineProperty(_assertThisInitialized(_this), "turnChildren", {
80
+ enumerable: true,
81
+ configurable: true,
82
+ writable: true,
83
+ value: function value(children) {
84
+ if (!children) return [];
85
+ var arr = [];
86
+
87
+ if (children && children.props) {
88
+ arr.push(children);
89
+ } else {
90
+ children.forEach(function (item) {
91
+ if (item) {
92
+ if (item instanceof Array) {
93
+ arr = arr.concat(item);
94
+ } else {
95
+ arr.push(item);
96
+ }
429
97
  }
98
+ });
99
+ }
100
+
101
+ return arr;
102
+ }
103
+ });
104
+ Object.defineProperty(_assertThisInitialized(_this), "formulaWidth", {
105
+ enumerable: true,
106
+ configurable: true,
107
+ writable: true,
108
+ value: function value() {
109
+ // 获取dom设置宽度
110
+ var _this$props = _this.props,
111
+ arr2 = _this$props.children,
112
+ _this$props$dropdownM = _this$props.dropdownMatchSelectWidth,
113
+ dropdownMatchSelectWidth = _this$props$dropdownM === void 0 ? true : _this$props$dropdownM,
114
+ maxWidth = _this$props.maxWidth;
115
+ var selectDom = document.getElementById(_this.id);
116
+ var selectWidth = selectDom.clientWidth || selectDom.offsetWidth;
117
+ var arr = [];
118
+ var formulaMaxWidth = 10;
119
+
120
+ if (!dropdownMatchSelectWidth) {
121
+ formulaMaxWidth = maxWidth || 10;
122
+ }
123
+
124
+ if (!dropdownMatchSelectWidth && !maxWidth) {
125
+ var _children = _this.turnChildren(arr2);
126
+
127
+ for (var i = 0; i < _children.length; i++) {
128
+ var val = _children[i].props.children;
129
+
130
+ var textWidth = _this.getTextPixelWith(val);
131
+
132
+ arr.push(textWidth.toFixed(2));
133
+ }
134
+
135
+ if (arr.length > 0) {
136
+ formulaMaxWidth = Math.max.apply(Math, arr);
137
+ }
138
+ }
139
+
140
+ _this.setState({
141
+ selectWidth: selectWidth,
142
+ maxWidth: formulaMaxWidth
430
143
  });
431
- const { mode, defaultValue, value, optionHeight, children: arr } = props;
432
- this.isMultiple = ['tags', 'multiple'].includes(mode);
433
- const children = this.turnChildren(arr);
434
- // 设置默认 value
435
- let defaultV = this.isMultiple ? [] : '';
436
- defaultV = value || defaultValue || defaultV;
437
- this.state = {
438
- children: children || [],
439
- filterChildren: null,
440
- value: defaultV,
441
- maxWidth: null,
442
- selectWidth: null,
144
+ }
145
+ }); // 获取单行文本的像素宽度
146
+
147
+ Object.defineProperty(_assertThisInitialized(_this), "getTextPixelWith", {
148
+ enumerable: true,
149
+ configurable: true,
150
+ writable: true,
151
+ value: function value(text) {
152
+ var fontStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '14px';
153
+ var canvas = document.createElement('canvas'); // 创建 canvas 画布
154
+
155
+ var context = canvas.getContext('2d'); // 获取 canvas 绘图上下文环境
156
+
157
+ context.font = fontStyle; // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度
158
+
159
+ var dimension = context.measureText(text); // 测量文字
160
+
161
+ return dimension.width;
162
+ }
163
+ });
164
+ Object.defineProperty(_assertThisInitialized(_this), "getItemStyle", {
165
+ enumerable: true,
166
+ configurable: true,
167
+ writable: true,
168
+ value: function value(i) {
169
+ return {
170
+ position: 'absolute',
171
+ top: _this.ITEM_HEIGHT * i,
172
+ width: '100%',
173
+ height: _this.ITEM_HEIGHT
443
174
  };
444
- // 下拉菜单项行高
445
- this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default'];
446
- // 可视区 dom 高度
447
- this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER;
448
- // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表
449
- this.reactDelta = this.visibleDomHeight / 3;
450
- // 是否拖动滚动条快速滚动状态
451
- this.isStopReact = false;
452
- // 上一次滚动的 scrollTop 值
453
- this.prevScrollTop = 0;
454
- // 上一次按下方向键时 scrollTop 值
455
- this.prevTop = 0;
456
- this.scrollTop = 0;
457
- // className
458
- this.dropdownClassName = `dc${+new Date()}`;
459
- this.id = `sid${+new Date()}`;
460
- }
461
- componentDidMount() {
462
- // defaultOpens=true 时添加滚动事件
463
- setTimeout(() => {
464
- this.addEvent();
465
- }, 500);
466
- const { children: arr } = this.props;
467
- const children = this.turnChildren(arr);
468
- // if (children && children.length > 0) {
469
- this.formulaWidth();
470
- // }
471
- }
472
- componentDidUpdate(prevProps) {
473
- const { mode, defaultValue, value, children } = this.props;
474
- let arr = this.turnChildren(children);
475
- if (prevProps.children !== children) {
476
- this.isMultiple = ['tags', 'multiple'].includes(mode);
477
- this.setState({
478
- children: arr || [],
479
- filterChildren: null,
175
+ }
176
+ });
177
+ Object.defineProperty(_assertThisInitialized(_this), "addEvent", {
178
+ enumerable: true,
179
+ configurable: true,
180
+ writable: true,
181
+ value: function value() {
182
+ _this.scrollEle = document.querySelector(".".concat(_this.dropdownClassName)); // 下拉菜单未展开时元素不存在
183
+
184
+ if (!_this.scrollEle) return;
185
+
186
+ _this.scrollEle.addEventListener('scroll', _this.onScroll, false);
187
+
188
+ _this.inputEle = document.querySelector("#".concat(_this.id));
189
+ if (!_this.inputEle) return;
190
+
191
+ _this.inputEle.addEventListener('keydown', _this.onKeyDown, false);
192
+ }
193
+ }); // 模拟 antd select 按下 上下箭头 键时滚动列表
194
+
195
+ Object.defineProperty(_assertThisInitialized(_this), "onKeyDown", {
196
+ enumerable: true,
197
+ configurable: true,
198
+ writable: true,
199
+ value: function value(e) {
200
+ var _ref = e || {},
201
+ keyCode = _ref.keyCode;
202
+
203
+ setTimeout(function () {
204
+ var activeItem = document.querySelector(".".concat(_this.dropdownClassName, " .ant-select-dropdown-menu-item-active"));
205
+ if (!activeItem) return;
206
+ var offsetTop = activeItem.offsetTop;
207
+ var isUp = ARROW_CODE[keyCode] === 'up';
208
+ var isDown = ARROW_CODE[keyCode] === 'down'; // 在所有列表第一行按上键
209
+
210
+ if (offsetTop - _this.prevTop > DROPDOWN_HEIGHT && isUp) {
211
+ _this.scrollEle.scrollTo(0, _this.allHeight - DROPDOWN_HEIGHT);
212
+
213
+ _this.prevTop = _this.allHeight;
214
+ return;
215
+ } // 在所有列表中最后一行按下键
216
+
217
+
218
+ if (_this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown) {
219
+ _this.scrollEle.scrollTo(0, 0);
220
+
221
+ _this.prevTop = 0;
222
+ return;
223
+ }
224
+
225
+ _this.prevTop = offsetTop; // 向下滚动到下拉框最后一行时,向下滚动一行的高度
226
+
227
+ if (offsetTop > _this.scrollEle.scrollTop + DROPDOWN_HEIGHT - _this.ITEM_HEIGHT + 10 && isDown) {
228
+ _this.scrollEle.scrollTo(0, _this.scrollTop + _this.ITEM_HEIGHT);
229
+
230
+ return;
231
+ } // 向上滚动到下拉框第一一行时,向上滚动一行的高度
232
+
233
+
234
+ if (offsetTop < _this.scrollEle.scrollTop && isUp) {
235
+ _this.scrollEle.scrollTo(0, _this.scrollTop - _this.ITEM_HEIGHT);
236
+ }
237
+ }, 100);
238
+ }
239
+ });
240
+ Object.defineProperty(_assertThisInitialized(_this), "onScroll", {
241
+ enumerable: true,
242
+ configurable: true,
243
+ writable: true,
244
+ value: function value() {
245
+ return _this.throttleByHeight(_this.onScrollReal);
246
+ }
247
+ });
248
+ Object.defineProperty(_assertThisInitialized(_this), "onScrollReal", {
249
+ enumerable: true,
250
+ configurable: true,
251
+ writable: true,
252
+ value: function value() {
253
+ _this.allList = _this.getUseChildrenList();
254
+
255
+ var _this$getStartAndEndI = _this.getStartAndEndIndex(),
256
+ startIndex = _this$getStartAndEndI.startIndex,
257
+ endIndex = _this$getStartAndEndI.endIndex;
258
+
259
+ _this.prevScrollTop = _this.scrollTop; // 重新渲染列表组件 Wrap
260
+
261
+ var allHeight = _this.allList.length * _this.ITEM_HEIGHT || 100;
262
+
263
+ _this.wrap.reactList(allHeight, startIndex, endIndex);
264
+ }
265
+ });
266
+ Object.defineProperty(_assertThisInitialized(_this), "throttleByHeight", {
267
+ enumerable: true,
268
+ configurable: true,
269
+ writable: true,
270
+ value: function value() {
271
+ _this.scrollTop = _this.scrollEle.scrollTop; // 滚动的高度
272
+
273
+ var delta = _this.prevScrollTop - _this.scrollTop;
274
+ delta = delta < 0 ? 0 - delta : delta;
275
+ delta > _this.reactDelta && _this.onScrollReal();
276
+ }
277
+ }); // 列表可展示所有 children
278
+
279
+ Object.defineProperty(_assertThisInitialized(_this), "getUseChildrenList", {
280
+ enumerable: true,
281
+ configurable: true,
282
+ writable: true,
283
+ value: function value() {
284
+ return _this.state.filterChildren || _this.state.children;
285
+ }
286
+ });
287
+ Object.defineProperty(_assertThisInitialized(_this), "getStartAndEndIndex", {
288
+ enumerable: true,
289
+ configurable: true,
290
+ writable: true,
291
+ value: function value() {
292
+ // 滚动后显示在列表可视区中的第一个 item 的 index
293
+ var showIndex = Number((_this.scrollTop / _this.ITEM_HEIGHT).toFixed(0));
294
+ var startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2;
295
+ var endIndex = showIndex + ITEM_ELEMENT_NUMBER;
296
+ return {
297
+ startIndex: startIndex,
298
+ endIndex: endIndex
299
+ };
300
+ }
301
+ }); // 须使用 setTimeout 确保在 dom 加载完成之后添加事件
302
+
303
+ Object.defineProperty(_assertThisInitialized(_this), "setSuperDrowDownMenu", {
304
+ enumerable: true,
305
+ configurable: true,
306
+ writable: true,
307
+ value: function value(visible) {
308
+ if (!visible) return;
309
+ _this.allList = _this.getUseChildrenList();
310
+
311
+ if (!_this.eventTimer || !_this.scrollEle) {
312
+ _this.eventTimer = setTimeout(function () {
313
+ return _this.addEvent();
314
+ }, 0);
315
+ } else {
316
+ var allHeight = _this.allList.length * _this.ITEM_HEIGHT || 100; // 下拉列表单独重新渲染
317
+
318
+ var _this$getStartAndEndI2 = _this.getStartAndEndIndex(),
319
+ startIndex = _this$getStartAndEndI2.startIndex,
320
+ endIndex = _this$getStartAndEndI2.endIndex;
321
+
322
+ setTimeout(function () {
323
+ _this.wrap && _this.wrap.reactList(allHeight, startIndex, endIndex);
324
+ }, 0);
325
+ }
326
+ }
327
+ });
328
+ Object.defineProperty(_assertThisInitialized(_this), "onDropdownVisibleChange", {
329
+ enumerable: true,
330
+ configurable: true,
331
+ writable: true,
332
+ value: function value(visible) {
333
+ var onDropdownVisibleChange = _this.props.onDropdownVisibleChange;
334
+ onDropdownVisibleChange && onDropdownVisibleChange(visible);
335
+ var _this$state = _this.state,
336
+ value = _this$state.value,
337
+ children = _this$state.children; // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options
338
+
339
+ if (!visible) {
340
+ // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁
341
+ setTimeout(function () {
342
+ _this.setState({
343
+ filterChildren: null
480
344
  });
481
- if (arr && arr.length > 0) {
482
- this.formulaWidth();
483
- }
345
+
346
+ _this.setDefaultScrollTop(value);
347
+ }, 100); // this.removeEvent();
348
+ } else {
349
+ // this.addEvent();
350
+ if (value) {
351
+ // 如果已有 value, 设置默认滚动位置
352
+ _this.setDefaultScrollTop(); // 设置下拉列表显示数据
353
+
354
+
355
+ _this.setSuperDrowDownMenu(visible);
356
+ } else if (!value && value !== 0 && children && children.length > 0) {
357
+ // 无数据时,下拉回归至第一个
358
+ var val = children[0].props.value;
359
+
360
+ _this.setDefaultScrollTop(val);
361
+ }
484
362
  }
485
- if (prevProps.value !== value) {
486
- // 更新时设置默认 value
487
- let defaultV = this.isMultiple ? [] : '';
488
- defaultV = value || defaultValue || defaultV;
489
- this.setState({ value: defaultV });
363
+ }
364
+ });
365
+ Object.defineProperty(_assertThisInitialized(_this), "onDeselect", {
366
+ enumerable: true,
367
+ configurable: true,
368
+ writable: true,
369
+ value: function value(_value) {
370
+ var onDeselect = _this.props.onDeselect;
371
+ onDeselect && onDeselect(_value);
372
+ }
373
+ }); // 在搜索重新计算下拉滚动条高度
374
+
375
+ Object.defineProperty(_assertThisInitialized(_this), "onChange", {
376
+ enumerable: true,
377
+ configurable: true,
378
+ writable: true,
379
+ value: function value(_value2, opt) {
380
+ var _this$props2 = _this.props,
381
+ showSearch = _this$props2.showSearch,
382
+ onChange = _this$props2.onChange,
383
+ autoClearSearchValue = _this$props2.autoClearSearchValue,
384
+ maxCount = _this$props2.maxCount,
385
+ mode = _this$props2.mode;
386
+
387
+ if (showSearch || _this.isMultiple) {
388
+ // 搜索模式下选择后是否需要重置搜索状态
389
+ if (autoClearSearchValue !== false) {
390
+ _this.setState({
391
+ filterChildren: null
392
+ }, function () {
393
+ // 搜索成功后重新设置列表的总高度
394
+ _this.setSuperDrowDownMenu(true);
395
+ });
396
+ }
490
397
  }
491
- }
492
- componentWillUnmount() {
493
- this.removeEvent();
494
- }
495
- render() {
496
- const { maxWidth, selectWidth } = this.state;
497
- let _a = this.props, { dropdownStyle, optionLabelProp, dropdownClassName } = _a, props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName"]);
498
- this.allList = this.getUseChildrenList();
499
- this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
500
- const { startIndex, endIndex } = this.getStartAndEndIndex();
501
- let dynamicWidth = maxWidth;
502
- if (this.allList.length === 0 || maxWidth < selectWidth) {
503
- dynamicWidth = selectWidth;
398
+
399
+ if (mode === 'multiple') {
400
+ if (_value2.length <= maxCount) {
401
+ _this.setState({
402
+ value: _value2
403
+ });
404
+ }
405
+ } else {
406
+ _this.setState({
407
+ value: _value2
408
+ });
504
409
  }
505
- dropdownStyle = Object.assign(Object.assign({ maxHeight: `${DROPDOWN_HEIGHT}px` }, dropdownStyle), { overflow: 'auto', position: 'relative', maxWidth: dynamicWidth });
506
- const { value } = this.state;
507
- // 判断处于 antd Form 中时不自动设置 value
508
- const _props = Object.assign({}, props);
509
- // 先删除 value,再手动赋值,防止空 value 影响 placeholder
510
- delete _props.value;
511
- // value 为空字符会隐藏 placeholder,改为 undefined
512
- if (typeof value === 'string' && !value) {
513
- _props.value = undefined;
410
+
411
+ onChange && onChange(_value2, opt);
412
+
413
+ if (mode !== 'multiple') {
414
+ _this.select && _this.select.blur();
514
415
  }
515
- else {
516
- _props.value = value;
416
+ }
417
+ });
418
+ Object.defineProperty(_assertThisInitialized(_this), "onSearch", {
419
+ enumerable: true,
420
+ configurable: true,
421
+ writable: true,
422
+ value: function value(v) {
423
+ var _this$props3 = _this.props,
424
+ showSearch = _this$props3.showSearch,
425
+ onSearch = _this$props3.onSearch,
426
+ filterOption = _this$props3.filterOption,
427
+ arr = _this$props3.children;
428
+
429
+ var children = _this.turnChildren(arr);
430
+
431
+ if (showSearch && filterOption !== false) {
432
+ // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表
433
+ var filterChildren = null;
434
+
435
+ if (typeof filterOption === 'function') {
436
+ filterChildren = children.filter(function (item) {
437
+ return filterOption(v, item);
438
+ });
439
+ } else if (filterOption === undefined) {
440
+ filterChildren = children.filter(function (item) {
441
+ return _this.filterOption(v, item);
442
+ });
443
+ } // 搜索框有值,去除disabled=true的children
444
+
445
+
446
+ var newFilterChild = [];
447
+ filterChildren && filterChildren.forEach(function (item, index) {
448
+ if (!item.props.disabled) {
449
+ newFilterChild.push(item);
450
+ }
451
+ });
452
+ filterChildren = newFilterChild; // 设置下拉列表显示数据
453
+
454
+ _this.setState({
455
+ filterChildren: v === '' ? null : filterChildren
456
+ }, function () {
457
+ setTimeout(function () {
458
+ // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据
459
+ if (filterChildren) {
460
+ _this.scrollTop = 0;
461
+
462
+ _this.scrollEle.scrollTo(0, 0);
463
+ } // 搜索成功后需要重新设置列表的总高度
464
+
465
+
466
+ _this.setSuperDrowDownMenu(true);
467
+ }, 0);
468
+ });
517
469
  }
518
- optionLabelProp = optionLabelProp || 'children';
519
- return (react_1.default.createElement(select_1.default, Object.assign({}, _props, { id: this.id, onSearch: this.onSearch, onChange: this.onChange, dropdownClassName: `${this.dropdownClassName} ${dropdownClassName || ''}`, optionLabelProp: optionLabelProp, dropdownStyle: dropdownStyle, onDropdownVisibleChange: this.onDropdownVisibleChange, onDeselect: this.onDeselect, ref: (ele) => (this.select = ele), dropdownRender: (menu, props) => {
520
- if (this.allList.length === 0) {
521
- return (react_1.default.createElement("div", { style: { padding: '5px 12px' } },
522
- react_1.default.createElement(empty_1.default, { image: empty_1.default.PRESENTED_IMAGE_SIMPLE })));
470
+
471
+ onSearch && onSearch(v);
472
+ }
473
+ });
474
+ Object.defineProperty(_assertThisInitialized(_this), "filterOption", {
475
+ enumerable: true,
476
+ configurable: true,
477
+ writable: true,
478
+ value: function value(v, option) {
479
+ // 自定义过滤对应的 option 属性配置
480
+ var filterProps = _this.props.optionFilterProp || 'value';
481
+ return "".concat(option.props[filterProps]).indexOf(v) >= 0;
482
+ }
483
+ });
484
+ Object.defineProperty(_assertThisInitialized(_this), "setDefaultScrollTop", {
485
+ enumerable: true,
486
+ configurable: true,
487
+ writable: true,
488
+ value: function value(data) {
489
+ var value = _this.state.value;
490
+ var arr = _this.props.children;
491
+
492
+ var children = _this.turnChildren(arr);
493
+
494
+ var val = data || data === 0 ? data : value;
495
+
496
+ for (var i = 0; i < children.length; i++) {
497
+ var item = children[i];
498
+ var itemValue = item.props.value;
499
+
500
+ if (itemValue === val || Array.isArray(val) && val.includes(itemValue)) {
501
+ var _ret = function () {
502
+ var targetScrollTop = i * _this.ITEM_HEIGHT;
503
+ setTimeout(function () {
504
+ if (!_this.scrollEle) {
505
+ _this.addEvent();
523
506
  }
524
- return (react_1.default.createElement(DropDownWrap_1.default, Object.assign({}, {
525
- startIndex,
526
- endIndex,
527
- allHeight: this.allHeight,
528
- menu,
529
- itemHeight: this.ITEM_HEIGHT,
530
- }, { ref: (ele) => {
531
- this.wrap = ele;
532
- } })));
533
- } }), this.allList));
507
+
508
+ _this.scrollEle && _this.scrollEle.scrollTo(0, targetScrollTop);
509
+ }, 100);
510
+ return {
511
+ v: void 0
512
+ };
513
+ }();
514
+
515
+ if (_typeof(_ret) === "object") return _ret.v;
516
+ }
517
+ }
518
+ }
519
+ });
520
+ Object.defineProperty(_assertThisInitialized(_this), "removeEvent", {
521
+ enumerable: true,
522
+ configurable: true,
523
+ writable: true,
524
+ value: function value() {
525
+ if (!_this.scrollEle) return;
526
+
527
+ _this.scrollEle.removeEventListener('scroll', _this.onScroll, false);
528
+
529
+ if (!_this.inputEle) return;
530
+
531
+ _this.inputEle.removeEventListener('keydown', _this.onKeyDown, false);
532
+ }
533
+ });
534
+ var mode = props.mode,
535
+ defaultValue = props.defaultValue,
536
+ value = props.value,
537
+ optionHeight = props.optionHeight,
538
+ arr = props.children;
539
+ _this.isMultiple = ['tags', 'multiple'].includes(mode);
540
+
541
+ var children = _this.turnChildren(arr); // 设置默认 value
542
+
543
+
544
+ var defaultV = _this.isMultiple ? [] : '';
545
+ defaultV = value || defaultValue || defaultV;
546
+ _this.state = {
547
+ children: children || [],
548
+ filterChildren: null,
549
+ value: defaultV,
550
+ maxWidth: null,
551
+ selectWidth: null
552
+ }; // 下拉菜单项行高
553
+
554
+ _this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']; // 可视区 dom 高度
555
+
556
+ _this.visibleDomHeight = _this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER; // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表
557
+
558
+ _this.reactDelta = _this.visibleDomHeight / 3; // 是否拖动滚动条快速滚动状态
559
+
560
+ _this.isStopReact = false; // 上一次滚动的 scrollTop 值
561
+
562
+ _this.prevScrollTop = 0; // 上一次按下方向键时 scrollTop 值
563
+
564
+ _this.prevTop = 0;
565
+ _this.scrollTop = 0; // className
566
+
567
+ _this.dropdownClassName = "dc".concat(+new Date());
568
+ _this.id = "sid".concat(+new Date());
569
+ return _this;
570
+ }
571
+
572
+ _createClass(SuperSelect, [{
573
+ key: "componentDidMount",
574
+ value: function componentDidMount() {
575
+ var _this2 = this;
576
+
577
+ // defaultOpens=true 时添加滚动事件
578
+ setTimeout(function () {
579
+ _this2.addEvent();
580
+ }, 500);
581
+ var arr = this.props.children;
582
+ var children = this.turnChildren(arr); // if (children && children.length > 0) {
583
+
584
+ this.formulaWidth(); // }
585
+ }
586
+ }, {
587
+ key: "componentDidUpdate",
588
+ value: function componentDidUpdate(prevProps) {
589
+ var _this$props4 = this.props,
590
+ mode = _this$props4.mode,
591
+ defaultValue = _this$props4.defaultValue,
592
+ value = _this$props4.value,
593
+ children = _this$props4.children;
594
+ var arr = this.turnChildren(children);
595
+
596
+ if (prevProps.children !== children) {
597
+ this.isMultiple = ['tags', 'multiple'].includes(mode);
598
+ this.setState({
599
+ children: arr || [],
600
+ filterChildren: null
601
+ });
602
+
603
+ if (arr && arr.length > 0) {
604
+ this.formulaWidth();
605
+ }
606
+ }
607
+
608
+ if (prevProps.value !== value) {
609
+ // 更新时设置默认 value
610
+ var defaultV = this.isMultiple ? [] : '';
611
+ defaultV = value || defaultValue || defaultV;
612
+ this.setState({
613
+ value: defaultV
614
+ });
615
+ }
616
+ }
617
+ }, {
618
+ key: "componentWillUnmount",
619
+ value: function componentWillUnmount() {
620
+ this.removeEvent();
621
+ }
622
+ }, {
623
+ key: "render",
624
+ value: function render() {
625
+ var _this3 = this;
626
+
627
+ var _this$state2 = this.state,
628
+ maxWidth = _this$state2.maxWidth,
629
+ selectWidth = _this$state2.selectWidth;
630
+
631
+ var _a = this.props,
632
+ dropdownStyle = _a.dropdownStyle,
633
+ optionLabelProp = _a.optionLabelProp,
634
+ dropdownClassName = _a.dropdownClassName,
635
+ props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName"]);
636
+
637
+ this.allList = this.getUseChildrenList();
638
+ this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
639
+
640
+ var _this$getStartAndEndI3 = this.getStartAndEndIndex(),
641
+ startIndex = _this$getStartAndEndI3.startIndex,
642
+ endIndex = _this$getStartAndEndI3.endIndex;
643
+
644
+ var dynamicWidth = maxWidth;
645
+
646
+ if (this.allList.length === 0 || maxWidth < selectWidth) {
647
+ dynamicWidth = selectWidth;
648
+ }
649
+
650
+ dropdownStyle = Object.assign(Object.assign({
651
+ maxHeight: "".concat(DROPDOWN_HEIGHT, "px")
652
+ }, dropdownStyle), {
653
+ overflow: 'auto',
654
+ position: 'relative',
655
+ maxWidth: dynamicWidth
656
+ });
657
+ var value = this.state.value; // 判断处于 antd Form 中时不自动设置 value
658
+
659
+ var _props = Object.assign({}, props); // 先删除 value,再手动赋值,防止空 value 影响 placeholder
660
+
661
+
662
+ delete _props.value; // value 为空字符会隐藏 placeholder,改为 undefined
663
+
664
+ if (typeof value === 'string' && !value) {
665
+ _props.value = undefined;
666
+ } else {
667
+ _props.value = value;
668
+ }
669
+
670
+ optionLabelProp = optionLabelProp || 'children';
671
+ return _react["default"].createElement(_select["default"], Object.assign({}, _props, {
672
+ id: this.id,
673
+ onSearch: this.onSearch,
674
+ onChange: this.onChange,
675
+ dropdownClassName: "".concat(this.dropdownClassName, " ").concat(dropdownClassName || ''),
676
+ optionLabelProp: optionLabelProp,
677
+ dropdownStyle: dropdownStyle,
678
+ onDropdownVisibleChange: this.onDropdownVisibleChange,
679
+ onDeselect: this.onDeselect,
680
+ ref: function ref(ele) {
681
+ return _this3.select = ele;
682
+ },
683
+ dropdownRender: function dropdownRender(menu, props) {
684
+ if (_this3.allList.length === 0) {
685
+ return _react["default"].createElement("div", {
686
+ style: {
687
+ padding: '5px 12px'
688
+ }
689
+ }, _react["default"].createElement(_empty["default"], {
690
+ image: _empty["default"].PRESENTED_IMAGE_SIMPLE
691
+ }));
692
+ }
693
+
694
+ return _react["default"].createElement(_DropDownWrap["default"], Object.assign({}, {
695
+ startIndex: startIndex,
696
+ endIndex: endIndex,
697
+ allHeight: _this3.allHeight,
698
+ menu: menu,
699
+ itemHeight: _this3.ITEM_HEIGHT
700
+ }, {
701
+ ref: function ref(ele) {
702
+ _this3.wrap = ele;
703
+ }
704
+ }));
705
+ }
706
+ }), this.allList);
534
707
  }
535
- }
708
+ }]);
709
+
710
+ return SuperSelect;
711
+ }(_react.PureComponent);
712
+
536
713
  SuperSelect.Option = Option;
537
- exports.default = SuperSelect;
538
- //# sourceMappingURL=index.js.map
714
+ var _default = SuperSelect;
715
+ exports["default"] = _default;