tntd 2.5.6 → 2.5.8

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