amis-ui 1.0.0-beta.0

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 (1178) hide show
  1. package/dist/components/404.d.ts +54 -0
  2. package/dist/components/404.js +44 -0
  3. package/dist/components/Alert.d.ts +560 -0
  4. package/dist/components/Alert.js +201 -0
  5. package/dist/components/Alert2.d.ts +66 -0
  6. package/dist/components/Alert2.js +69 -0
  7. package/dist/components/AnchorNav.d.ts +118 -0
  8. package/dist/components/AnchorNav.js +181 -0
  9. package/dist/components/ArrayInput.d.ts +625 -0
  10. package/dist/components/ArrayInput.js +162 -0
  11. package/dist/components/AsideNav.d.ts +142 -0
  12. package/dist/components/AsideNav.js +139 -0
  13. package/dist/components/AssociatedSelection.d.ts +491 -0
  14. package/dist/components/AssociatedSelection.js +113 -0
  15. package/dist/components/Avatar.d.ts +113 -0
  16. package/dist/components/Avatar.js +150 -0
  17. package/dist/components/Badge.d.ts +120 -0
  18. package/dist/components/BaiduMapPicker.d.ts +86 -0
  19. package/dist/components/BarCode.d.ts +58 -0
  20. package/dist/components/Breadcrumb.d.ts +115 -0
  21. package/dist/components/Breadcrumb.js +173 -0
  22. package/dist/components/Button.d.ts +74 -0
  23. package/dist/components/Button.js +73 -0
  24. package/dist/components/CalendarMobile.d.ts +353 -0
  25. package/dist/components/CalendarMobile.js +541 -0
  26. package/dist/components/Card.d.ts +75 -0
  27. package/dist/components/Cascader.d.ts +109 -0
  28. package/dist/components/ChainedSelection.d.ts +480 -0
  29. package/dist/components/ChainedSelection.js +131 -0
  30. package/dist/components/Checkbox.d.ts +69 -0
  31. package/dist/components/Checkbox.js +73 -0
  32. package/dist/components/CityArea.d.ts +307 -0
  33. package/dist/components/CityDB.d.ts +13 -0
  34. package/dist/components/CodeMirror.d.ts +25 -0
  35. package/dist/components/CodeMirror.js +113 -0
  36. package/dist/components/Collapse.d.ts +92 -0
  37. package/dist/components/Collapse.js +166 -0
  38. package/dist/components/CollapseGroup.d.ts +68 -0
  39. package/dist/components/CollapseGroup.js +96 -0
  40. package/dist/components/ColorPicker.d.ts +524 -0
  41. package/dist/components/ContextMenu.d.ts +96 -0
  42. package/dist/components/ContextMenu.js +225 -0
  43. package/dist/components/DatePicker.d.ts +619 -0
  44. package/dist/components/DatePicker.js +534 -0
  45. package/dist/components/DateRangePicker.d.ts +876 -0
  46. package/dist/components/DateRangePicker.js +1050 -0
  47. package/dist/components/Drawer.d.ts +95 -0
  48. package/dist/components/Drawer.js +262 -0
  49. package/dist/components/Editor.d.ts +605 -0
  50. package/dist/components/Editor.js +245 -0
  51. package/dist/components/Form.d.ts +22 -0
  52. package/dist/components/FormField.d.ts +65 -0
  53. package/dist/components/GridNav.d.ts +52 -0
  54. package/dist/components/GroupedSelection.d.ts +467 -0
  55. package/dist/components/GroupedSelection.js +71 -0
  56. package/dist/components/Html.d.ts +83 -0
  57. package/dist/components/Html.js +61 -0
  58. package/dist/components/ImageGallery.d.ts +297 -0
  59. package/dist/components/Input.d.ts +16 -0
  60. package/dist/components/Input.js +70 -0
  61. package/dist/components/InputBox.d.ts +99 -0
  62. package/dist/components/InputBox.js +106 -0
  63. package/dist/components/InputBoxWithSuggestion.d.ts +280 -0
  64. package/dist/components/InputBoxWithSuggestion.js +75 -0
  65. package/dist/components/Layout.d.ts +144 -0
  66. package/dist/components/Layout.js +75 -0
  67. package/dist/components/Link.d.ts +62 -0
  68. package/dist/components/ListGroup.d.ts +76 -0
  69. package/dist/components/ListGroup.js +40 -0
  70. package/dist/components/ListMenu.d.ts +573 -0
  71. package/dist/components/LocationPicker.d.ts +427 -0
  72. package/dist/components/Markdown.d.ts +20 -0
  73. package/dist/components/Modal.d.ts +1278 -0
  74. package/dist/components/Modal.js +159 -0
  75. package/dist/components/ModalManager.d.ts +17 -0
  76. package/dist/components/ModalManager.js +53 -0
  77. package/dist/components/MonthRangePicker.d.ts +748 -0
  78. package/dist/components/NumberInput.d.ts +89 -0
  79. package/dist/components/NumberInput.js +147 -0
  80. package/dist/components/Overlay.d.ts +41 -0
  81. package/dist/components/Overlay.js +218 -0
  82. package/dist/components/Pagination.d.ts +685 -0
  83. package/dist/components/Picker.d.ts +284 -0
  84. package/dist/components/Picker.js +82 -0
  85. package/dist/components/PickerColumn.d.ts +63 -0
  86. package/dist/components/PickerColumn.js +285 -0
  87. package/dist/components/PickerContainer.d.ts +303 -0
  88. package/dist/components/PickerContainer.js +158 -0
  89. package/dist/components/PopOver.d.ts +90 -0
  90. package/dist/components/PopOver.js +98 -0
  91. package/dist/components/PopOverContainer.d.ts +28 -0
  92. package/dist/components/PopOverContainer.js +101 -0
  93. package/dist/components/PopUp.d.ts +578 -0
  94. package/dist/components/PopUp.js +96 -0
  95. package/dist/components/Progress.d.ts +68 -0
  96. package/dist/components/PullRefresh.d.ts +64 -0
  97. package/dist/components/PullRefresh.js +149 -0
  98. package/dist/components/Radios.d.ts +180 -0
  99. package/dist/components/Radios.js +121 -0
  100. package/dist/components/Range.d.ts +122 -0
  101. package/dist/components/Range.js +418 -0
  102. package/dist/components/Rating.d.ts +252 -0
  103. package/dist/components/Rating.js +324 -0
  104. package/dist/components/ResultBox.d.ts +290 -0
  105. package/dist/components/ResultBox.js +156 -0
  106. package/dist/components/ResultList.d.ts +319 -0
  107. package/dist/components/ResultList.js +192 -0
  108. package/dist/components/ResultTableList.d.ts +708 -0
  109. package/dist/components/ResultTableList.js +135 -0
  110. package/dist/components/ResultTreeList.d.ts +308 -0
  111. package/dist/components/ResultTreeList.js +217 -0
  112. package/dist/components/RichText.d.ts +45 -0
  113. package/dist/components/SearchBox.d.ts +504 -0
  114. package/dist/components/SearchBox.js +137 -0
  115. package/dist/components/Select.d.ts +6280 -0
  116. package/dist/components/Select.js +772 -0
  117. package/dist/components/Selection.d.ts +510 -0
  118. package/dist/components/Selection.js +151 -0
  119. package/dist/components/SparkLine.d.ts +403 -0
  120. package/dist/components/SparkLine.js +71 -0
  121. package/dist/components/Spinner.d.ts +174 -0
  122. package/dist/components/Spinner.js +77 -0
  123. package/dist/components/Steps.d.ts +110 -0
  124. package/dist/components/Switch.d.ts +101 -0
  125. package/dist/components/Switch.js +73 -0
  126. package/dist/components/TableSelection.d.ts +695 -0
  127. package/dist/components/TableSelection.js +88 -0
  128. package/dist/components/Tabs.d.ts +210 -0
  129. package/dist/components/Tabs.js +486 -0
  130. package/dist/components/TabsTransfer.d.ts +297 -0
  131. package/dist/components/TabsTransfer.js +220 -0
  132. package/dist/components/TabsTransferPicker.d.ts +273 -0
  133. package/dist/components/Tag.d.ts +104 -0
  134. package/dist/components/Textarea.d.ts +568 -0
  135. package/dist/components/Textarea.js +144 -0
  136. package/dist/components/Timeline.d.ts +47 -0
  137. package/dist/components/TimelineItem.d.ts +297 -0
  138. package/dist/components/Tinymce.d.ts +55 -0
  139. package/dist/components/TitleBar.d.ts +115 -0
  140. package/dist/components/TitleBar.js +57 -0
  141. package/dist/components/Toast.d.ts +358 -0
  142. package/dist/components/Toast.js +260 -0
  143. package/dist/components/Tooltip.d.ts +65 -0
  144. package/dist/components/Tooltip.js +45 -0
  145. package/dist/components/TooltipWrapper.d.ts +155 -0
  146. package/dist/components/TooltipWrapper.js +192 -0
  147. package/dist/components/Transfer.d.ts +1243 -0
  148. package/dist/components/Transfer.js +332 -0
  149. package/dist/components/TransferDropDown.d.ts +271 -0
  150. package/dist/components/TransferPicker.d.ts +277 -0
  151. package/dist/components/TransferSearch.d.ts +292 -0
  152. package/dist/components/TransferSearch.js +104 -0
  153. package/dist/components/Tree.d.ts +1708 -0
  154. package/dist/components/Tree.js +773 -0
  155. package/dist/components/TreeSelection.d.ts +526 -0
  156. package/dist/components/TreeSelection.js +209 -0
  157. package/dist/components/UserSelect.d.ts +500 -0
  158. package/dist/components/UserTabSelect.d.ts +320 -0
  159. package/dist/components/WithRemoteConfig.d.ts +386 -0
  160. package/dist/components/WithRemoteConfig.js +268 -0
  161. package/dist/components/WithStore.d.ts +75 -0
  162. package/dist/components/WithStore.js +57 -0
  163. package/dist/components/calendar/Calendar.d.ts +64 -0
  164. package/dist/components/calendar/Calendar.js +499 -0
  165. package/dist/components/calendar/CalendarContainer.d.ts +10 -0
  166. package/dist/components/calendar/CalendarContainer.js +35 -0
  167. package/dist/components/calendar/DaysView.d.ts +170 -0
  168. package/dist/components/calendar/DaysView.js +453 -0
  169. package/dist/components/calendar/MonthsView.d.ts +128 -0
  170. package/dist/components/calendar/MonthsView.js +168 -0
  171. package/dist/components/calendar/QuartersView.d.ts +92 -0
  172. package/dist/components/calendar/QuartersView.js +93 -0
  173. package/dist/components/calendar/TimeView.d.ts +178 -0
  174. package/dist/components/calendar/TimeView.js +474 -0
  175. package/dist/components/calendar/YearsView.d.ts +102 -0
  176. package/dist/components/calendar/YearsView.js +131 -0
  177. package/dist/components/condition-builder/Expression.d.ts +298 -0
  178. package/dist/components/condition-builder/Field.d.ts +280 -0
  179. package/dist/components/condition-builder/Formula.d.ts +269 -0
  180. package/dist/components/condition-builder/Func.d.ts +279 -0
  181. package/dist/components/condition-builder/Group.d.ts +296 -0
  182. package/dist/components/condition-builder/GroupOrItem.d.ts +72 -0
  183. package/dist/components/condition-builder/InputSwitch.d.ts +47 -0
  184. package/dist/components/condition-builder/Item.d.ts +292 -0
  185. package/dist/components/condition-builder/Value.d.ts +277 -0
  186. package/dist/components/condition-builder/config.d.ts +35 -0
  187. package/dist/components/condition-builder/index.d.ts +303 -0
  188. package/dist/components/condition-builder/types.d.ts +150 -0
  189. package/dist/components/formula/Editor.d.ts +362 -0
  190. package/dist/components/formula/Editor.js +217 -0
  191. package/dist/components/formula/FuncList.d.ts +48 -0
  192. package/dist/components/formula/FuncList.js +57 -0
  193. package/dist/components/formula/Picker.d.ts +440 -0
  194. package/dist/components/formula/Picker.js +231 -0
  195. package/dist/components/formula/VariableList.d.ts +54 -0
  196. package/dist/components/formula/VariableList.js +49 -0
  197. package/dist/components/formula/plugin.d.ts +27 -0
  198. package/dist/components/formula/plugin.js +211 -0
  199. package/dist/components/icons.d.ts +45 -0
  200. package/dist/components/icons.js +270 -0
  201. package/dist/components/index.d.ts +64 -0
  202. package/dist/components/json-schema/Array.d.ts +3 -0
  203. package/dist/components/json-schema/Array.js +136 -0
  204. package/dist/components/json-schema/Item.d.ts +3 -0
  205. package/dist/components/json-schema/Item.js +45 -0
  206. package/dist/components/json-schema/Object.d.ts +3 -0
  207. package/dist/components/json-schema/Object.js +189 -0
  208. package/dist/components/json-schema/index.d.ts +277 -0
  209. package/dist/components/json-schema/index.js +28 -0
  210. package/dist/components/schema-editor/Array.d.ts +11 -0
  211. package/dist/components/schema-editor/Common.d.ts +29 -0
  212. package/dist/components/schema-editor/Item.d.ts +8 -0
  213. package/dist/components/schema-editor/Object.d.ts +44 -0
  214. package/dist/components/schema-editor/SchemaVariableList.d.ts +193 -0
  215. package/dist/components/schema-editor/SchemaVariableList.js +83 -0
  216. package/dist/components/schema-editor/SchemaVariableListPicker.d.ts +186 -0
  217. package/dist/components/schema-editor/SchemaVariableListPicker.js +43 -0
  218. package/dist/components/schema-editor/index.d.ts +303 -0
  219. package/dist/components/table/Cell.d.ts +489 -0
  220. package/dist/components/table/Cell.js +47 -0
  221. package/dist/components/table/HeadCellDropDown.d.ts +293 -0
  222. package/dist/components/table/HeadCellDropDown.js +64 -0
  223. package/dist/components/table/HeadCellFilter.d.ts +419 -0
  224. package/dist/components/table/HeadCellFilter.js +146 -0
  225. package/dist/components/table/HeadCellSelect.d.ts +364 -0
  226. package/dist/components/table/HeadCellSelect.js +57 -0
  227. package/dist/components/table/HeadCellSort.d.ts +278 -0
  228. package/dist/components/table/HeadCellSort.js +83 -0
  229. package/dist/components/table/ItemActionsWrapper.d.ts +10 -0
  230. package/dist/components/table/ItemActionsWrapper.js +37 -0
  231. package/dist/components/table/index.d.ts +794 -0
  232. package/dist/components/table/index.js +1250 -0
  233. package/dist/components/virtual-list/SizeAndPositionManager.d.ts +70 -0
  234. package/dist/components/virtual-list/SizeAndPositionManager.js +220 -0
  235. package/dist/components/virtual-list/constants.d.ts +34 -0
  236. package/dist/components/virtual-list/constants.js +53 -0
  237. package/dist/components/virtual-list/index.d.ts +94 -0
  238. package/dist/components/virtual-list/index.js +309 -0
  239. package/dist/hooks/index.d.ts +7 -0
  240. package/dist/hooks/use-set-state.d.ts +2 -0
  241. package/dist/hooks/use-set-state.js +27 -0
  242. package/dist/hooks/use-touch.d.ts +16 -0
  243. package/dist/hooks/use-touch.js +81 -0
  244. package/dist/hooks/use-update-effect.d.ts +3 -0
  245. package/dist/hooks/use-update-effect.js +25 -0
  246. package/dist/hooks/use-validation-resolver.d.ts +2 -0
  247. package/dist/hooks/use-validation-resolver.js +59 -0
  248. package/dist/icons/alert-danger.svg.js +48 -0
  249. package/dist/icons/alert-info.svg.js +48 -0
  250. package/dist/icons/alert-success.svg.js +48 -0
  251. package/dist/icons/alert-warning.svg.js +48 -0
  252. package/dist/icons/back.svg.js +47 -0
  253. package/dist/icons/calendar.svg.js +56 -0
  254. package/dist/icons/caret.svg.js +46 -0
  255. package/dist/icons/check.svg.js +45 -0
  256. package/dist/icons/clock.svg.js +56 -0
  257. package/dist/icons/close-small.svg.js +49 -0
  258. package/dist/icons/close.svg.js +45 -0
  259. package/dist/icons/cloud-upload.svg.js +57 -0
  260. package/dist/icons/column-filter.svg.js +47 -0
  261. package/dist/icons/columns.svg.js +46 -0
  262. package/dist/icons/compress-alt.svg.js +46 -0
  263. package/dist/icons/copy.svg.js +51 -0
  264. package/dist/icons/date.svg.js +52 -0
  265. package/dist/icons/department.svg.js +78 -0
  266. package/dist/icons/desk-empty.svg.js +99 -0
  267. package/dist/icons/dot.svg.js +62 -0
  268. package/dist/icons/down-arrow-bold.svg.js +48 -0
  269. package/dist/icons/download.svg.js +50 -0
  270. package/dist/icons/drag-bar.svg.js +79 -0
  271. package/dist/icons/drag.svg.js +48 -0
  272. package/dist/icons/edit.svg.js +48 -0
  273. package/dist/icons/ellipsis-v.svg.js +47 -0
  274. package/dist/icons/enter.svg.js +45 -0
  275. package/dist/icons/exchange.svg.js +47 -0
  276. package/dist/icons/expand-alt.svg.js +46 -0
  277. package/dist/icons/fail.svg.js +54 -0
  278. package/dist/icons/file.svg.js +47 -0
  279. package/dist/icons/filter.svg.js +46 -0
  280. package/dist/icons/folder.svg.js +49 -0
  281. package/dist/icons/function.svg.js +48 -0
  282. package/dist/icons/home.svg.js +46 -0
  283. package/dist/icons/image.svg.js +45 -0
  284. package/dist/icons/info-circle.svg.js +46 -0
  285. package/dist/icons/info.svg.js +52 -0
  286. package/dist/icons/input-clear.svg.js +48 -0
  287. package/dist/icons/invisible.svg.js +48 -0
  288. package/dist/icons/left-arrow.svg.js +46 -0
  289. package/dist/icons/loading-outline.svg.js +49 -0
  290. package/dist/icons/location.svg.js +46 -0
  291. package/dist/icons/menu.svg.js +48 -0
  292. package/dist/icons/minus.svg.js +46 -0
  293. package/dist/icons/move.svg.js +47 -0
  294. package/dist/icons/mute.svg.js +46 -0
  295. package/dist/icons/pause.svg.js +46 -0
  296. package/dist/icons/pencil.svg.js +46 -0
  297. package/dist/icons/play.svg.js +45 -0
  298. package/dist/icons/plus-cicle.svg.js +47 -0
  299. package/dist/icons/plus-fine.svg.js +48 -0
  300. package/dist/icons/plus.svg.js +47 -0
  301. package/dist/icons/post.svg.js +74 -0
  302. package/dist/icons/question-mark.svg.js +51 -0
  303. package/dist/icons/question.svg.js +46 -0
  304. package/dist/icons/redo.svg.js +46 -0
  305. package/dist/icons/refresh.svg.js +47 -0
  306. package/dist/icons/reload.svg.js +46 -0
  307. package/dist/icons/remove.svg.js +48 -0
  308. package/dist/icons/retry.svg.js +51 -0
  309. package/dist/icons/right-arrow-bold.svg.js +46 -0
  310. package/dist/icons/right-arrow.svg.js +46 -0
  311. package/dist/icons/role.svg.js +69 -0
  312. package/dist/icons/schedule.svg.js +49 -0
  313. package/dist/icons/search.svg.js +45 -0
  314. package/dist/icons/setting.svg.js +47 -0
  315. package/dist/icons/slider-handle-icon.svg.js +48 -0
  316. package/dist/icons/sort-asc.svg.js +46 -0
  317. package/dist/icons/sort-default.svg.js +47 -0
  318. package/dist/icons/sort-desc.svg.js +46 -0
  319. package/dist/icons/star.svg.js +47 -0
  320. package/dist/icons/status-close.svg.js +49 -0
  321. package/dist/icons/status-fail.svg.js +48 -0
  322. package/dist/icons/status-info.svg.js +52 -0
  323. package/dist/icons/status-success.svg.js +48 -0
  324. package/dist/icons/status-warning.svg.js +52 -0
  325. package/dist/icons/success.svg.js +52 -0
  326. package/dist/icons/transparent.svg.js +65 -0
  327. package/dist/icons/trash.svg.js +48 -0
  328. package/dist/icons/tree-down.svg.js +47 -0
  329. package/dist/icons/undo.svg.js +46 -0
  330. package/dist/icons/upload.svg.js +48 -0
  331. package/dist/icons/user-remove.svg.js +59 -0
  332. package/dist/icons/view.svg.js +48 -0
  333. package/dist/icons/volume.svg.js +49 -0
  334. package/dist/icons/warning-mark.svg.js +49 -0
  335. package/dist/icons/warning.svg.js +46 -0
  336. package/dist/icons/window-restore.svg.js +46 -0
  337. package/dist/icons/zoom-in.svg.js +46 -0
  338. package/dist/icons/zoom-out.svg.js +46 -0
  339. package/dist/index.d.ts +10 -0
  340. package/dist/index.js +151 -0
  341. package/dist/locale/de-DE.d.ts +1 -0
  342. package/dist/locale/de-DE.js +344 -0
  343. package/dist/locale/en-US.d.ts +1 -0
  344. package/dist/locale/en-US.js +347 -0
  345. package/dist/locale/zh-CN.d.ts +1 -0
  346. package/dist/locale/zh-CN.js +358 -0
  347. package/dist/themes/ang.d.ts +3 -0
  348. package/dist/themes/ang.js +20 -0
  349. package/dist/themes/antd.d.ts +1 -0
  350. package/dist/themes/antd.js +44 -0
  351. package/dist/themes/cxd.d.ts +3 -0
  352. package/dist/themes/cxd.js +459 -0
  353. package/dist/themes/dark.d.ts +3 -0
  354. package/dist/themes/dark.js +28 -0
  355. package/dist/themes/default.d.ts +4 -0
  356. package/esm-dist/components/404.d.ts +54 -0
  357. package/esm-dist/components/404.js +35 -0
  358. package/esm-dist/components/Alert.d.ts +560 -0
  359. package/esm-dist/components/Alert.js +188 -0
  360. package/esm-dist/components/Alert2.d.ts +66 -0
  361. package/esm-dist/components/Alert2.js +60 -0
  362. package/esm-dist/components/AnchorNav.d.ts +118 -0
  363. package/esm-dist/components/AnchorNav.js +171 -0
  364. package/esm-dist/components/ArrayInput.d.ts +625 -0
  365. package/esm-dist/components/ArrayInput.js +152 -0
  366. package/esm-dist/components/AsideNav.d.ts +142 -0
  367. package/esm-dist/components/AsideNav.js +130 -0
  368. package/esm-dist/components/AssociatedSelection.d.ts +491 -0
  369. package/esm-dist/components/AssociatedSelection.js +104 -0
  370. package/esm-dist/components/Avatar.d.ts +113 -0
  371. package/esm-dist/components/Avatar.js +125 -0
  372. package/esm-dist/components/Badge.d.ts +120 -0
  373. package/esm-dist/components/BaiduMapPicker.d.ts +86 -0
  374. package/esm-dist/components/BarCode.d.ts +58 -0
  375. package/esm-dist/components/Breadcrumb.d.ts +115 -0
  376. package/esm-dist/components/Breadcrumb.js +163 -0
  377. package/esm-dist/components/Button.d.ts +74 -0
  378. package/esm-dist/components/Button.js +64 -0
  379. package/esm-dist/components/CalendarMobile.d.ts +353 -0
  380. package/esm-dist/components/CalendarMobile.js +531 -0
  381. package/esm-dist/components/Card.d.ts +75 -0
  382. package/esm-dist/components/Cascader.d.ts +109 -0
  383. package/esm-dist/components/ChainedSelection.d.ts +480 -0
  384. package/esm-dist/components/ChainedSelection.js +121 -0
  385. package/esm-dist/components/Checkbox.d.ts +69 -0
  386. package/esm-dist/components/Checkbox.js +64 -0
  387. package/esm-dist/components/CityArea.d.ts +307 -0
  388. package/esm-dist/components/CityDB.d.ts +13 -0
  389. package/esm-dist/components/CodeMirror.d.ts +25 -0
  390. package/esm-dist/components/CodeMirror.js +104 -0
  391. package/esm-dist/components/Collapse.d.ts +92 -0
  392. package/esm-dist/components/Collapse.js +156 -0
  393. package/esm-dist/components/CollapseGroup.d.ts +68 -0
  394. package/esm-dist/components/CollapseGroup.js +88 -0
  395. package/esm-dist/components/ColorPicker.d.ts +524 -0
  396. package/esm-dist/components/ContextMenu.d.ts +96 -0
  397. package/esm-dist/components/ContextMenu.js +213 -0
  398. package/esm-dist/components/DatePicker.d.ts +619 -0
  399. package/esm-dist/components/DatePicker.js +524 -0
  400. package/esm-dist/components/DateRangePicker.d.ts +876 -0
  401. package/esm-dist/components/DateRangePicker.js +1038 -0
  402. package/esm-dist/components/Drawer.d.ts +95 -0
  403. package/esm-dist/components/Drawer.js +250 -0
  404. package/esm-dist/components/Editor.d.ts +605 -0
  405. package/esm-dist/components/Editor.js +234 -0
  406. package/esm-dist/components/Form.d.ts +22 -0
  407. package/esm-dist/components/FormField.d.ts +65 -0
  408. package/esm-dist/components/GridNav.d.ts +52 -0
  409. package/esm-dist/components/GroupedSelection.d.ts +467 -0
  410. package/esm-dist/components/GroupedSelection.js +62 -0
  411. package/esm-dist/components/Html.d.ts +83 -0
  412. package/esm-dist/components/Html.js +52 -0
  413. package/esm-dist/components/ImageGallery.d.ts +297 -0
  414. package/esm-dist/components/Input.d.ts +16 -0
  415. package/esm-dist/components/Input.js +62 -0
  416. package/esm-dist/components/InputBox.d.ts +99 -0
  417. package/esm-dist/components/InputBox.js +97 -0
  418. package/esm-dist/components/InputBoxWithSuggestion.d.ts +280 -0
  419. package/esm-dist/components/InputBoxWithSuggestion.js +66 -0
  420. package/esm-dist/components/Layout.d.ts +144 -0
  421. package/esm-dist/components/Layout.js +66 -0
  422. package/esm-dist/components/Link.d.ts +62 -0
  423. package/esm-dist/components/ListGroup.d.ts +76 -0
  424. package/esm-dist/components/ListGroup.js +31 -0
  425. package/esm-dist/components/ListMenu.d.ts +573 -0
  426. package/esm-dist/components/LocationPicker.d.ts +427 -0
  427. package/esm-dist/components/Markdown.d.ts +20 -0
  428. package/esm-dist/components/Modal.d.ts +1278 -0
  429. package/esm-dist/components/Modal.js +148 -0
  430. package/esm-dist/components/ModalManager.d.ts +17 -0
  431. package/esm-dist/components/ModalManager.js +42 -0
  432. package/esm-dist/components/MonthRangePicker.d.ts +748 -0
  433. package/esm-dist/components/NumberInput.d.ts +89 -0
  434. package/esm-dist/components/NumberInput.js +136 -0
  435. package/esm-dist/components/Overlay.d.ts +41 -0
  436. package/esm-dist/components/Overlay.js +207 -0
  437. package/esm-dist/components/Pagination.d.ts +685 -0
  438. package/esm-dist/components/Picker.d.ts +284 -0
  439. package/esm-dist/components/Picker.js +74 -0
  440. package/esm-dist/components/PickerColumn.d.ts +63 -0
  441. package/esm-dist/components/PickerColumn.js +275 -0
  442. package/esm-dist/components/PickerContainer.d.ts +303 -0
  443. package/esm-dist/components/PickerContainer.js +149 -0
  444. package/esm-dist/components/PopOver.d.ts +90 -0
  445. package/esm-dist/components/PopOver.js +89 -0
  446. package/esm-dist/components/PopOverContainer.d.ts +28 -0
  447. package/esm-dist/components/PopOverContainer.js +92 -0
  448. package/esm-dist/components/PopUp.d.ts +578 -0
  449. package/esm-dist/components/PopUp.js +85 -0
  450. package/esm-dist/components/Progress.d.ts +68 -0
  451. package/esm-dist/components/PullRefresh.d.ts +64 -0
  452. package/esm-dist/components/PullRefresh.js +141 -0
  453. package/esm-dist/components/Radios.d.ts +180 -0
  454. package/esm-dist/components/Radios.js +112 -0
  455. package/esm-dist/components/Range.d.ts +122 -0
  456. package/esm-dist/components/Range.js +405 -0
  457. package/esm-dist/components/Rating.d.ts +252 -0
  458. package/esm-dist/components/Rating.js +315 -0
  459. package/esm-dist/components/ResultBox.d.ts +290 -0
  460. package/esm-dist/components/ResultBox.js +146 -0
  461. package/esm-dist/components/ResultList.d.ts +319 -0
  462. package/esm-dist/components/ResultList.js +182 -0
  463. package/esm-dist/components/ResultTableList.d.ts +708 -0
  464. package/esm-dist/components/ResultTableList.js +126 -0
  465. package/esm-dist/components/ResultTreeList.d.ts +308 -0
  466. package/esm-dist/components/ResultTreeList.js +208 -0
  467. package/esm-dist/components/RichText.d.ts +45 -0
  468. package/esm-dist/components/SearchBox.d.ts +504 -0
  469. package/esm-dist/components/SearchBox.js +127 -0
  470. package/esm-dist/components/Select.d.ts +6281 -0
  471. package/esm-dist/components/Select.js +756 -0
  472. package/esm-dist/components/Selection.d.ts +510 -0
  473. package/esm-dist/components/Selection.js +140 -0
  474. package/esm-dist/components/SparkLine.d.ts +403 -0
  475. package/esm-dist/components/SparkLine.js +62 -0
  476. package/esm-dist/components/Spinner.d.ts +174 -0
  477. package/esm-dist/components/Spinner.js +67 -0
  478. package/esm-dist/components/Steps.d.ts +110 -0
  479. package/esm-dist/components/Switch.d.ts +101 -0
  480. package/esm-dist/components/Switch.js +64 -0
  481. package/esm-dist/components/TableSelection.d.ts +695 -0
  482. package/esm-dist/components/TableSelection.js +79 -0
  483. package/esm-dist/components/Tabs.d.ts +210 -0
  484. package/esm-dist/components/Tabs.js +473 -0
  485. package/esm-dist/components/TabsTransfer.d.ts +297 -0
  486. package/esm-dist/components/TabsTransfer.js +210 -0
  487. package/esm-dist/components/TabsTransferPicker.d.ts +273 -0
  488. package/esm-dist/components/Tag.d.ts +104 -0
  489. package/esm-dist/components/Textarea.d.ts +568 -0
  490. package/esm-dist/components/Textarea.js +134 -0
  491. package/esm-dist/components/Timeline.d.ts +47 -0
  492. package/esm-dist/components/TimelineItem.d.ts +297 -0
  493. package/esm-dist/components/Tinymce.d.ts +55 -0
  494. package/esm-dist/components/TitleBar.d.ts +115 -0
  495. package/esm-dist/components/TitleBar.js +48 -0
  496. package/esm-dist/components/Toast.d.ts +358 -0
  497. package/esm-dist/components/Toast.js +247 -0
  498. package/esm-dist/components/Tooltip.d.ts +65 -0
  499. package/esm-dist/components/Tooltip.js +36 -0
  500. package/esm-dist/components/TooltipWrapper.d.ts +155 -0
  501. package/esm-dist/components/TooltipWrapper.js +183 -0
  502. package/esm-dist/components/Transfer.d.ts +1243 -0
  503. package/esm-dist/components/Transfer.js +323 -0
  504. package/esm-dist/components/TransferDropDown.d.ts +271 -0
  505. package/esm-dist/components/TransferPicker.d.ts +277 -0
  506. package/esm-dist/components/TransferSearch.d.ts +292 -0
  507. package/esm-dist/components/TransferSearch.js +95 -0
  508. package/esm-dist/components/Tree.d.ts +1708 -0
  509. package/esm-dist/components/Tree.js +764 -0
  510. package/esm-dist/components/TreeSelection.d.ts +526 -0
  511. package/esm-dist/components/TreeSelection.js +200 -0
  512. package/esm-dist/components/UserSelect.d.ts +500 -0
  513. package/esm-dist/components/UserTabSelect.d.ts +320 -0
  514. package/esm-dist/components/WithRemoteConfig.d.ts +386 -0
  515. package/esm-dist/components/WithRemoteConfig.js +257 -0
  516. package/esm-dist/components/WithStore.d.ts +75 -0
  517. package/esm-dist/components/WithStore.js +48 -0
  518. package/esm-dist/components/calendar/Calendar.d.ts +64 -0
  519. package/esm-dist/components/calendar/Calendar.js +489 -0
  520. package/esm-dist/components/calendar/CalendarContainer.d.ts +10 -0
  521. package/esm-dist/components/calendar/CalendarContainer.js +27 -0
  522. package/esm-dist/components/calendar/DaysView.d.ts +170 -0
  523. package/esm-dist/components/calendar/DaysView.js +440 -0
  524. package/esm-dist/components/calendar/MonthsView.d.ts +128 -0
  525. package/esm-dist/components/calendar/MonthsView.js +158 -0
  526. package/esm-dist/components/calendar/QuartersView.d.ts +92 -0
  527. package/esm-dist/components/calendar/QuartersView.js +83 -0
  528. package/esm-dist/components/calendar/TimeView.d.ts +178 -0
  529. package/esm-dist/components/calendar/TimeView.js +462 -0
  530. package/esm-dist/components/calendar/YearsView.d.ts +102 -0
  531. package/esm-dist/components/calendar/YearsView.js +121 -0
  532. package/esm-dist/components/condition-builder/Expression.d.ts +298 -0
  533. package/esm-dist/components/condition-builder/Field.d.ts +280 -0
  534. package/esm-dist/components/condition-builder/Formula.d.ts +269 -0
  535. package/esm-dist/components/condition-builder/Func.d.ts +279 -0
  536. package/esm-dist/components/condition-builder/Group.d.ts +296 -0
  537. package/esm-dist/components/condition-builder/GroupOrItem.d.ts +72 -0
  538. package/esm-dist/components/condition-builder/InputSwitch.d.ts +47 -0
  539. package/esm-dist/components/condition-builder/Item.d.ts +292 -0
  540. package/esm-dist/components/condition-builder/Value.d.ts +277 -0
  541. package/esm-dist/components/condition-builder/config.d.ts +35 -0
  542. package/esm-dist/components/condition-builder/index.d.ts +303 -0
  543. package/esm-dist/components/condition-builder/types.d.ts +150 -0
  544. package/esm-dist/components/formula/Editor.d.ts +362 -0
  545. package/esm-dist/components/formula/Editor.js +208 -0
  546. package/esm-dist/components/formula/FuncList.d.ts +48 -0
  547. package/esm-dist/components/formula/FuncList.js +48 -0
  548. package/esm-dist/components/formula/Picker.d.ts +440 -0
  549. package/esm-dist/components/formula/Picker.js +222 -0
  550. package/esm-dist/components/formula/VariableList.d.ts +54 -0
  551. package/esm-dist/components/formula/VariableList.js +41 -0
  552. package/esm-dist/components/formula/plugin.d.ts +27 -0
  553. package/esm-dist/components/formula/plugin.js +206 -0
  554. package/esm-dist/components/icons.d.ts +45 -0
  555. package/esm-dist/components/icons.js +249 -0
  556. package/esm-dist/components/index.d.ts +64 -0
  557. package/esm-dist/components/json-schema/Array.d.ts +3 -0
  558. package/esm-dist/components/json-schema/Array.js +128 -0
  559. package/esm-dist/components/json-schema/Item.d.ts +3 -0
  560. package/esm-dist/components/json-schema/Item.js +37 -0
  561. package/esm-dist/components/json-schema/Object.d.ts +3 -0
  562. package/esm-dist/components/json-schema/Object.js +181 -0
  563. package/esm-dist/components/json-schema/index.d.ts +277 -0
  564. package/esm-dist/components/json-schema/index.js +20 -0
  565. package/esm-dist/components/schema-editor/Array.d.ts +11 -0
  566. package/esm-dist/components/schema-editor/Common.d.ts +29 -0
  567. package/esm-dist/components/schema-editor/Item.d.ts +8 -0
  568. package/esm-dist/components/schema-editor/Object.d.ts +44 -0
  569. package/esm-dist/components/schema-editor/SchemaVariableList.d.ts +193 -0
  570. package/esm-dist/components/schema-editor/SchemaVariableList.js +74 -0
  571. package/esm-dist/components/schema-editor/SchemaVariableListPicker.d.ts +186 -0
  572. package/esm-dist/components/schema-editor/SchemaVariableListPicker.js +34 -0
  573. package/esm-dist/components/schema-editor/index.d.ts +303 -0
  574. package/esm-dist/components/table/Cell.d.ts +489 -0
  575. package/esm-dist/components/table/Cell.js +38 -0
  576. package/esm-dist/components/table/HeadCellDropDown.d.ts +293 -0
  577. package/esm-dist/components/table/HeadCellDropDown.js +55 -0
  578. package/esm-dist/components/table/HeadCellFilter.d.ts +419 -0
  579. package/esm-dist/components/table/HeadCellFilter.js +136 -0
  580. package/esm-dist/components/table/HeadCellSelect.d.ts +364 -0
  581. package/esm-dist/components/table/HeadCellSelect.js +48 -0
  582. package/esm-dist/components/table/HeadCellSort.d.ts +278 -0
  583. package/esm-dist/components/table/HeadCellSort.js +74 -0
  584. package/esm-dist/components/table/ItemActionsWrapper.d.ts +10 -0
  585. package/esm-dist/components/table/ItemActionsWrapper.js +29 -0
  586. package/esm-dist/components/table/index.d.ts +794 -0
  587. package/esm-dist/components/table/index.js +1234 -0
  588. package/esm-dist/components/virtual-list/SizeAndPositionManager.d.ts +70 -0
  589. package/esm-dist/components/virtual-list/SizeAndPositionManager.js +216 -0
  590. package/esm-dist/components/virtual-list/constants.d.ts +34 -0
  591. package/esm-dist/components/virtual-list/constants.js +45 -0
  592. package/esm-dist/components/virtual-list/index.d.ts +94 -0
  593. package/esm-dist/components/virtual-list/index.js +281 -0
  594. package/esm-dist/hooks/index.d.ts +7 -0
  595. package/esm-dist/hooks/use-set-state.d.ts +2 -0
  596. package/esm-dist/hooks/use-set-state.js +19 -0
  597. package/esm-dist/hooks/use-touch.d.ts +16 -0
  598. package/esm-dist/hooks/use-touch.js +77 -0
  599. package/esm-dist/hooks/use-update-effect.d.ts +3 -0
  600. package/esm-dist/hooks/use-update-effect.js +21 -0
  601. package/esm-dist/hooks/use-validation-resolver.d.ts +2 -0
  602. package/esm-dist/hooks/use-validation-resolver.js +49 -0
  603. package/esm-dist/icons/alert-danger.svg.js +24 -0
  604. package/esm-dist/icons/alert-info.svg.js +24 -0
  605. package/esm-dist/icons/alert-success.svg.js +24 -0
  606. package/esm-dist/icons/alert-warning.svg.js +24 -0
  607. package/esm-dist/icons/back.svg.js +23 -0
  608. package/esm-dist/icons/calendar.svg.js +32 -0
  609. package/esm-dist/icons/caret.svg.js +22 -0
  610. package/esm-dist/icons/check.svg.js +21 -0
  611. package/esm-dist/icons/clock.svg.js +32 -0
  612. package/esm-dist/icons/close-small.svg.js +25 -0
  613. package/esm-dist/icons/close.svg.js +21 -0
  614. package/esm-dist/icons/cloud-upload.svg.js +33 -0
  615. package/esm-dist/icons/column-filter.svg.js +23 -0
  616. package/esm-dist/icons/columns.svg.js +22 -0
  617. package/esm-dist/icons/compress-alt.svg.js +22 -0
  618. package/esm-dist/icons/copy.svg.js +27 -0
  619. package/esm-dist/icons/date.svg.js +28 -0
  620. package/esm-dist/icons/department.svg.js +54 -0
  621. package/esm-dist/icons/desk-empty.svg.js +75 -0
  622. package/esm-dist/icons/dot.svg.js +38 -0
  623. package/esm-dist/icons/down-arrow-bold.svg.js +24 -0
  624. package/esm-dist/icons/download.svg.js +26 -0
  625. package/esm-dist/icons/drag-bar.svg.js +55 -0
  626. package/esm-dist/icons/drag.svg.js +24 -0
  627. package/esm-dist/icons/edit.svg.js +24 -0
  628. package/esm-dist/icons/ellipsis-v.svg.js +23 -0
  629. package/esm-dist/icons/enter.svg.js +21 -0
  630. package/esm-dist/icons/exchange.svg.js +23 -0
  631. package/esm-dist/icons/expand-alt.svg.js +22 -0
  632. package/esm-dist/icons/fail.svg.js +30 -0
  633. package/esm-dist/icons/file.svg.js +23 -0
  634. package/esm-dist/icons/filter.svg.js +22 -0
  635. package/esm-dist/icons/folder.svg.js +25 -0
  636. package/esm-dist/icons/function.svg.js +24 -0
  637. package/esm-dist/icons/home.svg.js +22 -0
  638. package/esm-dist/icons/image.svg.js +21 -0
  639. package/esm-dist/icons/info-circle.svg.js +22 -0
  640. package/esm-dist/icons/info.svg.js +28 -0
  641. package/esm-dist/icons/input-clear.svg.js +24 -0
  642. package/esm-dist/icons/invisible.svg.js +24 -0
  643. package/esm-dist/icons/left-arrow.svg.js +22 -0
  644. package/esm-dist/icons/loading-outline.svg.js +25 -0
  645. package/esm-dist/icons/location.svg.js +22 -0
  646. package/esm-dist/icons/menu.svg.js +24 -0
  647. package/esm-dist/icons/minus.svg.js +22 -0
  648. package/esm-dist/icons/move.svg.js +23 -0
  649. package/esm-dist/icons/mute.svg.js +22 -0
  650. package/esm-dist/icons/pause.svg.js +22 -0
  651. package/esm-dist/icons/pencil.svg.js +22 -0
  652. package/esm-dist/icons/play.svg.js +21 -0
  653. package/esm-dist/icons/plus-cicle.svg.js +23 -0
  654. package/esm-dist/icons/plus-fine.svg.js +24 -0
  655. package/esm-dist/icons/plus.svg.js +23 -0
  656. package/esm-dist/icons/post.svg.js +50 -0
  657. package/esm-dist/icons/question-mark.svg.js +27 -0
  658. package/esm-dist/icons/question.svg.js +22 -0
  659. package/esm-dist/icons/redo.svg.js +22 -0
  660. package/esm-dist/icons/refresh.svg.js +23 -0
  661. package/esm-dist/icons/reload.svg.js +22 -0
  662. package/esm-dist/icons/remove.svg.js +24 -0
  663. package/esm-dist/icons/retry.svg.js +27 -0
  664. package/esm-dist/icons/right-arrow-bold.svg.js +22 -0
  665. package/esm-dist/icons/right-arrow.svg.js +22 -0
  666. package/esm-dist/icons/role.svg.js +45 -0
  667. package/esm-dist/icons/schedule.svg.js +25 -0
  668. package/esm-dist/icons/search.svg.js +21 -0
  669. package/esm-dist/icons/setting.svg.js +23 -0
  670. package/esm-dist/icons/slider-handle-icon.svg.js +24 -0
  671. package/esm-dist/icons/sort-asc.svg.js +22 -0
  672. package/esm-dist/icons/sort-default.svg.js +23 -0
  673. package/esm-dist/icons/sort-desc.svg.js +22 -0
  674. package/esm-dist/icons/star.svg.js +23 -0
  675. package/esm-dist/icons/status-close.svg.js +25 -0
  676. package/esm-dist/icons/status-fail.svg.js +24 -0
  677. package/esm-dist/icons/status-info.svg.js +28 -0
  678. package/esm-dist/icons/status-success.svg.js +24 -0
  679. package/esm-dist/icons/status-warning.svg.js +28 -0
  680. package/esm-dist/icons/success.svg.js +28 -0
  681. package/esm-dist/icons/transparent.svg.js +41 -0
  682. package/esm-dist/icons/trash.svg.js +24 -0
  683. package/esm-dist/icons/tree-down.svg.js +23 -0
  684. package/esm-dist/icons/undo.svg.js +22 -0
  685. package/esm-dist/icons/upload.svg.js +24 -0
  686. package/esm-dist/icons/user-remove.svg.js +35 -0
  687. package/esm-dist/icons/view.svg.js +24 -0
  688. package/esm-dist/icons/volume.svg.js +25 -0
  689. package/esm-dist/icons/warning-mark.svg.js +25 -0
  690. package/esm-dist/icons/warning.svg.js +22 -0
  691. package/esm-dist/icons/window-restore.svg.js +22 -0
  692. package/esm-dist/icons/zoom-in.svg.js +22 -0
  693. package/esm-dist/icons/zoom-out.svg.js +22 -0
  694. package/esm-dist/index.d.ts +10 -0
  695. package/esm-dist/index.js +74 -0
  696. package/esm-dist/locale/de-DE.d.ts +1 -0
  697. package/esm-dist/locale/de-DE.js +342 -0
  698. package/esm-dist/locale/en-US.d.ts +1 -0
  699. package/esm-dist/locale/en-US.js +345 -0
  700. package/esm-dist/locale/zh-CN.d.ts +1 -0
  701. package/esm-dist/locale/zh-CN.js +356 -0
  702. package/esm-dist/themes/ang.d.ts +3 -0
  703. package/esm-dist/themes/ang.js +15 -0
  704. package/esm-dist/themes/antd.d.ts +1 -0
  705. package/esm-dist/themes/antd.js +42 -0
  706. package/esm-dist/themes/cxd.d.ts +3 -0
  707. package/esm-dist/themes/cxd.js +455 -0
  708. package/esm-dist/themes/dark.d.ts +3 -0
  709. package/esm-dist/themes/dark.js +23 -0
  710. package/esm-dist/themes/default.d.ts +4 -0
  711. package/package.json +71 -0
  712. package/rollup.config.js +129 -0
  713. package/scss/README.md +9 -0
  714. package/scss/_functions.scss +101 -0
  715. package/scss/_mixins.scss +472 -0
  716. package/scss/_properties.scss +1702 -0
  717. package/scss/_thirds.scss +8 -0
  718. package/scss/_utilities.scss +1753 -0
  719. package/scss/_variables.scss +417 -0
  720. package/scss/base/_common.scss +3 -0
  721. package/scss/base/_normalize.scss +361 -0
  722. package/scss/base/_reset.scss +18 -0
  723. package/scss/base/_typography.scss +59 -0
  724. package/scss/components/_alert.scss +82 -0
  725. package/scss/components/_anchor-nav.scss +115 -0
  726. package/scss/components/_app.scss +31 -0
  727. package/scss/components/_array-input.scss +101 -0
  728. package/scss/components/_audio.scss +146 -0
  729. package/scss/components/_avatar.scss +55 -0
  730. package/scss/components/_badge.scss +136 -0
  731. package/scss/components/_barcode.scss +6 -0
  732. package/scss/components/_breadcrumb.scss +98 -0
  733. package/scss/components/_button-group.scss +131 -0
  734. package/scss/components/_button.scss +379 -0
  735. package/scss/components/_calendar.scss +395 -0
  736. package/scss/components/_card.scss +359 -0
  737. package/scss/components/_card2.scss +28 -0
  738. package/scss/components/_cards.scss +187 -0
  739. package/scss/components/_carousel.scss +197 -0
  740. package/scss/components/_cascader.scss +102 -0
  741. package/scss/components/_chart.scss +20 -0
  742. package/scss/components/_city-area.scss +29 -0
  743. package/scss/components/_collapse-group.scss +30 -0
  744. package/scss/components/_collapse.scss +120 -0
  745. package/scss/components/_color.scss +18 -0
  746. package/scss/components/_column-toggler.scss +244 -0
  747. package/scss/components/_condition-builder.scss +280 -0
  748. package/scss/components/_context-menu.scss +206 -0
  749. package/scss/components/_copyable.scss +10 -0
  750. package/scss/components/_crud.scss +151 -0
  751. package/scss/components/_debug.scss +170 -0
  752. package/scss/components/_divider.scss +11 -0
  753. package/scss/components/_drawer.scss +314 -0
  754. package/scss/components/_dropdown.scss +144 -0
  755. package/scss/components/_each.scss +7 -0
  756. package/scss/components/_formula.scss +407 -0
  757. package/scss/components/_grid-nav.scss +128 -0
  758. package/scss/components/_icon.scss +4 -0
  759. package/scss/components/_image-gallery.scss +205 -0
  760. package/scss/components/_images.scss +186 -0
  761. package/scss/components/_input-box.scss +74 -0
  762. package/scss/components/_json-schema-editor.scss +126 -0
  763. package/scss/components/_json-schema.scss +124 -0
  764. package/scss/components/_json.scss +7 -0
  765. package/scss/components/_link.scss +6 -0
  766. package/scss/components/_list-menu.scss +74 -0
  767. package/scss/components/_list.scss +249 -0
  768. package/scss/components/_log.scss +141 -0
  769. package/scss/components/_mapping.scss +6 -0
  770. package/scss/components/_markdown.scss +266 -0
  771. package/scss/components/_modal.scss +252 -0
  772. package/scss/components/_nav.scss +310 -0
  773. package/scss/components/_page.scss +144 -0
  774. package/scss/components/_pagination.scss +200 -0
  775. package/scss/components/_panel.scss +229 -0
  776. package/scss/components/_picker-columns.scss +140 -0
  777. package/scss/components/_popover.scss +54 -0
  778. package/scss/components/_popoverable.scss +62 -0
  779. package/scss/components/_popup.scss +160 -0
  780. package/scss/components/_portlet.scss +51 -0
  781. package/scss/components/_progress.scss +142 -0
  782. package/scss/components/_property.scss +47 -0
  783. package/scss/components/_pull-refresh.scss +25 -0
  784. package/scss/components/_quick-edit.scss +56 -0
  785. package/scss/components/_remark.scss +58 -0
  786. package/scss/components/_result-box.scss +246 -0
  787. package/scss/components/_search-box.scss +138 -0
  788. package/scss/components/_service.scss +3 -0
  789. package/scss/components/_sparkline.scss +18 -0
  790. package/scss/components/_spinner.scss +176 -0
  791. package/scss/components/_status.scss +102 -0
  792. package/scss/components/_steps.scss +394 -0
  793. package/scss/components/_table-v2.scss +912 -0
  794. package/scss/components/_table.scss +936 -0
  795. package/scss/components/_tabs.scss +1021 -0
  796. package/scss/components/_tag.scss +177 -0
  797. package/scss/components/_timeline.scss +198 -0
  798. package/scss/components/_toast.scss +272 -0
  799. package/scss/components/_tooltip.scss +339 -0
  800. package/scss/components/_tpl.scss +5 -0
  801. package/scss/components/_video.scss +38 -0
  802. package/scss/components/_wizard.scss +270 -0
  803. package/scss/components/_wrapper.scss +21 -0
  804. package/scss/components/form/_chained-select.scss +5 -0
  805. package/scss/components/form/_checks.scss +513 -0
  806. package/scss/components/form/_city.scss +33 -0
  807. package/scss/components/form/_color.scss +119 -0
  808. package/scss/components/form/_combo.scss +316 -0
  809. package/scss/components/form/_date-range.scss +222 -0
  810. package/scss/components/form/_date.scss +633 -0
  811. package/scss/components/form/_editor.scss +125 -0
  812. package/scss/components/form/_excel.scss +42 -0
  813. package/scss/components/form/_fieldset.scss +136 -0
  814. package/scss/components/form/_file.scss +246 -0
  815. package/scss/components/form/_form.scss +617 -0
  816. package/scss/components/form/_group.scss +116 -0
  817. package/scss/components/form/_icon-picker.scss +107 -0
  818. package/scss/components/form/_image.scss +266 -0
  819. package/scss/components/form/_input-group.scss +150 -0
  820. package/scss/components/form/_list.scss +122 -0
  821. package/scss/components/form/_location.scss +140 -0
  822. package/scss/components/form/_matrix.scss +5 -0
  823. package/scss/components/form/_nested-select.scss +106 -0
  824. package/scss/components/form/_number.scss +312 -0
  825. package/scss/components/form/_picker.scss +101 -0
  826. package/scss/components/form/_qr-code.scss +4 -0
  827. package/scss/components/form/_range.scss +274 -0
  828. package/scss/components/form/_rating.scss +74 -0
  829. package/scss/components/form/_repeat.scss +40 -0
  830. package/scss/components/form/_result-list.scss +87 -0
  831. package/scss/components/form/_rich-text.scss +116 -0
  832. package/scss/components/form/_select.scss +447 -0
  833. package/scss/components/form/_selection.scss +350 -0
  834. package/scss/components/form/_sub-form.scss +118 -0
  835. package/scss/components/form/_switch.scss +102 -0
  836. package/scss/components/form/_tag.scss +92 -0
  837. package/scss/components/form/_text.scss +307 -0
  838. package/scss/components/form/_textarea.scss +62 -0
  839. package/scss/components/form/_tinymce.scss +6 -0
  840. package/scss/components/form/_transfer.scss +320 -0
  841. package/scss/components/form/_tree-select.scss +39 -0
  842. package/scss/components/form/_tree.scss +317 -0
  843. package/scss/components/form/_user-select.scss +422 -0
  844. package/scss/components/react-datetime.scss +247 -0
  845. package/scss/helper/background/_background-color.scss +214 -0
  846. package/scss/helper/border/_border-color.scss +178 -0
  847. package/scss/helper/border/_border-radius.scss +152 -0
  848. package/scss/helper/border/_border-style.scss +40 -0
  849. package/scss/helper/border/_border-width.scss +72 -0
  850. package/scss/helper/box-alignment/_align-content.scss +44 -0
  851. package/scss/helper/box-alignment/_align-items.scss +41 -0
  852. package/scss/helper/box-alignment/_align-self.scss +40 -0
  853. package/scss/helper/box-alignment/_justify-content.scss +44 -0
  854. package/scss/helper/box-alignment/_justify-items.scss +40 -0
  855. package/scss/helper/box-alignment/_justify-self.scss +40 -0
  856. package/scss/helper/box-alignment/_place-content.scss +48 -0
  857. package/scss/helper/box-alignment/_place-items.scss +40 -0
  858. package/scss/helper/box-alignment/_place-self.scss +40 -0
  859. package/scss/helper/effect/_box-shadow.scss +74 -0
  860. package/scss/helper/effect/_opacity.scss +66 -0
  861. package/scss/helper/flex/_direction.scss +41 -0
  862. package/scss/helper/flex/_flex.scss +38 -0
  863. package/scss/helper/flex/_grow.scss +28 -0
  864. package/scss/helper/flex/_order.scss +56 -0
  865. package/scss/helper/flex/_shrink.scss +27 -0
  866. package/scss/helper/flex/_wrap.scss +36 -0
  867. package/scss/helper/grid/_auto-columns.scss +38 -0
  868. package/scss/helper/grid/_auto-flow.scss +38 -0
  869. package/scss/helper/grid/_auto-rows.scss +38 -0
  870. package/scss/helper/grid/_column-start-end.scss +201 -0
  871. package/scss/helper/grid/_columns.scss +74 -0
  872. package/scss/helper/grid/_gap.scss +154 -0
  873. package/scss/helper/grid/_row-start-end.scss +201 -0
  874. package/scss/helper/grid/_rows.scss +50 -0
  875. package/scss/helper/layout/_box-sizing.scss +51 -0
  876. package/scss/helper/layout/_clear.scss +56 -0
  877. package/scss/helper/layout/_display.scss +82 -0
  878. package/scss/helper/layout/_float.scss +71 -0
  879. package/scss/helper/layout/_overflow.scss +85 -0
  880. package/scss/helper/layout/_position.scss +55 -0
  881. package/scss/helper/layout/_top-right-bottom-left.scss +292 -0
  882. package/scss/helper/layout/_visibility.scss +42 -0
  883. package/scss/helper/layout/_z-index.scss +67 -0
  884. package/scss/helper/sizing/_height.scss +161 -0
  885. package/scss/helper/sizing/_width.scss +158 -0
  886. package/scss/helper/spacing/_margin.scss +821 -0
  887. package/scss/helper/spacing/_padding.scss +394 -0
  888. package/scss/helper/spacing/_space-between.scss +224 -0
  889. package/scss/helper/typography/_font-family.scss +28 -0
  890. package/scss/helper/typography/_font-size.scss +40 -0
  891. package/scss/helper/typography/_font-style.scss +31 -0
  892. package/scss/helper/typography/_font-weight.scss +49 -0
  893. package/scss/helper/typography/_letter-spacing.scss +43 -0
  894. package/scss/helper/typography/_line-height.scss +59 -0
  895. package/scss/helper/typography/_list-style-type.scss +43 -0
  896. package/scss/helper/typography/_text-align.scss +34 -0
  897. package/scss/helper/typography/_text-color.scss +184 -0
  898. package/scss/helper/typography/_text-decoration.scss +34 -0
  899. package/scss/helper/typography/_text-overflow.scss +40 -0
  900. package/scss/helper/typography/_text-transform.scss +40 -0
  901. package/scss/helper/typography/_vertical-align.scss +44 -0
  902. package/scss/helper/typography/_whitespace.scss +42 -0
  903. package/scss/helper/typography/_word-break.scss +36 -0
  904. package/scss/helper.scss +70 -0
  905. package/scss/layout/_aside.scss +361 -0
  906. package/scss/layout/_grid.scss +171 -0
  907. package/scss/layout/_hbox.scss +127 -0
  908. package/scss/layout/_header.scss +0 -0
  909. package/scss/layout/_layout.scss +458 -0
  910. package/scss/layout/_vbox.scss +38 -0
  911. package/scss/themes/_ang-variables.scss +132 -0
  912. package/scss/themes/_antd-colors.scss +149 -0
  913. package/scss/themes/_antd-variables.scss +171 -0
  914. package/scss/themes/_common.scss +138 -0
  915. package/scss/themes/_cxd-colors.scss +56 -0
  916. package/scss/themes/_cxd-variables.scss +687 -0
  917. package/scss/themes/_dark-variables.scss +129 -0
  918. package/scss/themes/ang-ie11.scss +1 -0
  919. package/scss/themes/ang.scss +4 -0
  920. package/scss/themes/antd-ie11.scss +1 -0
  921. package/scss/themes/antd.scss +5 -0
  922. package/scss/themes/cxd-ie11.scss +1 -0
  923. package/scss/themes/cxd.scss +426 -0
  924. package/scss/themes/dark-ie11.scss +1 -0
  925. package/scss/themes/dark.scss +3 -0
  926. package/scss/themes/default.scss +2 -0
  927. package/scss/themes/extract-antd-color.py +27 -0
  928. package/src/components/404.tsx +49 -0
  929. package/src/components/Alert.tsx +300 -0
  930. package/src/components/Alert2.tsx +117 -0
  931. package/src/components/AnchorNav.tsx +265 -0
  932. package/src/components/ArrayInput.tsx +234 -0
  933. package/src/components/AsideNav.tsx +280 -0
  934. package/src/components/AssociatedSelection.tsx +243 -0
  935. package/src/components/Avatar.tsx +255 -0
  936. package/src/components/Badge.tsx +300 -0
  937. package/src/components/BaiduMapPicker.tsx +394 -0
  938. package/src/components/BarCode.tsx +50 -0
  939. package/src/components/Breadcrumb.tsx +294 -0
  940. package/src/components/Button.tsx +149 -0
  941. package/src/components/CalendarMobile.tsx +803 -0
  942. package/src/components/Card.tsx +206 -0
  943. package/src/components/Cascader.tsx +596 -0
  944. package/src/components/ChainedSelection.tsx +253 -0
  945. package/src/components/Checkbox.tsx +117 -0
  946. package/src/components/CityArea.tsx +318 -0
  947. package/src/components/CityDB.ts +4109 -0
  948. package/src/components/CodeMirror.tsx +99 -0
  949. package/src/components/Collapse.tsx +253 -0
  950. package/src/components/CollapseGroup.tsx +133 -0
  951. package/src/components/ColorPicker.tsx +374 -0
  952. package/src/components/ContextMenu.tsx +313 -0
  953. package/src/components/DatePicker.tsx +879 -0
  954. package/src/components/DateRangePicker.tsx +1500 -0
  955. package/src/components/Drawer.tsx +357 -0
  956. package/src/components/Editor.tsx +341 -0
  957. package/src/components/Form.tsx +70 -0
  958. package/src/components/FormField.tsx +127 -0
  959. package/src/components/GridNav.tsx +233 -0
  960. package/src/components/GroupedSelection.tsx +123 -0
  961. package/src/components/Html.tsx +75 -0
  962. package/src/components/ImageGallery.tsx +179 -0
  963. package/src/components/Input.tsx +72 -0
  964. package/src/components/InputBox.tsx +126 -0
  965. package/src/components/InputBoxWithSuggestion.tsx +113 -0
  966. package/src/components/Layout.tsx +123 -0
  967. package/src/components/Link.tsx +85 -0
  968. package/src/components/ListGroup.tsx +72 -0
  969. package/src/components/ListMenu.tsx +112 -0
  970. package/src/components/LocationPicker.tsx +213 -0
  971. package/src/components/Markdown.tsx +53 -0
  972. package/src/components/Modal.tsx +294 -0
  973. package/src/components/ModalManager.ts +49 -0
  974. package/src/components/MonthRangePicker.tsx +699 -0
  975. package/src/components/NumberInput.tsx +255 -0
  976. package/src/components/Overlay.tsx +317 -0
  977. package/src/components/Pagination.tsx +526 -0
  978. package/src/components/Picker.tsx +161 -0
  979. package/src/components/PickerColumn.tsx +400 -0
  980. package/src/components/PickerContainer.tsx +178 -0
  981. package/src/components/PopOver.tsx +155 -0
  982. package/src/components/PopOverContainer.tsx +114 -0
  983. package/src/components/PopUp.tsx +161 -0
  984. package/src/components/Progress.tsx +173 -0
  985. package/src/components/PullRefresh.tsx +197 -0
  986. package/src/components/Radios.tsx +198 -0
  987. package/src/components/Range.tsx +561 -0
  988. package/src/components/Rating.tsx +421 -0
  989. package/src/components/ResultBox.tsx +224 -0
  990. package/src/components/ResultList.tsx +300 -0
  991. package/src/components/ResultTableList.tsx +229 -0
  992. package/src/components/ResultTreeList.tsx +312 -0
  993. package/src/components/RichText.tsx +312 -0
  994. package/src/components/SearchBox.tsx +175 -0
  995. package/src/components/Select.tsx +1229 -0
  996. package/src/components/Selection.tsx +232 -0
  997. package/src/components/SparkLine.tsx +111 -0
  998. package/src/components/Spinner.tsx +126 -0
  999. package/src/components/Steps.tsx +221 -0
  1000. package/src/components/Switch.tsx +122 -0
  1001. package/src/components/TableSelection.tsx +183 -0
  1002. package/src/components/Tabs.tsx +747 -0
  1003. package/src/components/TabsTransfer.tsx +422 -0
  1004. package/src/components/TabsTransferPicker.tsx +111 -0
  1005. package/src/components/Tag.tsx +179 -0
  1006. package/src/components/Textarea.tsx +234 -0
  1007. package/src/components/Timeline.tsx +36 -0
  1008. package/src/components/TimelineItem.tsx +140 -0
  1009. package/src/components/Tinymce.tsx +614 -0
  1010. package/src/components/TitleBar.tsx +61 -0
  1011. package/src/components/Toast.tsx +421 -0
  1012. package/src/components/Tooltip.tsx +78 -0
  1013. package/src/components/TooltipWrapper.tsx +366 -0
  1014. package/src/components/Transfer.tsx +755 -0
  1015. package/src/components/TransferDropDown.tsx +136 -0
  1016. package/src/components/TransferPicker.tsx +118 -0
  1017. package/src/components/TransferSearch.tsx +126 -0
  1018. package/src/components/Tree.tsx +1183 -0
  1019. package/src/components/TreeSelection.tsx +315 -0
  1020. package/src/components/UserSelect.tsx +850 -0
  1021. package/src/components/UserTabSelect.tsx +261 -0
  1022. package/src/components/WithRemoteConfig.tsx +406 -0
  1023. package/src/components/WithStore.tsx +73 -0
  1024. package/src/components/calendar/Calendar.tsx +710 -0
  1025. package/src/components/calendar/CalendarContainer.tsx +30 -0
  1026. package/src/components/calendar/DaysView.tsx +812 -0
  1027. package/src/components/calendar/MonthsView.tsx +288 -0
  1028. package/src/components/calendar/QuartersView.tsx +156 -0
  1029. package/src/components/calendar/TimeView.tsx +742 -0
  1030. package/src/components/calendar/YearsView.tsx +214 -0
  1031. package/src/components/condition-builder/Expression.tsx +244 -0
  1032. package/src/components/condition-builder/Field.tsx +152 -0
  1033. package/src/components/condition-builder/Formula.tsx +39 -0
  1034. package/src/components/condition-builder/Func.tsx +141 -0
  1035. package/src/components/condition-builder/Group.tsx +258 -0
  1036. package/src/components/condition-builder/GroupOrItem.tsx +161 -0
  1037. package/src/components/condition-builder/InputSwitch.tsx +51 -0
  1038. package/src/components/condition-builder/Item.tsx +427 -0
  1039. package/src/components/condition-builder/Value.tsx +162 -0
  1040. package/src/components/condition-builder/config.ts +133 -0
  1041. package/src/components/condition-builder/index.tsx +269 -0
  1042. package/src/components/condition-builder/types.ts +218 -0
  1043. package/src/components/formula/Editor.tsx +337 -0
  1044. package/src/components/formula/FuncList.tsx +113 -0
  1045. package/src/components/formula/Picker.tsx +415 -0
  1046. package/src/components/formula/VariableList.tsx +126 -0
  1047. package/src/components/formula/plugin.ts +252 -0
  1048. package/src/components/icons.tsx +267 -0
  1049. package/src/components/index.tsx +133 -0
  1050. package/src/components/json-schema/Array.tsx +216 -0
  1051. package/src/components/json-schema/Item.tsx +47 -0
  1052. package/src/components/json-schema/Object.tsx +339 -0
  1053. package/src/components/json-schema/index.tsx +48 -0
  1054. package/src/components/schema-editor/Array.tsx +99 -0
  1055. package/src/components/schema-editor/Common.tsx +191 -0
  1056. package/src/components/schema-editor/Item.tsx +30 -0
  1057. package/src/components/schema-editor/Object.tsx +302 -0
  1058. package/src/components/schema-editor/SchemaVariableList.tsx +98 -0
  1059. package/src/components/schema-editor/SchemaVariableListPicker.tsx +68 -0
  1060. package/src/components/schema-editor/index.tsx +228 -0
  1061. package/src/components/table/Cell.tsx +71 -0
  1062. package/src/components/table/HeadCellDropDown.tsx +112 -0
  1063. package/src/components/table/HeadCellFilter.tsx +230 -0
  1064. package/src/components/table/HeadCellSelect.tsx +97 -0
  1065. package/src/components/table/HeadCellSort.tsx +99 -0
  1066. package/src/components/table/ItemActionsWrapper.tsx +37 -0
  1067. package/src/components/table/index.tsx +2012 -0
  1068. package/src/components/virtual-list/SizeAndPositionManager.ts +308 -0
  1069. package/src/components/virtual-list/constants.ts +41 -0
  1070. package/src/components/virtual-list/index.tsx +447 -0
  1071. package/src/custom.d.ts +14 -0
  1072. package/src/hooks/index.ts +7 -0
  1073. package/src/hooks/use-set-state.ts +19 -0
  1074. package/src/hooks/use-touch.ts +100 -0
  1075. package/src/hooks/use-update-effect.ts +16 -0
  1076. package/src/hooks/use-validation-resolver.ts +47 -0
  1077. package/src/icons/alert-danger.svg +1 -0
  1078. package/src/icons/alert-info.svg +1 -0
  1079. package/src/icons/alert-success.svg +1 -0
  1080. package/src/icons/alert-warning.svg +1 -0
  1081. package/src/icons/back.svg +11 -0
  1082. package/src/icons/calendar.svg +27 -0
  1083. package/src/icons/caret.svg +7 -0
  1084. package/src/icons/check.svg +9 -0
  1085. package/src/icons/clock.svg +1 -0
  1086. package/src/icons/close-small.svg +5 -0
  1087. package/src/icons/close.svg +4 -0
  1088. package/src/icons/cloud-upload.svg +22 -0
  1089. package/src/icons/column-filter.svg +9 -0
  1090. package/src/icons/columns.svg +7 -0
  1091. package/src/icons/compress-alt.svg +3 -0
  1092. package/src/icons/copy.svg +9 -0
  1093. package/src/icons/date.svg +9 -0
  1094. package/src/icons/department.svg +17 -0
  1095. package/src/icons/desk-empty.svg +25 -0
  1096. package/src/icons/dot.svg +11 -0
  1097. package/src/icons/down-arrow-bold.svg +10 -0
  1098. package/src/icons/download.svg +4 -0
  1099. package/src/icons/drag-bar.svg +13 -0
  1100. package/src/icons/drag.svg +8 -0
  1101. package/src/icons/edit.svg +8 -0
  1102. package/src/icons/ellipsis-v.svg +9 -0
  1103. package/src/icons/enter.svg +4 -0
  1104. package/src/icons/exchange.svg +7 -0
  1105. package/src/icons/expand-alt.svg +3 -0
  1106. package/src/icons/fail.svg +8 -0
  1107. package/src/icons/file.svg +8 -0
  1108. package/src/icons/filter.svg +7 -0
  1109. package/src/icons/folder.svg +9 -0
  1110. package/src/icons/function.svg +4 -0
  1111. package/src/icons/home.svg +7 -0
  1112. package/src/icons/image.svg +1 -0
  1113. package/src/icons/info-circle.svg +7 -0
  1114. package/src/icons/info.svg +8 -0
  1115. package/src/icons/input-clear.svg +1 -0
  1116. package/src/icons/invisible.svg +10 -0
  1117. package/src/icons/left-arrow.svg +7 -0
  1118. package/src/icons/loading-outline.svg +4 -0
  1119. package/src/icons/location.svg +10 -0
  1120. package/src/icons/menu.svg +2 -0
  1121. package/src/icons/minus.svg +7 -0
  1122. package/src/icons/move.svg +8 -0
  1123. package/src/icons/mute.svg +4 -0
  1124. package/src/icons/pause.svg +5 -0
  1125. package/src/icons/pencil.svg +7 -0
  1126. package/src/icons/play.svg +4 -0
  1127. package/src/icons/plus-cicle.svg +9 -0
  1128. package/src/icons/plus-fine.svg +10 -0
  1129. package/src/icons/plus.svg +9 -0
  1130. package/src/icons/post.svg +15 -0
  1131. package/src/icons/question-mark.svg +12 -0
  1132. package/src/icons/question.svg +7 -0
  1133. package/src/icons/redo.svg +7 -0
  1134. package/src/icons/refresh.svg +7 -0
  1135. package/src/icons/reload.svg +6 -0
  1136. package/src/icons/remove.svg +10 -0
  1137. package/src/icons/retry.svg +8 -0
  1138. package/src/icons/right-arrow-bold.svg +7 -0
  1139. package/src/icons/right-arrow.svg +7 -0
  1140. package/src/icons/role.svg +14 -0
  1141. package/src/icons/schedule.svg +9 -0
  1142. package/src/icons/search.svg +4 -0
  1143. package/src/icons/setting.svg +9 -0
  1144. package/src/icons/slider-handle-icon.svg +6 -0
  1145. package/src/icons/sort-asc.svg +7 -0
  1146. package/src/icons/sort-default.svg +9 -0
  1147. package/src/icons/sort-desc.svg +7 -0
  1148. package/src/icons/star.svg +12 -0
  1149. package/src/icons/status-close.svg +10 -0
  1150. package/src/icons/status-fail.svg +10 -0
  1151. package/src/icons/status-info.svg +8 -0
  1152. package/src/icons/status-success.svg +10 -0
  1153. package/src/icons/status-warning.svg +8 -0
  1154. package/src/icons/success.svg +10 -0
  1155. package/src/icons/transparent.svg +11 -0
  1156. package/src/icons/trash.svg +8 -0
  1157. package/src/icons/tree-down.svg +5 -0
  1158. package/src/icons/undo.svg +7 -0
  1159. package/src/icons/upload.svg +9 -0
  1160. package/src/icons/user-remove.svg +12 -0
  1161. package/src/icons/view.svg +10 -0
  1162. package/src/icons/volume.svg +5 -0
  1163. package/src/icons/warning-mark.svg +13 -0
  1164. package/src/icons/warning.svg +7 -0
  1165. package/src/icons/window-restore.svg +7 -0
  1166. package/src/icons/zoom-in.svg +7 -0
  1167. package/src/icons/zoom-out.svg +7 -0
  1168. package/src/index.tsx +11 -0
  1169. package/src/locale/de-DE.ts +357 -0
  1170. package/src/locale/en-US.ts +346 -0
  1171. package/src/locale/zh-CN.ts +351 -0
  1172. package/src/themes/ang.ts +8 -0
  1173. package/src/themes/antd.ts +44 -0
  1174. package/src/themes/cxd.ts +458 -0
  1175. package/src/themes/dark.ts +16 -0
  1176. package/src/themes/default.ts +5 -0
  1177. package/tsconfig.json +14 -0
  1178. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,1250 @@
1
+ /**
2
+ * amis-ui v1.0.0-beta.0
3
+ * Copyright 2018-2022 fex
4
+ */
5
+
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ var tslib = require('tslib');
11
+ var React = require('react');
12
+ var ReactDOM = require('react-dom');
13
+ var findLastIndex = require('lodash/findLastIndex');
14
+ var find = require('lodash/find');
15
+ var isEqual = require('lodash/isEqual');
16
+ var filter = require('lodash/filter');
17
+ var intersection = require('lodash/intersection');
18
+ var cloneDeep = require('lodash/cloneDeep');
19
+ var Sortable = require('sortablejs');
20
+ var amisCore = require('amis-core');
21
+ var icons = require('../icons.js');
22
+ var Checkbox = require('../Checkbox.js');
23
+ var Spinner = require('../Spinner.js');
24
+ var HeadCellSort = require('./HeadCellSort.js');
25
+ var HeadCellFilter = require('./HeadCellFilter.js');
26
+ var HeadCellSelect = require('./HeadCellSelect.js');
27
+ var ItemActionsWrapper = require('./ItemActionsWrapper.js');
28
+ var Cell = require('./Cell.js');
29
+
30
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
31
+
32
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
+ var findLastIndex__default = /*#__PURE__*/_interopDefaultLegacy(findLastIndex);
34
+ var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
35
+ var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
36
+ var filter__default = /*#__PURE__*/_interopDefaultLegacy(filter);
37
+ var intersection__default = /*#__PURE__*/_interopDefaultLegacy(intersection);
38
+ var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep);
39
+ var Sortable__default = /*#__PURE__*/_interopDefaultLegacy(Sortable);
40
+
41
+ /**
42
+ * @file Table
43
+ * @author fex
44
+ */
45
+ function getMaxLevelThRowSpan(columns) {
46
+ var maxLevel = 0;
47
+ Array.isArray(columns) &&
48
+ columns.forEach(function (c) {
49
+ var level = getThRowSpan(c);
50
+ if (maxLevel < level) {
51
+ maxLevel = level;
52
+ }
53
+ });
54
+ return maxLevel;
55
+ }
56
+ function getThRowSpan(column) {
57
+ if (!column.children || (column.children && !column.children.length)) {
58
+ return 1;
59
+ }
60
+ return 1 + getMaxLevelThRowSpan(column.children);
61
+ }
62
+ function getThColSpan(column) {
63
+ if (!column.children || (column.children && !column.children.length)) {
64
+ return 1;
65
+ }
66
+ var childrenLength = 0;
67
+ column.children.forEach(function (item) { return (childrenLength += getThColSpan(item)); });
68
+ return childrenLength;
69
+ }
70
+ function buildColumns(columns, thColumns, tdColumns, depth, id, fixed) {
71
+ if (columns === void 0) { columns = []; }
72
+ if (tdColumns === void 0) { tdColumns = []; }
73
+ if (depth === void 0) { depth = 0; }
74
+ var maxLevel = getMaxLevelThRowSpan(columns);
75
+ // 在处理表头时,如果父级column设置了fixed属性,那么所有children保持一致
76
+ Array.isArray(columns) &&
77
+ columns.forEach(function (column) {
78
+ var groupId = id || amisCore.guid();
79
+ var childMaxLevel = 0;
80
+ if (column.children) {
81
+ childMaxLevel = getMaxLevelThRowSpan(column.children);
82
+ }
83
+ var newColumn = tslib.__assign(tslib.__assign({}, column), { rowSpan: childMaxLevel ? 1 : maxLevel - childMaxLevel + depth, colSpan: getThColSpan(column), groupId: groupId, depth: depth });
84
+ var tdColumn = tslib.__assign(tslib.__assign({}, column), { groupId: groupId });
85
+ if (fixed) {
86
+ newColumn.fixed = fixed;
87
+ tdColumn.fixed = fixed;
88
+ }
89
+ if (!thColumns[depth]) {
90
+ thColumns[depth] = [];
91
+ }
92
+ thColumns[depth].push(newColumn);
93
+ if (column.children && column.children.length > 0) {
94
+ buildColumns(column.children, thColumns, tdColumns, depth + 1, groupId, column.fixed);
95
+ }
96
+ else {
97
+ tdColumn.children; var rest = tslib.__rest(tdColumn, ["children"]);
98
+ tdColumns.push(rest);
99
+ }
100
+ });
101
+ }
102
+ function isFixedLeftColumn(fixed) {
103
+ return fixed === true || fixed === 'left';
104
+ }
105
+ function isFixedRightColumn(fixed) {
106
+ return fixed === 'right';
107
+ }
108
+ function getPreviousLeftWidth(doms, index, columns) {
109
+ var width = 0;
110
+ for (var i = 0; i < index; i++) {
111
+ if (columns && columns[i] && isFixedLeftColumn(columns[i].fixed)) {
112
+ var dom = doms[i];
113
+ width += dom.offsetWidth;
114
+ }
115
+ }
116
+ return width;
117
+ }
118
+ function getAfterRightWidth(doms, index, columns) {
119
+ var width = 0;
120
+ for (var i = doms.length - 0; i > index; i--) {
121
+ if (columns && columns[i] && isFixedRightColumn(columns[i].fixed)) {
122
+ var dom = doms[i];
123
+ width += dom.offsetWidth;
124
+ }
125
+ }
126
+ return width;
127
+ }
128
+ function hasFixedColumn(columns) {
129
+ return find__default["default"](columns, function (column) { return column.fixed; });
130
+ }
131
+ function getSummaryColumns(summary) {
132
+ if (!summary) {
133
+ return [];
134
+ }
135
+ var last = [];
136
+ var first = [];
137
+ summary.forEach(function (item) {
138
+ if (amisCore.isObject(item)) {
139
+ first.push(item);
140
+ }
141
+ else if (Array.isArray(item)) {
142
+ last.push(item);
143
+ }
144
+ });
145
+ return tslib.__spreadArray([first], last, true);
146
+ }
147
+ var DefaultCellWidth = 40;
148
+ var Table = /** @class */ (function (_super) {
149
+ tslib.__extends(Table, _super);
150
+ function Table(props) {
151
+ var _this = this;
152
+ var _a;
153
+ _this = _super.call(this, props) || this;
154
+ _this.tableDom = React__default["default"].createRef();
155
+ _this.theadDom = React__default["default"].createRef();
156
+ _this.tbodyDom = React__default["default"].createRef();
157
+ _this.contentDom = React__default["default"].createRef();
158
+ _this.headerDom = React__default["default"].createRef();
159
+ _this.bodyDom = React__default["default"].createRef();
160
+ _this.tfootDom = React__default["default"].createRef();
161
+ _this.footDom = React__default["default"].createRef();
162
+ _this.selectedRows = props.rowSelection
163
+ ? _this.getSelectedRows(props.dataSource, (_a = props.rowSelection) === null || _a === void 0 ? void 0 : _a.selectedRowKeys)
164
+ : [];
165
+ _this.state = {
166
+ selectedRowKeys: props.rowSelection
167
+ ? props.rowSelection.selectedRowKeys.map(function (key) { return key; }) || []
168
+ : [],
169
+ dataSource: props.dataSource || [],
170
+ expandedRowKeys: tslib.__spreadArray(tslib.__spreadArray([], (props.expandable ? props.expandable.expandedRowKeys || [] : []), true), (props.expandable
171
+ ? props.expandable.defaultExpandedRowKeys || []
172
+ : []), true),
173
+ colWidths: [],
174
+ hoverRow: null
175
+ };
176
+ _this.onTableContentScroll = _this.onTableContentScroll.bind(_this);
177
+ _this.getPopOverContainer = _this.getPopOverContainer.bind(_this);
178
+ return _this;
179
+ }
180
+ Table.prototype.getPopOverContainer = function () {
181
+ return ReactDOM.findDOMNode(this);
182
+ };
183
+ Table.prototype.getColWidths = function () {
184
+ var _a, _b;
185
+ var childrens = ((_b = (_a = this.tbodyDom.current) === null || _a === void 0 ? void 0 : _a.children[0]) === null || _b === void 0 ? void 0 : _b.children) || [];
186
+ var colWidths = new Array(childrens ? childrens.length : 0);
187
+ for (var i = 0; i < childrens.length; i++) {
188
+ var child = childrens[i];
189
+ colWidths[i] = child ? child.offsetWidth : null;
190
+ }
191
+ return colWidths;
192
+ };
193
+ Table.prototype.getSelectedRows = function (dataSource, selectedRowKeys) {
194
+ var _this = this;
195
+ var selectedRows = [];
196
+ dataSource.forEach(function (data) {
197
+ if (find__default["default"](selectedRowKeys, function (key) { return key === data[_this.getRowSelectionKeyField()]; })) {
198
+ selectedRows.push(data);
199
+ }
200
+ });
201
+ return selectedRows;
202
+ };
203
+ Table.prototype.updateTableBodyFixed = function () {
204
+ var tbodyDom = this.tbodyDom && this.tbodyDom.current;
205
+ var tdColumns = tslib.__spreadArray([], this.tdColumns, true);
206
+ this.updateTbodyFixedRow(tbodyDom, tdColumns);
207
+ this.updateHeadSummaryFixedRow(tbodyDom);
208
+ };
209
+ Table.prototype.updateColWidths = function () {
210
+ var _this = this;
211
+ this.setState({ colWidths: this.getColWidths() }, function () {
212
+ if (hasFixedColumn(_this.props.columns)) {
213
+ var theadDom = _this.theadDom && _this.theadDom.current;
214
+ var thColumns = _this.thColumns;
215
+ _this.updateTheadFixedRow(theadDom, thColumns);
216
+ _this.updateTableBodyFixed();
217
+ }
218
+ });
219
+ };
220
+ Table.prototype.componentDidMount = function () {
221
+ var _this = this;
222
+ var _a, _b;
223
+ if (this.props.loading) {
224
+ return;
225
+ }
226
+ if (hasFixedColumn(this.props.columns)) {
227
+ var headerDom = this.headerDom && this.headerDom.current;
228
+ if (headerDom) {
229
+ var headerBody = headerDom.getElementsByTagName('tbody');
230
+ headerBody &&
231
+ headerBody[0] &&
232
+ this.updateHeadSummaryFixedRow(headerBody[0]);
233
+ }
234
+ var tfootDom = this.tfootDom && this.tfootDom.current;
235
+ tfootDom && this.updateFootSummaryFixedRow(tfootDom);
236
+ }
237
+ var current = null;
238
+ if (this.contentDom && this.contentDom.current) {
239
+ current = this.contentDom.current;
240
+ current.addEventListener('scroll', this.onTableContentScroll.bind(this));
241
+ }
242
+ else {
243
+ current = (_a = this.headerDom) === null || _a === void 0 ? void 0 : _a.current;
244
+ // overflow设置为hidden的情况
245
+ var hiddenDomRefs = [this.headerDom, this.footDom];
246
+ hiddenDomRefs.forEach(function (ref) {
247
+ return ref &&
248
+ ref.current &&
249
+ ref.current.addEventListener('wheel', _this.onWheel.bind(_this));
250
+ });
251
+ // 横向同步滚动
252
+ var scrollDomRefs = [this.bodyDom];
253
+ scrollDomRefs.forEach(function (ref) {
254
+ return ref &&
255
+ ref.current &&
256
+ ref.current.addEventListener('scroll', _this.onTableScroll.bind(_this));
257
+ });
258
+ }
259
+ current && this.updateTableDom(current);
260
+ if (this.props.draggable) {
261
+ this.initDragging();
262
+ }
263
+ if (this.props.resizable) {
264
+ (_b = this.theadDom.current) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseup', this.onResizeMouseUp.bind(this));
265
+ }
266
+ this.updateStickyHeader();
267
+ this.updateColWidths();
268
+ };
269
+ Table.prototype.componentDidUpdate = function (prevProps, prevState) {
270
+ var _this = this;
271
+ var _a, _b, _c, _d;
272
+ // 数据源发生了变化
273
+ if (!isEqual__default["default"](prevProps.dataSource, this.props.dataSource)) {
274
+ this.setState({ dataSource: tslib.__spreadArray([], this.props.dataSource, true) }, function () {
275
+ return _this.updateColWidths();
276
+ }); // 异步加载数据需求再更新一次
277
+ }
278
+ // 选择项发生了变化触发
279
+ if (!isEqual__default["default"](prevState.selectedRowKeys, this.state.selectedRowKeys)) {
280
+ // 更新保存的已选择行数据
281
+ this.selectedRows = this.getSelectedRows(this.state.dataSource, this.state.selectedRowKeys);
282
+ var rowSelection = this.props.rowSelection;
283
+ rowSelection &&
284
+ rowSelection.onChange &&
285
+ rowSelection.onChange(this.state.selectedRowKeys, this.selectedRows);
286
+ this.setState({
287
+ selectedRowKeys: this.state.selectedRowKeys.filter(function (key, i, a) { return a.indexOf(key) === i; })
288
+ });
289
+ }
290
+ // 外部传入的选择项发生了变化
291
+ if (!isEqual__default["default"]((_a = prevProps.rowSelection) === null || _a === void 0 ? void 0 : _a.selectedRowKeys, (_b = this.props.rowSelection) === null || _b === void 0 ? void 0 : _b.selectedRowKeys)) {
292
+ if (this.props.rowSelection) {
293
+ this.setState({
294
+ selectedRowKeys: this.props.rowSelection.selectedRowKeys
295
+ });
296
+ this.selectedRows = this.getSelectedRows(this.state.dataSource, this.state.selectedRowKeys);
297
+ }
298
+ }
299
+ // 外部传入的展开项发生了变化
300
+ if (!isEqual__default["default"]((_c = prevProps === null || prevProps === void 0 ? void 0 : prevProps.expandable) === null || _c === void 0 ? void 0 : _c.expandedRowKeys, (_d = this.props.expandable) === null || _d === void 0 ? void 0 : _d.expandedRowKeys)) {
301
+ if (this.props.expandable) {
302
+ this.setState({
303
+ expandedRowKeys: this.props.expandable.expandedRowKeys || []
304
+ });
305
+ }
306
+ }
307
+ // 展开行变化时触发
308
+ if (!isEqual__default["default"](prevState.expandedRowKeys, this.state.expandedRowKeys)) {
309
+ if (this.props.expandable) {
310
+ var _e = this.props.expandable, onExpandedRowsChange = _e.onExpandedRowsChange, keyField_1 = _e.keyField;
311
+ var expandedRows_1 = [];
312
+ this.state.dataSource.forEach(function (item) {
313
+ if (find__default["default"](_this.state.expandedRowKeys, function (key) { return key == item[keyField_1 || 'key']; })) {
314
+ expandedRows_1.push(item);
315
+ }
316
+ });
317
+ onExpandedRowsChange && onExpandedRowsChange(expandedRows_1);
318
+ }
319
+ }
320
+ // sticky属性发生了变化
321
+ if (prevProps.sticky !== this.props.sticky) {
322
+ this.updateStickyHeader();
323
+ }
324
+ };
325
+ Table.prototype.componentWillUnmount = function () {
326
+ var _this = this;
327
+ this.contentDom &&
328
+ this.contentDom.current &&
329
+ this.contentDom.current.removeEventListener('scroll', this.onTableContentScroll.bind(this));
330
+ var hiddenDomRefs = [this.headerDom, this.footDom];
331
+ hiddenDomRefs.forEach(function (ref) {
332
+ return ref &&
333
+ ref.current &&
334
+ ref.current.removeEventListener('wheel', _this.onWheel.bind(_this));
335
+ });
336
+ var scrollDomRefs = [this.bodyDom];
337
+ scrollDomRefs.forEach(function (ref) {
338
+ return ref &&
339
+ ref.current &&
340
+ ref.current.removeEventListener('scroll', _this.onTableScroll.bind(_this));
341
+ });
342
+ this.destroyDragging();
343
+ };
344
+ Table.prototype.exchange = function (fromIndex, toIndex, item) {
345
+ var _a = this.props, scroll = _a.scroll, headSummary = _a.headSummary;
346
+ // 如果有头部总结行 fromIndex就会+1
347
+ if ((!scroll || (scroll && !scroll.y)) && headSummary) {
348
+ fromIndex = fromIndex - 1;
349
+ }
350
+ var index = toIndex - fromIndex;
351
+ var levels = item.getAttribute('row-levels');
352
+ var rowIndex = +item.getAttribute('row-index');
353
+ var dataSource = cloneDeep__default["default"](this.state.dataSource);
354
+ var levelsArray = levels ? levels.split(',') : [];
355
+ var childrenColumnName = this.getChildrenColumnName();
356
+ var data = dataSource;
357
+ var i = 0;
358
+ while (i < levelsArray.length) {
359
+ data = data[levelsArray[i]][childrenColumnName];
360
+ i++;
361
+ }
362
+ if (data && data.length > 0) {
363
+ var row = cloneDeep__default["default"](data[rowIndex]);
364
+ data.splice(rowIndex, 1);
365
+ data.splice(rowIndex + index, 0, row);
366
+ }
367
+ return data;
368
+ };
369
+ Table.prototype.initDragging = function () {
370
+ var _this = this;
371
+ var _a = this.props, cx = _a.classnames; _a.onDrag;
372
+ this.sortable = new Sortable__default["default"](this.tbodyDom.current, {
373
+ group: 'table',
374
+ animation: 150,
375
+ handle: ".".concat(cx('Table-dragCell')),
376
+ ghostClass: 'is-dragging',
377
+ onMove: function (e) {
378
+ var dragged = e.dragged;
379
+ var related = e.related;
380
+ if (related &&
381
+ related.classList.contains("".concat(cx('Table-summary-row')))) {
382
+ return false;
383
+ }
384
+ var draggedLevels = dragged.getAttribute('row-levels');
385
+ var relatedLevels = related.getAttribute('row-levels');
386
+ // 嵌套展示 不属于同一层的 不允许拖动
387
+ // 否则涉及到试图的更新,比如子元素都被拖完了
388
+ if (draggedLevels !== relatedLevels) {
389
+ return false;
390
+ }
391
+ return true;
392
+ },
393
+ onEnd: function (e) { return tslib.__awaiter(_this, void 0, void 0, function () {
394
+ var onDrag, data, prevented;
395
+ return tslib.__generator(this, function (_a) {
396
+ switch (_a.label) {
397
+ case 0:
398
+ // 没有移动
399
+ if (e.newIndex === e.oldIndex) {
400
+ return [2 /*return*/];
401
+ }
402
+ onDrag = this.props.onDrag;
403
+ if (!onDrag) return [3 /*break*/, 2];
404
+ data = this.exchange(e.oldIndex, e.newIndex, e.item);
405
+ return [4 /*yield*/, onDrag(data)];
406
+ case 1:
407
+ prevented = _a.sent();
408
+ if (prevented) {
409
+ return [2 /*return*/];
410
+ }
411
+ _a.label = 2;
412
+ case 2: return [2 /*return*/];
413
+ }
414
+ });
415
+ }); }
416
+ });
417
+ };
418
+ Table.prototype.destroyDragging = function () {
419
+ this.sortable && this.sortable.destroy();
420
+ };
421
+ Table.prototype.updateStickyHeader = function () {
422
+ var _this = this;
423
+ var _a, _b;
424
+ if (this.props.sticky) {
425
+ // 如果设置了sticky 如果父元素设置了overflow: auto top值还需要考虑padding值
426
+ var parent_1 = (_b = (_a = this.headerDom) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.parentElement;
427
+ setTimeout(function () {
428
+ while (parent_1 &&
429
+ window.getComputedStyle(parent_1, null).getPropertyValue('overflow') !==
430
+ 'auto') {
431
+ parent_1 = parent_1.parentElement;
432
+ }
433
+ if (parent_1 &&
434
+ window.getComputedStyle(parent_1, null).getPropertyValue('overflow') ===
435
+ 'auto') {
436
+ var paddingTop = window
437
+ .getComputedStyle(parent_1, null)
438
+ .getPropertyValue('padding-top');
439
+ if (paddingTop && _this.headerDom && _this.headerDom.current) {
440
+ _this.headerDom.current.style.top = '-' + paddingTop;
441
+ }
442
+ }
443
+ });
444
+ }
445
+ };
446
+ // 更新一个tr下的td的left和class
447
+ Table.prototype.updateFixedRow = function (row, columns) {
448
+ var _a, _b, _c;
449
+ var cx = this.props.classnames;
450
+ var children = row.children;
451
+ for (var i = 0; i < children.length; i++) {
452
+ var dom = children[i];
453
+ var fixed = columns[i] ? columns[i].fixed || '' : '';
454
+ if (isFixedLeftColumn(fixed)) {
455
+ dom.style.left =
456
+ i > 0 ? getPreviousLeftWidth(children, i, columns) + 'px' : '0';
457
+ }
458
+ else if (isFixedRightColumn(fixed)) {
459
+ dom.style.right =
460
+ i < children.length - 1
461
+ ? getAfterRightWidth(children, i, columns) + 'px'
462
+ : '0';
463
+ }
464
+ }
465
+ // 最后一个左fixed的添加样式
466
+ var leftIndex = findLastIndex__default["default"](columns, function (column) {
467
+ return isFixedLeftColumn(column.fixed);
468
+ });
469
+ if (leftIndex > -1) {
470
+ (_a = children[leftIndex]) === null || _a === void 0 ? void 0 : _a.classList.add(cx('Table-cell-fix-left-last'));
471
+ }
472
+ // 第一个右fixed的添加样式
473
+ var rightIndex = columns.findIndex(function (column) {
474
+ return isFixedRightColumn(column.fixed);
475
+ });
476
+ if (rightIndex > -1) {
477
+ (_b = children[rightIndex]) === null || _b === void 0 ? void 0 : _b.classList.add(cx('Table-cell-fix-right-first'));
478
+ if (rightIndex > 0) {
479
+ (_c = children[rightIndex - 1]) === null || _c === void 0 ? void 0 : _c.classList.add(cx('Table-cell-fix-right-first-prev'));
480
+ }
481
+ }
482
+ };
483
+ // 在可选、可展开、可拖拽的情况下,补充column,方便fix处理
484
+ Table.prototype.prependColumns = function (columns) {
485
+ var _a = this.props, rowSelection = _a.rowSelection, expandable = _a.expandable, draggable = _a.draggable;
486
+ if (draggable) {
487
+ columns.unshift({});
488
+ }
489
+ else {
490
+ if (expandable) {
491
+ columns.unshift(expandable);
492
+ }
493
+ if (rowSelection) {
494
+ columns.unshift(rowSelection);
495
+ }
496
+ }
497
+ };
498
+ Table.prototype.updateTheadFixedRow = function (thead, columns) {
499
+ var children = thead.children;
500
+ for (var i = 0; i < children.length; i++) {
501
+ var cols = tslib.__spreadArray([], columns[i], true);
502
+ if (i === 0) {
503
+ this.prependColumns(cols);
504
+ }
505
+ this.updateFixedRow(children[i], cols);
506
+ }
507
+ };
508
+ Table.prototype.updateTbodyFixedRow = function (tbody, columns) {
509
+ var cx = this.props.classnames;
510
+ var children = filter__default["default"](tbody.children, function (child) {
511
+ return !child.classList.contains(cx('Table-summary-row')) &&
512
+ !child.classList.contains(cx('Table-empty-row'));
513
+ });
514
+ this.prependColumns(columns);
515
+ for (var i = 0; i < children.length; i++) {
516
+ this.updateFixedRow(children[i], columns);
517
+ }
518
+ };
519
+ Table.prototype.updateSummaryFixedRow = function (children, columns) {
520
+ for (var i = 0; i < children.length; i++) {
521
+ this.updateFixedRow(children[i], columns[i]);
522
+ }
523
+ };
524
+ Table.prototype.updateFootSummaryFixedRow = function (tfoot) {
525
+ var footSummary = this.props.footSummary;
526
+ if (Array.isArray(footSummary)) {
527
+ var columns = getSummaryColumns(footSummary);
528
+ this.updateSummaryFixedRow(tfoot.children, columns);
529
+ }
530
+ };
531
+ Table.prototype.updateHeadSummaryFixedRow = function (tbody) {
532
+ var _a = this.props, headSummary = _a.headSummary, cx = _a.classnames;
533
+ if (Array.isArray(headSummary)) {
534
+ var columns = getSummaryColumns(headSummary);
535
+ var children = filter__default["default"](tbody.children, function (child) {
536
+ return child.classList.contains(cx('Table-summary-row'));
537
+ });
538
+ this.updateSummaryFixedRow(children, columns);
539
+ }
540
+ };
541
+ Table.prototype.renderColGroup = function (colWidths) {
542
+ var _a = this.props, rowSelection = _a.rowSelection, cx = _a.classnames, expandable = _a.expandable, draggable = _a.draggable;
543
+ var tdColumns = this.tdColumns;
544
+ var isExpandable = this.isExpandableTable();
545
+ var extraCount = this.getExtraColumnCount();
546
+ return (React__default["default"].createElement("colgroup", null,
547
+ draggable ? (React__default["default"].createElement("col", { className: cx('Table-drag-col'), style: { width: DefaultCellWidth + 'px' } })) : null,
548
+ !draggable && rowSelection ? (React__default["default"].createElement("col", { className: cx('Table-selection-col'), style: {
549
+ width: (rowSelection.columnWidth || DefaultCellWidth) + 'px'
550
+ } })) : null,
551
+ !draggable && isExpandable ? (React__default["default"].createElement("col", { className: cx('Table-expand-col'), style: {
552
+ width: ((expandable === null || expandable === void 0 ? void 0 : expandable.columnWidth) || DefaultCellWidth) + 'px'
553
+ } })) : null,
554
+ tdColumns.map(function (data, index) {
555
+ var width = colWidths ? colWidths[index + extraCount] : data.width;
556
+ return (React__default["default"].createElement("col", { key: index, style: { width: typeof width === 'number' ? width + 'px' : width }, className: data.className ? cx("Table-colgroup-".concat(data.className)) : '' }));
557
+ })));
558
+ };
559
+ Table.prototype.onResizeMouseDown = function (event, key) {
560
+ // 点击记录起始坐标
561
+ this.resizeStart = event.clientX;
562
+ // 记录点击的列名
563
+ this.resizeKey = key;
564
+ event && event.stopPropagation();
565
+ };
566
+ Table.prototype.onResizeMouseUp = function (event) {
567
+ var _this = this;
568
+ var _a;
569
+ // 点击了调整列宽
570
+ if (this.resizeStart && this.resizeKey) {
571
+ // 计算横向移动距离
572
+ var distance = event.clientX - this.resizeStart;
573
+ var tdColumns = tslib.__spreadArray([], this.tdColumns, true);
574
+ var index = tdColumns.findIndex(function (c) { return c.key === _this.resizeKey; }) +
575
+ this.getExtraColumnCount();
576
+ var colGroup = (_a = this.tableDom.current) === null || _a === void 0 ? void 0 : _a.getElementsByTagName('colgroup')[0];
577
+ var currentWidth = 0;
578
+ if (colGroup && colGroup.children[index]) {
579
+ var child = colGroup.children[index];
580
+ currentWidth = child.offsetWidth;
581
+ }
582
+ var newWidth = 0;
583
+ if (colGroup) {
584
+ var maxDistance = 0; // 最多可以移动的距离
585
+ // 调宽列
586
+ if (distance > 0) {
587
+ for (var i = 0; i < colGroup.children.length; i++) {
588
+ var child = colGroup.children[i];
589
+ // 自适应列 保证有一个最小宽度
590
+ // 如果都设置了固定宽度 那一个都拖不动
591
+ if (!this.tdColumns[i].width) {
592
+ maxDistance += child.offsetWidth - DefaultCellWidth;
593
+ }
594
+ }
595
+ if (colGroup.children[index]) {
596
+ var child = colGroup.children[index];
597
+ newWidth = currentWidth + Math.min(distance, maxDistance);
598
+ child.style.width = newWidth + 'px';
599
+ }
600
+ }
601
+ else {
602
+ // 缩短列
603
+ var autoColumns = [];
604
+ for (var i = 0; i < colGroup.children.length; i++) {
605
+ var child = colGroup.children[i];
606
+ // 自适应列 保证有一个最小宽度
607
+ // 如果都设置了固定宽度 那一个都拖不动
608
+ if (!this.tdColumns[i].width) {
609
+ autoColumns.push(child);
610
+ }
611
+ }
612
+ maxDistance = DefaultCellWidth - currentWidth;
613
+ if (colGroup.children[index]) {
614
+ var child = colGroup.children[index];
615
+ newWidth = currentWidth + Math.max(distance, maxDistance);
616
+ child.style.width = newWidth + 'px';
617
+ }
618
+ var gap_1 = Math.abs(Math.max(distance, maxDistance)) / autoColumns.length;
619
+ autoColumns.forEach(function (c) {
620
+ c.style.width = c.offsetWidth + gap_1 + 'px';
621
+ });
622
+ }
623
+ }
624
+ var column = find__default["default"](tdColumns, function (c) { return c.key === _this.resizeKey; });
625
+ // 只有通过配置设置过的宽度保存到tdColumns
626
+ // 自动分配的不保存
627
+ // 这样可以一直调整了
628
+ if (column && column.width && newWidth) {
629
+ column.width = newWidth;
630
+ }
631
+ this.tdColumns = tdColumns;
632
+ this.resizeStart = 0;
633
+ this.resizeKey = '';
634
+ }
635
+ event && event.stopPropagation();
636
+ };
637
+ Table.prototype.renderTHead = function () {
638
+ var _this = this;
639
+ var _a = this.props, rowSelection = _a.rowSelection, dataSource = _a.dataSource, cx = _a.classnames, onSort = _a.onSort, expandable = _a.expandable, draggable = _a.draggable, resizable = _a.resizable, onSelectAll = _a.onSelectAll, onFilter = _a.onFilter;
640
+ var thColumns = this.thColumns;
641
+ // 获取一行最多th个数
642
+ var maxCount = 0;
643
+ thColumns.forEach(function (columns) {
644
+ if (columns.length > maxCount) {
645
+ maxCount = columns.length;
646
+ }
647
+ });
648
+ var keyField = this.getRowSelectionKeyField();
649
+ var dataList = rowSelection && rowSelection.getCheckboxProps
650
+ ? this.state.dataSource.filter(function (data, index) {
651
+ var props = rowSelection.getCheckboxProps(data, index);
652
+ return !props.disabled;
653
+ })
654
+ : this.state.dataSource;
655
+ var isExpandable = this.isExpandableTable();
656
+ var allRowKeys = [];
657
+ var allRows = [];
658
+ dataList.forEach(function (data) {
659
+ allRowKeys.push(data[keyField]);
660
+ allRows.push(data);
661
+ if (!expandable && _this.hasChildrenRow(data)) {
662
+ allRowKeys = tslib.__spreadArray(tslib.__spreadArray([], allRowKeys, true), _this.getDataChildrenKeys(data), true);
663
+ data[_this.getChildrenColumnName()].forEach(function (item) {
664
+ return allRows.push(item);
665
+ });
666
+ }
667
+ });
668
+ return (React__default["default"].createElement("thead", { ref: this.theadDom, className: cx('Table-thead') }, thColumns.map(function (data, index) {
669
+ return (React__default["default"].createElement("tr", { key: 'th-cell-' + index },
670
+ draggable && index === 0 ? (React__default["default"].createElement(Cell["default"], { wrapperComponent: "th", rowSpan: thColumns.length, className: cx('Table-dragCell') })) : null,
671
+ !draggable && rowSelection && index === 0 ? (React__default["default"].createElement(Cell["default"], { wrapperComponent: "th", rowSpan: thColumns.length, fixed: rowSelection.fixed ? 'left' : '', className: cx('Table-checkCell') }, rowSelection.type !== 'radio'
672
+ ? [
673
+ React__default["default"].createElement(Checkbox["default"], { key: "checkAll", partial: _this.state.selectedRowKeys.length > 0 &&
674
+ _this.state.selectedRowKeys.length <
675
+ allRowKeys.length, checked: _this.state.selectedRowKeys.length > 0, onChange: function (value) { return tslib.__awaiter(_this, void 0, void 0, function () {
676
+ var changeRows, selectedRows, selectedRowKeys, prevented;
677
+ var _this = this;
678
+ return tslib.__generator(this, function (_a) {
679
+ switch (_a.label) {
680
+ case 0:
681
+ if (value) {
682
+ changeRows = dataList.filter(function (data) { return !_this.hasCheckedRows(data); });
683
+ }
684
+ else {
685
+ changeRows = this.selectedRows;
686
+ }
687
+ selectedRows = value ? allRows : [];
688
+ selectedRowKeys = value ? allRowKeys : [];
689
+ if (!onSelectAll) return [3 /*break*/, 2];
690
+ return [4 /*yield*/, onSelectAll(value, selectedRowKeys, selectedRows, changeRows)];
691
+ case 1:
692
+ prevented = _a.sent();
693
+ if (prevented) {
694
+ return [2 /*return*/];
695
+ }
696
+ _a.label = 2;
697
+ case 2:
698
+ this.setState({ selectedRowKeys: selectedRowKeys });
699
+ return [2 /*return*/];
700
+ }
701
+ });
702
+ }); } }),
703
+ rowSelection.selections &&
704
+ rowSelection.selections.length > 0 ? (React__default["default"].createElement(HeadCellSelect["default"], { key: "checkSelection", keys: allRowKeys, selections: rowSelection.selections, popOverContainer: _this.getPopOverContainer })) : null
705
+ ]
706
+ : null)) : null,
707
+ !draggable && isExpandable && index === 0 ? (React__default["default"].createElement(Cell["default"], { wrapperComponent: "th", rowSpan: thColumns.length, fixed: expandable && expandable.fixed ? 'left' : '', className: cx('Table-row-expand-icon-cell') })) : null,
708
+ data.map(function (item, i) {
709
+ var sort = null;
710
+ if (item.sorter) {
711
+ sort = (React__default["default"].createElement(HeadCellSort["default"], { column: item, onSort: onSort
712
+ ? onSort
713
+ : function (payload) {
714
+ if (typeof item.sorter === 'function') {
715
+ if (payload.orderBy) {
716
+ var sortList = tslib.__spreadArray([], _this.state.dataSource, true);
717
+ _this.setState({
718
+ dataSource: sortList.sort(item.sorter)
719
+ });
720
+ }
721
+ else {
722
+ _this.setState({ dataSource: tslib.__spreadArray([], dataSource, true) });
723
+ }
724
+ }
725
+ } }));
726
+ }
727
+ var filter = null;
728
+ if (item.filterDropdown) {
729
+ filter = item.filterDropdown;
730
+ }
731
+ else if (item.filters && item.filters.length > 0) {
732
+ filter = (React__default["default"].createElement(HeadCellFilter["default"], { column: item, popOverContainer: _this.getPopOverContainer, onFilter: onFilter }));
733
+ }
734
+ var children = (React__default["default"].createElement("span", null,
735
+ sort,
736
+ filter,
737
+ resizable ? (React__default["default"].createElement("i", { className: cx('Table-thead-resizable'), onMouseDown: function (e) { return _this.onResizeMouseDown(e, item.key); } })) : null));
738
+ return (React__default["default"].createElement(Cell["default"], { wrapperComponent: "th", rowSpan: item.rowSpan, colSpan: item.colSpan, key: "cell-".concat(i), fixed: item.fixed === true ? 'left' : item.fixed, className: cx({
739
+ 'Table-cell-last': i === maxCount - 1 && i === data.length - 1
740
+ }), groupId: item.groupId, depth: item.depth }, typeof item.title === 'function'
741
+ ? item.title(children)
742
+ : item.title));
743
+ })));
744
+ })));
745
+ };
746
+ Table.prototype.onRowClick = function (event, record, rowIndex) {
747
+ var _a = this.props, rowSelection = _a.rowSelection, onRow = _a.onRow;
748
+ if (rowSelection && rowSelection.type && rowSelection.rowClick) {
749
+ var defaultKey_1 = this.getRowSelectionKeyField();
750
+ var isSelected = !!find__default["default"](this.state.selectedRowKeys, function (key) { return key === record[defaultKey_1]; });
751
+ this.selectedSingleRow(!isSelected, record);
752
+ }
753
+ if (record && onRow) {
754
+ onRow.onRowClick && onRow.onRowClick(event, record, rowIndex);
755
+ }
756
+ };
757
+ Table.prototype.onRowMouseEnter = function (event, record, rowIndex) {
758
+ var _a = this.props, cx = _a.classnames, onRow = _a.onRow;
759
+ var parent = event.target;
760
+ while (parent && parent.tagName !== 'TR') {
761
+ parent = parent.parentElement;
762
+ }
763
+ if (parent && !parent.classList.contains(cx('Table-row-disabled'))) {
764
+ for (var i = 0; i < parent.children.length; i++) {
765
+ var td = parent.children[i];
766
+ td.classList.add(cx('Table-cell-row-hover')); // 保证有列fixed的时候样式一致
767
+ }
768
+ }
769
+ if (record) {
770
+ var target = event.target;
771
+ if (target.tagName !== 'TR') {
772
+ target = target.closest('tr');
773
+ }
774
+ this.setState({ hoverRow: { target: target, rowIndex: rowIndex, record: record } }, function () {
775
+ if (onRow) {
776
+ onRow.onRowMouseEnter &&
777
+ onRow.onRowMouseEnter(event, record, rowIndex);
778
+ }
779
+ });
780
+ }
781
+ };
782
+ Table.prototype.onRowMouseLeave = function (event, record, rowIndex) {
783
+ var _a = this.props, cx = _a.classnames, onRow = _a.onRow;
784
+ var parent = event.target;
785
+ while (parent && parent.tagName !== 'TR') {
786
+ parent = parent.parentElement;
787
+ }
788
+ if (parent) {
789
+ for (var i = 0; i < parent.children.length; i++) {
790
+ var td = parent.children[i];
791
+ td.classList.remove(cx('Table-cell-row-hover'));
792
+ }
793
+ }
794
+ if (record) {
795
+ if (onRow) {
796
+ onRow.onRowMouseLeave && onRow.onRowMouseLeave(event, record, rowIndex);
797
+ }
798
+ }
799
+ };
800
+ Table.prototype.onMouseLeave = function (event) {
801
+ this.setState({ hoverRow: null });
802
+ };
803
+ Table.prototype.onExpandRow = function (data) {
804
+ var expandedRowKeys = this.state.expandedRowKeys;
805
+ var expandable = this.props.expandable;
806
+ var key = data[this.getExpandableKeyField()];
807
+ this.setState({ expandedRowKeys: tslib.__spreadArray(tslib.__spreadArray([], expandedRowKeys, true), [key], false) });
808
+ (expandable === null || expandable === void 0 ? void 0 : expandable.onExpand) && (expandable === null || expandable === void 0 ? void 0 : expandable.onExpand(true, data));
809
+ };
810
+ Table.prototype.onCollapseRow = function (data) {
811
+ var expandedRowKeys = this.state.expandedRowKeys;
812
+ var expandable = this.props.expandable;
813
+ var key = data[this.getExpandableKeyField()];
814
+ // 还是得模糊匹配 否则'3'、3匹配不上
815
+ this.setState({ expandedRowKeys: expandedRowKeys.filter(function (k) { return k != key; }) });
816
+ (expandable === null || expandable === void 0 ? void 0 : expandable.onExpand) && (expandable === null || expandable === void 0 ? void 0 : expandable.onExpand(false, data));
817
+ };
818
+ Table.prototype.getChildrenColumnName = function () {
819
+ var childrenColumnName = this.props.childrenColumnName;
820
+ return childrenColumnName || 'children';
821
+ };
822
+ Table.prototype.getRowSelectionKeyField = function () {
823
+ var rowSelection = this.props.rowSelection;
824
+ return rowSelection ? rowSelection.keyField || 'key' : '';
825
+ };
826
+ Table.prototype.getExpandableKeyField = function () {
827
+ var _a = this.props, expandable = _a.expandable, keyField = _a.keyField;
828
+ return (expandable === null || expandable === void 0 ? void 0 : expandable.keyField) || keyField || 'key';
829
+ };
830
+ Table.prototype.hasChildrenRow = function (data) {
831
+ var key = this.getChildrenColumnName();
832
+ return data[key] && Array.isArray(data[key]) && data[key].length > 0;
833
+ };
834
+ // 展开和嵌套不能共存
835
+ Table.prototype.isExpandableRow = function (data, rowIndex) {
836
+ var expandable = this.props.expandable;
837
+ return (expandable &&
838
+ expandable.rowExpandable &&
839
+ expandable.rowExpandable(data, rowIndex));
840
+ };
841
+ // 获取当前行数据所有子行的key值
842
+ Table.prototype.getDataChildrenKeys = function (data) {
843
+ var _this = this;
844
+ var keys = [];
845
+ if (this.hasChildrenRow(data)) {
846
+ var key = this.getChildrenColumnName();
847
+ data[key].forEach(function (item) {
848
+ return (keys = tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([], keys, true), _this.getDataChildrenKeys(item), true), [
849
+ item[_this.getRowSelectionKeyField()]
850
+ ], false));
851
+ });
852
+ }
853
+ return keys;
854
+ };
855
+ Table.prototype.hasCheckedRows = function (data) {
856
+ var selectedRowKeys = this.state.selectedRowKeys;
857
+ var childrenKeys = this.getDataChildrenKeys(data);
858
+ return (intersection__default["default"](selectedRowKeys, tslib.__spreadArray(tslib.__spreadArray([], childrenKeys, true), [
859
+ data[this.getRowSelectionKeyField()]
860
+ ], false)).length > 0);
861
+ };
862
+ Table.prototype.hasCheckedChildrenRows = function (data) {
863
+ var selectedRowKeys = this.state.selectedRowKeys;
864
+ var childrenKeys = this.getDataChildrenKeys(data);
865
+ var length = intersection__default["default"](selectedRowKeys, childrenKeys).length;
866
+ return length > 0;
867
+ };
868
+ Table.prototype.getExpandedIcons = function (isExpanded, record) {
869
+ var cx = this.props.classnames;
870
+ return isExpanded ? (React__default["default"].createElement("i", { className: cx('Table-expandBtn', 'is-active'), onClick: this.onCollapseRow.bind(this, record) },
871
+ React__default["default"].createElement(icons.Icon, { icon: "right-arrow-bold", className: "icon" }))) : (React__default["default"].createElement("i", { className: cx('Table-expandBtn'), onClick: this.onExpandRow.bind(this, record) },
872
+ React__default["default"].createElement(icons.Icon, { icon: "right-arrow-bold", className: "icon" })));
873
+ };
874
+ Table.prototype.selectedSingleRow = function (value, data) {
875
+ return tslib.__awaiter(this, void 0, void 0, function () {
876
+ var _a, rowSelection, onSelect, defaultKey, isRadio, prevented;
877
+ var _this = this;
878
+ return tslib.__generator(this, function (_b) {
879
+ switch (_b.label) {
880
+ case 0:
881
+ _a = this.props, rowSelection = _a.rowSelection, onSelect = _a.onSelect;
882
+ defaultKey = this.getRowSelectionKeyField();
883
+ isRadio = rowSelection && rowSelection.type === 'radio';
884
+ if (!onSelect) return [3 /*break*/, 2];
885
+ return [4 /*yield*/, onSelect(data, value, this.selectedRows, this.state.selectedRowKeys)];
886
+ case 1:
887
+ prevented = _b.sent();
888
+ if (prevented) {
889
+ return [2 /*return*/];
890
+ }
891
+ _b.label = 2;
892
+ case 2:
893
+ if (value) {
894
+ if (isRadio) {
895
+ this.setState({ selectedRowKeys: [data[defaultKey]] });
896
+ }
897
+ else {
898
+ this.setState(function (prevState) { return ({
899
+ selectedRowKeys: tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([], prevState.selectedRowKeys, true), [
900
+ data[defaultKey]
901
+ ], false), _this.getDataChildrenKeys(data), true).filter(function (key, i, a) { return a.indexOf(key) === i; })
902
+ }); });
903
+ }
904
+ }
905
+ else {
906
+ if (!isRadio) {
907
+ this.setState({
908
+ selectedRowKeys: this.state.selectedRowKeys.filter(function (key) {
909
+ return !tslib.__spreadArray([data[defaultKey]], _this.getDataChildrenKeys(data), true).includes(key);
910
+ })
911
+ });
912
+ }
913
+ }
914
+ return [2 /*return*/];
915
+ }
916
+ });
917
+ });
918
+ };
919
+ Table.prototype.renderRow = function (data, rowIndex, levels) {
920
+ var _this = this;
921
+ var _a = this.props, cx = _a.classnames, rowSelection = _a.rowSelection, expandable = _a.expandable, draggable = _a.draggable, indentSize = _a.indentSize, rowClassName = _a.rowClassName, lineHeight = _a.lineHeight // 是否设置了固定行高
922
+ ;
923
+ var tdColumns = this.tdColumns;
924
+ var isExpandable = this.isExpandableTable();
925
+ var defaultKey = this.getRowSelectionKeyField();
926
+ var colCount = this.getExtraColumnCount();
927
+ // 当前行是否可展开
928
+ var isExpandableRow = this.isExpandableRow(data, rowIndex);
929
+ // 当前行是否有children
930
+ var hasChildrenRow = this.hasChildrenRow(data);
931
+ var isExpanded = !!find__default["default"](this.state.expandedRowKeys, function (key) { return key == data[_this.getExpandableKeyField()]; }); // == 匹配 否则'3'、3匹配不上
932
+ // 设置缩进效果
933
+ var indentDom = levels.length > 0 ? (React__default["default"].createElement("span", { className: cx('Table-row-indent', "indent-level-".concat(levels.length)), style: levels.length > 0
934
+ ? { paddingLeft: indentSize * levels.length + 'px' }
935
+ : {} })) : null;
936
+ var cells = tdColumns.map(function (item, i) {
937
+ var _a, _b;
938
+ var render = item.render && typeof item.render === 'function'
939
+ ? item.render(data[item.key], data, rowIndex, i)
940
+ : null;
941
+ var props = { rowSpan: 1, colSpan: 1 };
942
+ var children = render;
943
+ if (render && amisCore.isObject(render)) {
944
+ props = render.props;
945
+ children = render.children;
946
+ // 如果合并行 且有展开行,那么合并行不生效
947
+ if (props.rowSpan > 1 && isExpandableRow && hasChildrenRow) {
948
+ props.rowSpan === 1;
949
+ }
950
+ }
951
+ var className = typeof item.className === 'function'
952
+ ? item.className(data, rowIndex)
953
+ : '';
954
+ return props.rowSpan === 0 || props.colSpan === 0 ? null : (React__default["default"].createElement(Cell["default"], tslib.__assign({ key: i }, props, { fixed: item.fixed === true ? 'left' : item.fixed, column: item, groupId: item.groupId, className: cx((_a = {},
955
+ _a["".concat(className)] = !!className,
956
+ _a)) }),
957
+ React__default["default"].createElement("div", { className: cx('Table-cell-wrapper', (_b = {},
958
+ _b[cx('Table-cell-wrapper-prefix')] = i === 0 &&
959
+ (!!indentDom || (levels.length === 0 && hasChildrenRow)),
960
+ _b[cx("Table-cell-height-".concat(lineHeight))] = !!lineHeight,
961
+ _b)) },
962
+ i === 0 && levels.length > 0 ? indentDom : null,
963
+ i === 0 && hasChildrenRow
964
+ ? _this.getExpandedIcons(isExpanded, data)
965
+ : null,
966
+ render ? children : data[item.key])));
967
+ });
968
+ var rowClassNameClass = rowClassName && typeof rowClassName === 'function'
969
+ ? rowClassName(data, rowIndex)
970
+ : '';
971
+ // 可展开和嵌套不能同时支持
972
+ // 设置了expandable 数据源里有children也就不生效了
973
+ // 拖拽排序 可选、可展开都先不支持了,可以支持嵌套展示
974
+ var checkboxProps = rowSelection && rowSelection.getCheckboxProps
975
+ ? rowSelection.getCheckboxProps(data, rowIndex)
976
+ : {};
977
+ var expandedRowClassName = expandable &&
978
+ expandable.expandedRowClassName &&
979
+ typeof expandable.expandedRowClassName === 'function'
980
+ ? expandable.expandedRowClassName(data, rowIndex)
981
+ : '';
982
+ var dataKey = this.getChildrenColumnName();
983
+ var children = !draggable && isExpandableRow && isExpanded ? (React__default["default"].createElement("tr", { key: "expanded", className: cx('Table-expanded-row', expandedRowClassName) },
984
+ React__default["default"].createElement(Cell["default"], { colSpan: tdColumns.length + colCount }, expandable &&
985
+ expandable.expandedRowRender &&
986
+ typeof expandable.expandedRowRender === 'function'
987
+ ? expandable.expandedRowRender(data, rowIndex)
988
+ : null))) : this.hasChildrenRow(data) && isExpanded ? (data[dataKey].map(function (item, index) {
989
+ return _this.renderRow(item, index, tslib.__spreadArray(tslib.__spreadArray([], levels, true), [rowIndex], false));
990
+ })) : null;
991
+ var isChecked = !!find__default["default"](this.state.selectedRowKeys, function (key) { return key === data[defaultKey]; });
992
+ var hasChildrenChecked = this.hasCheckedChildrenRows(data);
993
+ return [
994
+ React__default["default"].createElement("tr", { key: rowIndex, "row-index": rowIndex, "row-levels": levels.join(','), className: cx('Table-row', "Table-row-level-".concat(levels.length), rowClassNameClass, {
995
+ 'Table-row-disabled': !!checkboxProps.disabled
996
+ }), onMouseEnter: function (e) { return _this.onRowMouseEnter(e, data, rowIndex); }, onMouseLeave: function (e) { return _this.onRowMouseLeave(e, data, rowIndex); }, onClick: function (e) { return _this.onRowClick(e, data, rowIndex); } },
997
+ draggable ? (React__default["default"].createElement(Cell["default"], { className: cx('Table-dragCell') },
998
+ React__default["default"].createElement(icons.Icon, { icon: "drag-bar", className: "icon" }))) : null,
999
+ !draggable && rowSelection ? (React__default["default"].createElement(Cell["default"], { fixed: rowSelection.fixed ? 'left' : '', className: cx('Table-checkCell') },
1000
+ React__default["default"].createElement(Checkbox["default"], tslib.__assign({ name: 'Table-checkbox', type: rowSelection.type || 'checkbox', partial: hasChildrenChecked && !isChecked, checked: hasChildrenChecked || isChecked, onChange: function (value, shift) {
1001
+ if (!(rowSelection && rowSelection.rowClick)) {
1002
+ _this.selectedSingleRow(value, data);
1003
+ }
1004
+ event && event.stopPropagation();
1005
+ } }, checkboxProps)))) : null,
1006
+ !draggable && isExpandable ? (React__default["default"].createElement(Cell["default"], { fixed: expandable && expandable.fixed ? 'left' : '', className: cx('Table-cell-expand-icon-cell') }, isExpandableRow || hasChildrenRow
1007
+ ? this.getExpandedIcons(isExpanded, data)
1008
+ : null)) : null,
1009
+ cells),
1010
+ children
1011
+ ];
1012
+ };
1013
+ Table.prototype.renderTBody = function () {
1014
+ var _this = this;
1015
+ var _a = this.props, cx = _a.classnames, headSummary = _a.headSummary, scroll = _a.scroll, placeholder = _a.placeholder, sticky = _a.sticky;
1016
+ var tdColumns = this.tdColumns;
1017
+ var hasScrollY = scroll && scroll.y;
1018
+ var colCount = this.getExtraColumnCount();
1019
+ return (React__default["default"].createElement("tbody", { ref: this.tbodyDom, className: cx('Table-tbody') },
1020
+ !hasScrollY && !sticky && headSummary
1021
+ ? this.renderSummaryRow(headSummary)
1022
+ : null,
1023
+ !this.state.dataSource.length ? (React__default["default"].createElement("tr", { className: cx('Table-row', 'Table-empty-row') },
1024
+ React__default["default"].createElement(Cell["default"], { colSpan: tdColumns.length + colCount },
1025
+ React__default["default"].createElement("div", { className: cx('Table-empty') }, typeof placeholder === 'function'
1026
+ ? placeholder()
1027
+ : placeholder)))) : (this.state.dataSource.map(function (data, index) {
1028
+ return _this.renderRow(data, index, []);
1029
+ }))));
1030
+ };
1031
+ Table.prototype.isExpandableTable = function () {
1032
+ var expandable = this.props.expandable;
1033
+ // 设置了expandable 优先级更高
1034
+ // 就不支持默认嵌套了
1035
+ return !!expandable;
1036
+ };
1037
+ Table.prototype.isNestedTable = function () {
1038
+ var _this = this;
1039
+ var dataSource = this.props.dataSource;
1040
+ return !!find__default["default"](dataSource, function (item) { return _this.hasChildrenRow(item); });
1041
+ };
1042
+ Table.prototype.getExtraColumnCount = function () {
1043
+ var _a = this.props, draggable = _a.draggable, rowSelection = _a.rowSelection;
1044
+ var count = 0;
1045
+ if (draggable) {
1046
+ count++;
1047
+ }
1048
+ else {
1049
+ if (this.isExpandableTable()) {
1050
+ count++;
1051
+ }
1052
+ if (rowSelection) {
1053
+ count++;
1054
+ }
1055
+ }
1056
+ return count;
1057
+ };
1058
+ Table.prototype.renderSummaryRow = function (summary) {
1059
+ var _this = this;
1060
+ var _a = this.props, cx = _a.classnames, dataSource = _a.dataSource;
1061
+ var cells = [];
1062
+ var trs = [];
1063
+ var colCount = this.getExtraColumnCount();
1064
+ Array.isArray(summary)
1065
+ ? summary.forEach(function (s, index) {
1066
+ Array.isArray(s)
1067
+ ? trs.push(React__default["default"].createElement("tr", { onMouseEnter: function (e) { return _this.onRowMouseEnter(e); }, onMouseLeave: function (e) { return _this.onRowMouseLeave(e); }, key: 'summary-tr-' + index, className: cx('Table-summary-row') }, s.map(function (d, i) {
1068
+ // 将操作列自动添加到第一列,用户的colSpan只需要关心实际的列数
1069
+ var colSpan = i === 0 ? (d.colSpan || 1) + colCount : d.colSpan;
1070
+ return (React__default["default"].createElement(Cell["default"], { key: 'summary-tr-cell-' + i, fixed: d.fixed, colSpan: colSpan }, typeof d.render === 'function'
1071
+ ? d.render(dataSource)
1072
+ : d.render));
1073
+ })))
1074
+ : cells.push(React__default["default"].createElement(Cell["default"], { key: 'summary-cell-' + index, fixed: s.fixed, colSpan: cells.length === 0 ? (s.colSpan || 1) + colCount : s.colSpan }, typeof s.render === 'function'
1075
+ ? s.render(dataSource)
1076
+ : s.render));
1077
+ })
1078
+ : null;
1079
+ return summary
1080
+ ? typeof summary === 'function'
1081
+ ? summary(dataSource)
1082
+ : tslib.__spreadArray([
1083
+ cells.length > 0 ? (React__default["default"].createElement("tr", { onMouseEnter: function (e) { return _this.onRowMouseEnter(e); }, onMouseLeave: function (e) { return _this.onRowMouseLeave(e); }, key: "summary-row", className: cx('Table-summary-row') }, cells)) : null
1084
+ ], trs, true)
1085
+ : null;
1086
+ };
1087
+ Table.prototype.renderTFoot = function () {
1088
+ var _a = this.props, cx = _a.classnames, footSummary = _a.footSummary;
1089
+ return (React__default["default"].createElement("tfoot", { ref: this.tfootDom, className: cx('Table-summary') }, this.renderSummaryRow(footSummary)));
1090
+ };
1091
+ Table.prototype.updateTableDom = function (dom) {
1092
+ var cx = this.props.classnames;
1093
+ var scrollLeft = dom.scrollLeft, scrollWidth = dom.scrollWidth, offsetWidth = dom.offsetWidth;
1094
+ var table = this.tableDom.current;
1095
+ var leftCalss = cx('Table-ping-left');
1096
+ if (scrollLeft > 0) {
1097
+ table === null || table === void 0 ? void 0 : table.classList.add(leftCalss);
1098
+ }
1099
+ else {
1100
+ table === null || table === void 0 ? void 0 : table.classList.remove(leftCalss);
1101
+ }
1102
+ var rightClass = cx('Table-ping-right');
1103
+ if (scrollLeft + offsetWidth < scrollWidth) {
1104
+ table === null || table === void 0 ? void 0 : table.classList.add(rightClass);
1105
+ }
1106
+ else {
1107
+ table === null || table === void 0 ? void 0 : table.classList.remove(rightClass);
1108
+ }
1109
+ };
1110
+ Table.prototype.onTableContentScroll = function (event) {
1111
+ this.updateTableDom(event.target);
1112
+ };
1113
+ Table.prototype.onWheel = function (event) {
1114
+ var _a = event, currentTarget = _a.currentTarget, deltaX = _a.deltaX;
1115
+ if (deltaX) {
1116
+ this.onTableScroll({
1117
+ target: currentTarget,
1118
+ scrollLeft: currentTarget.scrollLeft + deltaX
1119
+ });
1120
+ event.preventDefault();
1121
+ }
1122
+ };
1123
+ Table.prototype.onTableScroll = function (event) {
1124
+ var scrollDomRefs = [this.headerDom, this.bodyDom, this.footDom];
1125
+ var target = event.target, scrollLeft = event.scrollLeft;
1126
+ scrollDomRefs.forEach(function (ref) {
1127
+ var current = ref && ref.current;
1128
+ if (current && current !== target) {
1129
+ current.scrollLeft = scrollLeft || target.scrollLeft;
1130
+ }
1131
+ });
1132
+ this.updateTableDom(target);
1133
+ };
1134
+ Table.prototype.renderLoading = function () {
1135
+ var _a = this.props, cx = _a.classnames, loading = _a.loading;
1136
+ return (React__default["default"].createElement("div", { className: cx('Table-loading') }, typeof loading === 'boolean' ? React__default["default"].createElement(Spinner["default"], null) : loading));
1137
+ };
1138
+ Table.prototype.renderTable = function () {
1139
+ var _a = this.props, scroll = _a.scroll, footSummary = _a.footSummary, loading = _a.loading, showHeader = _a.showHeader, itemActions = _a.itemActions, cx = _a.classnames;
1140
+ // 设置了横向滚动轴 则table的table-layout为fixed
1141
+ var hasScrollX = scroll && scroll.x;
1142
+ var hoverRow = this.state.hoverRow;
1143
+ return (React__default["default"].createElement("div", { ref: this.contentDom, className: cx('Table-content'), style: hasScrollX ? { overflow: 'auto hidden' } : {}, onMouseLeave: this.onMouseLeave.bind(this) },
1144
+ itemActions && hoverRow ? (React__default["default"].createElement(ItemActionsWrapper["default"], { dom: hoverRow.target, classnames: cx }, typeof itemActions === 'function'
1145
+ ? itemActions(hoverRow.record, hoverRow.rowIndex)
1146
+ : null)) : null,
1147
+ React__default["default"].createElement("table", { style: hasScrollX
1148
+ ? { width: scroll.x + 'px', tableLayout: 'fixed' }
1149
+ : { tableLayout: 'auto' }, className: cx('Table-table') },
1150
+ this.renderColGroup(),
1151
+ showHeader ? this.renderTHead() : null,
1152
+ !loading ? this.renderTBody() : null,
1153
+ !loading && footSummary ? this.renderTFoot() : null),
1154
+ loading ? this.renderLoading() : null));
1155
+ };
1156
+ Table.prototype.renderScrollTableHeader = function () {
1157
+ var _a;
1158
+ var _b = this.props, scroll = _b.scroll, headSummary = _b.headSummary, sticky = _b.sticky, showHeader = _b.showHeader, cx = _b.classnames;
1159
+ var style = { overflow: 'hidden' };
1160
+ if (!!sticky) {
1161
+ Object.assign(style, { top: 0 });
1162
+ }
1163
+ var tableStyle = {};
1164
+ if (scroll && (scroll.y || scroll.x)) {
1165
+ Object.assign(tableStyle, {
1166
+ width: scroll && scroll.x ? scroll.x + 'px' : '100%',
1167
+ tableLayout: 'fixed'
1168
+ });
1169
+ }
1170
+ return (React__default["default"].createElement("div", { ref: this.headerDom, className: cx('Table-header', (_a = {},
1171
+ _a[cx('Table-sticky-holder')] = !!sticky,
1172
+ _a)), style: style },
1173
+ React__default["default"].createElement("table", { className: cx('Table-table'), style: tableStyle },
1174
+ this.renderColGroup(this.state.colWidths),
1175
+ showHeader ? this.renderTHead() : null,
1176
+ headSummary ? (React__default["default"].createElement("tbody", null, this.renderSummaryRow(headSummary))) : null)));
1177
+ };
1178
+ Table.prototype.renderScrollTableBody = function () {
1179
+ var _a = this.props, scroll = _a.scroll, itemActions = _a.itemActions, cx = _a.classnames;
1180
+ var style = {};
1181
+ var tableStyle = {};
1182
+ if (scroll && (scroll.y || scroll.x)) {
1183
+ Object.assign(style, {
1184
+ overflow: 'auto scroll',
1185
+ maxHeight: scroll.y
1186
+ });
1187
+ Object.assign(tableStyle, {
1188
+ width: scroll && scroll.x ? scroll.x + 'px' : '100%',
1189
+ tableLayout: 'fixed'
1190
+ });
1191
+ }
1192
+ var hoverRow = this.state.hoverRow;
1193
+ return (React__default["default"].createElement("div", { ref: this.bodyDom, className: cx('Table-body'), style: style, onMouseLeave: this.onMouseLeave.bind(this) },
1194
+ itemActions && hoverRow ? (React__default["default"].createElement(ItemActionsWrapper["default"], { dom: hoverRow.target, classnames: cx }, typeof itemActions === 'function'
1195
+ ? itemActions(hoverRow.record, hoverRow.rowIndex)
1196
+ : null)) : null,
1197
+ React__default["default"].createElement("table", { className: cx('Table-table'), style: tableStyle },
1198
+ this.renderColGroup(),
1199
+ this.renderTBody())));
1200
+ };
1201
+ Table.prototype.renderScrollTableFoot = function () {
1202
+ var _a = this.props, scroll = _a.scroll, cx = _a.classnames;
1203
+ return (React__default["default"].createElement("div", { ref: this.footDom, className: cx('Table-summary'), style: { overflow: 'hidden' } },
1204
+ React__default["default"].createElement("table", { className: cx('Table-table'), style: { width: (scroll === null || scroll === void 0 ? void 0 : scroll.x) + 'px' || '100%', tableLayout: 'fixed' } }, this.renderTFoot())));
1205
+ };
1206
+ Table.prototype.renderScrollTable = function () {
1207
+ var _a = this.props, footSummary = _a.footSummary, loading = _a.loading, cx = _a.classnames;
1208
+ return (React__default["default"].createElement("div", { className: cx('Table-container') },
1209
+ this.renderScrollTableHeader(),
1210
+ !loading ? this.renderScrollTableBody() : null,
1211
+ !loading && footSummary ? this.renderScrollTableFoot() : null,
1212
+ loading ? this.renderLoading() : null));
1213
+ };
1214
+ Table.prototype.render = function () {
1215
+ var _a;
1216
+ var _b = this.props, title = _b.title, footer = _b.footer, className = _b.className, scroll = _b.scroll, size = _b.size, bordered = _b.bordered, resizable = _b.resizable, columns = _b.columns, sticky = _b.sticky, cx = _b.classnames;
1217
+ // 过滤掉设置了breakpoint属性的列
1218
+ var filterColumns = columns.filter(function (item) { return !item.breakpoint || !amisCore.isBreakpoint(item.breakpoint); });
1219
+ this.thColumns = [];
1220
+ this.tdColumns = [];
1221
+ buildColumns(filterColumns, this.thColumns, this.tdColumns);
1222
+ // 是否设置了纵向滚动
1223
+ var hasScrollY = scroll && scroll.y;
1224
+ // 是否设置了横向滚动
1225
+ var hasScrollX = scroll && scroll.x;
1226
+ return (React__default["default"].createElement("div", { ref: this.tableDom, className: cx('Table-v2', className, (_a = {},
1227
+ _a[cx('Table-scroll-horizontal')] = hasScrollX,
1228
+ _a[cx("Table-".concat(size))] = size,
1229
+ _a[cx('Table-bordered')] = bordered,
1230
+ _a[cx('Table-resizable')] = resizable,
1231
+ _a)) },
1232
+ title ? (React__default["default"].createElement("div", { className: cx('Table-title') }, typeof title === 'function' ? title() : title)) : null,
1233
+ hasScrollY || sticky ? (this.renderScrollTable()) : (React__default["default"].createElement("div", { className: cx('Table-container') }, this.renderTable())),
1234
+ footer ? (React__default["default"].createElement("div", { className: cx('Table-footer') }, typeof footer === 'function' ? footer() : footer)) : null));
1235
+ };
1236
+ Table.defaultProps = {
1237
+ title: '',
1238
+ className: '',
1239
+ dataSource: [],
1240
+ columns: [],
1241
+ indentSize: 15,
1242
+ placeholder: '暂无数据',
1243
+ showHeader: true
1244
+ };
1245
+ return Table;
1246
+ }(React__default["default"].PureComponent));
1247
+ var index = amisCore.themeable(amisCore.localeable(Table));
1248
+
1249
+ exports.Table = Table;
1250
+ exports["default"] = index;