tntd 2.8.22 → 2.8.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/CHANGELOG.json +1034 -0
  2. package/CHANGELOG.md +605 -0
  3. package/es/alert/alert.js +71 -0
  4. package/es/alert/alert.js.map +1 -0
  5. package/es/alert/alert.less +128 -0
  6. package/es/cascader/cascader.js +30 -0
  7. package/es/cascader/cascader.js.map +1 -0
  8. package/es/cascader/cascader.less +16 -0
  9. package/es/checkbox/check.png +0 -0
  10. package/es/checkbox/checkbox.js +48 -0
  11. package/es/checkbox/checkbox.js.map +1 -0
  12. package/es/checkbox/checkbox.less +69 -0
  13. package/es/date-picker/DatePicker.js +101 -0
  14. package/es/date-picker/DatePicker.js.map +1 -0
  15. package/es/date-picker/index.less +294 -0
  16. package/es/input-number/inputNumber.js +34 -0
  17. package/es/input-number/inputNumber.js.map +1 -0
  18. package/es/input-number/inputNumber.less +12 -0
  19. package/es/modal/index.less +36 -0
  20. package/es/popconfirm/index.less +32 -0
  21. package/es/popconfirm/popconfirm.js +43 -0
  22. package/es/popconfirm/popconfirm.js.map +1 -0
  23. package/es/popover/index.less +57 -0
  24. package/es/popover/popover.js +34 -0
  25. package/es/popover/popover.js.map +1 -0
  26. package/es/progress/progress.js +132 -0
  27. package/es/progress/progress.js.map +1 -0
  28. package/es/progress/progress.less +82 -0
  29. package/es/query-form/Field/Composition/FieldPopover.js +304 -0
  30. package/es/query-form/Field/Composition/FieldPopover.js.map +1 -0
  31. package/es/query-form/Field/Composition/Select.js +122 -0
  32. package/es/query-form/Field/Composition/Select.js.map +1 -0
  33. package/es/query-form/Field/Composition/ValueTag.js +124 -0
  34. package/es/query-form/Field/Composition/ValueTag.js.map +1 -0
  35. package/es/query-form/Field/Composition/index.js +233 -0
  36. package/es/query-form/Field/Composition/index.js.map +1 -0
  37. package/es/query-form/Field/Composition/utils.js +154 -0
  38. package/es/query-form/Field/Composition/utils.js.map +1 -0
  39. package/es/query-form-backup/Field/Composition/FieldPopover.less +35 -0
  40. package/es/query-form-backup/Field/Composition/index.less +114 -0
  41. package/es/query-form-backup/index.less +90 -0
  42. package/es/radio/radio.js +57 -0
  43. package/es/radio/radio.js.map +1 -0
  44. package/es/radio/radio.less +43 -0
  45. package/es/scroll-bar/Bar.js +56 -0
  46. package/es/scroll-bar/Bar.js.map +1 -0
  47. package/es/scroll-bar/Context.js +6 -0
  48. package/es/scroll-bar/Context.js.map +1 -0
  49. package/es/scroll-bar/ScrollBar.js +86 -0
  50. package/es/scroll-bar/ScrollBar.js.map +1 -0
  51. package/es/scroll-bar/Thumb.js +105 -0
  52. package/es/scroll-bar/Thumb.js.map +1 -0
  53. package/es/scroll-bar/index.js +3 -0
  54. package/es/scroll-bar/index.js.map +1 -0
  55. package/es/scroll-bar/util.js +31 -0
  56. package/es/scroll-bar/util.js.map +1 -0
  57. package/es/spin/spin.js +36 -0
  58. package/es/spin/spin.js.map +1 -0
  59. package/es/spin/spin.less +9 -0
  60. package/es/steps/assets/background_left.svg +12 -0
  61. package/es/steps/assets/background_right.svg +12 -0
  62. package/es/steps/assets/horizontal_line.svg +3 -0
  63. package/es/steps/assets/vertical_line.svg +3 -0
  64. package/es/steps/stepStyle/icon.less +51 -0
  65. package/es/steps/stepStyle/progress-dot.less +10 -0
  66. package/es/steps/stepStyle/variables.less +8 -0
  67. package/es/steps/stepStyle/vertical.less +41 -0
  68. package/es/switch/index.less +45 -0
  69. package/es/table/resizableTable/index.less +1 -1
  70. package/es/tabs/tabs.less +125 -0
  71. package/es/time-picker/TimePicker.js +36 -0
  72. package/es/time-picker/TimePicker.js.map +1 -0
  73. package/es/time-picker/index.less +38 -0
  74. package/es/tntd-action/Action.js +117 -0
  75. package/es/tntd-action/Action.js.map +1 -0
  76. package/es/tntd-action/index.less +61 -0
  77. package/es/tntd-rc-select/style/index.less +27 -19
  78. package/es/tntd-select/index.less +7 -0
  79. package/es/tntd-virtual-tree/index.js +21 -14
  80. package/es/tntd-virtual-tree/index.js.map +1 -1
  81. package/es/tntd-virtual-tree/index.less +10 -7
  82. package/es/tntd-virtual-tree-select/index.js +2 -2
  83. package/es/tntd-virtual-tree-select/index.js.map +1 -1
  84. package/es/tntd-virtual-tree-select/index.less +0 -17
  85. package/es/tntd-virtual-tree-select/utils.js +2 -2
  86. package/es/tntd-virtual-tree-select/utils.js.map +1 -1
  87. package/es/upload/index.js +26 -30
  88. package/es/upload/index.js.map +1 -1
  89. package/es/upload/upload.less +5 -12
  90. package/lib/_util/context.js +1 -1
  91. package/lib/_util/defaultRenderEmpty.js +1 -1
  92. package/lib/_util/hooks/useFlexGapSupport.js +4 -4
  93. package/lib/_util/hooks/useForceUpdate.js +4 -4
  94. package/lib/_util/responsiveObserve.js +1 -1
  95. package/lib/_util/styleChecker.js +1 -1
  96. package/lib/actions/index.js +1 -1
  97. package/lib/alert/alert.d.ts +12 -0
  98. package/lib/alert/alert.d.ts.map +1 -0
  99. package/lib/alert/alert.js +93 -0
  100. package/lib/alert/alert.js.map +1 -0
  101. package/lib/alert/alert.less +128 -0
  102. package/lib/array-input/index.js +9 -9
  103. package/lib/cascader/cascader.d.ts +10 -0
  104. package/lib/cascader/cascader.d.ts.map +1 -0
  105. package/lib/cascader/cascader.js +49 -0
  106. package/lib/cascader/cascader.js.map +1 -0
  107. package/lib/cascader/cascader.less +16 -0
  108. package/lib/check-card/group.js +8 -8
  109. package/lib/check-card/index.js +6 -6
  110. package/lib/checkbox/check.png +0 -0
  111. package/lib/checkbox/checkbox-group.js +1 -1
  112. package/lib/checkbox/checkbox.d.ts +16 -0
  113. package/lib/checkbox/checkbox.d.ts.map +1 -0
  114. package/lib/checkbox/checkbox.js +65 -0
  115. package/lib/checkbox/checkbox.js.map +1 -0
  116. package/lib/checkbox/checkbox.less +69 -0
  117. package/lib/color-picker/ColorPicker.js +6 -6
  118. package/lib/color-picker/index.js +1 -1
  119. package/lib/columns/index.js +1 -1
  120. package/lib/config-provider/config-provider.js +1 -1
  121. package/lib/date-picker/DatePicker.d.ts +21 -0
  122. package/lib/date-picker/DatePicker.d.ts.map +1 -0
  123. package/lib/date-picker/DatePicker.js +128 -0
  124. package/lib/date-picker/DatePicker.js.map +1 -0
  125. package/lib/date-picker/index.less +294 -0
  126. package/lib/descriptions/descriptions.js +5 -5
  127. package/lib/development-login/LoginModal.js +6 -6
  128. package/lib/development-login/index.js +4 -4
  129. package/lib/drawer/drawer.js +2 -2
  130. package/lib/ellipsis/Svg/CopySVG.js +1 -1
  131. package/lib/ellipsis/Svg/TickSVG.js +1 -1
  132. package/lib/ellipsis/index.js +5 -5
  133. package/lib/empty/empty.js +2 -2
  134. package/lib/empty/empty.stories.js +2 -2
  135. package/lib/exception/exception.js +1 -1
  136. package/lib/form/form.js +2 -2
  137. package/lib/grid-v4/col.js +2 -2
  138. package/lib/grid-v4/hooks/useBreakpoint.js +1 -1
  139. package/lib/grid-v4/index.js +1 -1
  140. package/lib/grid-v4/row.js +6 -6
  141. package/lib/handle/index.js +1 -1
  142. package/lib/handle-icon/index.js +11 -11
  143. package/lib/icon/IconFont.js +1 -1
  144. package/lib/icon/components/Icon.js +9 -9
  145. package/lib/icon/components/index.js +1 -1
  146. package/lib/icon/components/utils.js +3 -3
  147. package/lib/icon/index.js +7 -7
  148. package/lib/icon/twoTonePrimaryColor.js +1 -1
  149. package/lib/icon/utils.js +1 -1
  150. package/lib/img/Contain.js +1 -1
  151. package/lib/img/Cover.js +5 -5
  152. package/lib/img/index.js +5 -5
  153. package/lib/index.js +1 -1
  154. package/lib/input/input.js +2 -2
  155. package/lib/input-number/index.js +1 -1
  156. package/lib/input-number/inputNumber.d.ts +10 -0
  157. package/lib/input-number/inputNumber.d.ts.map +1 -0
  158. package/lib/input-number/inputNumber.js +54 -0
  159. package/lib/input-number/inputNumber.js.map +1 -0
  160. package/lib/input-number/inputNumber.less +12 -0
  161. package/lib/label/index.js +2 -2
  162. package/lib/loading-button/index.js +5 -5
  163. package/lib/locale/default.js +1 -1
  164. package/lib/locale/en_US.js +1 -1
  165. package/lib/locale/zh_CN.js +1 -1
  166. package/lib/modal/index.less +36 -0
  167. package/lib/modal/modal.js +1 -1
  168. package/lib/notification/assets/index.js +1 -1
  169. package/lib/notification/index.js +1 -1
  170. package/lib/notification/notification.js +1 -1
  171. package/lib/page/Box.js +1 -1
  172. package/lib/page/index.js +7 -7
  173. package/lib/page-container/index.js +1 -1
  174. package/lib/page-loading/index.js +1 -1
  175. package/lib/popconfirm/index.less +32 -0
  176. package/lib/popconfirm/popconfirm.d.ts +8 -0
  177. package/lib/popconfirm/popconfirm.d.ts.map +1 -0
  178. package/lib/popconfirm/popconfirm.js +61 -0
  179. package/lib/popconfirm/popconfirm.js.map +1 -0
  180. package/lib/popover/index.less +57 -0
  181. package/lib/popover/popover.d.ts +14 -0
  182. package/lib/popover/popover.d.ts.map +1 -0
  183. package/lib/popover/popover.js +55 -0
  184. package/lib/popover/popover.js.map +1 -0
  185. package/lib/preview-text/index.js +7 -7
  186. package/lib/progress/progress.d.ts +12 -0
  187. package/lib/progress/progress.d.ts.map +1 -0
  188. package/lib/progress/progress.js +148 -0
  189. package/lib/progress/progress.js.map +1 -0
  190. package/lib/progress/progress.less +82 -0
  191. package/lib/query-form/Field/Checkbox.js +1 -1
  192. package/lib/query-form/Field/Composition/FieldPopover.d.ts +19 -0
  193. package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +1 -0
  194. package/lib/query-form/Field/Composition/FieldPopover.js +338 -0
  195. package/lib/query-form/Field/Composition/FieldPopover.js.map +1 -0
  196. package/lib/query-form/Field/Composition/Select.d.ts +4 -0
  197. package/lib/query-form/Field/Composition/Select.d.ts.map +1 -0
  198. package/lib/query-form/Field/Composition/Select.js +146 -0
  199. package/lib/query-form/Field/Composition/Select.js.map +1 -0
  200. package/lib/query-form/Field/Composition/ValueTag.d.ts +12 -0
  201. package/lib/query-form/Field/Composition/ValueTag.d.ts.map +1 -0
  202. package/lib/query-form/Field/Composition/ValueTag.js +153 -0
  203. package/lib/query-form/Field/Composition/ValueTag.js.map +1 -0
  204. package/lib/query-form/Field/Composition/index.d.ts +12 -0
  205. package/lib/query-form/Field/Composition/index.d.ts.map +1 -0
  206. package/lib/query-form/Field/Composition/index.js +277 -0
  207. package/lib/query-form/Field/Composition/index.js.map +1 -0
  208. package/lib/query-form/Field/Composition/utils.d.ts +22 -0
  209. package/lib/query-form/Field/Composition/utils.d.ts.map +1 -0
  210. package/lib/query-form/Field/Composition/utils.js +168 -0
  211. package/lib/query-form/Field/Composition/utils.js.map +1 -0
  212. package/lib/query-form/Field/Select.js +6 -6
  213. package/lib/query-form/Field/SelectInput.js +6 -6
  214. package/lib/query-form/Field/fieldsMap.js +1 -1
  215. package/lib/query-form/Field/index.js +10 -10
  216. package/lib/query-form/createActions.js +1 -1
  217. package/lib/query-form/index.js +10 -10
  218. package/lib/query-form/useForm.js +1 -1
  219. package/lib/query-form-backup/Field/Composition/FieldPopover.less +35 -0
  220. package/lib/query-form-backup/Field/Composition/index.less +114 -0
  221. package/lib/query-form-backup/index.less +90 -0
  222. package/lib/query-list-scene/List.js +13 -13
  223. package/lib/query-list-scene/QueryForm.js +10 -10
  224. package/lib/query-list-scene/QueryListScene.js +10 -10
  225. package/lib/query-list-scene/Title.js +1 -1
  226. package/lib/query-list-scene/Toolbar.js +2 -2
  227. package/lib/query-list-scene/createActions.js +1 -1
  228. package/lib/query-list-scene/index.js +1 -1
  229. package/lib/query-list-scene/useActions.js +1 -1
  230. package/lib/radio/index.js +1 -1
  231. package/lib/radio/radio-group.js +1 -1
  232. package/lib/radio/radio.d.ts +17 -0
  233. package/lib/radio/radio.d.ts.map +1 -0
  234. package/lib/radio/radio.js +75 -0
  235. package/lib/radio/radio.js.map +1 -0
  236. package/lib/radio/radio.less +43 -0
  237. package/lib/render-empty/render-empty.js +1 -1
  238. package/lib/scroll-bar/Bar.d.ts +4 -0
  239. package/lib/scroll-bar/Bar.d.ts.map +1 -0
  240. package/lib/scroll-bar/Bar.js +91 -0
  241. package/lib/scroll-bar/Bar.js.map +1 -0
  242. package/lib/scroll-bar/Context.d.ts +7 -0
  243. package/lib/scroll-bar/Context.d.ts.map +1 -0
  244. package/lib/scroll-bar/Context.js +13 -0
  245. package/lib/scroll-bar/Context.js.map +1 -0
  246. package/lib/scroll-bar/ScrollBar.d.ts +4 -0
  247. package/lib/scroll-bar/ScrollBar.d.ts.map +1 -0
  248. package/lib/scroll-bar/ScrollBar.js +97 -0
  249. package/lib/scroll-bar/ScrollBar.js.map +1 -0
  250. package/lib/scroll-bar/Thumb.d.ts +3 -0
  251. package/lib/scroll-bar/Thumb.d.ts.map +1 -0
  252. package/lib/scroll-bar/Thumb.js +125 -0
  253. package/lib/scroll-bar/Thumb.js.map +1 -0
  254. package/lib/scroll-bar/index.d.ts +3 -0
  255. package/lib/scroll-bar/index.d.ts.map +1 -0
  256. package/lib/scroll-bar/index.js +10 -0
  257. package/lib/scroll-bar/index.js.map +1 -0
  258. package/lib/scroll-bar/util.d.ts +40 -0
  259. package/lib/scroll-bar/util.d.ts.map +1 -0
  260. package/lib/scroll-bar/util.js +39 -0
  261. package/lib/scroll-bar/util.js.map +1 -0
  262. package/lib/segmented/index.js +2 -2
  263. package/lib/select/select.js +2 -2
  264. package/lib/spin/spin.d.ts +9 -0
  265. package/lib/spin/spin.d.ts.map +1 -0
  266. package/lib/spin/spin.js +44 -0
  267. package/lib/spin/spin.js.map +1 -0
  268. package/lib/spin/spin.less +9 -0
  269. package/lib/steps/assets/background_left.svg +12 -0
  270. package/lib/steps/assets/background_right.svg +12 -0
  271. package/lib/steps/assets/horizontal_line.svg +3 -0
  272. package/lib/steps/assets/vertical_line.svg +3 -0
  273. package/lib/steps/stepStyle/icon.less +51 -0
  274. package/lib/steps/stepStyle/progress-dot.less +10 -0
  275. package/lib/steps/stepStyle/variables.less +8 -0
  276. package/lib/steps/stepStyle/vertical.less +41 -0
  277. package/lib/steps/steps.js +2 -2
  278. package/lib/svg-components/index.js +1 -1
  279. package/lib/switch/index.less +45 -0
  280. package/lib/switch/switch.js +1 -1
  281. package/lib/table/hooks/use-column-setting.js +4 -4
  282. package/lib/table/hooks/use-expand-fixed.js +6 -6
  283. package/lib/table/resizableTable/index.js +6 -6
  284. package/lib/table/resizableTable/index.less +1 -1
  285. package/lib/table/table-hoc.js +1 -1
  286. package/lib/table/table.js +9 -9
  287. package/lib/table/table.stories.js +2 -2
  288. package/lib/table/total-shower.js +1 -1
  289. package/lib/table/utils.js +1 -1
  290. package/lib/table-container/index.js +1 -1
  291. package/lib/tabs/tabs.less +125 -0
  292. package/lib/tabs-container/index.js +1 -1
  293. package/lib/tag/tag.js +2 -2
  294. package/lib/time-picker/TimePicker.d.ts +9 -0
  295. package/lib/time-picker/TimePicker.d.ts.map +1 -0
  296. package/lib/time-picker/TimePicker.js +55 -0
  297. package/lib/time-picker/TimePicker.js.map +1 -0
  298. package/lib/time-picker/index.less +38 -0
  299. package/lib/title/index.js +1 -1
  300. package/lib/tntd-action/Action.d.ts +6 -0
  301. package/lib/tntd-action/Action.d.ts.map +1 -0
  302. package/lib/tntd-action/Action.js +141 -0
  303. package/lib/tntd-action/Action.js.map +1 -0
  304. package/lib/tntd-action/index.less +61 -0
  305. package/lib/tntd-cascader/AntdCascader/component/context.js +1 -1
  306. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +1 -1
  307. package/lib/tntd-cascader/AntdCascader/component/getIcons.js +1 -1
  308. package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js +2 -2
  309. package/lib/tntd-cascader/AntdCascader/config/utils.js +2 -2
  310. package/lib/tntd-cascader/AntdCascader/index.js +7 -7
  311. package/lib/tntd-cascader/index.js +1 -1
  312. package/lib/tntd-cascader/rc-cascader/Cascader.js +8 -8
  313. package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js +2 -2
  314. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +7 -7
  315. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +9 -9
  316. package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +5 -5
  317. package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +8 -8
  318. package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +5 -5
  319. package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +1 -1
  320. package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +6 -6
  321. package/lib/tntd-cascader/rc-cascader/index.js +1 -1
  322. package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +4 -4
  323. package/lib/tntd-form/ErrorList.js +7 -7
  324. package/lib/tntd-form/Form.js +6 -6
  325. package/lib/tntd-form/FormItem/ItemHolder.js +6 -6
  326. package/lib/tntd-form/FormItem/index.js +8 -8
  327. package/lib/tntd-form/FormItemInput.js +1 -1
  328. package/lib/tntd-form/FormItemLabel.js +2 -2
  329. package/lib/tntd-form/FormList.js +1 -1
  330. package/lib/tntd-form/context.js +1 -1
  331. package/lib/tntd-form/hooks/useDebounce.js +4 -4
  332. package/lib/tntd-form/hooks/useForm.js +5 -5
  333. package/lib/tntd-form/hooks/useFormItemStatus.js +1 -1
  334. package/lib/tntd-form/hooks/useFrameState.js +5 -5
  335. package/lib/tntd-form/index.js +1 -1
  336. package/lib/tntd-icon/index.js +1 -1
  337. package/lib/tntd-layout/AppList.js +6 -6
  338. package/lib/tntd-layout/Application.js +6 -6
  339. package/lib/tntd-layout/Avatar.js +2 -2
  340. package/lib/tntd-layout/CompatibleLanguage.js +6 -6
  341. package/lib/tntd-layout/EnterpriseLayout/Avatar.js +2 -2
  342. package/lib/tntd-layout/EnterpriseLayout/Language.js +6 -6
  343. package/lib/tntd-layout/EnterpriseLayout/Theme.js +6 -6
  344. package/lib/tntd-layout/EnterpriseLayout/index.js +1 -1
  345. package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js +6 -6
  346. package/lib/tntd-layout/GlobalNavigation/index.js +9 -9
  347. package/lib/tntd-layout/Header.js +2 -2
  348. package/lib/tntd-layout/HeaderActions.js +2 -2
  349. package/lib/tntd-layout/HeaderNavs.js +6 -6
  350. package/lib/tntd-layout/HeaderTabs.js +7 -7
  351. package/lib/tntd-layout/Iconfont.js +1 -1
  352. package/lib/tntd-layout/Language.js +6 -6
  353. package/lib/tntd-layout/Layout.js +6 -6
  354. package/lib/tntd-layout/Logo.js +2 -2
  355. package/lib/tntd-layout/OrgAppList.js +6 -6
  356. package/lib/tntd-layout/SideMenu.js +6 -6
  357. package/lib/tntd-layout/Theme.js +6 -6
  358. package/lib/tntd-layout/createActions.js +1 -1
  359. package/lib/tntd-layout/images/index.js +1 -1
  360. package/lib/tntd-layout/index.js +1 -1
  361. package/lib/tntd-layout/paaslayout/CompactSideMenu.js +6 -6
  362. package/lib/tntd-layout/paaslayout/Header.js +2 -2
  363. package/lib/tntd-layout/paaslayout/Logo.js +2 -2
  364. package/lib/tntd-layout/paaslayout/SideMenu.js +6 -6
  365. package/lib/tntd-layout/paaslayout/index.js +6 -6
  366. package/lib/tntd-layout/storage.js +1 -1
  367. package/lib/tntd-modal/index.js +6 -6
  368. package/lib/tntd-rc-select/_util/PurePanel.js +5 -5
  369. package/lib/tntd-rc-select/_util/context.js +1 -1
  370. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js +1 -1
  371. package/lib/tntd-rc-select/_util/getIcons.js +1 -1
  372. package/lib/tntd-rc-select/_util/useCompactItemContext.js +2 -2
  373. package/lib/tntd-rc-select/index.js +2 -2
  374. package/lib/tntd-rc-select/style/index.less +27 -19
  375. package/lib/tntd-reference/AHref/index.js +1 -1
  376. package/lib/tntd-reference/ReferenceBatchCheck/index.js +1 -1
  377. package/lib/tntd-reference/ReferenceBatchDrawer/index.js +5 -5
  378. package/lib/tntd-reference/ReferenceCheck/index.js +1 -1
  379. package/lib/tntd-reference/ReferenceDrawer/index.js +5 -5
  380. package/lib/tntd-reference/ReferenceInfo/index.js +1 -1
  381. package/lib/tntd-reference/index.js +1 -1
  382. package/lib/tntd-second-page/index.js +1 -1
  383. package/lib/tntd-select/DropDownWrap.js +8 -8
  384. package/lib/tntd-select/index.js +10 -9
  385. package/lib/tntd-select/index.less +7 -0
  386. package/lib/tntd-virtual-tree/index.d.ts +1 -1
  387. package/lib/tntd-virtual-tree/index.d.ts.map +1 -1
  388. package/lib/tntd-virtual-tree/index.js +31 -22
  389. package/lib/tntd-virtual-tree/index.js.map +1 -1
  390. package/lib/tntd-virtual-tree/index.less +10 -7
  391. package/lib/tntd-virtual-tree/utils.js +28 -28
  392. package/lib/tntd-virtual-tree-select/index.d.ts +1 -1
  393. package/lib/tntd-virtual-tree-select/index.js +12 -13
  394. package/lib/tntd-virtual-tree-select/index.js.map +1 -1
  395. package/lib/tntd-virtual-tree-select/index.less +0 -17
  396. package/lib/tntd-virtual-tree-select/utils.js +11 -11
  397. package/lib/tntd-virtual-tree-select/utils.js.map +1 -1
  398. package/lib/tooltip/tooltip.js +1 -1
  399. package/lib/upload/index.d.ts.map +1 -1
  400. package/lib/upload/index.js +32 -35
  401. package/lib/upload/index.js.map +1 -1
  402. package/lib/upload/svg/UploadSVG.js +1 -1
  403. package/lib/upload/upload.less +5 -12
  404. package/lib/utils/checkAuth.js +4 -4
  405. package/lib/utils/index.js +9 -9
  406. package/lib/utils/lang.js +1 -1
  407. package/lib/water-mark/index.js +5 -5
  408. package/package.json +2 -2
@@ -0,0 +1,36 @@
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;
8
+ };
9
+ import React from 'react';
10
+ import Icon from '../icon';
11
+ import { ConfigConsumer } from 'antd/es/config-provider';
12
+ import AntTimePicker from 'antd/es/time-picker';
13
+ import classNames from 'classnames';
14
+ export * from 'antd/es/time-picker';
15
+ const TimePicker = props => {
16
+ //theme样式类型 outline | fill 默认 outline
17
+ const {
18
+ theme = 'outline',
19
+ className,
20
+ suffixIcon
21
+ } = props,
22
+ restProps = __rest(props, ["theme", "className", "suffixIcon"]);
23
+ const defaultIcon = React.createElement(Icon, {
24
+ type: "clock-circle"
25
+ });
26
+ return React.createElement(ConfigConsumer, null, ({
27
+ getPrefixCls
28
+ }) => {
29
+ const prefixCls = getPrefixCls('time-picker');
30
+ return React.createElement(AntTimePicker, Object.assign({
31
+ suffixIcon: suffixIcon || defaultIcon,
32
+ className: classNames(className, `${prefixCls}-${theme}`)
33
+ }, restProps));
34
+ });
35
+ };
36
+ export default TimePicker;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../src/time-picker/TimePicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,IAAI,MAAM,SAAS,CAAA;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,aAAa,MAAM,qBAAqB,CAAA;AAC/C,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,MAAM,UAAU,GAA2E,CACzF,KAAK,EACL,EAAE;IACF,sCAAsC;IACtC,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,SAAS,EAAE,UAAU,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAlE,oCAA0D,CAAQ,CAAA;IACxE,MAAM,WAAW,GAAG,oBAAC,IAAI,IAAC,IAAI,EAAC,cAAc,GAAG,CAAA;IAEhD,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;QAC7C,OAAO,CACL,oBAAC,aAAa,kBACZ,UAAU,EAAE,UAAU,IAAI,WAAW,EACrC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC,IACrD,SAAS,EACb,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,UAAU,CAAA","sourcesContent":["import React, { useState } from 'react'\nimport Icon from '../icon'\nimport type { TimePickerProps as AntdTimePickerProps } from 'antd/es/time-picker'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport AntTimePicker from 'antd/es/time-picker'\nimport classNames from 'classnames'\nexport * from 'antd/es/time-picker'\nconst TimePicker: React.FC<AntdTimePickerProps & { theme?: string; readonly?: boolean }> = (\n props\n) => {\n //theme样式类型 outline | fill 默认 outline\n const { theme = 'outline', className, suffixIcon, ...restProps } = props\n const defaultIcon = <Icon type=\"clock-circle\" />\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('time-picker')\n return (\n <AntTimePicker\n suffixIcon={suffixIcon || defaultIcon}\n className={classNames(className, `${prefixCls}-${theme}`)}\n {...restProps}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nexport default TimePicker\n"]}
@@ -0,0 +1,38 @@
1
+ @import '../style/themes/index';
2
+
3
+ @timepicker-prefix-cls: ~'@{ant-prefix}-time-picker';
4
+ .@{timepicker-prefix-cls} {
5
+ input{
6
+ border-color: @border-color-secondary;
7
+ }
8
+ &:has(input:not([value=''])),&:hover {
9
+ .@{timepicker-prefix-cls}-icon{
10
+ i{
11
+ color: @text-color-secondary;
12
+ }
13
+ }
14
+ }
15
+ &:has(input[disabled]){
16
+ .@{timepicker-prefix-cls}-icon{
17
+ i{
18
+ color: @disabled-color;
19
+ }
20
+ }
21
+ }
22
+ &-fill{
23
+ input {
24
+ background-color: @fill-color-quaternary;
25
+ border-color: @fill-color-quaternary;
26
+ &[disabled] {
27
+ border: none;
28
+ }
29
+ &:focus{
30
+ background-color: @white;
31
+ }
32
+ &:not([value='']):hover {
33
+ background-color: @white;
34
+ }
35
+ }
36
+ }
37
+ }
38
+
@@ -0,0 +1,117 @@
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;
8
+ };
9
+ import React, { useState, useEffect, useRef } from 'react';
10
+ import ReactDOM from 'react-dom';
11
+ import { ConfigConsumer } from 'antd/es/config-provider';
12
+ import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
13
+ import classNames from 'classnames';
14
+ import { Button } from '../button';
15
+ const defaultGetContainer = () => document.getElementById('subapp-viewport') || document.body;
16
+ export default function WarpAction(_a) {
17
+ var {
18
+ getContainer = defaultGetContainer
19
+ } = _a,
20
+ other = __rest(_a, ["getContainer"]);
21
+ return React.createElement(ConfigConsumer, null, ({
22
+ getPrefixCls,
23
+ getPopupContainer: getContextPopupContainer
24
+ }) => {
25
+ const _getContainer = getContainer === undefined ? getContextPopupContainer : getContainer;
26
+ return React.createElement(LocaleReceiver, {
27
+ componentName: "TntdAction"
28
+ }, locale => {
29
+ return React.createElement(Action, Object.assign({
30
+ getPopupContainer: _getContainer
31
+ }, other, {
32
+ locale: locale
33
+ }));
34
+ });
35
+ });
36
+ }
37
+ function Action({
38
+ title,
39
+ hidden,
40
+ data,
41
+ afterClose,
42
+ locale,
43
+ className,
44
+ width = 700,
45
+ getPopupContainer
46
+ }) {
47
+ const [visible, setVisible] = useState(false);
48
+ const [offset, setOffset] = useState({
49
+ left: 400,
50
+ bottom: 100,
51
+ width
52
+ });
53
+ const ref = useRef();
54
+ const refDom = useRef();
55
+ useEffect(() => {
56
+ ref.current = getPopupContainer();
57
+ }, [getPopupContainer]);
58
+ useEffect(() => {
59
+ const visible = data.length > 0;
60
+ if (visible && ref.current) {
61
+ const offset = ref.current.getBoundingClientRect();
62
+ setOffset({
63
+ left: offset.left + (offset.width - width) / 2,
64
+ bottom: 100,
65
+ width
66
+ });
67
+ }
68
+ setVisible(visible);
69
+ }, [data, width]);
70
+ const onMouseDown = e => {
71
+ const startX = e.clientX - offset.left;
72
+ const startY = e.clientY + offset.bottom;
73
+ const onmousemove = e => {
74
+ if (e.buttons === 1) {
75
+ refDom.current.style.left = e.clientX - startX + 'px';
76
+ refDom.current.style.bottom = startY - e.clientY + 'px';
77
+ } else {
78
+ onmouseup(e);
79
+ }
80
+ };
81
+ const onmouseup = e => {
82
+ setOffset(offset => Object.assign(Object.assign({}, offset), {
83
+ left: e.clientX - startX,
84
+ bottom: startY - e.clientY
85
+ }));
86
+ document.removeEventListener('mousemove', onmousemove);
87
+ document.removeEventListener('mouseup', onmouseup);
88
+ };
89
+ document.addEventListener('mousemove', onmousemove);
90
+ document.addEventListener('mouseup', onmouseup);
91
+ };
92
+ if (ref.current && visible && !hidden) {
93
+ return ReactDOM.createPortal(React.createElement("div", {
94
+ className: classNames('tnt-action', className),
95
+ style: offset,
96
+ onMouseDown: onMouseDown,
97
+ ref: refDom
98
+ }, React.createElement("div", {
99
+ className: "fr",
100
+ onClick: e => {
101
+ e.stopPropagation();
102
+ }
103
+ }, data), React.createElement(Button, {
104
+ shape: "circle",
105
+ icon: "close",
106
+ type: "tertiary",
107
+ onClick: e => {
108
+ e.stopPropagation();
109
+ setVisible(false);
110
+ afterClose && afterClose();
111
+ }
112
+ }), React.createElement("span", {
113
+ className: "tnt-action-text"
114
+ }, title)), document.body);
115
+ }
116
+ return null;
117
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/tntd-action/Action.js"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useRef } from 'react'\nimport ReactDOM from 'react-dom'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport classNames from 'classnames'\nimport { Button } from '../button'\n\nconst defaultGetContainer = () => document.getElementById('subapp-viewport') || document.body\n\nexport default function WarpAction({ getContainer = defaultGetContainer, ...other }) {\n return (\n <ConfigConsumer>\n {({ getPrefixCls, getPopupContainer: getContextPopupContainer }) => {\n const _getContainer = getContainer === undefined ? getContextPopupContainer : getContainer\n\n return (\n <LocaleReceiver componentName=\"TntdAction\">\n {(locale) => {\n return <Action getPopupContainer={_getContainer} {...other} locale={locale} />\n }}\n </LocaleReceiver>\n )\n }}\n </ConfigConsumer>\n )\n}\n\nfunction Action({\n title,\n hidden,\n data,\n afterClose,\n locale,\n className,\n width = 700,\n getPopupContainer,\n}) {\n const [visible, setVisible] = useState(false)\n const [offset, setOffset] = useState({ left: 400, bottom: 100, width })\n const ref = useRef()\n const refDom = useRef()\n\n useEffect(() => {\n ref.current = getPopupContainer()\n }, [getPopupContainer])\n\n useEffect(() => {\n const visible = data.length > 0\n if (visible && ref.current) {\n const offset = ref.current.getBoundingClientRect()\n setOffset({ left: offset.left + (offset.width - width) / 2, bottom: 100, width })\n }\n setVisible(visible)\n }, [data, width])\n\n const onMouseDown = (e) => {\n const startX = e.clientX - offset.left\n const startY = e.clientY + offset.bottom\n const onmousemove = (e) => {\n if (e.buttons === 1) {\n refDom.current.style.left = e.clientX - startX + 'px'\n refDom.current.style.bottom = startY - e.clientY + 'px'\n } else {\n onmouseup(e);\n }\n }\n const onmouseup = (e) => {\n setOffset((offset) => ({ ...offset, left: e.clientX - startX, bottom: startY - e.clientY }))\n document.removeEventListener('mousemove', onmousemove)\n document.removeEventListener('mouseup', onmouseup)\n }\n document.addEventListener('mousemove', onmousemove)\n document.addEventListener('mouseup', onmouseup)\n }\n\n if (ref.current && visible && !hidden) {\n return ReactDOM.createPortal(\n <div\n className={classNames('tnt-action', className)}\n style={offset}\n onMouseDown={onMouseDown}\n ref={refDom}\n >\n <div\n className=\"fr\"\n onClick={(e) => {\n e.stopPropagation()\n }}\n >\n {data}\n </div>\n <Button\n shape=\"circle\"\n icon=\"close\"\n type=\"tertiary\"\n onClick={(e) => {\n e.stopPropagation()\n setVisible(false)\n afterClose && afterClose()\n }}\n />\n <span className=\"tnt-action-text\">{title}</span>\n </div>,\n document.body\n )\n }\n return null\n}\n"]}
@@ -0,0 +1,61 @@
1
+ .tnt-action {
2
+ position: fixed;
3
+ // bottom: 100px;
4
+ // width: @tnt-action-width;
5
+ // left: calc(50vw - @tnt-action-width / 2);
6
+ padding: 10px 16px;
7
+ background-color: @text-color;
8
+ border-radius: @border-radius-base;
9
+ z-index: 200;
10
+ cursor: grab;
11
+ box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.25), 0px 1px 1px 0px #263354 inset;
12
+ &-text {
13
+ color: @white;
14
+ margin-left: 20px;
15
+ font-size: 14px;
16
+ user-select: none;
17
+ .num {
18
+ display: inline-block;
19
+ width: 16px;
20
+ height: 16px;
21
+ background: #454f64;
22
+ border-radius: 8px;
23
+ font-size: 10px;
24
+ margin-right: 4px;
25
+ vertical-align: text-bottom;
26
+ text-align: center;
27
+ }
28
+ }
29
+ > .tnt-btn-tertiary {
30
+ opacity: 0.5;
31
+ background: #454f64;
32
+ color: @white;
33
+ border-width: 0;
34
+ width: @tnt-action-close-width;
35
+ height: @tnt-action-close-width;
36
+ min-width: @tnt-action-close-width;
37
+ line-height: @tnt-action-close-width;
38
+ margin-top: 4px;
39
+ font-size: 14px;
40
+ &:hover {
41
+ opacity: 0.8;
42
+ }
43
+ }
44
+ .fr {
45
+ float: right;
46
+ .ant-btn {
47
+ margin-left: 10px;
48
+ .tntd-anticon {
49
+ margin-right: 4px;
50
+ }
51
+ }
52
+ .ant-btn:not(.ant-btn-danger) {
53
+ background: rgba(69, 79, 100, 0.5);
54
+ color: @white;
55
+ border-width: 0;
56
+ &:hover {
57
+ background: rgba(69, 79, 100, 0.8);
58
+ }
59
+ }
60
+ }
61
+ }
@@ -935,7 +935,7 @@
935
935
  .tntd-rc-select-single .tntd-rc-select-selector .tntd-rc-select-selection-item,
936
936
  .tntd-rc-select-single .tntd-rc-select-selector .tntd-rc-select-selection-placeholder {
937
937
  padding: 0;
938
- line-height: 30px;
938
+ line-height: calc(@input-height-base - 2px);
939
939
  transition: all 0.3s, visibility 0s;
940
940
  }
941
941
  .tntd-rc-select-single .tntd-rc-select-selector .tntd-rc-select-selection-item {
@@ -969,16 +969,16 @@
969
969
  }
970
970
  .tntd-rc-select-single:not(.tntd-rc-select-customize-input) .tntd-rc-select-selector {
971
971
  width: 100%;
972
- height: 32px;
972
+ height: @input-height-base;
973
973
  padding: 0 11px;
974
974
  }
975
975
  .tntd-rc-select-single:not(.tntd-rc-select-customize-input)
976
976
  .tntd-rc-select-selector
977
977
  .tntd-rc-select-selection-search-input {
978
- height: 30px;
978
+ height: calc(@input-height-base - 2px);
979
979
  }
980
980
  .tntd-rc-select-single:not(.tntd-rc-select-customize-input) .tntd-rc-select-selector::after {
981
- line-height: 30px;
981
+ line-height: calc(@input-height-base - 2px);
982
982
  }
983
983
  .tntd-rc-select-single.tntd-rc-select-customize-input .tntd-rc-select-selector::after {
984
984
  display: none;
@@ -1118,12 +1118,12 @@
1118
1118
  flex: none;
1119
1119
  box-sizing: border-box;
1120
1120
  max-width: 100%;
1121
- height: 24px;
1121
+ height: 20px;
1122
1122
  margin-top: 2px;
1123
1123
  margin-bottom: 2px;
1124
- line-height: 22px;
1125
- background: #f5f5f5;
1126
- border: 1px solid #f0f0f0;
1124
+ line-height: 20px;
1125
+ background: #f1f2f5;
1126
+ border: 1px solid #e1e6ee;
1127
1127
  border-radius: 2px;
1128
1128
  cursor: default;
1129
1129
  transition: font-size 0.3s, line-height 0.3s, height 0.3s;
@@ -1136,8 +1136,8 @@
1136
1136
  padding-inline-end: 4px;
1137
1137
  }
1138
1138
  .tntd-rc-select-disabled.tntd-rc-select-multiple .tntd-rc-select-selection-item {
1139
- color: #bfbfbf;
1140
- border-color: #d9d9d9;
1139
+ color: rgba(0, 0, 0, 0.33);
1140
+ border-color: #e1e6ee;
1141
1141
  cursor: not-allowed;
1142
1142
  }
1143
1143
  .tntd-rc-select-multiple .tntd-rc-select-selection-item-content {
@@ -1338,7 +1338,7 @@
1338
1338
  .tntd-rc-select:not(.tntd-rc-select-customize-input) .tntd-rc-select-selector {
1339
1339
  position: relative;
1340
1340
  background-color: #fff;
1341
- border: 1px solid #d9d9d9;
1341
+ border: 1px solid @border-color;
1342
1342
  border-radius: 2px;
1343
1343
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
1344
1344
  }
@@ -1358,15 +1358,16 @@
1358
1358
  .tntd-rc-select-customize-input
1359
1359
  )
1360
1360
  .tntd-rc-select-selector {
1361
- border-color: #40a9ff;
1361
+ border-color: @blue-6;
1362
1362
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
1363
1363
  border-right-width: 1px;
1364
1364
  outline: 0;
1365
1365
  }
1366
1366
  .tntd-rc-select-disabled.tntd-rc-select:not(.tntd-rc-select-customize-input)
1367
1367
  .tntd-rc-select-selector {
1368
- color: rgba(0, 0, 0, 0.25);
1369
- background: #f5f5f5;
1368
+ color: rgba(23, 35, 61, 0.3);
1369
+ background: @fill-color-tertiary;
1370
+ border: 1px solid #c9d2dd;
1370
1371
  cursor: not-allowed;
1371
1372
  }
1372
1373
  .tntd-rc-select-multiple.tntd-rc-select-disabled.tntd-rc-select:not(.tntd-rc-select-customize-input)
@@ -1398,7 +1399,7 @@
1398
1399
  -webkit-appearance: none;
1399
1400
  }
1400
1401
  .tntd-rc-select:not(.tntd-rc-select-disabled):hover .tntd-rc-select-selector {
1401
- border-color: #40a9ff;
1402
+ border-color: @blue-6;
1402
1403
  border-right-width: 1px;
1403
1404
  }
1404
1405
  .tntd-rc-select-selection-item {
@@ -1417,7 +1418,7 @@
1417
1418
  .tntd-rc-select-selection-placeholder {
1418
1419
  flex: 1;
1419
1420
  overflow: hidden;
1420
- color: #bfbfbf;
1421
+ color: rgba(23, 35, 61, 0.3);
1421
1422
  white-space: nowrap;
1422
1423
  text-overflow: ellipsis;
1423
1424
  pointer-events: none;
@@ -1487,7 +1488,7 @@
1487
1488
  display: inline-block;
1488
1489
  width: 12px;
1489
1490
  height: 12px;
1490
- margin-top: -6px;
1491
+ margin-top: -8px;
1491
1492
  color: rgba(0, 0, 0, 0.25);
1492
1493
  font-size: 12px;
1493
1494
  font-style: normal;
@@ -1594,7 +1595,7 @@
1594
1595
  flex: none;
1595
1596
  }
1596
1597
  .tntd-rc-select-item-option-active:not(.tntd-rc-select-item-option-disabled) {
1597
- background-color: #f5f5f5;
1598
+ background-color: @blue-1;
1598
1599
  }
1599
1600
  .tntd-rc-select-item-option-selected:not(.tntd-rc-select-item-option-disabled) {
1600
1601
  color: rgba(0, 0, 0, 0.85);
@@ -1603,7 +1604,7 @@
1603
1604
  }
1604
1605
  .tntd-rc-select-item-option-selected:not(.tntd-rc-select-item-option-disabled)
1605
1606
  .tntd-rc-select-item-option-state {
1606
- color: #1890ff;
1607
+ color: @blue-6;
1607
1608
  }
1608
1609
  .tntd-rc-select-item-option-disabled {
1609
1610
  color: rgba(0, 0, 0, 0.25);
@@ -1763,3 +1764,10 @@
1763
1764
  .tntd-rc-select:not(.tntd-rc-select-customize-input) .tntd-rc-select-selector {
1764
1765
  border-radius: @border-radius-base;
1765
1766
  }
1767
+
1768
+ .tntd-rc-select{
1769
+ &:active{
1770
+ border-color: @blue-5;
1771
+ box-shadow: 0 0 0 2px fade(@blue-6, 20);
1772
+ }
1773
+ }
@@ -0,0 +1,7 @@
1
+ .tntd-select-empty-container {
2
+ padding: 5px 12px;
3
+
4
+ & > .ant-empty > .ant-empty-image > svg {
5
+ width: 100%;
6
+ }
7
+ }
@@ -4,7 +4,7 @@ import _uniq from "lodash/uniq";
4
4
  * @Author: 郑泳健
5
5
  * @Date: 2024-07-31 14:46:55
6
6
  * @LastEditors: 郑泳健
7
- * @LastEditTime: 2024-10-29 11:09:48
7
+ * @LastEditTime: 2024-11-08 11:37:22
8
8
  */
9
9
  import React, { useState, useMemo, useEffect, useRef } from 'react';
10
10
  import List from 'rc-virtual-list';
@@ -20,7 +20,7 @@ const VirtualTree = ({
20
20
  isOrg,
21
21
  showPrefixIcon,
22
22
  value,
23
- itemHeight,
23
+ itemHeight = 38,
24
24
  height,
25
25
  filterKey,
26
26
  treeData,
@@ -178,7 +178,7 @@ const VirtualTree = ({
178
178
  const mapResult = {
179
179
  1: {
180
180
  cn: '职能部门',
181
- en: 'Functional department',
181
+ en: 'Func. Dept.',
182
182
  icon: 'crowd'
183
183
  },
184
184
  2: {
@@ -187,7 +187,7 @@ const VirtualTree = ({
187
187
  };
188
188
  const result = mapResult[item === null || item === void 0 ? void 0 : item.orgAttribute] || {};
189
189
  return React.createElement("div", {
190
- className: 'org-item-wrapper'
190
+ className: "org-item-wrapper"
191
191
  }, showPrefixIcon ? React.createElement(Icon, {
192
192
  type: result === null || result === void 0 ? void 0 : result['icon'],
193
193
  style: {
@@ -198,10 +198,10 @@ const VirtualTree = ({
198
198
  title: item.title,
199
199
  widthLimit: '100%'
200
200
  }), String(item.orgAttribute) === '1' && React.createElement("span", {
201
- className: 'org-functional-departemt-marker'
201
+ className: "org-functional-departemt-marker"
202
202
  }, result[lang] || '职能部门'));
203
203
  };
204
- const defaultRenderItem = (item, isOrg) => {
204
+ const defaultRenderItem = (item, isOrg = true) => {
205
205
  if (isOrg) {
206
206
  return renderOrgItem(item, getLanguage());
207
207
  }
@@ -215,7 +215,7 @@ const VirtualTree = ({
215
215
  if (renderData.length >= 10) {
216
216
  return height;
217
217
  }
218
- return (itemHeight || 32) * renderData.length + 8;
218
+ return itemHeight * renderData.length + 8;
219
219
  }
220
220
  return 100;
221
221
  }, [renderData, itemHeight, height]);
@@ -226,8 +226,9 @@ const VirtualTree = ({
226
226
  }) : React.createElement(List, {
227
227
  ref: ref,
228
228
  height: adjustHeight || 300,
229
- itemHeight: itemHeight || 32,
230
- data: renderData
229
+ itemHeight: itemHeight + 8,
230
+ data: renderData,
231
+ itemKey: 'value'
231
232
  }, item => {
232
233
  const {
233
234
  indexLevel,
@@ -240,6 +241,7 @@ const VirtualTree = ({
240
241
  // 当前节点是否被选中
241
242
  const checkedBingo = Array.isArray(checkedList) ? checkedList.includes(item.value) : false;
242
243
  const isChecked = !checkStrictly || disabled ? checkedBingo && !indeterminateStatus : checkedBingo;
244
+ const hasChild = Array.isArray(children) && !!children.length;
243
245
  const checkBoxAttrs = {
244
246
  className: `${disabled ? 'tntd-virtual-tree-checkbox-disabled' : ''}`,
245
247
  onChange: () => handleCheck(item, isChecked),
@@ -252,21 +254,26 @@ const VirtualTree = ({
252
254
  }
253
255
  return React.createElement("div", {
254
256
  className: `tntd-virtual-tree-item ${disabled ? 'tntd-virtual-tree-item_disabled' : ''} ${choosedValue === item.value ? 'tntd-virtual-tree-item_active' : ''}`,
255
- style: {
256
- paddingLeft: indexLevel * indent
257
- },
258
257
  key: item.value
258
+ }, React.createElement("div", {
259
+ style: {
260
+ paddingLeft: indexLevel !== 0 ? indexLevel * indent - 4 : 0,
261
+ width: '100%'
262
+ }
259
263
  }, React.createElement("div", {
260
264
  className: "tntd-virtual-tree-item-expand-icon"
261
- }, Array.isArray(children) && !!children.length ? React.createElement(Icon, {
265
+ }, hasChild ? React.createElement(Icon, {
262
266
  type: bool ? 'caret-down' : 'caret-right',
263
267
  onClick: () => handleToggle(item)
264
268
  }) : ''), checkable ? React.createElement("div", {
265
269
  className: "tntd-virtual-tree-item-checkbox"
266
270
  }, React.createElement(Checkbox, Object.assign({}, checkBoxAttrs))) : '', React.createElement("div", {
267
271
  className: `tntd-virtual-tree-title`,
272
+ style: {
273
+ marginLeft: isOrg && !hasChild ? 0 : 0
274
+ },
268
275
  onClick: () => handleChoosed(item)
269
- }, titleRender ? titleRender(item) : defaultRenderItem(item, isOrg)));
276
+ }, titleRender ? titleRender(item) : defaultRenderItem(item, isOrg))));
270
277
  }));
271
278
  };
272
279
  export default VirtualTree;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 基于antd3 tree 部分api实现的tree,增加了虚拟滚动\n * @Author: 郑泳健\n * @Date: 2024-07-31 14:46:55\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-10-29 11:09:48\n */\nimport React, { useState, useMemo, useEffect, useRef } from 'react';\nimport List from 'rc-virtual-list';\nimport { uniq } from 'lodash';\nimport Icon from '../icon';\nimport Ellipsis from '../ellipsis';\nimport Empty from '../empty';\nimport Checkbox from '../checkbox';\nimport {\n flatTreeData,\n findNodeDetail,\n getFullExpandedKeys,\n getFullCheckedKeys,\n getNodeParentChoosed,\n addTreeNodeAttrs,\n getIndeterminate\n} from './utils';\nimport { getLanguage } from '../prev-locale'\nimport './index.less';\n\nconst VirtualTree = ({\n indent = 24,\n isOrg,\n showPrefixIcon,\n value,\n itemHeight,\n height,\n filterKey,\n treeData,\n checkable,\n checkStrictly,\n checkedKeys,\n defaultExpandAll = true,\n expandedKeys,\n fieldNames,\n titleRender,\n onCheck,\n onExpand,\n onSelect\n}) => {\n const ref = React.useRef(null);\n const expandChangedRef = useRef(0);\n const checkedChangeRef = useRef(0);\n // 展开的节点列表\n const [expandedList, setExpandedList] = useState([]);\n // checked 节点列表\n const [checkedList, setCheckedList] = useState([]);\n // 当前被选中的节点\n const [choosedValue, setChoosedValue] = useState(undefined);\n\n useEffect(() => {\n if(!checkable) {\n setChoosedValue(value)\n }\n }, [value, checkable])\n\n /** 给每个节点增加属性keys,值为其下面所有节点的集合 */\n const treeDataWithKeys = useMemo(() => {\n return addTreeNodeAttrs(treeData, fieldNames);\n }, [treeData, fieldNames]);\n\n /** 默认是否全部展开 */\n const mergeDefaultExpandAll = useMemo(() => {\n if (Array.isArray(expandedKeys)) {\n return false;\n }\n\n return defaultExpandAll;\n }, [defaultExpandAll, expandedKeys]);\n\n /** 获取到所有选中的节点,因为checkedKeys可能传入的是最后一级 */\n useEffect(() => {\n // 非第一次\n if (checkedChangeRef.current > 0) {\n setCheckedList(checkedKeys);\n return;\n }\n\n if (checkable) {\n // 如果是受控\n if (checkStrictly) {\n setCheckedList(uniq(Array.isArray(checkedKeys) ? checkedKeys : []));\n return;\n }\n const transCheckedKeys = Array.isArray(checkedKeys)\n ? checkedKeys.reduce((total, item) => {\n total.push(item);\n const { needCheckedChildrenValues } = findNodeDetail(treeDataWithKeys, item) || {};\n total = [...total, ...needCheckedChildrenValues];\n return total;\n }, [])\n : [];\n const _checkedKeys = getFullCheckedKeys(treeDataWithKeys, transCheckedKeys);\n setCheckedList(uniq(_checkedKeys));\n }\n }, [treeDataWithKeys, checkStrictly, checkable, checkedKeys]);\n\n useEffect(() => {\n setExpandedList(expandedKeys);\n }, [expandedKeys]);\n\n /** 初始化获取到所有展开的节点,因为初始化expandedKeys可能传入的是最后一级 */\n useEffect(() => {\n if (expandChangedRef.current === 0) {\n // 展开的节点\n const transExpandedKeys = Array.isArray(expandedKeys) ? expandedKeys : [];\n const _expandedKeys = getFullExpandedKeys(treeDataWithKeys, transExpandedKeys, mergeDefaultExpandAll);\n setExpandedList(_expandedKeys);\n }\n }, [treeDataWithKeys, expandedKeys, mergeDefaultExpandAll]);\n\n /** 最终渲染的数据 */\n const renderData = useMemo(() => {\n return flatTreeData(treeDataWithKeys, filterKey, expandedList);\n }, [treeDataWithKeys, filterKey, expandedList]);\n\n /** 切换展开/收起 */\n const handleToggle = (item) => {\n expandChangedRef.current++;\n const { value } = item || {};\n const bool = Array.isArray(expandedList) ? expandedList.includes(value) : false;\n if (bool) {\n const list = Array.isArray(expandedList) ? expandedList.filter((i) => i !== value) : [];\n if (onExpand) {\n onExpand(uniq(list), { node: item, expanded: !bool });\n return;\n }\n setExpandedList(uniq(list));\n } else {\n const arr = uniq([...expandedList, value]);\n if (onExpand) {\n onExpand(arr, { node: item, expanded: !bool });\n return;\n }\n setExpandedList(arr);\n }\n };\n\n const handleCheck = (item, isChecked) => {\n const { value: _value, children, disabled } = item;\n if (disabled) {\n return;\n }\n checkedChangeRef.current++;\n // 需要增删的子节点\n const itemChildrenValues = Array.isArray(children) && !!children.length ? item.needCheckedChildrenValues : [];\n if (isChecked) {\n // 需要删除的父节点\n const itemParentValues = Array.isArray(item.needCheckedSiblingsValue) ? item.needCheckedSiblingsValue.map((i) => i.key) : [];\n // 当前节点所有的父节点\n const delList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = checkedList.filter((i) => !delList.includes(i));\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n\n setCheckedList(uniq(_checkedList));\n } else {\n // 递归循环其上级是否也要被选中\n const itemParentValues = getNodeParentChoosed(item.needCheckedSiblingsValue, [...checkedList, ...itemChildrenValues, _value]);\n const addList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = [...checkedList, ...addList];\n\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n setCheckedList(uniq(_checkedList));\n }\n };\n\n const handleChoosed = (item) => {\n if (item.disabled) {\n return;\n }\n setChoosedValue(item.value);\n if(!checkable) {\n onSelect?.(item.value)\n }\n };\n\n const renderOrgItem = (item, lang) => {\n const mapResult = {\n 1: {\n cn: '职能部门',\n en: 'Functional department',\n icon: 'crowd'\n },\n 2: {\n icon: 'corporation'\n }\n }\n\n const result = mapResult[item?.orgAttribute] || {}\n\n return <div className='org-item-wrapper'>\n {showPrefixIcon ? <Icon type={result?.['icon']} style={{ marginTop: 3, marginRight: 4 }} /> : '' }\n <Ellipsis title={item.title} widthLimit={'100%'} />\n { String(item.orgAttribute) === '1' && <span className='org-functional-departemt-marker'>{result[lang] || '职能部门'}</span>}\n </div>\n }\n\n const defaultRenderItem = (item, isOrg) => {\n if(isOrg) {\n return renderOrgItem(item, getLanguage())\n }\n return <Ellipsis title={item.title} widthLimit={'100%'} />;\n };\n\n const adjustHeight = useMemo(() => {\n if(Array.isArray(renderData)) {\n if(renderData.length >= 10) {\n return height\n }\n return (itemHeight || 32) * renderData.length + 8\n }\n return 100;\n }, [renderData, itemHeight, height])\n\n return (\n <div className=\"tntd-virtual-tree\">\n {!Array.isArray(renderData) || !renderData.length ? (\n <Empty size=\"small\" />\n ) : (\n <List ref={ref} height={adjustHeight || 300} itemHeight={itemHeight || 32} data={renderData}>\n {(item) => {\n const { indexLevel, children, disabled } = item;\n const bool = Array.isArray(expandedList) ? expandedList.includes(item.value) : false;\n // 当前节点半选状态\n const indeterminateStatus = getIndeterminate(item, checkedList);\n // 当前节点是否被选中\n const checkedBingo = Array.isArray(checkedList) ? checkedList.includes(item.value) : false;\n const isChecked = !checkStrictly || disabled ? checkedBingo && !indeterminateStatus : checkedBingo;\n\n const checkBoxAttrs = {\n className: `${disabled ? 'tntd-virtual-tree-checkbox-disabled' : ''}`,\n onChange: () => handleCheck(item, isChecked),\n checked: isChecked,\n disabled\n };\n // 状态没有半选模式\n if (!checkStrictly) {\n checkBoxAttrs.indeterminate = indeterminateStatus;\n }\n return (\n <div\n className={`tntd-virtual-tree-item ${disabled ? 'tntd-virtual-tree-item_disabled' : ''} ${choosedValue === item.value ? 'tntd-virtual-tree-item_active' : ''}`}\n style={{ paddingLeft: indexLevel * indent }}\n key={item.value}>\n <div className=\"tntd-virtual-tree-item-expand-icon\">\n {Array.isArray(children) && !!children.length ? (\n <Icon type={bool ? 'caret-down' : 'caret-right'} onClick={() => handleToggle(item)} />\n ) : (\n ''\n )}\n </div>\n\n {checkable ? (\n <div className=\"tntd-virtual-tree-item-checkbox\">\n <Checkbox {...checkBoxAttrs} />\n </div>\n ) : (\n ''\n )}\n\n <div\n className={`tntd-virtual-tree-title`}\n onClick={() => handleChoosed(item)}>\n {titleRender ? titleRender(item) : defaultRenderItem(item, isOrg)}\n </div>\n </div>\n );\n }}\n </List>\n )}\n </div>\n );\n};\n\nexport default VirtualTree;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree/index.jsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,GAAG,CAAC,EACnB,MAAM,GAAG,EAAE,EACX,KAAK,EACL,cAAc,EACd,KAAK,EACL,UAAU,GAAG,EAAE,EACf,MAAM,EACN,SAAS,EACT,QAAQ,EACR,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,GAAG,IAAI,EACvB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,QAAQ,EACT,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,UAAU;IACV,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,eAAe;IACf,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,WAAW;IACX,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,EAAE;YACd,eAAe,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAEvB,iCAAiC;IACjC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3B,eAAe;IACf,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;IAErC,yCAAyC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO;QACP,IAAI,gBAAgB,CAAC,OAAO,GAAG,CAAC,EAAE;YAChC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,OAAO;SACR;QAED,IAAI,SAAS,EAAE;YACb,QAAQ;YACR,IAAI,aAAa,EAAE;gBACjB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,OAAO;aACR;YACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBACjD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,MAAM,EAAE,yBAAyB,EAAE,GAAG,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnF,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,yBAAyB,CAAC,CAAC;oBACjD,OAAO,KAAK,CAAC;gBACf,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,YAAY,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAC5E,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;SACpC;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,gDAAgD;IAChD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,CAAC,OAAO,KAAK,CAAC,EAAE;YAClC,QAAQ;YACR,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;YACtG,eAAe,CAAC,aAAa,CAAC,CAAC;SAChC;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE5D,cAAc;IACd,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,OAAO,YAAY,CAAC,gBAAgB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhD,cAAc;IACd,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,EAAE;QAC5B,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChF,IAAI,IAAI,EAAE;YACR,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,OAAO;aACR;YACD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7B;aAAM;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO;aACR;YACD,eAAe,CAAC,GAAG,CAAC,CAAC;SACtB;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACnD,IAAI,QAAQ,EAAE;YACZ,OAAO;SACR;QACD,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC3B,WAAW;QACX,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,IAAI,SAAS,EAAE;YACb,WAAW;YACX,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7H,aAAa;YACb,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAChG,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,OAAO,EAAE;gBACX,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;gBAChD,OAAO;aACR;YAED,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,iBAAiB;YACjB,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9H,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAChG,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC;YAElD,IAAI,OAAO,EAAE;gBACX,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;gBAChD,OAAO;aACR;YACD,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;SACpC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE;YACd,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG;YAChB,CAAC,EAAE;gBACD,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,OAAO;aACd;YACD,CAAC,EAAE;gBACD,IAAI,EAAE,aAAa;aACpB;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC,IAAI,EAAE,CAAC;QAEnD,OAAO,CACL,6BAAK,SAAS,EAAC,kBAAkB;YAC9B,cAAc,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAI,CAAC,CAAC,CAAC,EAAE;YAChG,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,GAAI;YAClD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,8BAAM,SAAS,EAAC,iCAAiC,IAAE,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAQ,CACnH,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE;QAC/C,IAAI,KAAK,EAAE;YACT,OAAO,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;SAC3C;QACD,OAAO,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,GAAI,CAAC;IAC7D,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE;gBAC3B,OAAO,MAAM,CAAC;aACf;YACD,OAAO,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3C;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAErC,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB,IAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAClD,oBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,GAAG,CACvB,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,IAAI,GAAG,EAAE,UAAU,EAAE,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,IACxG,CAAC,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrF,WAAW;QACX,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChE,YAAY;QACZ,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3F,MAAM,SAAS,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC;QACnG,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC7D,MAAM,aAAa,GAAG;YACpB,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,EAAE;YACrE,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;YAC5C,OAAO,EAAE,SAAS;YAClB,QAAQ;SACT,CAAC;QACF,WAAW;QACX,IAAI,CAAC,aAAa,EAAE;YAClB,aAAa,CAAC,aAAa,GAAG,mBAAmB,CAAC;SACnD;QACD,OAAO,CACL,6BACE,SAAS,EAAE,0BAA0B,QAAQ,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,IACpF,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAClE,EAAE,EACF,GAAG,EAAE,IAAI,CAAC,KAAK;YACf,6BAAK,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;gBACxF,6BAAK,SAAS,EAAC,oCAAoC,IAChD,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAI,CACvF,CAAC,CAAC,CAAC,CACF,EAAE,CACH,CACG;gBAEL,SAAS,CAAC,CAAC,CAAC,CACX,6BAAK,SAAS,EAAC,iCAAiC;oBAC9C,oBAAC,QAAQ,oBAAK,aAAa,EAAI,CAC3B,CACP,CAAC,CAAC,CAAC,CACF,EAAE,CACH;gBAED,6BAAK,SAAS,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAC5H,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAC7D,CACF,CACF,CACP,CAAC;IACJ,CAAC,CACI,CACR,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["/*\n * @Descripttion: 基于antd3 tree 部分api实现的tree,增加了虚拟滚动\n * @Author: 郑泳健\n * @Date: 2024-07-31 14:46:55\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-11-08 11:37:22\n */\nimport React, { useState, useMemo, useEffect, useRef } from 'react';\nimport List from 'rc-virtual-list';\nimport { uniq } from 'lodash';\nimport Icon from '../icon';\nimport Ellipsis from '../ellipsis';\nimport Empty from '../empty';\nimport Checkbox from '../checkbox';\nimport {\n flatTreeData,\n findNodeDetail,\n getFullExpandedKeys,\n getFullCheckedKeys,\n getNodeParentChoosed,\n addTreeNodeAttrs,\n getIndeterminate\n} from './utils';\nimport { getLanguage } from '../prev-locale';\nimport './index.less';\n\nconst VirtualTree = ({\n indent = 24,\n isOrg,\n showPrefixIcon,\n value,\n itemHeight = 38,\n height,\n filterKey,\n treeData,\n checkable,\n checkStrictly,\n checkedKeys,\n defaultExpandAll = true,\n expandedKeys,\n fieldNames,\n titleRender,\n onCheck,\n onExpand,\n onSelect\n}) => {\n const ref = React.useRef(null);\n const expandChangedRef = useRef(0);\n const checkedChangeRef = useRef(0);\n // 展开的节点列表\n const [expandedList, setExpandedList] = useState([]);\n // checked 节点列表\n const [checkedList, setCheckedList] = useState([]);\n // 当前被选中的节点\n const [choosedValue, setChoosedValue] = useState(undefined);\n\n useEffect(() => {\n if (!checkable) {\n setChoosedValue(value);\n }\n }, [value, checkable]);\n\n /** 给每个节点增加属性keys,值为其下面所有节点的集合 */\n const treeDataWithKeys = useMemo(() => {\n return addTreeNodeAttrs(treeData, fieldNames);\n }, [treeData, fieldNames]);\n\n /** 默认是否全部展开 */\n const mergeDefaultExpandAll = useMemo(() => {\n if (Array.isArray(expandedKeys)) {\n return false;\n }\n\n return defaultExpandAll;\n }, [defaultExpandAll, expandedKeys]);\n\n /** 获取到所有选中的节点,因为checkedKeys可能传入的是最后一级 */\n useEffect(() => {\n // 非第一次\n if (checkedChangeRef.current > 0) {\n setCheckedList(checkedKeys);\n return;\n }\n\n if (checkable) {\n // 如果是受控\n if (checkStrictly) {\n setCheckedList(uniq(Array.isArray(checkedKeys) ? checkedKeys : []));\n return;\n }\n const transCheckedKeys = Array.isArray(checkedKeys)\n ? checkedKeys.reduce((total, item) => {\n total.push(item);\n const { needCheckedChildrenValues } = findNodeDetail(treeDataWithKeys, item) || {};\n total = [...total, ...needCheckedChildrenValues];\n return total;\n }, [])\n : [];\n const _checkedKeys = getFullCheckedKeys(treeDataWithKeys, transCheckedKeys);\n setCheckedList(uniq(_checkedKeys));\n }\n }, [treeDataWithKeys, checkStrictly, checkable, checkedKeys]);\n\n useEffect(() => {\n setExpandedList(expandedKeys);\n }, [expandedKeys]);\n\n /** 初始化获取到所有展开的节点,因为初始化expandedKeys可能传入的是最后一级 */\n useEffect(() => {\n if (expandChangedRef.current === 0) {\n // 展开的节点\n const transExpandedKeys = Array.isArray(expandedKeys) ? expandedKeys : [];\n const _expandedKeys = getFullExpandedKeys(treeDataWithKeys, transExpandedKeys, mergeDefaultExpandAll);\n setExpandedList(_expandedKeys);\n }\n }, [treeDataWithKeys, expandedKeys, mergeDefaultExpandAll]);\n\n /** 最终渲染的数据 */\n const renderData = useMemo(() => {\n return flatTreeData(treeDataWithKeys, filterKey, expandedList);\n }, [treeDataWithKeys, filterKey, expandedList]);\n\n /** 切换展开/收起 */\n const handleToggle = (item) => {\n expandChangedRef.current++;\n const { value } = item || {};\n const bool = Array.isArray(expandedList) ? expandedList.includes(value) : false;\n if (bool) {\n const list = Array.isArray(expandedList) ? expandedList.filter((i) => i !== value) : [];\n if (onExpand) {\n onExpand(uniq(list), { node: item, expanded: !bool });\n return;\n }\n setExpandedList(uniq(list));\n } else {\n const arr = uniq([...expandedList, value]);\n if (onExpand) {\n onExpand(arr, { node: item, expanded: !bool });\n return;\n }\n setExpandedList(arr);\n }\n };\n\n const handleCheck = (item, isChecked) => {\n const { value: _value, children, disabled } = item;\n if (disabled) {\n return;\n }\n checkedChangeRef.current++;\n // 需要增删的子节点\n const itemChildrenValues = Array.isArray(children) && !!children.length ? item.needCheckedChildrenValues : [];\n if (isChecked) {\n // 需要删除的父节点\n const itemParentValues = Array.isArray(item.needCheckedSiblingsValue) ? item.needCheckedSiblingsValue.map((i) => i.key) : [];\n // 当前节点所有的父节点\n const delList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = checkedList.filter((i) => !delList.includes(i));\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n\n setCheckedList(uniq(_checkedList));\n } else {\n // 递归循环其上级是否也要被选中\n const itemParentValues = getNodeParentChoosed(item.needCheckedSiblingsValue, [...checkedList, ...itemChildrenValues, _value]);\n const addList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = [...checkedList, ...addList];\n\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n setCheckedList(uniq(_checkedList));\n }\n };\n\n const handleChoosed = (item) => {\n if (item.disabled) {\n return;\n }\n setChoosedValue(item.value);\n if (!checkable) {\n onSelect?.(item.value);\n }\n };\n\n const renderOrgItem = (item, lang) => {\n const mapResult = {\n 1: {\n cn: '职能部门',\n en: 'Func. Dept.',\n icon: 'crowd'\n },\n 2: {\n icon: 'corporation'\n }\n };\n\n const result = mapResult[item?.orgAttribute] || {};\n\n return (\n <div className=\"org-item-wrapper\">\n {showPrefixIcon ? <Icon type={result?.['icon']} style={{ marginTop: 3, marginRight: 4 }} /> : ''}\n <Ellipsis title={item.title} widthLimit={'100%'} />\n {String(item.orgAttribute) === '1' && <span className=\"org-functional-departemt-marker\">{result[lang] || '职能部门'}</span>}\n </div>\n );\n };\n\n const defaultRenderItem = (item, isOrg = true) => {\n if (isOrg) {\n return renderOrgItem(item, getLanguage());\n }\n return <Ellipsis title={item.title} widthLimit={'100%'} />;\n };\n\n const adjustHeight = useMemo(() => {\n if (Array.isArray(renderData)) {\n if (renderData.length >= 10) {\n return height;\n }\n return itemHeight * renderData.length + 8;\n }\n return 100;\n }, [renderData, itemHeight, height]);\n\n return (\n <div className=\"tntd-virtual-tree\">\n {!Array.isArray(renderData) || !renderData.length ? (\n <Empty size=\"small\" />\n ) : (\n <List ref={ref} height={adjustHeight || 300} itemHeight={itemHeight + 8} data={renderData} itemKey={'value'}>\n {(item) => {\n const { indexLevel, children, disabled } = item;\n const bool = Array.isArray(expandedList) ? expandedList.includes(item.value) : false;\n // 当前节点半选状态\n const indeterminateStatus = getIndeterminate(item, checkedList);\n // 当前节点是否被选中\n const checkedBingo = Array.isArray(checkedList) ? checkedList.includes(item.value) : false;\n const isChecked = !checkStrictly || disabled ? checkedBingo && !indeterminateStatus : checkedBingo;\n const hasChild = Array.isArray(children) && !!children.length\n const checkBoxAttrs = {\n className: `${disabled ? 'tntd-virtual-tree-checkbox-disabled' : ''}`,\n onChange: () => handleCheck(item, isChecked),\n checked: isChecked,\n disabled\n };\n // 状态没有半选模式\n if (!checkStrictly) {\n checkBoxAttrs.indeterminate = indeterminateStatus;\n }\n return (\n <div\n className={`tntd-virtual-tree-item ${disabled ? 'tntd-virtual-tree-item_disabled' : ''} ${\n choosedValue === item.value ? 'tntd-virtual-tree-item_active' : ''\n }`}\n key={item.value}>\n <div style={{ paddingLeft: indexLevel !== 0 ? indexLevel * indent - 4 : 0, width: '100%' }}>\n <div className=\"tntd-virtual-tree-item-expand-icon\">\n {hasChild ? (\n <Icon type={bool ? 'caret-down' : 'caret-right'} onClick={() => handleToggle(item)} />\n ) : (\n ''\n )}\n </div>\n\n {checkable ? (\n <div className=\"tntd-virtual-tree-item-checkbox\">\n <Checkbox {...checkBoxAttrs} />\n </div>\n ) : (\n ''\n )}\n\n <div className={`tntd-virtual-tree-title`} style={{ marginLeft: isOrg && !hasChild ? 0: 0 }} onClick={() => handleChoosed(item)}>\n {titleRender ? titleRender(item) : defaultRenderItem(item, isOrg)}\n </div>\n </div>\n </div>\n );\n }}\n </List>\n )}\n </div>\n );\n};\n\nexport default VirtualTree;\n"]}