tntd 3.0.0-beta.1 → 3.0.0-beta.2

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 (1052) hide show
  1. package/es/_util/context.js +5 -7
  2. package/es/_util/defaultRenderEmpty.js +21 -10
  3. package/es/_util/hooks/useFlexGapSupport.js +7 -8
  4. package/es/_util/hooks/useForceUpdate.js +3 -4
  5. package/es/_util/motion.js +36 -27
  6. package/es/_util/reactNode.js +10 -9
  7. package/es/_util/responsiveObserve.js +51 -50
  8. package/es/_util/styleChecker.js +19 -20
  9. package/es/_util/type.js +1 -2
  10. package/es/_util/warning.js +3 -4
  11. package/es/actions/index.js +22 -8
  12. package/es/affix/index.js +1 -2
  13. package/es/affix/style/index.js +1 -2
  14. package/es/alert/alert.js +51 -39
  15. package/es/alert/index.js +1 -2
  16. package/es/alert/style/index.js +1 -2
  17. package/es/anchor/index.js +1 -2
  18. package/es/anchor/style/index.js +1 -2
  19. package/es/array-input/icon.js +24 -6
  20. package/es/array-input/index.js +203 -119
  21. package/es/auth-context/index.js +1 -2
  22. package/es/auto-complete/index.js +1 -2
  23. package/es/auto-complete/style/index.js +1 -2
  24. package/es/avatar/index.js +1 -2
  25. package/es/avatar/style/index.js +1 -2
  26. package/es/back-top/index.js +1 -2
  27. package/es/back-top/style/index.js +1 -2
  28. package/es/badge/index.js +1 -2
  29. package/es/badge/style/index.js +1 -2
  30. package/es/breadcrumb/index.js +1 -2
  31. package/es/breadcrumb/style/index.js +1 -2
  32. package/es/breadcrumb/style/index.less +2 -1
  33. package/es/button/button.js +52 -32
  34. package/es/button/index.js +1 -2
  35. package/es/button/style/index.js +1 -2
  36. package/es/calendar/index.js +1 -2
  37. package/es/calendar/style/index.js +1 -2
  38. package/es/card/card.js +19 -15
  39. package/es/card/index.js +1 -2
  40. package/es/card/style/index.js +1 -2
  41. package/es/carousel/index.js +1 -2
  42. package/es/carousel/style/index.js +1 -2
  43. package/es/cascader/index.js +1 -2
  44. package/es/cascader/style/index.js +1 -2
  45. package/es/cascader/style/index.less +2 -2
  46. package/es/check-card/group.js +186 -138
  47. package/es/check-card/index.js +150 -107
  48. package/es/checkbox/checkbox-group.js +5 -0
  49. package/es/checkbox/checkbox-group.js.map +1 -0
  50. package/es/checkbox/checkbox.js +33 -22
  51. package/es/checkbox/index.js +1 -2
  52. package/es/checkbox/style/index.js +1 -2
  53. package/es/col/index.js +1 -2
  54. package/es/col/style/index.js +1 -2
  55. package/es/collapse/index.js +1 -2
  56. package/es/collapse/style/index.js +1 -2
  57. package/es/collapse/style/index.less +2 -1
  58. package/es/color-picker/ColorPicker.js +128 -81
  59. package/es/color-picker/index.js +8 -5
  60. package/es/columns/index.js +66 -30
  61. package/es/columns/style/index.js +1 -2
  62. package/es/comment/index.js +1 -2
  63. package/es/comment/style/index.js +1 -2
  64. package/es/config-provider/DisabledContext.js +9 -5
  65. package/es/config-provider/SizeContext.js +7 -3
  66. package/es/config-provider/config-provider.js +1 -2
  67. package/es/config-provider/index.js +1 -2
  68. package/es/config-provider/style/index.js +1 -2
  69. package/es/connect/index.js +23 -20
  70. package/es/date-picker/DatePicker.js +90 -42
  71. package/es/date-picker/index.js +4 -5
  72. package/es/date-picker/style/Picker.less +2 -1
  73. package/es/date-picker/style/index.js +1 -2
  74. package/es/descriptions/descriptions.js +93 -51
  75. package/es/descriptions/index.js +1 -2
  76. package/es/descriptions/style/index.js +1 -2
  77. package/es/development-login/LoginModal.js +81 -46
  78. package/es/development-login/index.js +17 -8
  79. package/es/divider/index.js +1 -2
  80. package/es/divider/style/index.js +1 -2
  81. package/es/drawer/drawer.js +108 -55
  82. package/es/drawer/drawer.less +20 -0
  83. package/es/drawer/index.js +1 -2
  84. package/es/drawer/style/drawer.less +4 -2
  85. package/es/drawer/style/index.js +1 -2
  86. package/es/dropdown/index.js +1 -2
  87. package/es/dropdown/style/index.js +1 -2
  88. package/es/dropdown/style/index.less +2 -1
  89. package/es/ellipsis/Svg/CopySVG.js +63 -16
  90. package/es/ellipsis/Svg/TickSVG.js +41 -11
  91. package/es/ellipsis/index.js +139 -102
  92. package/es/empty/empty.js +58 -48
  93. package/es/empty/empty.stories.js +5 -6
  94. package/es/empty/index.js +1 -2
  95. package/es/empty/style/index.js +1 -2
  96. package/es/exception/exception.js +32 -19
  97. package/es/exception/index.js +1 -2
  98. package/es/form/form.js +61 -46
  99. package/es/form/index.js +1 -2
  100. package/es/form/style/index.js +1 -2
  101. package/es/grid/RowContext.js +3 -0
  102. package/es/grid/RowContext.js.map +1 -0
  103. package/es/grid/col.js +103 -0
  104. package/es/grid/col.js.map +1 -0
  105. package/es/grid/hooks/useBreakpoint.js +18 -0
  106. package/es/grid/hooks/useBreakpoint.js.map +1 -0
  107. package/es/grid/index.js +1 -2
  108. package/es/grid/row.js +154 -0
  109. package/es/grid/row.js.map +1 -0
  110. package/es/grid/style/index.js +1 -2
  111. package/es/grid/style/rtl.less +69 -0
  112. package/es/grid-v4/RowContext.js +1 -2
  113. package/es/grid-v4/col.js +89 -64
  114. package/es/grid-v4/hooks/useBreakpoint.js +13 -14
  115. package/es/grid-v4/index.js +4 -3
  116. package/es/grid-v4/row.js +136 -123
  117. package/es/grid-v4/style/index.js +1 -2
  118. package/es/handle/index.js +131 -91
  119. package/es/icon/IconFont.js +46 -46
  120. package/es/icon/components/Icon.js +89 -71
  121. package/es/icon/components/index.js +1 -2
  122. package/es/icon/components/utils.js +64 -64
  123. package/es/icon/index.js +92 -78
  124. package/es/icon/index.js.map +1 -1
  125. package/es/icon/style/index.js +1 -1
  126. package/es/icon/style/index.js.map +1 -1
  127. package/es/icon/style/style.less +3 -1
  128. package/es/icon/twoTonePrimaryColor.js +6 -7
  129. package/es/icon/utils.js +48 -54
  130. package/es/icon-list/index.js +1 -120
  131. package/es/icon-old/index.js +1 -2
  132. package/es/icon-old/style/index.js +1 -2
  133. package/es/img/Contain.js +60 -39
  134. package/es/img/Cover.js +98 -72
  135. package/es/img/index.js +48 -32
  136. package/es/index.js +1 -2
  137. package/es/input/index.js +1 -2
  138. package/es/input/input.js +83 -46
  139. package/es/input/style/index.js +1 -2
  140. package/es/input/style/mixin.less +1 -1
  141. package/es/input-number/index.js +1 -2
  142. package/es/input-number/inputNumber.js +17 -15
  143. package/es/input-number/style/index.js +1 -2
  144. package/es/label/index.js +115 -98
  145. package/es/layout/index.js +1 -2
  146. package/es/layout/style/index.js +1 -2
  147. package/es/list/index.js +1 -2
  148. package/es/list/style/index.js +1 -2
  149. package/es/loading-button/index.js +33 -28
  150. package/es/locale/default.js +3 -4
  151. package/es/locale/en_US.js +52 -53
  152. package/es/locale/index.js +1 -2
  153. package/es/locale/zh_CN.js +45 -46
  154. package/es/locale-provider/index.js +2 -3
  155. package/es/locale-provider/style/index.js +1 -2
  156. package/es/mentions/index.js +1 -2
  157. package/es/mentions/style/index.js +1 -2
  158. package/es/menu/index.js +1 -2
  159. package/es/menu/style/index.js +1 -2
  160. package/es/message/index.js +1 -2
  161. package/es/message/style/index.js +1 -2
  162. package/es/modal/index.js +1 -2
  163. package/es/modal/modal.js +153 -61
  164. package/es/modal/modal.less +18 -0
  165. package/es/modal/style/confirm.less +1 -1
  166. package/es/modal/style/index.js +1 -2
  167. package/es/modal/style/modal.less +5 -1
  168. package/es/notification/assets/index.js +1 -2
  169. package/es/notification/assets/svg-error-tip.js +140 -30
  170. package/es/notification/assets/svg-success-tip.js +157 -34
  171. package/es/notification/index.js +1 -2
  172. package/es/notification/notification.js +71 -15
  173. package/es/notification/style/index.js +1 -2
  174. package/es/notification/style/index.less +4 -2
  175. package/es/page/Box.js +49 -33
  176. package/es/page/index.js +119 -84
  177. package/es/page/utils.js +12 -14
  178. package/es/page-header/index.js +1 -2
  179. package/es/page-header/style/index.js +1 -2
  180. package/es/pagination/index.js +1 -2
  181. package/es/pagination/style/index.js +1 -2
  182. package/es/popconfirm/index.js +1 -2
  183. package/es/popconfirm/index.less +10 -4
  184. package/es/popconfirm/popconfirm.js +36 -23
  185. package/es/popconfirm/popconfirm.js.map +1 -1
  186. package/es/popconfirm/style/index.js +1 -2
  187. package/es/popover/index.js +1 -2
  188. package/es/popover/index.less +6 -0
  189. package/es/popover/popover.js +25 -19
  190. package/es/popover/popover.js.map +1 -1
  191. package/es/popover/style/index.js +1 -2
  192. package/es/popover/style/index.less +2 -1
  193. package/es/prev-locale.js +49 -47
  194. package/es/preview-text/index.js +247 -177
  195. package/es/progress/index.js +1 -2
  196. package/es/progress/progress.js +115 -71
  197. package/es/progress/style/index.js +1 -2
  198. package/es/query-form/Field/Checkbox.js +20 -17
  199. package/es/query-form/Field/Composition/FieldPopover.js +270 -196
  200. package/es/query-form/Field/Composition/Select.js +101 -68
  201. package/es/query-form/Field/Composition/Select.js.map +1 -1
  202. package/es/query-form/Field/Composition/index.js +246 -202
  203. package/es/query-form/Field/Composition/index.js.map +1 -1
  204. package/es/query-form/Field/Composition/index.less +3 -3
  205. package/es/query-form/Field/Composition/utils.js +15 -16
  206. package/es/query-form/Field/Select.js +54 -39
  207. package/es/query-form/Field/SelectInput.js +65 -45
  208. package/es/query-form/Field/fieldsMap.js +19 -20
  209. package/es/query-form/Field/index.js +108 -67
  210. package/es/query-form/createActions.js +46 -46
  211. package/es/query-form/index.js +311 -232
  212. package/es/query-form/useForm.js +3 -4
  213. package/es/query-list-scene/List.js +321 -255
  214. package/es/query-list-scene/QueryForm.js +132 -94
  215. package/es/query-list-scene/QueryListScene.js +29 -21
  216. package/es/query-list-scene/Title.js +6 -4
  217. package/es/query-list-scene/Toolbar.js +21 -15
  218. package/es/query-list-scene/createActions.js +60 -60
  219. package/es/query-list-scene/index.js +1 -2
  220. package/es/query-list-scene/useActions.js +3 -4
  221. package/es/radio/index.js +1 -2
  222. package/es/radio/radio-group.js +5 -0
  223. package/es/radio/radio-group.js.map +1 -0
  224. package/es/radio/radio.js +33 -22
  225. package/es/radio/style/index.js +1 -2
  226. package/es/rate/index.js +1 -2
  227. package/es/rate/style/index.js +1 -2
  228. package/es/render-empty/index.js +1 -2
  229. package/es/render-empty/render-empty.js +19 -16
  230. package/es/result/index.js +1 -2
  231. package/es/result/style/index.js +1 -2
  232. package/es/row/index.js +1 -2
  233. package/es/row/style/index.js +1 -2
  234. package/es/segmented/index.js +55 -38
  235. package/es/select/index.js +1 -2
  236. package/es/select/select.js +41 -27
  237. package/es/select/style/index.js +1 -2
  238. package/es/select/style/index.less +2 -1
  239. package/es/skeleton/index.js +1 -2
  240. package/es/skeleton/style/index.js +1 -2
  241. package/es/slider/index.js +1 -2
  242. package/es/slider/style/index.js +1 -2
  243. package/es/spin/index.js +1 -2
  244. package/es/spin/style/index.js +1 -2
  245. package/es/statistic/index.js +1 -2
  246. package/es/statistic/style/index.js +1 -2
  247. package/es/steps/index.js +1 -2
  248. package/es/steps/stepStyle/small.less +5 -0
  249. package/es/steps/steps.js +76 -44
  250. package/es/steps/style/index.js +1 -2
  251. package/es/style/index.js +1 -2
  252. package/es/style/mixins/iconfont.less +3 -2
  253. package/es/style/themes/default.less +4 -3
  254. package/es/style/v2-compatible-reset.js +1 -2
  255. package/es/svg-components/illustration-403.js +206 -58
  256. package/es/svg-components/illustration-404.js +290 -75
  257. package/es/svg-components/illustration-500.js +321 -83
  258. package/es/svg-components/illustration-empty.js +54 -15
  259. package/es/svg-components/illustration-failure.js +112 -36
  260. package/es/svg-components/illustration-no-access.js +114 -35
  261. package/es/svg-components/illustration-no-chart.js +134 -37
  262. package/es/svg-components/illustration-no-result.js +92 -32
  263. package/es/svg-components/illustration-offline.js +131 -43
  264. package/es/svg-components/illustration-success.js +137 -43
  265. package/es/svg-components/index.js +1 -2
  266. package/es/switch/index.js +1 -2
  267. package/es/switch/style/index.js +1 -2
  268. package/es/switch/switch.js +39 -30
  269. package/es/table/assets/image-loading-background.js +45 -17
  270. package/es/table/assets/image-loading.js +26 -5
  271. package/es/table/constants.js +1 -2
  272. package/es/table/context.js +1 -2
  273. package/es/table/hooks/index.js +1 -2
  274. package/es/table/hooks/use-column-setting.js +13 -16
  275. package/es/table/index.js +1 -2
  276. package/es/table/style/index.js +1 -2
  277. package/es/table/style/index.less +2 -4
  278. package/es/table/table.js +189 -155
  279. package/es/table/table.stories.js +148 -139
  280. package/es/table/total-shower.js +8 -4
  281. package/es/table/utils.js +17 -18
  282. package/es/tabs/index.js +1 -2
  283. package/es/tabs/style/index.js +1 -2
  284. package/es/tabs/tabPane.js +1 -2
  285. package/es/tabs/tabs.js +54 -43
  286. package/es/tag/index.js +1 -2
  287. package/es/tag/style/index.js +1 -2
  288. package/es/tag/tag.js +140 -110
  289. package/es/tag/tag.less +2 -1
  290. package/es/time-picker/TimePicker.js +28 -20
  291. package/es/time-picker/index.js +1 -2
  292. package/es/time-picker/style/index.js +1 -2
  293. package/es/time-picker/style/index.less +2 -1
  294. package/es/timeline/index.js +1 -2
  295. package/es/timeline/style/index.js +1 -2
  296. package/es/timeline/style/index.less +1 -1
  297. package/es/title/index.js +32 -20
  298. package/es/tntd-action/Action.js +56 -35
  299. package/es/tntd-action/index.js +57 -53
  300. package/es/tntd-action/index.less +17 -0
  301. package/es/tntd-cascader/AntdCascader/component/DisabledContext.js +9 -5
  302. package/es/tntd-cascader/AntdCascader/component/FormItemInputContext.js +1 -2
  303. package/es/tntd-cascader/AntdCascader/component/SizeContext.js +1 -2
  304. package/es/tntd-cascader/AntdCascader/component/context.js +5 -7
  305. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +22 -10
  306. package/es/tntd-cascader/AntdCascader/component/getIcons.js +72 -50
  307. package/es/tntd-cascader/AntdCascader/component/useCompactItemContext.js +22 -20
  308. package/es/tntd-cascader/AntdCascader/config/utils.js +17 -18
  309. package/es/tntd-cascader/AntdCascader/config/warning.js +9 -10
  310. package/es/tntd-cascader/AntdCascader/index.js +189 -118
  311. package/es/tntd-cascader/AntdCascader/interface.js +1 -2
  312. package/es/tntd-cascader/index.js +1 -2
  313. package/es/tntd-cascader/rc-cascader/Cascader.js +256 -239
  314. package/es/tntd-cascader/rc-cascader/OptionList/Checkbox.js +21 -11
  315. package/es/tntd-cascader/rc-cascader/OptionList/Column.js +175 -116
  316. package/es/tntd-cascader/rc-cascader/OptionList/index.js +179 -128
  317. package/es/tntd-cascader/rc-cascader/OptionList/useActive.js +21 -19
  318. package/es/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +144 -137
  319. package/es/tntd-cascader/rc-cascader/context.js +1 -2
  320. package/es/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +44 -37
  321. package/es/tntd-cascader/rc-cascader/hooks/useEntities.js +25 -24
  322. package/es/tntd-cascader/rc-cascader/hooks/useMissingValues.js +15 -17
  323. package/es/tntd-cascader/rc-cascader/hooks/useRefFunc.js +7 -8
  324. package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +20 -21
  325. package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +51 -41
  326. package/es/tntd-cascader/rc-cascader/index.js +1 -2
  327. package/es/tntd-cascader/rc-cascader/utils/commonUtil.js +33 -27
  328. package/es/tntd-cascader/rc-cascader/utils/treeUtil.js +29 -32
  329. package/es/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +26 -23
  330. package/es/tntd-form/ErrorList.js +75 -41
  331. package/es/tntd-form/Form.js +118 -97
  332. package/es/tntd-form/FormItem/ItemHolder.js +126 -117
  333. package/es/tntd-form/FormItem/index.js +232 -206
  334. package/es/tntd-form/FormItemInput.js +72 -31
  335. package/es/tntd-form/FormItemLabel.js +87 -62
  336. package/es/tntd-form/FormList.js +33 -27
  337. package/es/tntd-form/context.js +29 -24
  338. package/es/tntd-form/hooks/useDebounce.js +11 -12
  339. package/es/tntd-form/hooks/useForm.js +33 -28
  340. package/es/tntd-form/hooks/useFormInstance.js +5 -4
  341. package/es/tntd-form/hooks/useFormItemStatus.js +8 -5
  342. package/es/tntd-form/hooks/useFrameState.js +32 -33
  343. package/es/tntd-form/hooks/useItemRef.js +15 -14
  344. package/es/tntd-form/index.js +1 -2
  345. package/es/tntd-form/interface.js +1 -2
  346. package/es/tntd-form/style/index.js +1 -2
  347. package/es/tntd-form/util.js +10 -13
  348. package/es/tntd-form/validateMessagesContext.js +1 -2
  349. package/es/tntd-icon/fonts/iconfont.js +36 -53
  350. package/es/tntd-icon/index.js +23 -17
  351. package/es/tntd-layout/ActionsContext.js +1 -2
  352. package/es/tntd-layout/AppList.js +135 -77
  353. package/es/tntd-layout/Application.js +42 -29
  354. package/es/tntd-layout/Avatar.js +80 -42
  355. package/es/tntd-layout/CompatibleLanguage.js +93 -56
  356. package/es/tntd-layout/EnterpriseLayout/Avatar.js +93 -47
  357. package/es/tntd-layout/EnterpriseLayout/Language.js +56 -34
  358. package/es/tntd-layout/EnterpriseLayout/Theme.js +45 -24
  359. package/es/tntd-layout/EnterpriseLayout/index.js +17 -9
  360. package/es/tntd-layout/GlobalNavigation/NavigationPopup.js +212 -153
  361. package/es/tntd-layout/GlobalNavigation/index.js +84 -50
  362. package/es/tntd-layout/Header.js +59 -26
  363. package/es/tntd-layout/HeaderActions.js +84 -34
  364. package/es/tntd-layout/HeaderNavs.js +46 -35
  365. package/es/tntd-layout/HeaderTabs.js +176 -140
  366. package/es/tntd-layout/Iconfont.js +1 -2
  367. package/es/tntd-layout/Language.js +55 -33
  368. package/es/tntd-layout/Layout.js +176 -78
  369. package/es/tntd-layout/Logo.js +52 -40
  370. package/es/tntd-layout/OrgAppList.js +208 -139
  371. package/es/tntd-layout/SideMenu.js +230 -160
  372. package/es/tntd-layout/Theme.js +47 -29
  373. package/es/tntd-layout/createActions.js +28 -29
  374. package/es/tntd-layout/images/index.js +31 -32
  375. package/es/tntd-layout/index.js +91 -60
  376. package/es/tntd-layout/paaslayout/CompactSideMenu.js +109 -65
  377. package/es/tntd-layout/paaslayout/Header.js +37 -14
  378. package/es/tntd-layout/paaslayout/Logo.js +2 -3
  379. package/es/tntd-layout/paaslayout/SideMenu.js +109 -63
  380. package/es/tntd-layout/paaslayout/index.js +159 -79
  381. package/es/tntd-layout/storage.js +18 -11
  382. package/es/tntd-modal/index.js +73 -32
  383. package/es/tntd-rc-select/_util/DisabledContext.js +9 -5
  384. package/es/tntd-rc-select/_util/FormItemInputContext.js +1 -2
  385. package/es/tntd-rc-select/_util/PurePanel.js +59 -48
  386. package/es/tntd-rc-select/_util/SizeContext.js +1 -2
  387. package/es/tntd-rc-select/_util/context.js +5 -7
  388. package/es/tntd-rc-select/_util/defaultRenderEmpty.js +21 -10
  389. package/es/tntd-rc-select/_util/getIcons.js +72 -50
  390. package/es/tntd-rc-select/_util/interface.js +1 -2
  391. package/es/tntd-rc-select/_util/motion.js +36 -27
  392. package/es/tntd-rc-select/_util/type.js +1 -2
  393. package/es/tntd-rc-select/_util/useCompactItemContext.js +22 -20
  394. package/es/tntd-rc-select/_util/warning.js +9 -10
  395. package/es/tntd-rc-select/index.js +131 -76
  396. package/es/tntd-second-page/index.js +47 -24
  397. package/es/tntd-select/DropDownWrap.js +73 -52
  398. package/es/tntd-select/index.js +592 -505
  399. package/es/tooltip/index.js +1 -2
  400. package/es/tooltip/index.less +5 -0
  401. package/es/tooltip/style/index.js +1 -2
  402. package/es/tooltip/tooltip.js +24 -19
  403. package/es/tooltip/tooltip.js.map +1 -1
  404. package/es/transfer/index.js +1 -2
  405. package/es/transfer/style/index.js +1 -2
  406. package/es/tree/index.js +1 -2
  407. package/es/tree/style/index.js +1 -2
  408. package/es/tree-select/index.js +1 -2
  409. package/es/tree-select/style/index.js +1 -2
  410. package/es/typography/index.js +1 -2
  411. package/es/typography/style/index.js +1 -2
  412. package/es/upload/index.js +4 -3
  413. package/es/upload/style/index.js +1 -2
  414. package/es/utils/checkAuth.js +24 -21
  415. package/es/utils/findMenuInfoByPath.js +33 -30
  416. package/es/utils/index.js +71 -65
  417. package/es/utils/lang.js +68 -115
  418. package/es/utils/simple-template.js +2 -3
  419. package/es/version/index.js +1 -2
  420. package/es/version/style/index.js +1 -2
  421. package/es/water-mark/index.js +98 -87
  422. package/lib/_util/context.js +15 -16
  423. package/lib/_util/defaultRenderEmpty.js +34 -39
  424. package/lib/_util/defaultRenderEmpty.js.map +1 -1
  425. package/lib/_util/hooks/useFlexGapSupport.js +25 -33
  426. package/lib/_util/hooks/useForceUpdate.js +21 -29
  427. package/lib/_util/motion.js +50 -36
  428. package/lib/_util/reactNode.js +19 -37
  429. package/lib/_util/responsiveObserve.js +67 -58
  430. package/lib/_util/styleChecker.js +37 -32
  431. package/lib/_util/type.js +16 -6
  432. package/lib/_util/warning.js +17 -30
  433. package/lib/actions/index.js +30 -14
  434. package/lib/affix/index.d.ts +2 -2
  435. package/lib/affix/index.js +21 -21
  436. package/lib/affix/index.js.map +1 -1
  437. package/lib/affix/style/index.js +2 -3
  438. package/lib/alert/alert.d.ts +3 -3
  439. package/lib/alert/alert.js +78 -76
  440. package/lib/alert/alert.js.map +1 -1
  441. package/lib/alert/index.d.ts +1 -1
  442. package/lib/alert/index.js +21 -22
  443. package/lib/alert/index.js.map +1 -1
  444. package/lib/alert/style/index.js +2 -3
  445. package/lib/anchor/index.d.ts +2 -2
  446. package/lib/anchor/index.js +21 -21
  447. package/lib/anchor/index.js.map +1 -1
  448. package/lib/anchor/style/index.js +2 -4
  449. package/lib/array-input/icon.js +31 -12
  450. package/lib/array-input/index.js +252 -150
  451. package/lib/auth-context/index.js +9 -4
  452. package/lib/auto-complete/index.d.ts +2 -2
  453. package/lib/auto-complete/index.js +21 -21
  454. package/lib/auto-complete/index.js.map +1 -1
  455. package/lib/auto-complete/style/index.js +2 -4
  456. package/lib/avatar/index.d.ts +2 -2
  457. package/lib/avatar/index.js +21 -21
  458. package/lib/avatar/index.js.map +1 -1
  459. package/lib/avatar/style/index.js +2 -3
  460. package/lib/back-top/index.d.ts +2 -2
  461. package/lib/back-top/index.js +21 -21
  462. package/lib/back-top/index.js.map +1 -1
  463. package/lib/back-top/style/index.js +2 -3
  464. package/lib/badge/index.d.ts +2 -2
  465. package/lib/badge/index.js +21 -21
  466. package/lib/badge/index.js.map +1 -1
  467. package/lib/badge/style/index.js +2 -3
  468. package/lib/breadcrumb/index.d.ts +2 -2
  469. package/lib/breadcrumb/index.js +21 -21
  470. package/lib/breadcrumb/index.js.map +1 -1
  471. package/lib/breadcrumb/style/index.js +2 -3
  472. package/lib/breadcrumb/style/index.less +2 -1
  473. package/lib/button/button.d.ts +3 -3
  474. package/lib/button/button.js +81 -69
  475. package/lib/button/button.js.map +1 -1
  476. package/lib/button/index.js +19 -19
  477. package/lib/button/style/index.js +2 -3
  478. package/lib/calendar/index.d.ts +2 -2
  479. package/lib/calendar/index.js +21 -21
  480. package/lib/calendar/index.js.map +1 -1
  481. package/lib/calendar/style/index.js +2 -4
  482. package/lib/card/card.d.ts +3 -3
  483. package/lib/card/card.js +42 -51
  484. package/lib/card/card.js.map +1 -1
  485. package/lib/card/index.js +19 -19
  486. package/lib/card/style/index.js +2 -4
  487. package/lib/carousel/index.d.ts +2 -2
  488. package/lib/carousel/index.js +21 -21
  489. package/lib/carousel/index.js.map +1 -1
  490. package/lib/carousel/style/index.js +2 -3
  491. package/lib/cascader/index.d.ts +2 -2
  492. package/lib/cascader/index.js +26 -25
  493. package/lib/cascader/index.js.map +1 -1
  494. package/lib/cascader/style/index.js +2 -4
  495. package/lib/cascader/style/index.less +2 -2
  496. package/lib/check-card/group.js +224 -172
  497. package/lib/check-card/index.js +167 -141
  498. package/lib/checkbox/check.png +0 -0
  499. package/lib/checkbox/checkbox-group.d.ts +8 -0
  500. package/lib/checkbox/checkbox-group.d.ts.map +1 -0
  501. package/lib/checkbox/checkbox-group.js +12 -0
  502. package/lib/checkbox/checkbox-group.js.map +1 -0
  503. package/lib/checkbox/checkbox.d.ts +3 -3
  504. package/lib/checkbox/checkbox.js +58 -61
  505. package/lib/checkbox/checkbox.js.map +1 -1
  506. package/lib/checkbox/index.js +21 -21
  507. package/lib/checkbox/style/index.js +2 -3
  508. package/lib/col/index.d.ts +2 -2
  509. package/lib/col/index.js +21 -21
  510. package/lib/col/index.js.map +1 -1
  511. package/lib/col/style/index.js +2 -5
  512. package/lib/collapse/index.d.ts +2 -2
  513. package/lib/collapse/index.js +23 -23
  514. package/lib/collapse/index.js.map +1 -1
  515. package/lib/collapse/style/index.js +2 -3
  516. package/lib/collapse/style/index.less +2 -1
  517. package/lib/color-picker/ColorPicker.js +154 -114
  518. package/lib/color-picker/index.js +18 -14
  519. package/lib/color-picker/index.js.map +1 -1
  520. package/lib/columns/index.js +78 -42
  521. package/lib/columns/style/index.js +1 -2
  522. package/lib/comment/index.d.ts +2 -2
  523. package/lib/comment/index.js +21 -21
  524. package/lib/comment/index.js.map +1 -1
  525. package/lib/comment/style/index.js +2 -3
  526. package/lib/config-provider/DisabledContext.js +17 -32
  527. package/lib/config-provider/SizeContext.js +18 -29
  528. package/lib/config-provider/config-provider.d.ts +1 -1
  529. package/lib/config-provider/config-provider.js +12 -8
  530. package/lib/config-provider/config-provider.js.map +1 -1
  531. package/lib/config-provider/index.d.ts +3 -3
  532. package/lib/config-provider/index.js +34 -23
  533. package/lib/config-provider/index.js.map +1 -1
  534. package/lib/config-provider/style/index.js +2 -3
  535. package/lib/connect/index.js +41 -29
  536. package/lib/date-picker/DatePicker.d.ts +3 -3
  537. package/lib/date-picker/DatePicker.js +122 -71
  538. package/lib/date-picker/DatePicker.js.map +1 -1
  539. package/lib/date-picker/index.d.ts +1 -1
  540. package/lib/date-picker/index.js +14 -12
  541. package/lib/date-picker/index.js.map +1 -1
  542. package/lib/date-picker/style/Picker.less +2 -1
  543. package/lib/date-picker/style/index.js +2 -5
  544. package/lib/descriptions/descriptions.d.ts +4 -4
  545. package/lib/descriptions/descriptions.js +117 -89
  546. package/lib/descriptions/descriptions.js.map +1 -1
  547. package/lib/descriptions/index.js +22 -22
  548. package/lib/descriptions/index.js.map +1 -1
  549. package/lib/descriptions/style/index.js +2 -3
  550. package/lib/development-login/LoginModal.js +110 -80
  551. package/lib/development-login/index.js +42 -34
  552. package/lib/divider/index.d.ts +2 -2
  553. package/lib/divider/index.js +21 -21
  554. package/lib/divider/index.js.map +1 -1
  555. package/lib/divider/style/index.js +2 -3
  556. package/lib/drawer/drawer.d.ts +2 -2
  557. package/lib/drawer/drawer.js +127 -90
  558. package/lib/drawer/drawer.js.map +1 -1
  559. package/lib/drawer/drawer.less +20 -0
  560. package/lib/drawer/index.d.ts +1 -1
  561. package/lib/drawer/index.js +20 -19
  562. package/lib/drawer/index.js.map +1 -1
  563. package/lib/drawer/style/drawer.less +4 -2
  564. package/lib/drawer/style/index.js +2 -4
  565. package/lib/dropdown/index.d.ts +2 -2
  566. package/lib/dropdown/index.js +21 -21
  567. package/lib/dropdown/index.js.map +1 -1
  568. package/lib/dropdown/style/index.js +2 -4
  569. package/lib/dropdown/style/index.less +2 -1
  570. package/lib/ellipsis/Svg/CopySVG.js +70 -21
  571. package/lib/ellipsis/Svg/TickSVG.js +48 -16
  572. package/lib/ellipsis/index.js +178 -137
  573. package/lib/empty/empty.d.ts +2 -2
  574. package/lib/empty/empty.js +86 -75
  575. package/lib/empty/empty.js.map +1 -1
  576. package/lib/empty/empty.stories.js +18 -19
  577. package/lib/empty/index.js +19 -19
  578. package/lib/empty/style/index.js +2 -3
  579. package/lib/exception/exception.js +45 -31
  580. package/lib/exception/exception.js.map +1 -1
  581. package/lib/exception/index.js +18 -18
  582. package/lib/form/form.d.ts +4 -4
  583. package/lib/form/form.js +88 -83
  584. package/lib/form/form.js.map +1 -1
  585. package/lib/form/index.js +19 -19
  586. package/lib/form/style/index.js +2 -4
  587. package/lib/grid/RowContext.d.ts +9 -0
  588. package/lib/grid/RowContext.d.ts.map +1 -0
  589. package/lib/grid/RowContext.js +9 -0
  590. package/lib/grid/RowContext.js.map +1 -0
  591. package/lib/grid/col.d.ts +29 -0
  592. package/lib/grid/col.d.ts.map +1 -0
  593. package/lib/grid/col.js +100 -0
  594. package/lib/grid/col.js.map +1 -0
  595. package/lib/grid/hooks/useBreakpoint.d.ts +4 -0
  596. package/lib/grid/hooks/useBreakpoint.d.ts.map +1 -0
  597. package/lib/grid/hooks/useBreakpoint.js +28 -0
  598. package/lib/grid/hooks/useBreakpoint.js.map +1 -0
  599. package/lib/grid/index.d.ts +2 -2
  600. package/lib/grid/index.js +21 -21
  601. package/lib/grid/index.js.map +1 -1
  602. package/lib/grid/row.d.ts +21 -0
  603. package/lib/grid/row.d.ts.map +1 -0
  604. package/lib/grid/row.js +183 -0
  605. package/lib/grid/row.js.map +1 -0
  606. package/lib/grid/style/index.js +2 -3
  607. package/lib/grid/style/rtl.less +69 -0
  608. package/lib/grid-v4/RowContext.js +8 -5
  609. package/lib/grid-v4/col.js +90 -96
  610. package/lib/grid-v4/hooks/useBreakpoint.js +26 -22
  611. package/lib/grid-v4/index.js +25 -15
  612. package/lib/grid-v4/row.js +172 -158
  613. package/lib/grid-v4/style/index.js +2 -4
  614. package/lib/handle/index.js +164 -126
  615. package/lib/handle/index.js.map +1 -1
  616. package/lib/icon/IconFont.js +56 -77
  617. package/lib/icon/components/Icon.js +128 -98
  618. package/lib/icon/components/index.js +12 -8
  619. package/lib/icon/components/utils.js +100 -94
  620. package/lib/icon/index.d.ts +1 -1
  621. package/lib/icon/index.d.ts.map +1 -1
  622. package/lib/icon/index.js +116 -118
  623. package/lib/icon/index.js.map +1 -1
  624. package/lib/icon/style/index.d.ts +1 -0
  625. package/lib/icon/style/index.d.ts.map +1 -1
  626. package/lib/icon/style/index.js +2 -2
  627. package/lib/icon/style/index.js.map +1 -1
  628. package/lib/icon/style/style.less +3 -1
  629. package/lib/icon/twoTonePrimaryColor.js +14 -15
  630. package/lib/icon/utils.js +63 -68
  631. package/lib/icon-list/index.js +6 -121
  632. package/lib/icon-old/index.d.ts +2 -2
  633. package/lib/icon-old/index.js +21 -21
  634. package/lib/icon-old/index.js.map +1 -1
  635. package/lib/icon-old/style/index.js +2 -3
  636. package/lib/img/Contain.js +67 -45
  637. package/lib/img/Cover.js +115 -79
  638. package/lib/img/index.js +72 -61
  639. package/lib/index.js +669 -203
  640. package/lib/input/index.js +18 -18
  641. package/lib/input/input.d.ts +5 -5
  642. package/lib/input/input.js +87 -91
  643. package/lib/input/input.js.map +1 -1
  644. package/lib/input/style/index.js +2 -4
  645. package/lib/input/style/mixin.less +1 -1
  646. package/lib/input-number/index.js +21 -21
  647. package/lib/input-number/inputNumber.d.ts +3 -3
  648. package/lib/input-number/inputNumber.js +42 -52
  649. package/lib/input-number/inputNumber.js.map +1 -1
  650. package/lib/input-number/style/index.js +2 -3
  651. package/lib/label/index.d.ts +2 -2
  652. package/lib/label/index.js +128 -138
  653. package/lib/label/index.js.map +1 -1
  654. package/lib/layout/index.d.ts +2 -2
  655. package/lib/layout/index.js +21 -21
  656. package/lib/layout/index.js.map +1 -1
  657. package/lib/layout/style/index.js +2 -3
  658. package/lib/list/index.d.ts +2 -2
  659. package/lib/list/index.js +21 -21
  660. package/lib/list/index.js.map +1 -1
  661. package/lib/list/style/index.js +2 -4
  662. package/lib/loading-button/index.js +56 -56
  663. package/lib/locale/default.js +11 -10
  664. package/lib/locale/default.js.map +1 -1
  665. package/lib/locale/en_US.js +60 -58
  666. package/lib/locale/en_US.js.map +1 -1
  667. package/lib/locale/index.js +36 -18
  668. package/lib/locale/zh_CN.js +52 -51
  669. package/lib/locale/zh_CN.js.map +1 -1
  670. package/lib/locale-provider/index.d.ts +2 -2
  671. package/lib/locale-provider/index.js +25 -25
  672. package/lib/locale-provider/index.js.map +1 -1
  673. package/lib/locale-provider/style/index.js +2 -3
  674. package/lib/mentions/index.d.ts +2 -2
  675. package/lib/mentions/index.js +21 -21
  676. package/lib/mentions/index.js.map +1 -1
  677. package/lib/mentions/style/index.js +2 -4
  678. package/lib/menu/index.d.ts +2 -2
  679. package/lib/menu/index.js +21 -21
  680. package/lib/menu/index.js.map +1 -1
  681. package/lib/menu/style/index.js +2 -5
  682. package/lib/message/index.d.ts +2 -2
  683. package/lib/message/index.js +21 -21
  684. package/lib/message/index.js.map +1 -1
  685. package/lib/message/style/index.js +2 -3
  686. package/lib/modal/index.js +20 -20
  687. package/lib/modal/index.js.map +1 -1
  688. package/lib/modal/modal.d.ts +4 -4
  689. package/lib/modal/modal.js +167 -99
  690. package/lib/modal/modal.js.map +1 -1
  691. package/lib/modal/modal.less +18 -0
  692. package/lib/modal/style/confirm.less +1 -1
  693. package/lib/modal/style/index.js +2 -4
  694. package/lib/modal/style/modal.less +5 -1
  695. package/lib/notification/assets/index.js +19 -10
  696. package/lib/notification/assets/svg-error-tip.js +150 -56
  697. package/lib/notification/assets/svg-success-tip.js +167 -60
  698. package/lib/notification/index.d.ts +1 -1
  699. package/lib/notification/index.js +21 -22
  700. package/lib/notification/index.js.map +1 -1
  701. package/lib/notification/notification.d.ts +2 -2
  702. package/lib/notification/notification.js +102 -40
  703. package/lib/notification/notification.js.map +1 -1
  704. package/lib/notification/style/index.js +2 -3
  705. package/lib/notification/style/index.less +4 -2
  706. package/lib/page/Box.js +63 -40
  707. package/lib/page/index.js +143 -95
  708. package/lib/page/utils.js +21 -18
  709. package/lib/page-header/index.d.ts +2 -2
  710. package/lib/page-header/index.js +21 -21
  711. package/lib/page-header/index.js.map +1 -1
  712. package/lib/page-header/style/index.js +2 -4
  713. package/lib/pagination/index.d.ts +2 -2
  714. package/lib/pagination/index.js +21 -21
  715. package/lib/pagination/index.js.map +1 -1
  716. package/lib/pagination/style/index.js +2 -4
  717. package/lib/popconfirm/index.js +21 -21
  718. package/lib/popconfirm/index.less +10 -4
  719. package/lib/popconfirm/popconfirm.d.ts +5 -3
  720. package/lib/popconfirm/popconfirm.d.ts.map +1 -1
  721. package/lib/popconfirm/popconfirm.js +57 -45
  722. package/lib/popconfirm/popconfirm.js.map +1 -1
  723. package/lib/popconfirm/style/index.js +2 -5
  724. package/lib/popover/index.js +22 -22
  725. package/lib/popover/index.less +6 -0
  726. package/lib/popover/popover.d.ts +3 -2
  727. package/lib/popover/popover.d.ts.map +1 -1
  728. package/lib/popover/popover.js +50 -42
  729. package/lib/popover/popover.js.map +1 -1
  730. package/lib/popover/style/index.js +2 -5
  731. package/lib/popover/style/index.less +2 -1
  732. package/lib/prev-locale.js +65 -56
  733. package/lib/preview-text/index.d.ts +5 -5
  734. package/lib/preview-text/index.js +261 -209
  735. package/lib/preview-text/index.js.map +1 -1
  736. package/lib/progress/index.js +21 -21
  737. package/lib/progress/progress.d.ts +2 -2
  738. package/lib/progress/progress.js +141 -100
  739. package/lib/progress/progress.js.map +1 -1
  740. package/lib/progress/style/index.js +2 -3
  741. package/lib/query-form/Field/Checkbox.js +26 -23
  742. package/lib/query-form/Field/Composition/FieldPopover.js +308 -227
  743. package/lib/query-form/Field/Composition/Select.js +128 -99
  744. package/lib/query-form/Field/Composition/Select.js.map +1 -1
  745. package/lib/query-form/Field/Composition/index.js +302 -231
  746. package/lib/query-form/Field/Composition/index.js.map +1 -1
  747. package/lib/query-form/Field/Composition/index.less +3 -3
  748. package/lib/query-form/Field/Composition/utils.js +23 -21
  749. package/lib/query-form/Field/Select.js +77 -69
  750. package/lib/query-form/Field/SelectInput.js +85 -74
  751. package/lib/query-form/Field/fieldsMap.d.ts +2 -2
  752. package/lib/query-form/Field/fieldsMap.js +33 -34
  753. package/lib/query-form/Field/index.js +138 -96
  754. package/lib/query-form/createActions.js +53 -51
  755. package/lib/query-form/index.js +362 -271
  756. package/lib/query-form/useForm.js +11 -11
  757. package/lib/query-list-scene/List.js +355 -289
  758. package/lib/query-list-scene/QueryForm.js +156 -103
  759. package/lib/query-list-scene/QueryListScene.js +62 -31
  760. package/lib/query-list-scene/Title.js +14 -9
  761. package/lib/query-list-scene/Toolbar.js +29 -21
  762. package/lib/query-list-scene/createActions.js +79 -65
  763. package/lib/query-list-scene/index.js +24 -24
  764. package/lib/query-list-scene/useActions.js +11 -11
  765. package/lib/radio/index.js +21 -21
  766. package/lib/radio/radio-group.d.ts +8 -0
  767. package/lib/radio/radio-group.d.ts.map +1 -0
  768. package/lib/radio/radio-group.js +12 -0
  769. package/lib/radio/radio-group.js.map +1 -0
  770. package/lib/radio/radio.d.ts +3 -3
  771. package/lib/radio/radio.js +60 -62
  772. package/lib/radio/radio.js.map +1 -1
  773. package/lib/radio/style/index.js +2 -3
  774. package/lib/rate/index.d.ts +2 -2
  775. package/lib/rate/index.js +21 -21
  776. package/lib/rate/index.js.map +1 -1
  777. package/lib/rate/style/index.js +2 -4
  778. package/lib/render-empty/index.js +7 -4
  779. package/lib/render-empty/render-empty.js +27 -22
  780. package/lib/render-empty/render-empty.js.map +1 -1
  781. package/lib/result/index.d.ts +2 -2
  782. package/lib/result/index.js +21 -21
  783. package/lib/result/index.js.map +1 -1
  784. package/lib/result/style/index.js +2 -3
  785. package/lib/row/index.d.ts +2 -2
  786. package/lib/row/index.js +21 -21
  787. package/lib/row/index.js.map +1 -1
  788. package/lib/row/style/index.js +2 -5
  789. package/lib/segmented/index.js +67 -69
  790. package/lib/select/index.d.ts +1 -1
  791. package/lib/select/index.js +20 -19
  792. package/lib/select/index.js.map +1 -1
  793. package/lib/select/select.d.ts +2 -2
  794. package/lib/select/select.js +56 -65
  795. package/lib/select/select.js.map +1 -1
  796. package/lib/select/style/index.js +2 -4
  797. package/lib/select/style/index.less +2 -1
  798. package/lib/skeleton/index.d.ts +2 -2
  799. package/lib/skeleton/index.js +21 -21
  800. package/lib/skeleton/index.js.map +1 -1
  801. package/lib/skeleton/style/index.js +2 -3
  802. package/lib/slider/index.d.ts +2 -2
  803. package/lib/slider/index.js +21 -21
  804. package/lib/slider/index.js.map +1 -1
  805. package/lib/slider/style/index.js +2 -4
  806. package/lib/spin/index.d.ts +2 -2
  807. package/lib/spin/index.js +21 -21
  808. package/lib/spin/index.js.map +1 -1
  809. package/lib/spin/style/index.js +2 -3
  810. package/lib/statistic/index.d.ts +2 -2
  811. package/lib/statistic/index.js +21 -21
  812. package/lib/statistic/index.js.map +1 -1
  813. package/lib/statistic/style/index.js +2 -3
  814. package/lib/steps/index.js +20 -20
  815. package/lib/steps/stepStyle/small.less +5 -0
  816. package/lib/steps/steps.d.ts +3 -3
  817. package/lib/steps/steps.js +98 -70
  818. package/lib/steps/steps.js.map +1 -1
  819. package/lib/steps/style/index.js +2 -11
  820. package/lib/style/index.js +2 -3
  821. package/lib/style/mixins/iconfont.less +3 -2
  822. package/lib/style/themes/default.less +4 -3
  823. package/lib/style/v2-compatible-reset.js +2 -3
  824. package/lib/svg-components/illustration-403.js +216 -84
  825. package/lib/svg-components/illustration-404.js +300 -101
  826. package/lib/svg-components/illustration-500.js +331 -109
  827. package/lib/svg-components/illustration-empty.js +64 -41
  828. package/lib/svg-components/illustration-failure.js +122 -62
  829. package/lib/svg-components/illustration-no-access.js +124 -61
  830. package/lib/svg-components/illustration-no-chart.js +144 -63
  831. package/lib/svg-components/illustration-no-result.js +102 -58
  832. package/lib/svg-components/illustration-offline.js +141 -69
  833. package/lib/svg-components/illustration-success.js +147 -69
  834. package/lib/svg-components/index.js +75 -26
  835. package/lib/switch/index.js +21 -21
  836. package/lib/switch/style/index.js +2 -3
  837. package/lib/switch/switch.d.ts +3 -3
  838. package/lib/switch/switch.js +65 -66
  839. package/lib/switch/switch.js.map +1 -1
  840. package/lib/table/assets/image-loading-background.js +55 -43
  841. package/lib/table/assets/image-loading.js +36 -31
  842. package/lib/table/constants.js +5 -3
  843. package/lib/table/context.js +6 -4
  844. package/lib/table/hooks/index.js +14 -16
  845. package/lib/table/hooks/use-column-setting.d.ts +1 -1
  846. package/lib/table/hooks/use-column-setting.js +37 -21
  847. package/lib/table/hooks/use-column-setting.js.map +1 -1
  848. package/lib/table/index.js +19 -19
  849. package/lib/table/style/index.js +2 -5
  850. package/lib/table/style/index.less +2 -4
  851. package/lib/table/table.d.ts +3 -3
  852. package/lib/table/table.js +225 -201
  853. package/lib/table/table.js.map +1 -1
  854. package/lib/table/table.stories.js +177 -154
  855. package/lib/table/total-shower.d.ts +2 -2
  856. package/lib/table/total-shower.js +14 -11
  857. package/lib/table/total-shower.js.map +1 -1
  858. package/lib/table/utils.d.ts +1 -1
  859. package/lib/table/utils.js +24 -25
  860. package/lib/table/utils.js.map +1 -1
  861. package/lib/tabs/index.js +19 -19
  862. package/lib/tabs/style/index.js +2 -3
  863. package/lib/tabs/tabPane.js +1 -2
  864. package/lib/tabs/tabs.d.ts +3 -3
  865. package/lib/tabs/tabs.js +81 -79
  866. package/lib/tabs/tabs.js.map +1 -1
  867. package/lib/tag/index.js +20 -20
  868. package/lib/tag/style/index.js +2 -3
  869. package/lib/tag/tag.d.ts +4 -4
  870. package/lib/tag/tag.js +161 -151
  871. package/lib/tag/tag.js.map +1 -1
  872. package/lib/tag/tag.less +2 -1
  873. package/lib/time-picker/TimePicker.d.ts +2 -2
  874. package/lib/time-picker/TimePicker.js +51 -43
  875. package/lib/time-picker/TimePicker.js.map +1 -1
  876. package/lib/time-picker/index.d.ts +1 -1
  877. package/lib/time-picker/index.js +10 -9
  878. package/lib/time-picker/style/index.js +2 -3
  879. package/lib/time-picker/style/index.less +2 -1
  880. package/lib/timeline/index.d.ts +2 -2
  881. package/lib/timeline/index.js +21 -21
  882. package/lib/timeline/index.js.map +1 -1
  883. package/lib/timeline/style/index.js +2 -3
  884. package/lib/timeline/style/index.less +1 -1
  885. package/lib/title/index.js +41 -27
  886. package/lib/tntd-action/Action.js +80 -68
  887. package/lib/tntd-action/Action.js.map +1 -1
  888. package/lib/tntd-action/index.js +77 -84
  889. package/lib/tntd-action/index.less +17 -0
  890. package/lib/tntd-cascader/AntdCascader/component/DisabledContext.js +17 -32
  891. package/lib/tntd-cascader/AntdCascader/component/FormItemInputContext.js +8 -26
  892. package/lib/tntd-cascader/AntdCascader/component/SizeContext.js +8 -26
  893. package/lib/tntd-cascader/AntdCascader/component/context.js +15 -16
  894. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +35 -39
  895. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  896. package/lib/tntd-cascader/AntdCascader/component/getIcons.js +81 -75
  897. package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js +29 -51
  898. package/lib/tntd-cascader/AntdCascader/config/utils.js +27 -29
  899. package/lib/tntd-cascader/AntdCascader/config/warning.js +18 -35
  900. package/lib/tntd-cascader/AntdCascader/index.js +213 -162
  901. package/lib/tntd-cascader/AntdCascader/interface.js +13 -7
  902. package/lib/tntd-cascader/img/no-data-s.png +0 -0
  903. package/lib/tntd-cascader/index.js +12 -8
  904. package/lib/tntd-cascader/rc-cascader/Cascader.js +322 -284
  905. package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js +29 -41
  906. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +196 -152
  907. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +220 -163
  908. package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +39 -49
  909. package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +178 -167
  910. package/lib/tntd-cascader/rc-cascader/context.js +10 -27
  911. package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +62 -64
  912. package/lib/tntd-cascader/rc-cascader/hooks/useEntities.js +39 -50
  913. package/lib/tntd-cascader/rc-cascader/hooks/useMissingValues.js +26 -42
  914. package/lib/tntd-cascader/rc-cascader/hooks/useRefFunc.js +16 -33
  915. package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +30 -51
  916. package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +73 -66
  917. package/lib/tntd-cascader/rc-cascader/index.js +8 -7
  918. package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js +46 -38
  919. package/lib/tntd-cascader/rc-cascader/utils/treeUtil.js +42 -39
  920. package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +33 -30
  921. package/lib/tntd-form/ErrorList.js +99 -77
  922. package/lib/tntd-form/Form.js +166 -139
  923. package/lib/tntd-form/FormItem/ItemHolder.js +151 -155
  924. package/lib/tntd-form/FormItem/index.js +287 -252
  925. package/lib/tntd-form/FormItemInput.js +87 -62
  926. package/lib/tntd-form/FormItemLabel.js +95 -94
  927. package/lib/tntd-form/FormList.js +49 -58
  928. package/lib/tntd-form/context.js +44 -61
  929. package/lib/tntd-form/hooks/useDebounce.js +28 -37
  930. package/lib/tntd-form/hooks/useForm.js +56 -57
  931. package/lib/tntd-form/hooks/useFormInstance.js +11 -8
  932. package/lib/tntd-form/hooks/useFormItemStatus.js +17 -13
  933. package/lib/tntd-form/hooks/useFrameState.js +52 -63
  934. package/lib/tntd-form/hooks/useItemRef.js +24 -41
  935. package/lib/tntd-form/index.js +23 -42
  936. package/lib/tntd-form/interface.js +6 -4
  937. package/lib/tntd-form/style/index.js +2 -4
  938. package/lib/tntd-form/util.js +18 -19
  939. package/lib/tntd-form/validateMessagesContext.js +7 -4
  940. package/lib/tntd-icon/fonts/iconfont.js +36 -53
  941. package/lib/tntd-icon/index.js +37 -25
  942. package/lib/tntd-layout/ActionsContext.js +7 -4
  943. package/lib/tntd-layout/AppList.js +173 -225
  944. package/lib/tntd-layout/Application.js +75 -112
  945. package/lib/tntd-layout/Avatar.js +100 -136
  946. package/lib/tntd-layout/CompatibleLanguage.js +128 -181
  947. package/lib/tntd-layout/EnterpriseLayout/Avatar.js +117 -147
  948. package/lib/tntd-layout/EnterpriseLayout/Language.js +72 -90
  949. package/lib/tntd-layout/EnterpriseLayout/Theme.js +69 -103
  950. package/lib/tntd-layout/EnterpriseLayout/index.js +27 -17
  951. package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js +283 -277
  952. package/lib/tntd-layout/GlobalNavigation/index.js +108 -116
  953. package/lib/tntd-layout/Header.js +76 -132
  954. package/lib/tntd-layout/HeaderActions.js +105 -108
  955. package/lib/tntd-layout/HeaderNavs.js +74 -107
  956. package/lib/tntd-layout/HeaderTabs.js +220 -316
  957. package/lib/tntd-layout/Iconfont.js +11 -8
  958. package/lib/tntd-layout/Language.js +69 -77
  959. package/lib/tntd-layout/Layout.js +214 -172
  960. package/lib/tntd-layout/Logo.js +69 -141
  961. package/lib/tntd-layout/OrgAppList.js +238 -389
  962. package/lib/tntd-layout/SideMenu.js +267 -409
  963. package/lib/tntd-layout/Theme.js +75 -94
  964. package/lib/tntd-layout/createActions.js +45 -35
  965. package/lib/tntd-layout/images/avatar/empty.png +0 -0
  966. package/lib/tntd-layout/images/avatar/female1.png +0 -0
  967. package/lib/tntd-layout/images/avatar/female2.png +0 -0
  968. package/lib/tntd-layout/images/avatar/female3.png +0 -0
  969. package/lib/tntd-layout/images/avatar/female4.png +0 -0
  970. package/lib/tntd-layout/images/avatar/female5.png +0 -0
  971. package/lib/tntd-layout/images/avatar/female6.png +0 -0
  972. package/lib/tntd-layout/images/avatar/male1.png +0 -0
  973. package/lib/tntd-layout/images/avatar/male2.png +0 -0
  974. package/lib/tntd-layout/images/avatar/male3.png +0 -0
  975. package/lib/tntd-layout/images/avatar/male4.png +0 -0
  976. package/lib/tntd-layout/images/avatar/male5.png +0 -0
  977. package/lib/tntd-layout/images/avatar/male6.png +0 -0
  978. package/lib/tntd-layout/images/index.js +66 -67
  979. package/lib/tntd-layout/index.js +133 -96
  980. package/lib/tntd-layout/paaslayout/CompactSideMenu.js +131 -183
  981. package/lib/tntd-layout/paaslayout/Header.js +51 -76
  982. package/lib/tntd-layout/paaslayout/Logo.js +15 -27
  983. package/lib/tntd-layout/paaslayout/SideMenu.js +131 -148
  984. package/lib/tntd-layout/paaslayout/index.js +205 -142
  985. package/lib/tntd-layout/storage.js +61 -46
  986. package/lib/tntd-modal/index.js +94 -62
  987. package/lib/tntd-rc-select/_util/DisabledContext.js +17 -32
  988. package/lib/tntd-rc-select/_util/FormItemInputContext.js +8 -26
  989. package/lib/tntd-rc-select/_util/PurePanel.js +84 -78
  990. package/lib/tntd-rc-select/_util/SizeContext.js +8 -26
  991. package/lib/tntd-rc-select/_util/context.js +15 -16
  992. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js +34 -39
  993. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js.map +1 -1
  994. package/lib/tntd-rc-select/_util/getIcons.js +81 -75
  995. package/lib/tntd-rc-select/_util/interface.js +13 -7
  996. package/lib/tntd-rc-select/_util/motion.js +50 -36
  997. package/lib/tntd-rc-select/_util/type.js +16 -6
  998. package/lib/tntd-rc-select/_util/useCompactItemContext.js +29 -51
  999. package/lib/tntd-rc-select/_util/warning.js +18 -35
  1000. package/lib/tntd-rc-select/img/no-data-s.png +0 -0
  1001. package/lib/tntd-rc-select/index.js +149 -123
  1002. package/lib/tntd-second-page/index.js +60 -33
  1003. package/lib/tntd-second-page/index.js.map +1 -1
  1004. package/lib/tntd-select/DropDownWrap.js +99 -78
  1005. package/lib/tntd-select/index.d.ts +2 -2
  1006. package/lib/tntd-select/index.js +634 -542
  1007. package/lib/tooltip/index.js +22 -22
  1008. package/lib/tooltip/index.less +5 -0
  1009. package/lib/tooltip/style/index.js +2 -3
  1010. package/lib/tooltip/tooltip.d.ts +3 -2
  1011. package/lib/tooltip/tooltip.d.ts.map +1 -1
  1012. package/lib/tooltip/tooltip.js +48 -42
  1013. package/lib/tooltip/tooltip.js.map +1 -1
  1014. package/lib/transfer/index.d.ts +2 -2
  1015. package/lib/transfer/index.js +21 -21
  1016. package/lib/transfer/index.js.map +1 -1
  1017. package/lib/transfer/style/index.js +2 -4
  1018. package/lib/tree/index.d.ts +2 -2
  1019. package/lib/tree/index.js +21 -21
  1020. package/lib/tree/index.js.map +1 -1
  1021. package/lib/tree/style/index.js +2 -3
  1022. package/lib/tree-select/index.d.ts +4 -4
  1023. package/lib/tree-select/index.js +27 -26
  1024. package/lib/tree-select/index.js.map +1 -1
  1025. package/lib/tree-select/style/index.js +2 -5
  1026. package/lib/typography/index.d.ts +2 -2
  1027. package/lib/typography/index.js +21 -21
  1028. package/lib/typography/index.js.map +1 -1
  1029. package/lib/typography/style/index.js +2 -4
  1030. package/lib/upload/index.d.ts +1 -1
  1031. package/lib/upload/index.js +30 -25
  1032. package/lib/upload/index.js.map +1 -1
  1033. package/lib/upload/style/index.js +2 -4
  1034. package/lib/utils/checkAuth.js +33 -24
  1035. package/lib/utils/findMenuInfoByPath.js +40 -35
  1036. package/lib/utils/index.js +147 -94
  1037. package/lib/utils/lang.js +83 -129
  1038. package/lib/utils/simple-template.js +11 -7
  1039. package/lib/version/index.d.ts +2 -2
  1040. package/lib/version/index.js +21 -21
  1041. package/lib/version/index.js.map +1 -1
  1042. package/lib/version/style/index.js +2 -4
  1043. package/lib/water-mark/index.js +129 -118
  1044. package/package.json +1 -2
  1045. package/themes/common/css2.x.css +35 -1
  1046. package/themes/common/css3.x.css +35 -1
  1047. package/themes/default/colorsVar.less +1 -1
  1048. package/themes/default/lessToCssVar.less +39 -0
  1049. package/themes/default/lessVars2.x.less +4 -4
  1050. package/themes/default/lessVars3.x.less +4 -4
  1051. package/themes/default/variables.less +1 -1
  1052. package/themes/default/variablesVar.less +5 -5
@@ -1,13 +1,10 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
1
+ var __rest = this && this.__rest || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
4
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
5
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
6
+ }
7
+ return t;
11
8
  };
12
9
  import React, { PureComponent } from 'react';
13
10
  import Select from '../select';
@@ -19,518 +16,608 @@ import { capitalizeFirstLetter } from '../utils';
19
16
  const ITEM_ELEMENT_NUMBER = 30;
20
17
  // Select size 配置
21
18
  const ITEM_HEIGHT_CFG = {
22
- small: 24,
23
- large: 40,
24
- default: 32,
19
+ small: 24,
20
+ large: 40,
21
+ default: 32
25
22
  };
26
23
  const ARROW_CODE = {
27
- 40: 'down',
28
- 38: 'up',
24
+ 40: 'down',
25
+ 38: 'up'
29
26
  };
30
27
  const DROPDOWN_HEIGHT = 224;
31
28
  const Option = Select.Option;
32
29
  class SuperSelect extends PureComponent {
33
- constructor(props) {
34
- super(props);
35
- Object.defineProperty(this, "turnChildren", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: (children) => {
40
- if (!children)
41
- return [];
42
- let arr = [];
43
- if (children && children.props) {
44
- arr.push(children);
45
- }
46
- else {
47
- children.forEach((item) => {
48
- if (item) {
49
- if (item instanceof Array) {
50
- arr = arr.concat(item);
51
- }
52
- else {
53
- arr.push(item);
54
- }
55
- }
56
- });
57
- }
58
- return arr;
59
- }
60
- });
61
- Object.defineProperty(this, "formulaWidth", {
62
- enumerable: true,
63
- configurable: true,
64
- writable: true,
65
- value: () => {
66
- // 获取dom设置宽度
67
- const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props;
68
- const selectDom = document.getElementById(this.id);
69
- const selectWidth = selectDom.clientWidth || selectDom.offsetWidth;
70
- let arr = [];
71
- let formulaMaxWidth = 10;
72
- if (!dropdownMatchSelectWidth) {
73
- formulaMaxWidth = maxWidth || 10;
74
- }
75
- if (!dropdownMatchSelectWidth && !maxWidth) {
76
- const children = this.turnChildren(arr2);
77
- for (let i = 0; i < children.length; i++) {
78
- const val = children[i].props.children;
79
- const textWidth = this.getTextPixelWith(val);
80
- arr.push(textWidth.toFixed(2));
81
- }
82
- if (arr.length > 0) {
83
- formulaMaxWidth = Math.max(...arr);
84
- }
85
- }
86
- this.setState({
87
- selectWidth,
88
- maxWidth: formulaMaxWidth,
89
- });
90
- }
91
- });
92
- // 获取单行文本的像素宽度
93
- Object.defineProperty(this, "getTextPixelWith", {
94
- enumerable: true,
95
- configurable: true,
96
- writable: true,
97
- value: (text, fontStyle = '14px') => {
98
- let canvas = document.createElement('canvas'); // 创建 canvas 画布
99
- let context = canvas.getContext('2d'); // 获取 canvas 绘图上下文环境
100
- context.font = fontStyle; // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度
101
- let dimension = context.measureText(text); // 测量文字
102
- return dimension.width;
103
- }
104
- });
105
- Object.defineProperty(this, "getItemStyle", {
106
- enumerable: true,
107
- configurable: true,
108
- writable: true,
109
- value: (i) => ({
110
- position: 'absolute',
111
- top: this.ITEM_HEIGHT * i,
112
- width: '100%',
113
- height: this.ITEM_HEIGHT,
114
- })
115
- });
116
- Object.defineProperty(this, "preventEvent", {
117
- enumerable: true,
118
- configurable: true,
119
- writable: true,
120
- value: (e) => {
121
- e.preventDefault();
122
- }
123
- });
124
- Object.defineProperty(this, "addEvent", {
125
- enumerable: true,
126
- configurable: true,
127
- writable: true,
128
- value: () => {
129
- this.scrollEle = document.querySelector(`.${this.dropdownClassName}`);
130
- // 下拉菜单未展开时元素不存在
131
- if (!this.scrollEle)
132
- return;
133
- this.scrollEle.addEventListener('mousedown', this.preventEvent, false);
134
- this.scrollEle.addEventListener('scroll', this.onScroll, false);
135
- this.inputEle = document.querySelector(`#${this.id}`);
136
- if (!this.inputEle)
137
- return;
138
- this.inputEle.addEventListener('keydown', this.onKeyDown, false);
139
- }
140
- });
141
- // 模拟 antd select 按下 上下箭头 键时滚动列表
142
- Object.defineProperty(this, "onKeyDown", {
143
- enumerable: true,
144
- configurable: true,
145
- writable: true,
146
- value: (e) => {
147
- const { keyCode } = e || {};
148
- setTimeout(() => {
149
- const activeItem = document.querySelector(`.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`);
150
- if (!activeItem)
151
- return;
152
- const { offsetTop } = activeItem;
153
- const isUp = ARROW_CODE[keyCode] === 'up';
154
- const isDown = ARROW_CODE[keyCode] === 'down';
155
- // 在所有列表第一行按上键
156
- if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {
157
- this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT);
158
- this.prevTop = this.allHeight;
159
- return;
160
- }
161
- // 在所有列表中最后一行按下键
162
- if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {
163
- this.scrollEle.scrollTo(0, 0);
164
- this.prevTop = 0;
165
- return;
166
- }
167
- this.prevTop = offsetTop;
168
- // 向下滚动到下拉框最后一行时,向下滚动一行的高度
169
- if (offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&
170
- isDown) {
171
- this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT);
172
- return;
173
- }
174
- // 向上滚动到下拉框第一一行时,向上滚动一行的高度
175
- if (offsetTop < this.scrollEle.scrollTop && isUp) {
176
- this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT);
177
- }
178
- }, 100);
179
- }
180
- });
181
- Object.defineProperty(this, "onScroll", {
182
- enumerable: true,
183
- configurable: true,
184
- writable: true,
185
- value: () => this.throttleByHeight(this.onScrollReal)
186
- });
187
- Object.defineProperty(this, "onScrollReal", {
188
- enumerable: true,
189
- configurable: true,
190
- writable: true,
191
- value: () => {
192
- this.allList = this.getUseChildrenList();
193
- const { startIndex, endIndex } = this.getStartAndEndIndex();
194
- this.prevScrollTop = this.scrollTop;
195
- // 重新渲染列表组件 Wrap
196
- const allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
197
- this.wrap.reactList(allHeight, startIndex, endIndex);
198
- }
199
- });
200
- Object.defineProperty(this, "throttleByHeight", {
201
- enumerable: true,
202
- configurable: true,
203
- writable: true,
204
- value: () => {
205
- this.scrollTop = this.scrollEle.scrollTop;
206
- // 滚动的高度
207
- let delta = this.prevScrollTop - this.scrollTop;
208
- delta = delta < 0 ? 0 - delta : delta;
209
- delta > this.reactDelta && this.onScrollReal();
210
- }
211
- });
212
- // 列表可展示所有 children
213
- Object.defineProperty(this, "getUseChildrenList", {
214
- enumerable: true,
215
- configurable: true,
216
- writable: true,
217
- value: () => this.state.filterChildren || this.state.children
218
- });
219
- Object.defineProperty(this, "getStartAndEndIndex", {
220
- enumerable: true,
221
- configurable: true,
222
- writable: true,
223
- value: () => {
224
- // 滚动后显示在列表可视区中的第一个 item 的 index
225
- const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0));
226
- const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2;
227
- const endIndex = showIndex + ITEM_ELEMENT_NUMBER;
228
- return { startIndex, endIndex };
229
- }
230
- });
231
- // 须使用 setTimeout 确保在 dom 加载完成之后添加事件
232
- Object.defineProperty(this, "setSuperDrowDownMenu", {
233
- enumerable: true,
234
- configurable: true,
235
- writable: true,
236
- value: (visible) => {
237
- if (!visible)
238
- return;
239
- this.allList = this.getUseChildrenList();
240
- if (!this.eventTimer || !this.scrollEle) {
241
- this.eventTimer = setTimeout(() => this.addEvent(), 0);
242
- }
243
- else {
244
- const allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
245
- // 下拉列表单独重新渲染
246
- const { startIndex, endIndex } = this.getStartAndEndIndex();
247
- setTimeout(() => {
248
- this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex);
249
- }, 0);
250
- }
251
- }
252
- });
253
- Object.defineProperty(this, "onDropdownVisibleChange", {
254
- enumerable: true,
255
- configurable: true,
256
- writable: true,
257
- value: (visible) => {
258
- const { onDropdownVisibleChange } = this.props;
259
- onDropdownVisibleChange && onDropdownVisibleChange(visible);
260
- const { value, children } = this.state;
261
- // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options
262
- if (!visible) {
263
- // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁
264
- setTimeout(() => {
265
- this.setState({ filterChildren: null });
266
- this.setDefaultScrollTop(value);
267
- }, 100);
268
- // this.removeEvent();
269
- }
270
- else {
271
- // this.addEvent();
272
- if (value) {
273
- // 如果已有 value, 设置默认滚动位置
274
- this.setDefaultScrollTop();
275
- // 设置下拉列表显示数据
276
- this.setSuperDrowDownMenu(visible);
277
- }
278
- else if (!value && value !== 0 && children && children.length > 0) {
279
- // 无数据时,下拉回归至第一个
280
- const val = children[0].props.value;
281
- this.setDefaultScrollTop(val);
282
- }
283
- }
284
- }
285
- });
286
- Object.defineProperty(this, "onDeselect", {
287
- enumerable: true,
288
- configurable: true,
289
- writable: true,
290
- value: (value) => {
291
- const { onDeselect } = this.props;
292
- onDeselect && onDeselect(value);
293
- }
294
- });
295
- // 在搜索重新计算下拉滚动条高度
296
- Object.defineProperty(this, "onChange", {
297
- enumerable: true,
298
- configurable: true,
299
- writable: true,
300
- value: (value, opt) => {
301
- const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props;
302
- if (showSearch || this.isMultiple) {
303
- // 搜索模式下选择后是否需要重置搜索状态
304
- if (autoClearSearchValue !== false) {
305
- this.setState({ filterChildren: null }, () => {
306
- // 搜索成功后重新设置列表的总高度
307
- this.setSuperDrowDownMenu(true);
308
- });
309
- }
310
- }
311
- if (mode === 'multiple') {
312
- if (value.length <= maxCount) {
313
- this.setState({ value });
314
- }
315
- }
316
- else {
317
- this.setState({ value });
318
- }
319
- onChange && onChange(value, opt);
320
- if (mode !== 'multiple') {
321
- this.select && this.select.blur();
322
- }
323
- }
324
- });
325
- Object.defineProperty(this, "onSearch", {
326
- enumerable: true,
327
- configurable: true,
328
- writable: true,
329
- value: (v) => {
330
- const { showSearch, onSearch, filterOption, children: arr } = this.props;
331
- let children = this.turnChildren(arr);
332
- if (showSearch && filterOption !== false) {
333
- // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表
334
- let filterChildren = null;
335
- if (typeof filterOption === 'function') {
336
- filterChildren = children.filter((item) => filterOption(v, item));
337
- }
338
- else if (filterOption === undefined) {
339
- filterChildren = children.filter((item) => this.filterOption(v, item));
340
- }
341
- // 搜索框有值,去除disabled=true的children
342
- let newFilterChild = [];
343
- filterChildren &&
344
- filterChildren.forEach((item, index) => {
345
- if (!item.props.disabled) {
346
- newFilterChild.push(item);
347
- }
348
- });
349
- filterChildren = newFilterChild;
350
- // 设置下拉列表显示数据
351
- this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {
352
- setTimeout(() => {
353
- // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据
354
- if (filterChildren && this.scrollEle) {
355
- this.scrollTop = 0;
356
- this.scrollEle.scrollTo(0, 0);
357
- }
358
- // 搜索成功后需要重新设置列表的总高度
359
- this.setSuperDrowDownMenu(true);
360
- }, 0);
361
- });
362
- }
363
- onSearch && onSearch(v);
364
- }
365
- });
366
- Object.defineProperty(this, "filterOption", {
367
- enumerable: true,
368
- configurable: true,
369
- writable: true,
370
- value: (v, option) => {
371
- // 自定义过滤对应的 option 属性配置
372
- const filterProps = this.props.optionFilterProp || 'value';
373
- return `${option.props[filterProps]}`.indexOf(v) >= 0;
374
- }
375
- });
376
- Object.defineProperty(this, "setDefaultScrollTop", {
377
- enumerable: true,
378
- configurable: true,
379
- writable: true,
380
- value: (data) => {
381
- const { value } = this.state;
382
- const { children: arr } = this.props;
383
- const children = this.turnChildren(arr);
384
- let val = data || data === 0 ? data : value;
385
- for (let i = 0; i < children.length; i++) {
386
- const item = children[i];
387
- const itemValue = item.props.value;
388
- if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {
389
- const targetScrollTop = i * this.ITEM_HEIGHT;
390
- setTimeout(() => {
391
- if (!this.scrollEle) {
392
- this.addEvent();
393
- }
394
- this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop);
395
- }, 100);
396
- return;
397
- }
398
- }
399
- }
400
- });
401
- Object.defineProperty(this, "removeEvent", {
402
- enumerable: true,
403
- configurable: true,
404
- writable: true,
405
- value: () => {
406
- if (!this.scrollEle)
407
- return;
408
- this.scrollEle.removeEventListener('mousedown', this.preventEvent, false);
409
- this.scrollEle.removeEventListener('scroll', this.onScroll, false);
410
- if (!this.inputEle)
411
- return;
412
- this.inputEle.removeEventListener('keydown', this.onKeyDown, false);
30
+ constructor(props) {
31
+ super(props);
32
+ Object.defineProperty(this, "turnChildren", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: children => {
37
+ if (!children) return [];
38
+ let arr = [];
39
+ if (children && children.props) {
40
+ arr.push(children);
41
+ } else {
42
+ children.forEach(item => {
43
+ if (item) {
44
+ if (item instanceof Array) {
45
+ arr = arr.concat(item);
46
+ } else {
47
+ arr.push(item);
48
+ }
413
49
  }
50
+ });
51
+ }
52
+ return arr;
53
+ }
54
+ });
55
+ Object.defineProperty(this, "formulaWidth", {
56
+ enumerable: true,
57
+ configurable: true,
58
+ writable: true,
59
+ value: () => {
60
+ // 获取dom设置宽度
61
+ const {
62
+ children: arr2,
63
+ dropdownMatchSelectWidth = true,
64
+ maxWidth
65
+ } = this.props;
66
+ const selectDom = document.getElementById(this.id);
67
+ const selectWidth = selectDom.clientWidth || selectDom.offsetWidth;
68
+ let arr = [];
69
+ let formulaMaxWidth = 10;
70
+ if (!dropdownMatchSelectWidth) {
71
+ formulaMaxWidth = maxWidth || 10;
72
+ }
73
+ if (!dropdownMatchSelectWidth && !maxWidth) {
74
+ const children = this.turnChildren(arr2);
75
+ for (let i = 0; i < children.length; i++) {
76
+ const val = children[i].props.children;
77
+ const textWidth = this.getTextPixelWith(val);
78
+ arr.push(textWidth.toFixed(2));
79
+ }
80
+ if (arr.length > 0) {
81
+ formulaMaxWidth = Math.max(...arr);
82
+ }
83
+ }
84
+ this.setState({
85
+ selectWidth,
86
+ maxWidth: formulaMaxWidth
414
87
  });
415
- const { mode, defaultValue, value, optionHeight, children: arr } = props;
416
- this.isMultiple = ['tags', 'multiple'].includes(mode);
417
- const children = this.turnChildren(arr);
418
- // 设置默认 value
419
- let defaultV = this.isMultiple ? [] : '';
420
- defaultV = value || defaultValue || defaultV;
421
- this.state = {
422
- children: children || [],
423
- filterChildren: null,
424
- value: defaultV,
425
- maxWidth: null,
426
- selectWidth: null,
427
- };
428
- // 下拉菜单项行高
429
- this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default'];
430
- // 可视区 dom 高度
431
- this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER;
432
- // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表
433
- this.reactDelta = this.visibleDomHeight / 3;
434
- // 是否拖动滚动条快速滚动状态
435
- this.isStopReact = false;
436
- // 上一次滚动的 scrollTop
437
- this.prevScrollTop = 0;
438
- // 上一次按下方向键时 scrollTop 值
439
- this.prevTop = 0;
440
- this.scrollTop = 0;
441
- // className
442
- this.dropdownClassName = `dc${+new Date()}`;
443
- this.id = `sid${+new Date()}`;
444
- }
445
- componentDidMount() {
446
- // defaultOpens=true 时添加滚动事件
88
+ }
89
+ });
90
+ // 获取单行文本的像素宽度
91
+ Object.defineProperty(this, "getTextPixelWith", {
92
+ enumerable: true,
93
+ configurable: true,
94
+ writable: true,
95
+ value: (text, fontStyle = '14px') => {
96
+ let canvas = document.createElement('canvas'); // 创建 canvas 画布
97
+ let context = canvas.getContext('2d'); // 获取 canvas 绘图上下文环境
98
+ context.font = fontStyle; // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度
99
+ let dimension = context.measureText(text); // 测量文字
100
+ return dimension.width;
101
+ }
102
+ });
103
+ Object.defineProperty(this, "getItemStyle", {
104
+ enumerable: true,
105
+ configurable: true,
106
+ writable: true,
107
+ value: i => ({
108
+ position: 'absolute',
109
+ top: this.ITEM_HEIGHT * i,
110
+ width: '100%',
111
+ height: this.ITEM_HEIGHT
112
+ })
113
+ });
114
+ Object.defineProperty(this, "preventEvent", {
115
+ enumerable: true,
116
+ configurable: true,
117
+ writable: true,
118
+ value: e => {
119
+ e.preventDefault();
120
+ }
121
+ });
122
+ Object.defineProperty(this, "addEvent", {
123
+ enumerable: true,
124
+ configurable: true,
125
+ writable: true,
126
+ value: () => {
127
+ this.scrollEle = document.querySelector(`.${this.dropdownClassName}`);
128
+ // 下拉菜单未展开时元素不存在
129
+ if (!this.scrollEle) return;
130
+ this.scrollEle.addEventListener('mousedown', this.preventEvent, false);
131
+ this.scrollEle.addEventListener('scroll', this.onScroll, false);
132
+ this.inputEle = document.querySelector(`#${this.id}`);
133
+ if (!this.inputEle) return;
134
+ this.inputEle.addEventListener('keydown', this.onKeyDown, false);
135
+ }
136
+ });
137
+ // 模拟 antd select 按下 上下箭头 键时滚动列表
138
+ Object.defineProperty(this, "onKeyDown", {
139
+ enumerable: true,
140
+ configurable: true,
141
+ writable: true,
142
+ value: e => {
143
+ const {
144
+ keyCode
145
+ } = e || {};
447
146
  setTimeout(() => {
448
- this.addEvent();
449
- }, 500);
450
- const { children: arr } = this.props;
451
- const children = this.turnChildren(arr);
452
- // if (children && children.length > 0) {
453
- this.formulaWidth();
454
- // }
455
- }
456
- componentDidUpdate(prevProps) {
457
- const { mode, defaultValue, value, children } = this.props;
458
- let arr = this.turnChildren(children);
459
- if (prevProps.children !== children) {
460
- this.isMultiple = ['tags', 'multiple'].includes(mode);
147
+ const activeItem = document.querySelector(`.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`);
148
+ if (!activeItem) return;
149
+ const {
150
+ offsetTop
151
+ } = activeItem;
152
+ const isUp = ARROW_CODE[keyCode] === 'up';
153
+ const isDown = ARROW_CODE[keyCode] === 'down';
154
+ // 在所有列表第一行按上键
155
+ if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {
156
+ this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT);
157
+ this.prevTop = this.allHeight;
158
+ return;
159
+ }
160
+ // 在所有列表中最后一行按下键
161
+ if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {
162
+ this.scrollEle.scrollTo(0, 0);
163
+ this.prevTop = 0;
164
+ return;
165
+ }
166
+ this.prevTop = offsetTop;
167
+ // 向下滚动到下拉框最后一行时,向下滚动一行的高度
168
+ if (offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 && isDown) {
169
+ this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT);
170
+ return;
171
+ }
172
+ // 向上滚动到下拉框第一一行时,向上滚动一行的高度
173
+ if (offsetTop < this.scrollEle.scrollTop && isUp) {
174
+ this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT);
175
+ }
176
+ }, 100);
177
+ }
178
+ });
179
+ Object.defineProperty(this, "onScroll", {
180
+ enumerable: true,
181
+ configurable: true,
182
+ writable: true,
183
+ value: () => this.throttleByHeight(this.onScrollReal)
184
+ });
185
+ Object.defineProperty(this, "onScrollReal", {
186
+ enumerable: true,
187
+ configurable: true,
188
+ writable: true,
189
+ value: () => {
190
+ this.allList = this.getUseChildrenList();
191
+ const {
192
+ startIndex,
193
+ endIndex
194
+ } = this.getStartAndEndIndex();
195
+ this.prevScrollTop = this.scrollTop;
196
+ // 重新渲染列表组件 Wrap
197
+ const allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
198
+ this.wrap.reactList(allHeight, startIndex, endIndex);
199
+ }
200
+ });
201
+ Object.defineProperty(this, "throttleByHeight", {
202
+ enumerable: true,
203
+ configurable: true,
204
+ writable: true,
205
+ value: () => {
206
+ this.scrollTop = this.scrollEle.scrollTop;
207
+ // 滚动的高度
208
+ let delta = this.prevScrollTop - this.scrollTop;
209
+ delta = delta < 0 ? 0 - delta : delta;
210
+ delta > this.reactDelta && this.onScrollReal();
211
+ }
212
+ });
213
+ // 列表可展示所有 children
214
+ Object.defineProperty(this, "getUseChildrenList", {
215
+ enumerable: true,
216
+ configurable: true,
217
+ writable: true,
218
+ value: () => this.state.filterChildren || this.state.children
219
+ });
220
+ Object.defineProperty(this, "getStartAndEndIndex", {
221
+ enumerable: true,
222
+ configurable: true,
223
+ writable: true,
224
+ value: () => {
225
+ // 滚动后显示在列表可视区中的第一个 item 的 index
226
+ const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0));
227
+ const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2;
228
+ const endIndex = showIndex + ITEM_ELEMENT_NUMBER;
229
+ return {
230
+ startIndex,
231
+ endIndex
232
+ };
233
+ }
234
+ });
235
+ // 须使用 setTimeout 确保在 dom 加载完成之后添加事件
236
+ Object.defineProperty(this, "setSuperDrowDownMenu", {
237
+ enumerable: true,
238
+ configurable: true,
239
+ writable: true,
240
+ value: visible => {
241
+ if (!visible) return;
242
+ this.allList = this.getUseChildrenList();
243
+ if (!this.eventTimer || !this.scrollEle) {
244
+ this.eventTimer = setTimeout(() => this.addEvent(), 0);
245
+ } else {
246
+ const allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
247
+ // 下拉列表单独重新渲染
248
+ const {
249
+ startIndex,
250
+ endIndex
251
+ } = this.getStartAndEndIndex();
252
+ setTimeout(() => {
253
+ this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex);
254
+ }, 0);
255
+ }
256
+ }
257
+ });
258
+ Object.defineProperty(this, "onDropdownVisibleChange", {
259
+ enumerable: true,
260
+ configurable: true,
261
+ writable: true,
262
+ value: visible => {
263
+ const {
264
+ onDropdownVisibleChange
265
+ } = this.props;
266
+ onDropdownVisibleChange && onDropdownVisibleChange(visible);
267
+ const {
268
+ value,
269
+ children
270
+ } = this.state;
271
+ // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options
272
+ if (!visible) {
273
+ // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁
274
+ setTimeout(() => {
275
+ this.setState({
276
+ filterChildren: null
277
+ });
278
+ this.setDefaultScrollTop(value);
279
+ }, 100);
280
+ // this.removeEvent();
281
+ } else {
282
+ // this.addEvent();
283
+ if (value) {
284
+ // 如果已有 value, 设置默认滚动位置
285
+ this.setDefaultScrollTop();
286
+ // 设置下拉列表显示数据
287
+ this.setSuperDrowDownMenu(visible);
288
+ } else if (!value && value !== 0 && children && children.length > 0) {
289
+ // 无数据时,下拉回归至第一个
290
+ const val = children[0].props.value;
291
+ this.setDefaultScrollTop(val);
292
+ }
293
+ }
294
+ }
295
+ });
296
+ Object.defineProperty(this, "onDeselect", {
297
+ enumerable: true,
298
+ configurable: true,
299
+ writable: true,
300
+ value: value => {
301
+ const {
302
+ onDeselect
303
+ } = this.props;
304
+ onDeselect && onDeselect(value);
305
+ }
306
+ });
307
+ // 在搜索重新计算下拉滚动条高度
308
+ Object.defineProperty(this, "onChange", {
309
+ enumerable: true,
310
+ configurable: true,
311
+ writable: true,
312
+ value: (value, opt) => {
313
+ const {
314
+ showSearch,
315
+ onChange,
316
+ autoClearSearchValue,
317
+ maxCount,
318
+ mode
319
+ } = this.props;
320
+ if (showSearch || this.isMultiple) {
321
+ // 搜索模式下选择后是否需要重置搜索状态
322
+ if (autoClearSearchValue !== false) {
461
323
  this.setState({
462
- children: arr || [],
463
- filterChildren: null
324
+ filterChildren: null
464
325
  }, () => {
465
- if (arr && arr.length > 0) {
466
- // 设置下拉列表显示数据
467
- if (!value) {
468
- this.scrollTop = 0;
469
- this.scrollEle && this.scrollEle.scrollTo(0, 0);
470
- this.setSuperDrowDownMenu(true);
471
- }
472
- this.formulaWidth();
473
- if (!this.inputEle) {
474
- this.removeEvent();
475
- this.addEvent();
476
- }
477
- }
326
+ // 搜索成功后重新设置列表的总高度
327
+ this.setSuperDrowDownMenu(true);
478
328
  });
329
+ }
479
330
  }
480
- if (prevProps.value !== value) {
481
- // 更新时设置默认 value
482
- let defaultV = this.isMultiple ? [] : '';
483
- defaultV = value || defaultValue || defaultV;
484
- this.setState({ value: defaultV });
331
+ if (mode === 'multiple') {
332
+ if (value.length <= maxCount) {
333
+ this.setState({
334
+ value
335
+ });
336
+ }
337
+ } else {
338
+ this.setState({
339
+ value
340
+ });
485
341
  }
486
- }
487
- componentWillUnmount() {
488
- this.removeEvent();
489
- }
490
- render() {
491
- const { maxWidth, selectWidth } = this.state;
492
- let _a = this.props, { dropdownStyle, optionLabelProp, dropdownClassName } = _a, props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName"]);
493
- this.allList = this.getUseChildrenList();
494
- this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
495
- const { startIndex, endIndex } = this.getStartAndEndIndex();
496
- let dynamicWidth = maxWidth;
497
- if (this.allList.length === 0 || maxWidth < selectWidth) {
498
- dynamicWidth = selectWidth;
342
+ onChange && onChange(value, opt);
343
+ if (mode !== 'multiple') {
344
+ this.select && this.select.blur();
499
345
  }
500
- dropdownStyle = Object.assign(Object.assign({ maxHeight: `${DROPDOWN_HEIGHT}px` }, dropdownStyle), { overflow: 'auto', position: 'relative', maxWidth: dynamicWidth });
501
- const { value } = this.state;
502
- // 判断处于 antd Form 中时不自动设置 value
503
- const _props = Object.assign({}, props);
504
- // 先删除 value,再手动赋值,防止空 value 影响 placeholder
505
- delete _props.value;
506
- // value 为空字符会隐藏 placeholder,改为 undefined
507
- if (typeof value === 'string' && !value) {
508
- _props.value = undefined;
346
+ }
347
+ });
348
+ Object.defineProperty(this, "onSearch", {
349
+ enumerable: true,
350
+ configurable: true,
351
+ writable: true,
352
+ value: v => {
353
+ const {
354
+ showSearch,
355
+ onSearch,
356
+ filterOption,
357
+ children: arr
358
+ } = this.props;
359
+ let children = this.turnChildren(arr);
360
+ if (showSearch && filterOption !== false) {
361
+ // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表
362
+ let filterChildren = null;
363
+ if (typeof filterOption === 'function') {
364
+ filterChildren = children.filter(item => filterOption(v, item));
365
+ } else if (filterOption === undefined) {
366
+ filterChildren = children.filter(item => this.filterOption(v, item));
367
+ }
368
+ // 搜索框有值,去除disabled=true的children
369
+ let newFilterChild = [];
370
+ filterChildren && filterChildren.forEach((item, index) => {
371
+ if (!item.props.disabled) {
372
+ newFilterChild.push(item);
373
+ }
374
+ });
375
+ filterChildren = newFilterChild;
376
+ // 设置下拉列表显示数据
377
+ this.setState({
378
+ filterChildren: v === '' ? null : filterChildren
379
+ }, () => {
380
+ setTimeout(() => {
381
+ // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据
382
+ if (filterChildren && this.scrollEle) {
383
+ this.scrollTop = 0;
384
+ this.scrollEle.scrollTo(0, 0);
385
+ }
386
+ // 搜索成功后需要重新设置列表的总高度
387
+ this.setSuperDrowDownMenu(true);
388
+ }, 0);
389
+ });
509
390
  }
510
- else {
511
- _props.value = value;
391
+ onSearch && onSearch(v);
392
+ }
393
+ });
394
+ Object.defineProperty(this, "filterOption", {
395
+ enumerable: true,
396
+ configurable: true,
397
+ writable: true,
398
+ value: (v, option) => {
399
+ // 自定义过滤对应的 option 属性配置
400
+ const filterProps = this.props.optionFilterProp || 'value';
401
+ return `${option.props[filterProps]}`.indexOf(v) >= 0;
402
+ }
403
+ });
404
+ Object.defineProperty(this, "setDefaultScrollTop", {
405
+ enumerable: true,
406
+ configurable: true,
407
+ writable: true,
408
+ value: data => {
409
+ const {
410
+ value
411
+ } = this.state;
412
+ const {
413
+ children: arr
414
+ } = this.props;
415
+ const children = this.turnChildren(arr);
416
+ let val = data || data === 0 ? data : value;
417
+ for (let i = 0; i < children.length; i++) {
418
+ const item = children[i];
419
+ const itemValue = item.props.value;
420
+ if (itemValue === val || Array.isArray(val) && val.includes(itemValue)) {
421
+ const targetScrollTop = i * this.ITEM_HEIGHT;
422
+ setTimeout(() => {
423
+ if (!this.scrollEle) {
424
+ this.addEvent();
425
+ }
426
+ this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop);
427
+ }, 100);
428
+ return;
429
+ }
512
430
  }
513
- optionLabelProp = optionLabelProp || 'children';
514
- return (React.createElement(Select, Object.assign({}, _props, { id: this.id, placeholder: capitalizeFirstLetter(props === null || props === void 0 ? void 0 : props.placeholder, props === null || props === void 0 ? void 0 : props.capitalize), 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) => {
515
- if (_props.loading) {
516
- return (React.createElement(Spin, { size: "small", style: { marginLeft: 8 } }));
517
- }
518
- if (this.allList.length === 0) {
519
- return (React.createElement("div", { style: { padding: '5px 12px' } },
520
- React.createElement(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE })));
521
- }
522
- return (React.createElement(DropDownWrap, Object.assign({}, {
523
- startIndex,
524
- endIndex,
525
- allHeight: this.allHeight,
526
- menu,
527
- itemHeight: this.ITEM_HEIGHT,
528
- }, { ref: (ele) => {
529
- this.wrap = ele;
530
- } })));
531
- } }), this.allList));
431
+ }
432
+ });
433
+ Object.defineProperty(this, "removeEvent", {
434
+ enumerable: true,
435
+ configurable: true,
436
+ writable: true,
437
+ value: () => {
438
+ if (!this.scrollEle) return;
439
+ this.scrollEle.removeEventListener('mousedown', this.preventEvent, false);
440
+ this.scrollEle.removeEventListener('scroll', this.onScroll, false);
441
+ if (!this.inputEle) return;
442
+ this.inputEle.removeEventListener('keydown', this.onKeyDown, false);
443
+ }
444
+ });
445
+ const {
446
+ mode,
447
+ defaultValue,
448
+ value,
449
+ optionHeight,
450
+ children: arr
451
+ } = props;
452
+ this.isMultiple = ['tags', 'multiple'].includes(mode);
453
+ const children = this.turnChildren(arr);
454
+ // 设置默认 value
455
+ let defaultV = this.isMultiple ? [] : '';
456
+ defaultV = value || defaultValue || defaultV;
457
+ this.state = {
458
+ children: children || [],
459
+ filterChildren: null,
460
+ value: defaultV,
461
+ maxWidth: null,
462
+ selectWidth: null
463
+ };
464
+ // 下拉菜单项行高
465
+ this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default'];
466
+ // 可视区 dom 高度
467
+ this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER;
468
+ // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表
469
+ this.reactDelta = this.visibleDomHeight / 3;
470
+ // 是否拖动滚动条快速滚动状态
471
+ this.isStopReact = false;
472
+ // 上一次滚动的 scrollTop 值
473
+ this.prevScrollTop = 0;
474
+ // 上一次按下方向键时 scrollTop 值
475
+ this.prevTop = 0;
476
+ this.scrollTop = 0;
477
+ // className
478
+ this.dropdownClassName = `dc${+new Date()}`;
479
+ this.id = `sid${+new Date()}`;
480
+ }
481
+ componentDidMount() {
482
+ // defaultOpens=true 时添加滚动事件
483
+ setTimeout(() => {
484
+ this.addEvent();
485
+ }, 500);
486
+ const {
487
+ children: arr
488
+ } = this.props;
489
+ const children = this.turnChildren(arr);
490
+ // if (children && children.length > 0) {
491
+ this.formulaWidth();
492
+ // }
493
+ }
494
+ componentDidUpdate(prevProps) {
495
+ const {
496
+ mode,
497
+ defaultValue,
498
+ value,
499
+ children
500
+ } = this.props;
501
+ let arr = this.turnChildren(children);
502
+ if (prevProps.children !== children) {
503
+ this.isMultiple = ['tags', 'multiple'].includes(mode);
504
+ this.setState({
505
+ children: arr || [],
506
+ filterChildren: null
507
+ }, () => {
508
+ if (arr && arr.length > 0) {
509
+ // 设置下拉列表显示数据
510
+ if (!value) {
511
+ this.scrollTop = 0;
512
+ this.scrollEle && this.scrollEle.scrollTo(0, 0);
513
+ this.setSuperDrowDownMenu(true);
514
+ }
515
+ this.formulaWidth();
516
+ if (!this.inputEle) {
517
+ this.removeEvent();
518
+ this.addEvent();
519
+ }
520
+ }
521
+ });
522
+ }
523
+ if (prevProps.value !== value) {
524
+ // 更新时设置默认 value
525
+ let defaultV = this.isMultiple ? [] : '';
526
+ defaultV = value || defaultValue || defaultV;
527
+ this.setState({
528
+ value: defaultV
529
+ });
530
+ }
531
+ }
532
+ componentWillUnmount() {
533
+ this.removeEvent();
534
+ }
535
+ render() {
536
+ const {
537
+ maxWidth,
538
+ selectWidth
539
+ } = this.state;
540
+ let _a = this.props,
541
+ {
542
+ dropdownStyle,
543
+ optionLabelProp,
544
+ dropdownClassName
545
+ } = _a,
546
+ props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName"]);
547
+ this.allList = this.getUseChildrenList();
548
+ this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
549
+ const {
550
+ startIndex,
551
+ endIndex
552
+ } = this.getStartAndEndIndex();
553
+ let dynamicWidth = maxWidth;
554
+ if (this.allList.length === 0 || maxWidth < selectWidth) {
555
+ dynamicWidth = selectWidth;
556
+ }
557
+ dropdownStyle = Object.assign(Object.assign({
558
+ maxHeight: `${DROPDOWN_HEIGHT}px`
559
+ }, dropdownStyle), {
560
+ overflow: 'auto',
561
+ position: 'relative',
562
+ maxWidth: dynamicWidth
563
+ });
564
+ const {
565
+ value
566
+ } = this.state;
567
+ // 判断处于 antd Form 中时不自动设置 value
568
+ const _props = Object.assign({}, props);
569
+ // 先删除 value,再手动赋值,防止空 value 影响 placeholder
570
+ delete _props.value;
571
+ // value 为空字符会隐藏 placeholder,改为 undefined
572
+ if (typeof value === 'string' && !value) {
573
+ _props.value = undefined;
574
+ } else {
575
+ _props.value = value;
532
576
  }
577
+ optionLabelProp = optionLabelProp || 'children';
578
+ return React.createElement(Select, Object.assign({}, _props, {
579
+ id: this.id,
580
+ placeholder: capitalizeFirstLetter(props === null || props === void 0 ? void 0 : props.placeholder, props === null || props === void 0 ? void 0 : props.capitalize),
581
+ onSearch: this.onSearch,
582
+ onChange: this.onChange,
583
+ dropdownClassName: `${this.dropdownClassName} ${dropdownClassName || ''}`,
584
+ optionLabelProp: optionLabelProp,
585
+ dropdownStyle: dropdownStyle,
586
+ onDropdownVisibleChange: this.onDropdownVisibleChange,
587
+ onDeselect: this.onDeselect,
588
+ ref: ele => this.select = ele,
589
+ dropdownRender: (menu, props) => {
590
+ if (_props.loading) {
591
+ return React.createElement(Spin, {
592
+ size: "small",
593
+ style: {
594
+ marginLeft: 8
595
+ }
596
+ });
597
+ }
598
+ if (this.allList.length === 0) {
599
+ return React.createElement("div", {
600
+ style: {
601
+ padding: '5px 12px'
602
+ }
603
+ }, React.createElement(Empty, {
604
+ image: Empty.PRESENTED_IMAGE_SIMPLE
605
+ }));
606
+ }
607
+ return React.createElement(DropDownWrap, Object.assign({}, {
608
+ startIndex,
609
+ endIndex,
610
+ allHeight: this.allHeight,
611
+ menu,
612
+ itemHeight: this.ITEM_HEIGHT
613
+ }, {
614
+ ref: ele => {
615
+ this.wrap = ele;
616
+ }
617
+ }));
618
+ }
619
+ }), this.allList);
620
+ }
533
621
  }
534
622
  SuperSelect.Option = Option;
535
- export default SuperSelect;
536
- //# sourceMappingURL=index.js.map
623
+ export default SuperSelect;