amis-rev-ui 6.13.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 (783) hide show
  1. package/LICENSE +201 -0
  2. package/esm/HTMLFilterContext.d.ts +3 -0
  3. package/esm/HTMLFilterContext.js +10 -0
  4. package/esm/components/404.js +35 -0
  5. package/esm/components/Alert.js +266 -0
  6. package/esm/components/Alert2.js +58 -0
  7. package/esm/components/AlphabetIndexer.d.ts +11 -0
  8. package/esm/components/AlphabetIndexer.js +48 -0
  9. package/esm/components/AnchorNav.js +153 -0
  10. package/esm/components/AnchorNavSection.d.ts +2 -0
  11. package/esm/components/AnchorNavSection.js +7 -0
  12. package/esm/components/ArrayInput.js +146 -0
  13. package/esm/components/AsideNav.js +133 -0
  14. package/esm/components/AssociatedSelection.js +107 -0
  15. package/esm/components/AutoFoldedList.js +124 -0
  16. package/esm/components/AutoSizer.d.ts +2 -0
  17. package/esm/components/AutoSizer.js +8 -0
  18. package/esm/components/Avatar.js +126 -0
  19. package/esm/components/Badge.d.ts +20 -0
  20. package/esm/components/Badge.js +154 -0
  21. package/esm/components/BaiduMapPicker.js +366 -0
  22. package/esm/components/BarCode.js +42 -0
  23. package/esm/components/Breadcrumb.js +160 -0
  24. package/esm/components/Button.js +64 -0
  25. package/esm/components/CalendarMobile.js +538 -0
  26. package/esm/components/Card.js +88 -0
  27. package/esm/components/Cascader.js +515 -0
  28. package/esm/components/ChainedDropdownSelection.js +104 -0
  29. package/esm/components/ChainedSelection.js +184 -0
  30. package/esm/components/Checkbox.js +87 -0
  31. package/esm/components/CityArea.js +190 -0
  32. package/esm/components/CityDB.d.ts +13 -0
  33. package/esm/components/CityDB.js +3942 -0
  34. package/esm/components/CodeMirror.d.ts +29 -0
  35. package/esm/components/CodeMirror.js +140 -0
  36. package/esm/components/Collapse.js +184 -0
  37. package/esm/components/CollapseGroup.js +117 -0
  38. package/esm/components/ColorPicker.js +259 -0
  39. package/esm/components/Combo.js +212 -0
  40. package/esm/components/ConditionBuilder.d.ts +2 -0
  41. package/esm/components/ConditionBuilder.js +7 -0
  42. package/esm/components/ConfirmBox.js +128 -0
  43. package/esm/components/ContextMenu.js +310 -0
  44. package/esm/components/DatePicker.js +716 -0
  45. package/esm/components/DateRangePicker.js +1385 -0
  46. package/esm/components/DiffEditor.d.ts +21 -0
  47. package/esm/components/DiffEditor.js +119 -0
  48. package/esm/components/DndContainer.js +25 -0
  49. package/esm/components/Drawer.js +272 -0
  50. package/esm/components/DropDownSelection.js +77 -0
  51. package/esm/components/DropdownContextMenus.js +93 -0
  52. package/esm/components/Editor.js +238 -0
  53. package/esm/components/Form.d.ts +31 -0
  54. package/esm/components/Form.js +84 -0
  55. package/esm/components/FormField.js +78 -0
  56. package/esm/components/FormulaPicker.d.ts +2 -0
  57. package/esm/components/FormulaPicker.js +7 -0
  58. package/esm/components/GaodeMapPicker.js +204 -0
  59. package/esm/components/GridNav.d.ts +53 -0
  60. package/esm/components/GridNav.js +125 -0
  61. package/esm/components/GridNavItem.d.ts +2 -0
  62. package/esm/components/GridNavItem.js +7 -0
  63. package/esm/components/GroupedSelection.js +138 -0
  64. package/esm/components/HeadCellDropDown.d.ts +2 -0
  65. package/esm/components/HeadCellDropDown.js +7 -0
  66. package/esm/components/HorizontalScroll.d.ts +74 -0
  67. package/esm/components/HorizontalScroll.js +271 -0
  68. package/esm/components/Html.js +55 -0
  69. package/esm/components/Icon.d.ts +2 -0
  70. package/esm/components/Icon.js +7 -0
  71. package/esm/components/ImageGallery.js +396 -0
  72. package/esm/components/Input.d.ts +18 -0
  73. package/esm/components/Input.js +75 -0
  74. package/esm/components/InputBox.js +99 -0
  75. package/esm/components/InputBoxWithSuggestion.js +70 -0
  76. package/esm/components/InputJSONSchema.d.ts +2 -0
  77. package/esm/components/InputJSONSchema.js +7 -0
  78. package/esm/components/InputTable.js +176 -0
  79. package/esm/components/JSONSchemaEditor.d.ts +2 -0
  80. package/esm/components/JSONSchemaEditor.js +7 -0
  81. package/esm/components/Layout.js +60 -0
  82. package/esm/components/Link.js +44 -0
  83. package/esm/components/ListGroup.js +31 -0
  84. package/esm/components/ListMenu.js +62 -0
  85. package/esm/components/LocationPicker.js +208 -0
  86. package/esm/components/Markdown.d.ts +25 -0
  87. package/esm/components/Markdown.js +70 -0
  88. package/esm/components/Menu.d.ts +2 -0
  89. package/esm/components/Menu.js +7 -0
  90. package/esm/components/MixedInput.js +88 -0
  91. package/esm/components/MobileDevTool.d.ts +12 -0
  92. package/esm/components/MobileDevTool.js +312 -0
  93. package/esm/components/Modal.js +261 -0
  94. package/esm/components/ModalManager.d.ts +16 -0
  95. package/esm/components/ModalManager.js +42 -0
  96. package/esm/components/MultilineText.js +90 -0
  97. package/esm/components/NumberInput.js +274 -0
  98. package/esm/components/OverflowTpl.js +100 -0
  99. package/esm/components/Pagination.js +377 -0
  100. package/esm/components/PdfViewer.js +83 -0
  101. package/esm/components/Picker.js +73 -0
  102. package/esm/components/PickerColumn.js +276 -0
  103. package/esm/components/PickerContainer.js +157 -0
  104. package/esm/components/PopOverContainer.d.ts +59 -0
  105. package/esm/components/PopOverContainer.js +148 -0
  106. package/esm/components/PopUp.js +85 -0
  107. package/esm/components/Progress.js +136 -0
  108. package/esm/components/PullRefresh.js +172 -0
  109. package/esm/components/Radios.js +129 -0
  110. package/esm/components/Range.js +516 -0
  111. package/esm/components/Rating.js +341 -0
  112. package/esm/components/ResultBox.js +195 -0
  113. package/esm/components/ResultList.js +253 -0
  114. package/esm/components/ResultTableList.js +152 -0
  115. package/esm/components/ResultTreeList.js +241 -0
  116. package/esm/components/RichText.d.ts +48 -0
  117. package/esm/components/RichText.js +271 -0
  118. package/esm/components/SearchBox.js +298 -0
  119. package/esm/components/Select.js +814 -0
  120. package/esm/components/SelectMobile.d.ts +38 -0
  121. package/esm/components/SelectMobile.js +369 -0
  122. package/esm/components/Selection.js +166 -0
  123. package/esm/components/Shape.js +429 -0
  124. package/esm/components/Signature.js +294 -0
  125. package/esm/components/Slider.js +140 -0
  126. package/esm/components/SparkLine.js +62 -0
  127. package/esm/components/Spinner.js +202 -0
  128. package/esm/components/Steps.js +76 -0
  129. package/esm/components/Switch.js +73 -0
  130. package/esm/components/Tab.d.ts +2 -0
  131. package/esm/components/Tab.js +7 -0
  132. package/esm/components/Table.d.ts +2 -0
  133. package/esm/components/Table.js +7 -0
  134. package/esm/components/TableSelection.js +169 -0
  135. package/esm/components/Tabs.js +607 -0
  136. package/esm/components/TabsTransfer.js +221 -0
  137. package/esm/components/TabsTransferPicker.js +81 -0
  138. package/esm/components/Tag.js +137 -0
  139. package/esm/components/Textarea.js +146 -0
  140. package/esm/components/Timeline.js +60 -0
  141. package/esm/components/TimelineItem.js +101 -0
  142. package/esm/components/Tinymce.d.ts +66 -0
  143. package/esm/components/Tinymce.js +634 -0
  144. package/esm/components/TitleBar.js +48 -0
  145. package/esm/components/Toast.js +247 -0
  146. package/esm/components/Tooltip.js +36 -0
  147. package/esm/components/TooltipWrapper.js +180 -0
  148. package/esm/components/Transfer.js +485 -0
  149. package/esm/components/TransferDropDown.js +98 -0
  150. package/esm/components/TransferPicker.js +98 -0
  151. package/esm/components/TransferSearch.js +100 -0
  152. package/esm/components/Tree.js +1256 -0
  153. package/esm/components/TreeSelection.js +201 -0
  154. package/esm/components/UserSelect.js +674 -0
  155. package/esm/components/UserTabSelect.js +227 -0
  156. package/esm/components/VerificationCode.js +172 -0
  157. package/esm/components/VirtualList.d.ts +2 -0
  158. package/esm/components/VirtualList.js +7 -0
  159. package/esm/components/WithRemoteConfig.d.ts +70 -0
  160. package/esm/components/WithRemoteConfig.js +301 -0
  161. package/esm/components/WithStore.d.ts +13 -0
  162. package/esm/components/WithStore.js +48 -0
  163. package/esm/components/calendar/Calendar.d.ts +83 -0
  164. package/esm/components/calendar/Calendar.js +529 -0
  165. package/esm/components/calendar/CalendarContainer.d.ts +10 -0
  166. package/esm/components/calendar/CalendarContainer.js +27 -0
  167. package/esm/components/calendar/DaysView.js +528 -0
  168. package/esm/components/calendar/MonthsView.js +175 -0
  169. package/esm/components/calendar/QuartersView.js +125 -0
  170. package/esm/components/calendar/TimeView.js +559 -0
  171. package/esm/components/calendar/YearsView.js +122 -0
  172. package/esm/components/condition-builder/Expression.js +121 -0
  173. package/esm/components/condition-builder/Field.js +32 -0
  174. package/esm/components/condition-builder/Func.js +75 -0
  175. package/esm/components/condition-builder/Group.js +196 -0
  176. package/esm/components/condition-builder/GroupOrItem.js +107 -0
  177. package/esm/components/condition-builder/InputSwitch.js +28 -0
  178. package/esm/components/condition-builder/Item.js +233 -0
  179. package/esm/components/condition-builder/Value.js +115 -0
  180. package/esm/components/condition-builder/config.d.ts +36 -0
  181. package/esm/components/condition-builder/config.js +120 -0
  182. package/esm/components/condition-builder/index.js +242 -0
  183. package/esm/components/condition-builder/types.d.ts +116 -0
  184. package/esm/components/formula/CodeEditor.js +99 -0
  185. package/esm/components/formula/Editor.js +446 -0
  186. package/esm/components/formula/FuncList.js +64 -0
  187. package/esm/components/formula/Input.js +141 -0
  188. package/esm/components/formula/Picker.js +454 -0
  189. package/esm/components/formula/VariableList.js +185 -0
  190. package/esm/components/formula/plugin.d.ts +51 -0
  191. package/esm/components/formula/plugin.js +445 -0
  192. package/esm/components/icons.d.ts +61 -0
  193. package/esm/components/icons.js +458 -0
  194. package/esm/components/index.d.ts +138 -0
  195. package/esm/components/json-schema/Array.d.ts +3 -0
  196. package/esm/components/json-schema/Array.js +129 -0
  197. package/esm/components/json-schema/Item.d.ts +5 -0
  198. package/esm/components/json-schema/Item.js +63 -0
  199. package/esm/components/json-schema/Object.d.ts +5 -0
  200. package/esm/components/json-schema/Object.js +272 -0
  201. package/esm/components/json-schema/index.js +29 -0
  202. package/esm/components/menu/MenuContext.d.ts +82 -0
  203. package/esm/components/menu/MenuContext.js +25 -0
  204. package/esm/components/menu/MenuItem.js +112 -0
  205. package/esm/components/menu/PanelMenu.js +68 -0
  206. package/esm/components/menu/SubMenu.js +137 -0
  207. package/esm/components/menu/index.js +368 -0
  208. package/esm/components/schema-editor/Array.d.ts +11 -0
  209. package/esm/components/schema-editor/Array.js +84 -0
  210. package/esm/components/schema-editor/Common.d.ts +61 -0
  211. package/esm/components/schema-editor/Common.js +162 -0
  212. package/esm/components/schema-editor/Item.d.ts +8 -0
  213. package/esm/components/schema-editor/Item.js +24 -0
  214. package/esm/components/schema-editor/Object.d.ts +51 -0
  215. package/esm/components/schema-editor/Object.js +294 -0
  216. package/esm/components/schema-editor/SchemaVariableList.js +74 -0
  217. package/esm/components/schema-editor/SchemaVariableListPicker.js +34 -0
  218. package/esm/components/schema-editor/index.js +122 -0
  219. package/esm/components/table/Cell.d.ts +36 -0
  220. package/esm/components/table/Cell.js +43 -0
  221. package/esm/components/table/ColGroup.d.ts +24 -0
  222. package/esm/components/table/ColGroup.js +77 -0
  223. package/esm/components/table/Head.d.ts +45 -0
  224. package/esm/components/table/Head.js +150 -0
  225. package/esm/components/table/HeadCellDropDown.js +54 -0
  226. package/esm/components/table/HeadCellFilter.js +130 -0
  227. package/esm/components/table/HeadCellSelect.js +51 -0
  228. package/esm/components/table/HeadCellSort.js +88 -0
  229. package/esm/components/table/ItemActionsWrapper.d.ts +10 -0
  230. package/esm/components/table/ItemActionsWrapper.js +29 -0
  231. package/esm/components/table/Row.d.ts +56 -0
  232. package/esm/components/table/Row.js +224 -0
  233. package/esm/components/table/SummaryRow.d.ts +28 -0
  234. package/esm/components/table/SummaryRow.js +73 -0
  235. package/esm/components/table/index.js +1095 -0
  236. package/esm/components/table/util.d.ts +25 -0
  237. package/esm/components/table/util.js +279 -0
  238. package/esm/components/virtual-list/AutoSizer.d.ts +19 -0
  239. package/esm/components/virtual-list/AutoSizer.js +48 -0
  240. package/esm/components/virtual-list/SizeAndPositionManager.d.ts +70 -0
  241. package/esm/components/virtual-list/SizeAndPositionManager.js +216 -0
  242. package/esm/components/virtual-list/constants.d.ts +34 -0
  243. package/esm/components/virtual-list/constants.js +45 -0
  244. package/esm/components/virtual-list/index.d.ts +98 -0
  245. package/esm/components/virtual-list/index.js +288 -0
  246. package/esm/components/withBadge.d.ts +2 -0
  247. package/esm/components/withBadge.js +7 -0
  248. package/esm/hooks/index.d.ts +8 -0
  249. package/esm/hooks/use-click-away.d.ts +12 -0
  250. package/esm/hooks/use-click-away.js +55 -0
  251. package/esm/hooks/use-on-screen.d.ts +2 -0
  252. package/esm/hooks/use-on-screen.js +28 -0
  253. package/esm/hooks/use-set-state.d.ts +2 -0
  254. package/esm/hooks/use-set-state.js +19 -0
  255. package/esm/hooks/use-sub-form.d.ts +4 -0
  256. package/esm/hooks/use-sub-form.js +39 -0
  257. package/esm/hooks/use-touch.d.ts +16 -0
  258. package/esm/hooks/use-touch.js +77 -0
  259. package/esm/hooks/use-update-effect.d.ts +3 -0
  260. package/esm/hooks/use-update-effect.js +21 -0
  261. package/esm/hooks/use-validation-resolver.d.ts +7 -0
  262. package/esm/hooks/use-validation-resolver.js +115 -0
  263. package/esm/icons/alert-danger.svg.js +22 -0
  264. package/esm/icons/alert-info.svg.js +22 -0
  265. package/esm/icons/alert-success.svg.js +22 -0
  266. package/esm/icons/alert-warning.svg.js +22 -0
  267. package/esm/icons/arrow-double-left.svg.js +24 -0
  268. package/esm/icons/arrow-double-right.svg.js +24 -0
  269. package/esm/icons/back.svg.js +21 -0
  270. package/esm/icons/calendar.svg.js +31 -0
  271. package/esm/icons/caret.svg.js +21 -0
  272. package/esm/icons/check.svg.js +21 -0
  273. package/esm/icons/clock.svg.js +29 -0
  274. package/esm/icons/close-small.svg.js +24 -0
  275. package/esm/icons/close.svg.js +21 -0
  276. package/esm/icons/cloud-upload.svg.js +22 -0
  277. package/esm/icons/column-filter.svg.js +22 -0
  278. package/esm/icons/columns.svg.js +21 -0
  279. package/esm/icons/compress-alt.svg.js +21 -0
  280. package/esm/icons/copy.svg.js +26 -0
  281. package/esm/icons/date.svg.js +26 -0
  282. package/esm/icons/department.svg.js +52 -0
  283. package/esm/icons/desk-empty.svg.js +73 -0
  284. package/esm/icons/dot.svg.js +36 -0
  285. package/esm/icons/down-arrow-bold.svg.js +22 -0
  286. package/esm/icons/down.svg.js +23 -0
  287. package/esm/icons/download.svg.js +24 -0
  288. package/esm/icons/drag-bar.svg.js +53 -0
  289. package/esm/icons/drag.svg.js +22 -0
  290. package/esm/icons/edit.svg.js +21 -0
  291. package/esm/icons/ellipsis-v.svg.js +21 -0
  292. package/esm/icons/enter.svg.js +20 -0
  293. package/esm/icons/exchange.svg.js +21 -0
  294. package/esm/icons/expand-alt.svg.js +21 -0
  295. package/esm/icons/fail.svg.js +31 -0
  296. package/esm/icons/file.svg.js +22 -0
  297. package/esm/icons/filter.svg.js +21 -0
  298. package/esm/icons/folder.svg.js +24 -0
  299. package/esm/icons/fullscreen.svg.js +21 -0
  300. package/esm/icons/function.svg.js +21 -0
  301. package/esm/icons/home.svg.js +21 -0
  302. package/esm/icons/if.svg.js +21 -0
  303. package/esm/icons/image.svg.js +20 -0
  304. package/esm/icons/info-circle.svg.js +21 -0
  305. package/esm/icons/info.svg.js +27 -0
  306. package/esm/icons/input-clear.svg.js +20 -0
  307. package/esm/icons/invisible.svg.js +22 -0
  308. package/esm/icons/left-arrow.svg.js +23 -0
  309. package/esm/icons/loading-outline.svg.js +21 -0
  310. package/esm/icons/location.svg.js +20 -0
  311. package/esm/icons/menu.svg.js +20 -0
  312. package/esm/icons/minus.svg.js +21 -0
  313. package/esm/icons/move.svg.js +22 -0
  314. package/esm/icons/mute.svg.js +21 -0
  315. package/esm/icons/new-edit.svg.js +22 -0
  316. package/esm/icons/pause.svg.js +21 -0
  317. package/esm/icons/pencil.svg.js +21 -0
  318. package/esm/icons/play.svg.js +20 -0
  319. package/esm/icons/plus-cicle.svg.js +20 -0
  320. package/esm/icons/plus-fine.svg.js +21 -0
  321. package/esm/icons/plus.svg.js +21 -0
  322. package/esm/icons/post.svg.js +48 -0
  323. package/esm/icons/question-mark.svg.js +26 -0
  324. package/esm/icons/question.svg.js +21 -0
  325. package/esm/icons/question2.svg.js +34 -0
  326. package/esm/icons/redo.svg.js +21 -0
  327. package/esm/icons/refresh.svg.js +21 -0
  328. package/esm/icons/reload.svg.js +21 -0
  329. package/esm/icons/remove.svg.js +21 -0
  330. package/esm/icons/retry.svg.js +24 -0
  331. package/esm/icons/right-arrow-bold.svg.js +21 -0
  332. package/esm/icons/right-arrow.svg.js +23 -0
  333. package/esm/icons/right-double-arrow.svg.js +22 -0
  334. package/esm/icons/role.svg.js +43 -0
  335. package/esm/icons/rotate-left.svg.js +22 -0
  336. package/esm/icons/rotate-right.svg.js +22 -0
  337. package/esm/icons/rotate-screen.svg.js +21 -0
  338. package/esm/icons/scale-origin.svg.js +24 -0
  339. package/esm/icons/schedule.svg.js +24 -0
  340. package/esm/icons/search.svg.js +21 -0
  341. package/esm/icons/setting.svg.js +21 -0
  342. package/esm/icons/slider-handle-icon.svg.js +22 -0
  343. package/esm/icons/sort-asc.svg.js +21 -0
  344. package/esm/icons/sort-default.svg.js +21 -0
  345. package/esm/icons/sort-desc.svg.js +21 -0
  346. package/esm/icons/star.svg.js +21 -0
  347. package/esm/icons/status-close.svg.js +23 -0
  348. package/esm/icons/steps-finsh.svg.js +22 -0
  349. package/esm/icons/sub-plus.svg.js +20 -0
  350. package/esm/icons/success.svg.js +29 -0
  351. package/esm/icons/transparent.svg.js +38 -0
  352. package/esm/icons/trash.svg.js +22 -0
  353. package/esm/icons/tree-down.svg.js +21 -0
  354. package/esm/icons/undo-normal.svg.js +25 -0
  355. package/esm/icons/undo.svg.js +21 -0
  356. package/esm/icons/unfullscreen.svg.js +21 -0
  357. package/esm/icons/upload.svg.js +21 -0
  358. package/esm/icons/user-remove.svg.js +33 -0
  359. package/esm/icons/view.svg.js +22 -0
  360. package/esm/icons/volume.svg.js +24 -0
  361. package/esm/icons/warning-mark.svg.js +22 -0
  362. package/esm/icons/warning.svg.js +21 -0
  363. package/esm/icons/window-restore.svg.js +21 -0
  364. package/esm/icons/zoom-in.svg.js +21 -0
  365. package/esm/icons/zoom-out.svg.js +21 -0
  366. package/esm/index.d.ts +16 -0
  367. package/esm/index.js +157 -0
  368. package/esm/locale/de-DE.d.ts +1 -0
  369. package/esm/locale/de-DE.js +423 -0
  370. package/esm/locale/en-US.d.ts +1 -0
  371. package/esm/locale/en-US.js +429 -0
  372. package/esm/locale/zh-CN.d.ts +1 -0
  373. package/esm/locale/zh-CN.js +438 -0
  374. package/esm/themes/ang.d.ts +3 -0
  375. package/esm/themes/ang.js +15 -0
  376. package/esm/themes/antd.d.ts +1 -0
  377. package/esm/themes/antd.js +42 -0
  378. package/esm/themes/cxd.d.ts +3 -0
  379. package/esm/themes/cxd.js +455 -0
  380. package/esm/themes/dark.d.ts +3 -0
  381. package/esm/themes/dark.js +23 -0
  382. package/esm/themes/default.d.ts +4 -0
  383. package/esm/utils/index.d.ts +2 -0
  384. package/esm/utils/smoothSignature.d.ts +86 -0
  385. package/esm/utils/vectorComputed.d.ts +20 -0
  386. package/esm/utils/vectorComputed.js +75 -0
  387. package/esm/withRemoteConfig.d.ts +2 -0
  388. package/esm/withRemoteConfig.js +7 -0
  389. package/esm/withStore.d.ts +2 -0
  390. package/esm/withStore.js +7 -0
  391. package/lib/HTMLFilterContext.d.ts +3 -0
  392. package/lib/components/AlphabetIndexer.d.ts +11 -0
  393. package/lib/components/AnchorNavSection.d.ts +2 -0
  394. package/lib/components/AutoSizer.d.ts +2 -0
  395. package/lib/components/Badge.d.ts +20 -0
  396. package/lib/components/BarCode.js +44 -0
  397. package/lib/components/CityDB.d.ts +13 -0
  398. package/lib/components/CityDB.js +3945 -0
  399. package/lib/components/CodeMirror.d.ts +29 -0
  400. package/lib/components/ColorPicker.js +267 -0
  401. package/lib/components/ConditionBuilder.d.ts +2 -0
  402. package/lib/components/DiffEditor.d.ts +21 -0
  403. package/lib/components/Form.d.ts +31 -0
  404. package/lib/components/FormulaPicker.d.ts +2 -0
  405. package/lib/components/GridNav.d.ts +53 -0
  406. package/lib/components/GridNavItem.d.ts +2 -0
  407. package/lib/components/HeadCellDropDown.d.ts +2 -0
  408. package/lib/components/HorizontalScroll.d.ts +74 -0
  409. package/lib/components/Icon.d.ts +2 -0
  410. package/lib/components/Input.d.ts +18 -0
  411. package/lib/components/InputJSONSchema.d.ts +2 -0
  412. package/lib/components/JSONSchemaEditor.d.ts +2 -0
  413. package/lib/components/Markdown.d.ts +25 -0
  414. package/lib/components/Markdown.js +76 -0
  415. package/lib/components/Menu.d.ts +2 -0
  416. package/lib/components/MobileDevTool.d.ts +12 -0
  417. package/lib/components/ModalManager.d.ts +16 -0
  418. package/lib/components/PdfViewer.js +83 -0
  419. package/lib/components/PopOverContainer.d.ts +59 -0
  420. package/lib/components/RichText.d.ts +48 -0
  421. package/lib/components/RichText.js +275 -0
  422. package/lib/components/SelectMobile.d.ts +38 -0
  423. package/lib/components/Tab.d.ts +2 -0
  424. package/lib/components/Table.d.ts +2 -0
  425. package/lib/components/Tinymce.d.ts +66 -0
  426. package/lib/components/Tinymce.js +641 -0
  427. package/lib/components/VirtualList.d.ts +2 -0
  428. package/lib/components/WithRemoteConfig.d.ts +70 -0
  429. package/lib/components/WithStore.d.ts +13 -0
  430. package/lib/components/calendar/Calendar.d.ts +83 -0
  431. package/lib/components/calendar/CalendarContainer.d.ts +10 -0
  432. package/lib/components/condition-builder/config.d.ts +36 -0
  433. package/lib/components/condition-builder/types.d.ts +116 -0
  434. package/lib/components/formula/plugin.d.ts +51 -0
  435. package/lib/components/icons.d.ts +61 -0
  436. package/lib/components/index.d.ts +138 -0
  437. package/lib/components/json-schema/Array.d.ts +3 -0
  438. package/lib/components/json-schema/Item.d.ts +5 -0
  439. package/lib/components/json-schema/Object.d.ts +5 -0
  440. package/lib/components/menu/MenuContext.d.ts +82 -0
  441. package/lib/components/schema-editor/Array.d.ts +11 -0
  442. package/lib/components/schema-editor/Common.d.ts +61 -0
  443. package/lib/components/schema-editor/Item.d.ts +8 -0
  444. package/lib/components/schema-editor/Object.d.ts +51 -0
  445. package/lib/components/table/Cell.d.ts +36 -0
  446. package/lib/components/table/ColGroup.d.ts +24 -0
  447. package/lib/components/table/Head.d.ts +45 -0
  448. package/lib/components/table/ItemActionsWrapper.d.ts +10 -0
  449. package/lib/components/table/Row.d.ts +56 -0
  450. package/lib/components/table/SummaryRow.d.ts +28 -0
  451. package/lib/components/table/util.d.ts +25 -0
  452. package/lib/components/virtual-list/AutoSizer.d.ts +19 -0
  453. package/lib/components/virtual-list/SizeAndPositionManager.d.ts +70 -0
  454. package/lib/components/virtual-list/constants.d.ts +34 -0
  455. package/lib/components/virtual-list/index.d.ts +98 -0
  456. package/lib/components/withBadge.d.ts +2 -0
  457. package/lib/helper.css +47762 -0
  458. package/lib/hooks/index.d.ts +8 -0
  459. package/lib/hooks/use-click-away.d.ts +12 -0
  460. package/lib/hooks/use-on-screen.d.ts +2 -0
  461. package/lib/hooks/use-set-state.d.ts +2 -0
  462. package/lib/hooks/use-sub-form.d.ts +4 -0
  463. package/lib/hooks/use-touch.d.ts +16 -0
  464. package/lib/hooks/use-update-effect.d.ts +3 -0
  465. package/lib/hooks/use-validation-resolver.d.ts +7 -0
  466. package/lib/index.d.ts +16 -0
  467. package/lib/index.js +28 -0
  468. package/lib/locale/de-DE.d.ts +1 -0
  469. package/lib/locale/en-US.d.ts +1 -0
  470. package/lib/locale/zh-CN.d.ts +1 -0
  471. package/lib/scss/helper.scss.js +12 -0
  472. package/lib/scss/themes/ang.scss.js +12 -0
  473. package/lib/scss/themes/antd.scss.js +12 -0
  474. package/lib/scss/themes/cxd.scss.js +12 -0
  475. package/lib/scss/themes/dark.scss.js +12 -0
  476. package/lib/scss/themes/default.scss.js +12 -0
  477. package/lib/themes/ang.css +45895 -0
  478. package/lib/themes/ang.d.ts +3 -0
  479. package/lib/themes/antd.css +45882 -0
  480. package/lib/themes/antd.d.ts +1 -0
  481. package/lib/themes/cxd.css +45871 -0
  482. package/lib/themes/cxd.d.ts +3 -0
  483. package/lib/themes/dark.css +45902 -0
  484. package/lib/themes/dark.d.ts +3 -0
  485. package/lib/themes/default.css +45871 -0
  486. package/lib/themes/default.d.ts +4 -0
  487. package/lib/utils/index.d.ts +2 -0
  488. package/lib/utils/smoothSignature.d.ts +86 -0
  489. package/lib/utils/vectorComputed.d.ts +20 -0
  490. package/lib/withRemoteConfig.d.ts +2 -0
  491. package/lib/withStore.d.ts +2 -0
  492. package/package.json +158 -0
  493. package/scss/README.md +9 -0
  494. package/scss/_components.scss +4346 -0
  495. package/scss/_functions.scss +137 -0
  496. package/scss/_mixins.scss +805 -0
  497. package/scss/_properties.scss +898 -0
  498. package/scss/_thirds.scss +12 -0
  499. package/scss/_utilities.scss +1757 -0
  500. package/scss/_variables.scss +439 -0
  501. package/scss/base/_animate.scss +84 -0
  502. package/scss/base/_common.scss +19 -0
  503. package/scss/base/_normalize.scss +376 -0
  504. package/scss/base/_reset.scss +18 -0
  505. package/scss/base/_typography.scss +79 -0
  506. package/scss/components/_alert.scss +123 -0
  507. package/scss/components/_anchor-nav.scss +158 -0
  508. package/scss/components/_app.scss +46 -0
  509. package/scss/components/_array-input.scss +107 -0
  510. package/scss/components/_audio.scss +146 -0
  511. package/scss/components/_auto-folder.scss +40 -0
  512. package/scss/components/_avatar.scss +55 -0
  513. package/scss/components/_badge.scss +145 -0
  514. package/scss/components/_barcode.scss +6 -0
  515. package/scss/components/_breadcrumb.scss +110 -0
  516. package/scss/components/_button-group.scss +165 -0
  517. package/scss/components/_button.scss +871 -0
  518. package/scss/components/_calendar.scss +442 -0
  519. package/scss/components/_card.scss +389 -0
  520. package/scss/components/_card2.scss +28 -0
  521. package/scss/components/_cards.scss +221 -0
  522. package/scss/components/_carousel.scss +292 -0
  523. package/scss/components/_cascader.scss +157 -0
  524. package/scss/components/_chart.scss +22 -0
  525. package/scss/components/_city-area.scss +37 -0
  526. package/scss/components/_code.scss +10 -0
  527. package/scss/components/_collapse-group.scss +83 -0
  528. package/scss/components/_collapse.scss +245 -0
  529. package/scss/components/_color.scss +17 -0
  530. package/scss/components/_column-toggler.scss +261 -0
  531. package/scss/components/_condition-builder.scss +521 -0
  532. package/scss/components/_context-menu.scss +204 -0
  533. package/scss/components/_copyable.scss +10 -0
  534. package/scss/components/_crud.scss +195 -0
  535. package/scss/components/_crud2.scss +345 -0
  536. package/scss/components/_debug.scss +259 -0
  537. package/scss/components/_divider.scss +81 -0
  538. package/scss/components/_drawer.scss +393 -0
  539. package/scss/components/_dropdown-context-menus.scss +27 -0
  540. package/scss/components/_dropdown.scss +159 -0
  541. package/scss/components/_each.scss +7 -0
  542. package/scss/components/_formula.scss +723 -0
  543. package/scss/components/_grid-nav.scss +128 -0
  544. package/scss/components/_horizontal-scroll.scss +51 -0
  545. package/scss/components/_icon.scss +4 -0
  546. package/scss/components/_image-gallery.scss +331 -0
  547. package/scss/components/_images.scss +650 -0
  548. package/scss/components/_input-box.scss +111 -0
  549. package/scss/components/_json-schema-editor.scss +149 -0
  550. package/scss/components/_json-schema.scss +166 -0
  551. package/scss/components/_json.scss +7 -0
  552. package/scss/components/_link.scss +22 -0
  553. package/scss/components/_list-menu.scss +114 -0
  554. package/scss/components/_list.scss +313 -0
  555. package/scss/components/_log.scss +169 -0
  556. package/scss/components/_mapping.scss +6 -0
  557. package/scss/components/_markdown.scss +266 -0
  558. package/scss/components/_menu.scss +795 -0
  559. package/scss/components/_mobile-dev-tool.scss +175 -0
  560. package/scss/components/_modal.scss +282 -0
  561. package/scss/components/_multiline-text.scss +20 -0
  562. package/scss/components/_nav.scss +45 -0
  563. package/scss/components/_overflow-tpl.scss +5 -0
  564. package/scss/components/_page.scss +198 -0
  565. package/scss/components/_pagination.scss +403 -0
  566. package/scss/components/_panel.scss +263 -0
  567. package/scss/components/_pdf_viewer.scss +47 -0
  568. package/scss/components/_picker-columns.scss +140 -0
  569. package/scss/components/_popover.scss +54 -0
  570. package/scss/components/_popoverable.scss +100 -0
  571. package/scss/components/_popup.scss +171 -0
  572. package/scss/components/_portlet.scss +51 -0
  573. package/scss/components/_print.scss +13 -0
  574. package/scss/components/_progress.scss +165 -0
  575. package/scss/components/_property.scss +47 -0
  576. package/scss/components/_pull-refresh.scss +30 -0
  577. package/scss/components/_quick-edit.scss +53 -0
  578. package/scss/components/_remark.scss +58 -0
  579. package/scss/components/_result-box.scss +380 -0
  580. package/scss/components/_search-box.scss +267 -0
  581. package/scss/components/_service.scss +3 -0
  582. package/scss/components/_shape.scss +19 -0
  583. package/scss/components/_signature.scss +98 -0
  584. package/scss/components/_slider.scss +27 -0
  585. package/scss/components/_sparkline.scss +18 -0
  586. package/scss/components/_spinner.scss +214 -0
  587. package/scss/components/_status.scss +118 -0
  588. package/scss/components/_steps.scss +481 -0
  589. package/scss/components/_table.scss +1234 -0
  590. package/scss/components/_table2.scss +1066 -0
  591. package/scss/components/_tabs.scss +1410 -0
  592. package/scss/components/_tag.scss +191 -0
  593. package/scss/components/_timeline.scss +572 -0
  594. package/scss/components/_toast.scss +342 -0
  595. package/scss/components/_tooltip.scss +340 -0
  596. package/scss/components/_tpl.scss +51 -0
  597. package/scss/components/_verificationCode.scss +33 -0
  598. package/scss/components/_video.scss +38 -0
  599. package/scss/components/_wizard.scss +287 -0
  600. package/scss/components/_wrapper.scss +26 -0
  601. package/scss/components/form/_chained-select.scss +10 -0
  602. package/scss/components/form/_checks.scss +433 -0
  603. package/scss/components/form/_city.scss +33 -0
  604. package/scss/components/form/_color.scss +148 -0
  605. package/scss/components/form/_combo.scss +360 -0
  606. package/scss/components/form/_date-range.scss +332 -0
  607. package/scss/components/form/_date.scss +807 -0
  608. package/scss/components/form/_editor.scss +139 -0
  609. package/scss/components/form/_excel.scss +150 -0
  610. package/scss/components/form/_fieldset.scss +202 -0
  611. package/scss/components/form/_file.scss +308 -0
  612. package/scss/components/form/_form.scss +936 -0
  613. package/scss/components/form/_group.scss +116 -0
  614. package/scss/components/form/_icon-picker.scss +113 -0
  615. package/scss/components/form/_icon-select.scss +245 -0
  616. package/scss/components/form/_image.scss +359 -0
  617. package/scss/components/form/_input-group.scss +213 -0
  618. package/scss/components/form/_input-table.scss +17 -0
  619. package/scss/components/form/_list.scss +225 -0
  620. package/scss/components/form/_location.scss +210 -0
  621. package/scss/components/form/_matrix.scss +7 -0
  622. package/scss/components/form/_nested-select.scss +149 -0
  623. package/scss/components/form/_number.scss +633 -0
  624. package/scss/components/form/_picker.scss +237 -0
  625. package/scss/components/form/_qr-code.scss +4 -0
  626. package/scss/components/form/_range.scss +438 -0
  627. package/scss/components/form/_rating.scss +94 -0
  628. package/scss/components/form/_repeat.scss +40 -0
  629. package/scss/components/form/_result-list.scss +98 -0
  630. package/scss/components/form/_rich-text.scss +163 -0
  631. package/scss/components/form/_select.scss +712 -0
  632. package/scss/components/form/_selection.scss +485 -0
  633. package/scss/components/form/_sub-form.scss +118 -0
  634. package/scss/components/form/_switch.scss +228 -0
  635. package/scss/components/form/_tag.scss +146 -0
  636. package/scss/components/form/_text.scss +508 -0
  637. package/scss/components/form/_textarea.scss +78 -0
  638. package/scss/components/form/_tinymce.scss +6 -0
  639. package/scss/components/form/_transfer.scss +624 -0
  640. package/scss/components/form/_tree-select.scss +47 -0
  641. package/scss/components/form/_tree.scss +458 -0
  642. package/scss/components/form/_user-select.scss +643 -0
  643. package/scss/components/react-datetime.scss +267 -0
  644. package/scss/helper/background/_background-color.md +131 -0
  645. package/scss/helper/background/_background-color.scss +214 -0
  646. package/scss/helper/border/_border-color.md +109 -0
  647. package/scss/helper/border/_border-color.scss +178 -0
  648. package/scss/helper/border/_border-radius.md +86 -0
  649. package/scss/helper/border/_border-radius.scss +152 -0
  650. package/scss/helper/border/_border-style.md +11 -0
  651. package/scss/helper/border/_border-style.scss +40 -0
  652. package/scss/helper/border/_border-width.md +31 -0
  653. package/scss/helper/border/_border-width.scss +72 -0
  654. package/scss/helper/box-alignment/_align-content.md +12 -0
  655. package/scss/helper/box-alignment/_align-content.scss +44 -0
  656. package/scss/helper/box-alignment/_align-items.md +11 -0
  657. package/scss/helper/box-alignment/_align-items.scss +41 -0
  658. package/scss/helper/box-alignment/_align-self.md +11 -0
  659. package/scss/helper/box-alignment/_align-self.scss +40 -0
  660. package/scss/helper/box-alignment/_justify-content.md +12 -0
  661. package/scss/helper/box-alignment/_justify-content.scss +44 -0
  662. package/scss/helper/box-alignment/_justify-items.md +11 -0
  663. package/scss/helper/box-alignment/_justify-items.scss +40 -0
  664. package/scss/helper/box-alignment/_justify-self.md +11 -0
  665. package/scss/helper/box-alignment/_justify-self.scss +40 -0
  666. package/scss/helper/box-alignment/_place-content.md +13 -0
  667. package/scss/helper/box-alignment/_place-content.scss +48 -0
  668. package/scss/helper/box-alignment/_place-items.md +11 -0
  669. package/scss/helper/box-alignment/_place-items.scss +40 -0
  670. package/scss/helper/box-alignment/_place-self.md +11 -0
  671. package/scss/helper/box-alignment/_place-self.scss +40 -0
  672. package/scss/helper/effect/_box-shadow.md +16 -0
  673. package/scss/helper/effect/_box-shadow.scss +74 -0
  674. package/scss/helper/effect/_opacity.md +21 -0
  675. package/scss/helper/effect/_opacity.scss +66 -0
  676. package/scss/helper/flex/_direction.md +10 -0
  677. package/scss/helper/flex/_direction.scss +41 -0
  678. package/scss/helper/flex/_flex.md +10 -0
  679. package/scss/helper/flex/_flex.scss +38 -0
  680. package/scss/helper/flex/_grow.md +8 -0
  681. package/scss/helper/flex/_grow.scss +28 -0
  682. package/scss/helper/flex/_order.md +20 -0
  683. package/scss/helper/flex/_order.scss +56 -0
  684. package/scss/helper/flex/_shrink.md +8 -0
  685. package/scss/helper/flex/_shrink.scss +27 -0
  686. package/scss/helper/flex/_wrap.md +9 -0
  687. package/scss/helper/flex/_wrap.scss +36 -0
  688. package/scss/helper/grid/_auto-columns.md +10 -0
  689. package/scss/helper/grid/_auto-columns.scss +38 -0
  690. package/scss/helper/grid/_auto-flow.md +10 -0
  691. package/scss/helper/grid/_auto-flow.scss +38 -0
  692. package/scss/helper/grid/_auto-rows.md +10 -0
  693. package/scss/helper/grid/_auto-rows.scss +38 -0
  694. package/scss/helper/grid/_column-start-end.md +48 -0
  695. package/scss/helper/grid/_column-start-end.scss +201 -0
  696. package/scss/helper/grid/_columns.md +19 -0
  697. package/scss/helper/grid/_columns.scss +74 -0
  698. package/scss/helper/grid/_gap.md +117 -0
  699. package/scss/helper/grid/_gap.scss +154 -0
  700. package/scss/helper/grid/_row-start-end.md +48 -0
  701. package/scss/helper/grid/_row-start-end.scss +201 -0
  702. package/scss/helper/grid/_rows.md +13 -0
  703. package/scss/helper/grid/_rows.scss +50 -0
  704. package/scss/helper/layout/_box-sizing.md +35 -0
  705. package/scss/helper/layout/_box-sizing.scss +51 -0
  706. package/scss/helper/layout/_clear.md +27 -0
  707. package/scss/helper/layout/_clear.scss +56 -0
  708. package/scss/helper/layout/_display.md +41 -0
  709. package/scss/helper/layout/_display.scss +82 -0
  710. package/scss/helper/layout/_float.md +47 -0
  711. package/scss/helper/layout/_float.scss +71 -0
  712. package/scss/helper/layout/_overflow.md +34 -0
  713. package/scss/helper/layout/_overflow.scss +85 -0
  714. package/scss/helper/layout/_position.md +27 -0
  715. package/scss/helper/layout/_position.scss +55 -0
  716. package/scss/helper/layout/_top-right-bottom-left.md +150 -0
  717. package/scss/helper/layout/_top-right-bottom-left.scss +292 -0
  718. package/scss/helper/layout/_visibility.md +21 -0
  719. package/scss/helper/layout/_visibility.scss +42 -0
  720. package/scss/helper/layout/_z-index.md +37 -0
  721. package/scss/helper/layout/_z-index.scss +67 -0
  722. package/scss/helper/sizing/_height.md +103 -0
  723. package/scss/helper/sizing/_height.scss +161 -0
  724. package/scss/helper/sizing/_width.md +109 -0
  725. package/scss/helper/sizing/_width.scss +174 -0
  726. package/scss/helper/spacing/_margin.md +527 -0
  727. package/scss/helper/spacing/_margin.scss +821 -0
  728. package/scss/helper/spacing/_padding.md +265 -0
  729. package/scss/helper/spacing/_padding.scss +394 -0
  730. package/scss/helper/spacing/_space-between.md +155 -0
  731. package/scss/helper/spacing/_space-between.scss +224 -0
  732. package/scss/helper/typography/_font-family.md +9 -0
  733. package/scss/helper/typography/_font-family.scss +28 -0
  734. package/scss/helper/typography/_font-size.md +19 -0
  735. package/scss/helper/typography/_font-size.scss +40 -0
  736. package/scss/helper/typography/_font-style.md +8 -0
  737. package/scss/helper/typography/_font-style.scss +31 -0
  738. package/scss/helper/typography/_font-weight.md +15 -0
  739. package/scss/helper/typography/_font-weight.scss +49 -0
  740. package/scss/helper/typography/_letter-spacing.md +12 -0
  741. package/scss/helper/typography/_letter-spacing.scss +43 -0
  742. package/scss/helper/typography/_line-height.md +20 -0
  743. package/scss/helper/typography/_line-height.scss +59 -0
  744. package/scss/helper/typography/_list-style-type.md +11 -0
  745. package/scss/helper/typography/_list-style-type.scss +43 -0
  746. package/scss/helper/typography/_text-align.md +10 -0
  747. package/scss/helper/typography/_text-align.scss +34 -0
  748. package/scss/helper/typography/_text-color.md +110 -0
  749. package/scss/helper/typography/_text-color.scss +184 -0
  750. package/scss/helper/typography/_text-decoration.md +9 -0
  751. package/scss/helper/typography/_text-decoration.scss +34 -0
  752. package/scss/helper/typography/_text-overflow.md +9 -0
  753. package/scss/helper/typography/_text-overflow.scss +40 -0
  754. package/scss/helper/typography/_text-transform.md +10 -0
  755. package/scss/helper/typography/_text-transform.scss +40 -0
  756. package/scss/helper/typography/_vertical-align.md +12 -0
  757. package/scss/helper/typography/_vertical-align.scss +44 -0
  758. package/scss/helper/typography/_whitespace.md +11 -0
  759. package/scss/helper/typography/_whitespace.scss +42 -0
  760. package/scss/helper/typography/_word-break.md +9 -0
  761. package/scss/helper/typography/_word-break.scss +36 -0
  762. package/scss/helper.scss +72 -0
  763. package/scss/layout/_aside.scss +361 -0
  764. package/scss/layout/_grid.scss +173 -0
  765. package/scss/layout/_hbox.scss +127 -0
  766. package/scss/layout/_header.scss +0 -0
  767. package/scss/layout/_layout.scss +492 -0
  768. package/scss/layout/_vbox.scss +38 -0
  769. package/scss/themes/_ang-variables.scss +224 -0
  770. package/scss/themes/_antd-variables.scss +238 -0
  771. package/scss/themes/_common.scss +157 -0
  772. package/scss/themes/_cxd-variables.scss +222 -0
  773. package/scss/themes/_dark-variables.scss +229 -0
  774. package/scss/themes/ang-ie11.scss +1 -0
  775. package/scss/themes/ang.scss +27 -0
  776. package/scss/themes/antd-ie11.scss +1 -0
  777. package/scss/themes/antd.scss +5 -0
  778. package/scss/themes/cxd-ie11.scss +1 -0
  779. package/scss/themes/cxd.scss +5 -0
  780. package/scss/themes/dark-ie11.scss +1 -0
  781. package/scss/themes/dark.scss +34 -0
  782. package/scss/themes/default.scss +2 -0
  783. package/scss/themes/extract-antd-color.py +27 -0
@@ -0,0 +1,485 @@
1
+ /**
2
+ * amis-rev-ui v6.13.0
3
+ * Copyright 2018-2026 fex
4
+ */
5
+
6
+ import { __extends, __spreadArray, __read, __awaiter, __generator, __rest, __assign, __decorate, __metadata } from 'tslib';
7
+ import React__default from 'react';
8
+ import intersectionWith from 'lodash/intersectionWith';
9
+ import includes from 'lodash/includes';
10
+ import debounce from 'lodash/debounce';
11
+ import isEqual from 'lodash/isEqual';
12
+ import unionWith from 'lodash/unionWith';
13
+ import { findTree, differenceFromAll, flattenTree, autobind, themeable, localeable, uncontrollable } from 'amis-rev-core';
14
+ import { BaseSelection } from './Selection.js';
15
+ import ResultList from './ResultList.js';
16
+ import TableCheckboxes from './TableSelection.js';
17
+ import InputBox from './InputBox.js';
18
+ import Checkbox from './Checkbox.js';
19
+ import Tree from './Tree.js';
20
+ import { Icon } from './icons.js';
21
+ import AssociatedCheckboxes from './AssociatedSelection.js';
22
+ import GroupedSelection from './GroupedSelection.js';
23
+ import ChainedCheckboxes from './ChainedSelection.js';
24
+ import ResultTableList from './ResultTableList.js';
25
+ import ResultTreeList from './ResultTreeList.js';
26
+ import Pagination from './Pagination.js';
27
+
28
+ var Transfer = /** @class */ (function (_super) {
29
+ __extends(Transfer, _super);
30
+ function Transfer() {
31
+ var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
32
+ _this.state = {
33
+ inputValue: '',
34
+ searchResult: null,
35
+ searchResultPage: null,
36
+ isTreeDeferLoad: false,
37
+ resultSelectMode: 'list'
38
+ };
39
+ _this.unmounted = false;
40
+ _this.lazySearch = debounce(_this.searchRequest, 250, {
41
+ trailing: true,
42
+ leading: false
43
+ });
44
+ return _this;
45
+ }
46
+ Transfer.prototype.componentDidMount = function () {
47
+ var _a, _b;
48
+ (_b = (_a = this.props) === null || _a === void 0 ? void 0 : _a.onRef) === null || _b === void 0 ? void 0 : _b.call(_a, this);
49
+ };
50
+ Transfer.getDerivedStateFromProps = function (props) {
51
+ // 计算是否是懒加载模式
52
+ var isTreeDeferLoad = props.selectMode === 'tree' &&
53
+ !!findTree(props.options, function (option) {
54
+ return option.deferApi || option[props.deferField || 'defer'];
55
+ });
56
+ // 计算结果的selectMode
57
+ var resultSelectMode = 'list';
58
+ if (props.selectMode === 'tree' &&
59
+ props.resultListModeFollowSelect &&
60
+ !isTreeDeferLoad) {
61
+ resultSelectMode = 'tree';
62
+ }
63
+ if (props.selectMode === 'table' && props.resultListModeFollowSelect) {
64
+ resultSelectMode = 'table';
65
+ }
66
+ return {
67
+ isTreeDeferLoad: isTreeDeferLoad,
68
+ resultSelectMode: resultSelectMode
69
+ };
70
+ };
71
+ Transfer.prototype.componentWillUnmount = function () {
72
+ this.lazySearch.cancel();
73
+ this.unmounted = true;
74
+ };
75
+ Transfer.prototype.domRef = function (ref) {
76
+ while (ref && ref.getWrappedInstance) {
77
+ ref = ref.getWrappedInstance();
78
+ }
79
+ this.treeRef = ref;
80
+ };
81
+ Transfer.prototype.domResultRef = function (ref) {
82
+ while (ref && ref.getWrappedInstance) {
83
+ ref = ref.getWrappedInstance();
84
+ }
85
+ this.resultRef = ref;
86
+ };
87
+ Transfer.prototype.toggleAll = function () {
88
+ var _a;
89
+ var _b = this.props, options = _b.options, option2value = _b.option2value, onChange = _b.onChange, value = _b.value, onSelectAll = _b.onSelectAll, _c = _b.valueField, valueField = _c === void 0 ? 'value' : _c, selectMode = _b.selectMode;
90
+ var valueArray = BaseSelection.value2array(value, options, option2value, valueField);
91
+ var availableOptions = this.availableOptions;
92
+ if (selectMode === 'tree') {
93
+ (_a = this.treeRef) === null || _a === void 0 ? void 0 : _a.handleToggle();
94
+ return;
95
+ }
96
+ // availableOptions 中选项是否都被选中了
97
+ // to do intersectionWith 需要优化,大数据会卡死
98
+ var isAvailableOptionsAllSelected = intersectionWith(availableOptions, valueArray, isEqual).length ===
99
+ availableOptions.length;
100
+ // 全不选
101
+ if (isAvailableOptionsAllSelected) {
102
+ valueArray = differenceFromAll(availableOptions, valueArray, function (item) { return item[valueField]; });
103
+ }
104
+ // 全选
105
+ else {
106
+ // to do 需要优化
107
+ valueArray = unionWith(valueArray, availableOptions, isEqual);
108
+ }
109
+ var newValue = option2value
110
+ ? valueArray.map(function (item) { return option2value(item); })
111
+ : valueArray;
112
+ isAvailableOptionsAllSelected || (onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(newValue));
113
+ onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
114
+ };
115
+ // 全选,给予动作全选使用
116
+ Transfer.prototype.selectAll = function () {
117
+ var _a;
118
+ var _b = this.props, options = _b.options, option2value = _b.option2value, onChange = _b.onChange, _c = _b.valueField, valueField = _c === void 0 ? 'value' : _c, selectMode = _b.selectMode;
119
+ if (selectMode === 'tree') {
120
+ (_a = this.treeRef) === null || _a === void 0 ? void 0 : _a.handleToggle(true);
121
+ return;
122
+ }
123
+ var availableOptions = flattenTree(options).filter(function (option, index, list) {
124
+ return !option.disabled &&
125
+ option[valueField] !== void 0 &&
126
+ list.indexOf(option) === index;
127
+ });
128
+ var newValue = option2value
129
+ ? availableOptions.map(function (item) { return option2value(item); })
130
+ : availableOptions;
131
+ onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
132
+ };
133
+ // 清空搜索
134
+ Transfer.prototype.clearSearch = function (target) {
135
+ var _a, _b;
136
+ if (!target) {
137
+ this.handleSeachCancel();
138
+ (_a = this.resultRef) === null || _a === void 0 ? void 0 : _a.clearInput();
139
+ }
140
+ if (target === null || target === void 0 ? void 0 : target.left) {
141
+ this.handleSeachCancel();
142
+ }
143
+ if (target === null || target === void 0 ? void 0 : target.right) {
144
+ (_b = this.resultRef) === null || _b === void 0 ? void 0 : _b.clearInput();
145
+ }
146
+ };
147
+ Transfer.prototype.clearAll = function () {
148
+ var onChange = this.props.onChange;
149
+ onChange && onChange([]);
150
+ };
151
+ Transfer.prototype.handleSearchKeyDown = function (e) {
152
+ if (e.key === 'Enter') {
153
+ e.preventDefault();
154
+ }
155
+ };
156
+ Transfer.prototype.handleSearch = function (inputValue) {
157
+ var _this = this;
158
+ // text 有值的时候,走搜索否则直接走 handleSeachCancel ,等同于右侧的 clear 按钮
159
+ this.setState({ inputValue: inputValue }, function () {
160
+ if (inputValue) {
161
+ // 如果有取消搜索,先取消掉。
162
+ _this.cancelSearch && _this.cancelSearch();
163
+ _this.lazySearch();
164
+ }
165
+ else {
166
+ _this.handleSeachCancel();
167
+ }
168
+ });
169
+ };
170
+ Transfer.prototype.handleSeachCancel = function () {
171
+ this.setState({
172
+ inputValue: '',
173
+ searchResult: null,
174
+ searchResultPage: null
175
+ });
176
+ };
177
+ Transfer.prototype.searchRequest = function (page, perPage) {
178
+ return __awaiter(this, void 0, void 0, function () {
179
+ var pagination, inputValue, onSearch, result, items, currentPage;
180
+ var _this = this;
181
+ var _a;
182
+ return __generator(this, function (_b) {
183
+ switch (_b.label) {
184
+ case 0:
185
+ pagination = this.props.pagination;
186
+ inputValue = this.state.inputValue;
187
+ if (!inputValue) {
188
+ return [2 /*return*/];
189
+ }
190
+ onSearch = this.props.onSearch;
191
+ return [4 /*yield*/, onSearch(inputValue, function (cancelExecutor) { return (_this.cancelSearch = cancelExecutor); }, ((_a = this.props.pagination) === null || _a === void 0 ? void 0 : _a.enable)
192
+ ? { page: page || 1, perPage: perPage || (pagination === null || pagination === void 0 ? void 0 : pagination.perPage) || 10 }
193
+ : undefined)];
194
+ case 1:
195
+ result = _b.sent();
196
+ if (this.unmounted) {
197
+ return [2 /*return*/];
198
+ }
199
+ if (result) {
200
+ items = result.items, currentPage = __rest(result, ["items"]);
201
+ if (!Array.isArray(items)) {
202
+ throw new Error('onSearch 需要返回数组');
203
+ }
204
+ this.setState({
205
+ searchResult: items,
206
+ searchResultPage: __assign({}, currentPage)
207
+ });
208
+ }
209
+ return [2 /*return*/];
210
+ }
211
+ });
212
+ });
213
+ };
214
+ Transfer.prototype.getFlattenArr = function (options) {
215
+ var _a = this.props.valueField, valueField = _a === void 0 ? 'value' : _a;
216
+ return flattenTree(options).filter(function (option, index, list) {
217
+ return !option.disabled &&
218
+ option[valueField] !== void 0 &&
219
+ list.indexOf(option) === index;
220
+ });
221
+ };
222
+ // 树搜索处理
223
+ Transfer.prototype.handleSearchTreeChange = function (values, searchOptions, props) {
224
+ /** TransferDropDown的renderSearchResult&renderOptions中对一些属性覆写了 */
225
+ var value = props.value, _a = props.valueField, valueField = _a === void 0 ? 'value' : _a, multiple = props.multiple, onChange = props.onChange;
226
+ var searchAvailableOptions = this.getFlattenArr(searchOptions);
227
+ values = Array.isArray(values) ? values : values ? [values] : [];
228
+ var useArr = intersectionWith(searchAvailableOptions, values, function (a, b) { return a[valueField] === b[valueField]; });
229
+ var unuseArr = differenceFromAll(values, searchAvailableOptions, function (item) { return item[valueField]; });
230
+ var newArr = [];
231
+ if (multiple) {
232
+ Array.isArray(value) &&
233
+ value.forEach(function (item) {
234
+ if (!unuseArr.find(function (v) { return v[valueField] === item[valueField]; })) {
235
+ newArr.push(item);
236
+ }
237
+ });
238
+ }
239
+ useArr.forEach(function (item) {
240
+ if (!newArr.find(function (v) { return v[valueField] === item[valueField]; })) {
241
+ newArr.push(item);
242
+ }
243
+ });
244
+ onChange && onChange(newArr);
245
+ };
246
+ Transfer.prototype.optionItemRender = function (option, states) {
247
+ var _a = this.props, optionItemRender = _a.optionItemRender, _b = _a.labelField, labelField = _b === void 0 ? 'label' : _b, classnames = _a.classnames;
248
+ return optionItemRender
249
+ ? optionItemRender(option, states)
250
+ : BaseSelection.itemRender(option, __assign(__assign({ labelField: labelField }, states), { classnames: classnames }));
251
+ };
252
+ Transfer.prototype.resultItemRender = function (option, states) {
253
+ var _a = this.props, resultItemRender = _a.resultItemRender, classnames = _a.classnames;
254
+ return resultItemRender
255
+ ? resultItemRender(option, states)
256
+ : ResultList.itemRender(option, __assign(__assign({}, states), { classnames: classnames }));
257
+ };
258
+ Transfer.prototype.onPageChangeHandle = function (page, perPage, direction) {
259
+ var _a = this.props, onPageChange = _a.onPageChange; _a.onSearch;
260
+ var _b = this.state, searchResult = _b.searchResult; _b.inputValue;
261
+ if (searchResult) {
262
+ this.searchRequest(page, perPage);
263
+ }
264
+ else if (onPageChange) {
265
+ onPageChange(page, perPage, direction);
266
+ }
267
+ };
268
+ Transfer.prototype.renderSelect = function (props) {
269
+ var selectRender = props.selectRender, selectMode = props.selectMode, cx = props.classnames, selectTitle = props.selectTitle, onSearch = props.onSearch, disabled = props.disabled, options = props.options, statistics = props.statistics, __ = props.translate, _a = props.searchPlaceholder, searchPlaceholder = _a === void 0 ? __('Transfer.searchKeyword') : _a, mobileUI = props.mobileUI, _b = props.valueField, valueField = _b === void 0 ? 'value' : _b, testIdBuilder = props.testIdBuilder;
270
+ if (selectRender) {
271
+ return selectRender(__assign(__assign({}, props), { onSearch: this.handleSearch, onSearchCancel: this.handleSeachCancel, searchResult: this.state.searchResult }));
272
+ }
273
+ var checkedPartial = false;
274
+ var checkedAll = false;
275
+ var valueArraySet = new Set(this.valueArray);
276
+ checkedAll = this.availableOptions.every(function (option) {
277
+ return valueArraySet.has(option);
278
+ });
279
+ checkedPartial = this.availableOptions.some(function (option) {
280
+ return valueArraySet.has(option);
281
+ });
282
+ // 不在当前 availableOptions 中的已选项 数量
283
+ var selectedNotInAvailableOptions = differenceFromAll(this.availableOptions, this.valueArray, function (item) { return item[valueField]; }).length;
284
+ return (React__default.createElement(React__default.Fragment, null,
285
+ React__default.createElement("div", { className: cx('Transfer-title', selectMode === 'table' ? 'Transfer-title--light' : '') },
286
+ React__default.createElement("span", null,
287
+ includes(['list', 'tree'], selectMode) ? (React__default.createElement(Checkbox, { checked: checkedPartial, partial: checkedPartial && !checkedAll, onChange: props.onToggleAll || this.toggleAll, size: "sm", testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('toggle-all') })) : null,
288
+ __(selectTitle || 'Transfer.available'),
289
+ statistics !== false ? (React__default.createElement("span", null,
290
+ "\uFF08",
291
+ this.availableOptions.length -
292
+ this.valueArray.length +
293
+ selectedNotInAvailableOptions,
294
+ "/",
295
+ this.availableOptions.length,
296
+ "\uFF09")) : null),
297
+ includes(['chained', 'associated'], selectMode) ? (React__default.createElement("a", __assign({ onClick: props.onToggleAll || this.toggleAll, className: cx('Transfer-checkAll', disabled || !options.length ? 'is-disabled' : '') }, testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('toggle-all').getTestId()), __('Select.checkAll'))) : null),
298
+ onSearch ? (React__default.createElement("div", { className: cx('Transfer-search', { 'is-mobile': mobileUI }) },
299
+ React__default.createElement(InputBox, { value: this.state.inputValue, onChange: this.handleSearch, clearable: false, onKeyDown: this.handleSearchKeyDown, placeholder: searchPlaceholder, mobileUI: mobileUI, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('search-input') }, this.state.searchResult !== null ? (React__default.createElement("a", __assign({ onClick: this.handleSeachCancel }, testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('search-cancel').getTestId()),
300
+ React__default.createElement(Icon, { icon: "close", className: "icon" }))) : (React__default.createElement(Icon, { icon: "search", className: "icon" }))))) : null,
301
+ this.state.searchResult !== null
302
+ ? this.renderSearchResult(props)
303
+ : this.renderOptions(props),
304
+ this.renderFooter()));
305
+ };
306
+ Transfer.prototype.renderFooter = function () {
307
+ var _a = this.props, cx = _a.classnames, pagination = _a.pagination;
308
+ var _b = this.state, searchResult = _b.searchResult, searchResultPage = _b.searchResultPage;
309
+ if (!pagination || !(pagination === null || pagination === void 0 ? void 0 : pagination.enable)) {
310
+ return null;
311
+ }
312
+ var currentPage = searchResult && searchResultPage
313
+ ? {
314
+ page: searchResultPage.page,
315
+ perPage: searchResultPage.perPage,
316
+ total: searchResultPage.total
317
+ }
318
+ : {
319
+ page: pagination.page,
320
+ perPage: pagination.perPage,
321
+ total: pagination.total
322
+ };
323
+ return (React__default.createElement("div", { className: cx('Transfer-footer') },
324
+ React__default.createElement(Pagination, { className: cx('Transfer-footer-pagination', pagination.className), activePage: currentPage.page, perPage: currentPage.perPage, total: currentPage.total, layout: pagination.layout, maxButtons: pagination.maxButtons, perPageAvailable: pagination.perPageAvailable, popOverContainer: pagination.popOverContainer, popOverContainerSelector: pagination.popOverContainerSelector, onPageChange: this.onPageChangeHandle })));
325
+ };
326
+ Transfer.prototype.renderSearchResult = function (props) {
327
+ var _this = this;
328
+ var searchResultMode = props.searchResultMode, selectMode = props.selectMode, noResultsText = props.noResultsText, searchResultColumns = props.searchResultColumns, columns = props.columns, cx = props.classnames, value = props.value, disabled = props.disabled, onChange = props.onChange, option2value = props.option2value, optionItemRender = props.optionItemRender, cellRender = props.cellRender, multiple = props.multiple, labelField = props.labelField, _a = props.valueField, valueField = _a === void 0 ? 'value' : _a, virtualThreshold = props.virtualThreshold, itemHeight = props.itemHeight, virtualListHeight = props.virtualListHeight, checkAll = props.checkAll, checkAllLabel = props.checkAllLabel, onlyChildren = props.onlyChildren, autoCheckChildren = props.autoCheckChildren, testIdBuilder = props.testIdBuilder;
329
+ var _b = this.state, isTreeDeferLoad = _b.isTreeDeferLoad, searchResult = _b.searchResult, inputValue = _b.inputValue;
330
+ var options = searchResult !== null && searchResult !== void 0 ? searchResult : [];
331
+ var mode = searchResultMode || selectMode;
332
+ var resultColumns = searchResultColumns || columns;
333
+ var treeItemRender = !searchResult || optionItemRender ? this.optionItemRender : undefined;
334
+ var highlightTxt = searchResult ? inputValue : undefined;
335
+ return mode === 'table' ? (React__default.createElement(TableCheckboxes, { placeholder: noResultsText, className: cx('Transfer-selection'), columns: resultColumns, options: options, value: value, disabled: disabled, onChange: onChange, option2value: option2value, cellRender: cellRender, itemRender: this.optionItemRender, valueField: valueField, multiple: multiple, virtualThreshold: virtualThreshold, itemHeight: itemHeight, virtualListHeight: virtualListHeight, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('search-result') })) : mode === 'tree' ? (React__default.createElement(Tree, { ref: this.domRef, placeholder: noResultsText, className: cx('Transfer-selection'), options: options, value: value, disabled: disabled, onChange: function (value) {
336
+ return _this.handleSearchTreeChange(value, options, props);
337
+ }, joinValues: false, showIcon: false, multiple: multiple, cascade: true, onlyChildren: onlyChildren !== null && onlyChildren !== void 0 ? onlyChildren : !isTreeDeferLoad, highlightTxt: highlightTxt, itemRender: treeItemRender, labelField: labelField, valueField: valueField, virtualThreshold: virtualThreshold,
338
+ // itemHeight={itemHeight}
339
+ checkAllLabel: checkAllLabel, checkAll: checkAll, autoCheckChildren: autoCheckChildren })) : mode === 'chained' ? (React__default.createElement(ChainedCheckboxes, { placeholder: noResultsText, className: cx('Transfer-selection'), options: options, value: value, disabled: disabled, onChange: onChange, option2value: option2value, itemRender: this.optionItemRender, multiple: multiple, labelField: labelField, valueField: valueField, virtualThreshold: virtualThreshold, itemHeight: itemHeight, virtualListHeight: virtualListHeight, checkAllLabel: checkAllLabel, checkAll: checkAll })) : (React__default.createElement(GroupedSelection, { placeholder: noResultsText, className: cx('Transfer-selection'), options: options, value: value, disabled: disabled, onChange: onChange, option2value: option2value, itemRender: this.optionItemRender, multiple: multiple, labelField: labelField, valueField: valueField, virtualThreshold: virtualThreshold, itemHeight: itemHeight, virtualListHeight: virtualListHeight, checkAllLabel: checkAllLabel, checkAll: checkAll, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('search-result') }));
340
+ };
341
+ Transfer.prototype.renderOptions = function (props) {
342
+ var selectMode = props.selectMode, columns = props.columns, options = props.options, value = props.value, disabled = props.disabled, onChange = props.onChange, option2value = props.option2value, cx = props.classnames, onDeferLoad = props.onDeferLoad, leftOptions = props.leftOptions, leftMode = props.leftMode, rightMode = props.rightMode, cellRender = props.cellRender, leftDefaultValue = props.leftDefaultValue, multiple = props.multiple, noResultsText = props.noResultsText, labelField = props.labelField, _a = props.valueField, valueField = _a === void 0 ? 'value' : _a, _b = props.deferField, deferField = _b === void 0 ? 'defer' : _b, virtualThreshold = props.virtualThreshold, itemHeight = props.itemHeight, virtualListHeight = props.virtualListHeight, loadingConfig = props.loadingConfig, checkAll = props.checkAll, checkAllLabel = props.checkAllLabel, onlyChildren = props.onlyChildren, _c = props.autoCheckChildren, autoCheckChildren = _c === void 0 ? true : _c, _d = props.initiallyOpen, initiallyOpen = _d === void 0 ? true : _d, testIdBuilder = props.testIdBuilder;
343
+ return selectMode === 'table' ? (React__default.createElement(TableCheckboxes, { className: cx('Transfer-selection'), columns: columns, options: options || [], value: value, disabled: disabled, onChange: onChange, option2value: option2value, onDeferLoad: onDeferLoad, cellRender: cellRender, multiple: multiple, virtualThreshold: virtualThreshold, itemHeight: itemHeight, virtualListHeight: virtualListHeight, checkAllLabel: checkAllLabel, checkAll: checkAll, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('selection') })) : selectMode === 'tree' ? (React__default.createElement(Tree, { ref: this.domRef, placeholder: noResultsText, className: cx('Transfer-selection'), options: options, value: value, onChange: onChange, onlyChildren: onlyChildren !== null && onlyChildren !== void 0 ? onlyChildren : !this.state.isTreeDeferLoad, itemRender: this.optionItemRender, onDeferLoad: onDeferLoad, joinValues: false, showIcon: false, multiple: multiple, cascade: true, labelField: labelField, valueField: valueField, virtualThreshold: virtualThreshold,
344
+ // itemHeight={itemHeight}
345
+ loadingConfig: loadingConfig, checkAllLabel: checkAllLabel, checkAll: checkAll, initiallyOpen: initiallyOpen, autoCheckChildren: autoCheckChildren, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('selection') })) : selectMode === 'chained' ? (React__default.createElement(ChainedCheckboxes, { className: cx('Transfer-selection'), options: options || [], value: value, disabled: disabled, onChange: onChange, option2value: option2value, onDeferLoad: onDeferLoad, itemRender: this.optionItemRender, multiple: multiple, labelField: labelField, valueField: valueField, virtualThreshold: virtualThreshold, itemHeight: itemHeight, virtualListHeight: virtualListHeight, loadingConfig: loadingConfig, checkAllLabel: checkAllLabel, checkAll: checkAll, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('selection') })) : selectMode === 'associated' ? (React__default.createElement(AssociatedCheckboxes, { className: cx('Transfer-selection'), options: options || [], value: value, disabled: disabled, onChange: onChange, option2value: option2value, onDeferLoad: onDeferLoad, columns: columns, leftOptions: leftOptions || [], leftMode: leftMode, rightMode: rightMode, leftDefaultValue: leftDefaultValue, itemRender: this.optionItemRender, multiple: multiple, labelField: labelField, valueField: valueField, deferField: deferField, virtualThreshold: virtualThreshold, itemHeight: itemHeight, virtualListHeight: virtualListHeight, loadingConfig: loadingConfig, checkAllLabel: checkAllLabel, checkAll: checkAll, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('selection') })) : (React__default.createElement(GroupedSelection, { className: cx('Transfer-selection'), options: options || [], value: value, disabled: disabled, onChange: onChange, option2value: option2value, onDeferLoad: onDeferLoad, itemRender: this.optionItemRender, multiple: multiple, labelField: labelField, valueField: valueField, virtualThreshold: virtualThreshold, itemHeight: itemHeight, virtualListHeight: virtualListHeight, checkAllLabel: checkAllLabel, checkAll: checkAll, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('selection') }));
346
+ };
347
+ Transfer.prototype.renderResult = function () {
348
+ var _a = this.props, columns = _a.columns, options = _a.options, disabled = _a.disabled, option2value = _a.option2value, cx = _a.classnames, cellRender = _a.cellRender, onChange = _a.onChange, value = _a.value, resultSearchable = _a.resultSearchable, resultSearchPlaceholder = _a.resultSearchPlaceholder, onResultSearch = _a.onResultSearch, sortable = _a.sortable, labelField = _a.labelField, __ = _a.translate, _b = _a.placeholder, placeholder = _b === void 0 ? __('Transfer.selectFromLeft') : _b, virtualThreshold = _a.virtualThreshold, itemHeight = _a.itemHeight, loadingConfig = _a.loadingConfig, showInvalidMatch = _a.showInvalidMatch, pagination = _a.pagination, accumulatedOptions = _a.accumulatedOptions, testIdBuilder = _a.testIdBuilder;
349
+ var _c = this.state, resultSelectMode = _c.resultSelectMode, isTreeDeferLoad = _c.isTreeDeferLoad;
350
+ var searchable = !isTreeDeferLoad && resultSearchable;
351
+ switch (resultSelectMode) {
352
+ case 'table':
353
+ return (React__default.createElement(ResultTableList, { ref: this.domResultRef, classnames: cx, columns: columns, options: ((pagination === null || pagination === void 0 ? void 0 : pagination.enable) ? accumulatedOptions : options) || [], value: value, disabled: disabled, option2value: option2value, cellRender: cellRender, onChange: onChange, multiple: false, searchable: searchable, placeholder: placeholder, searchPlaceholder: resultSearchPlaceholder, onSearch: onResultSearch, virtualThreshold: virtualThreshold, itemHeight: itemHeight, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('result') }));
354
+ case 'tree':
355
+ return (React__default.createElement(ResultTreeList, { ref: this.domResultRef, loadingConfig: loadingConfig, classnames: cx, className: cx('Transfer-value'), options: ((pagination === null || pagination === void 0 ? void 0 : pagination.enable) ? accumulatedOptions : options) || [], valueField: 'value', value: value || [], onChange: onChange, itemRender: this.resultItemRender, searchable: searchable, placeholder: placeholder, searchPlaceholder: resultSearchPlaceholder, onSearch: onResultSearch, labelField: labelField, virtualThreshold: virtualThreshold, itemHeight: itemHeight, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('result') }));
356
+ default:
357
+ return (React__default.createElement(ResultList, { ref: this.domResultRef, className: cx('Transfer-value'), sortable: sortable, disabled: disabled, value: value, onChange: onChange, placeholder: placeholder, searchPlaceholder: resultSearchPlaceholder, itemRender: this.resultItemRender, searchable: searchable, onSearch: onResultSearch, labelField: labelField, virtualThreshold: virtualThreshold, itemHeight: itemHeight, showInvalidMatch: showInvalidMatch, testIdBuilder: testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('result') }));
358
+ }
359
+ };
360
+ Transfer.prototype.render = function () {
361
+ var _a = this.props, inline = _a.inline, cx = _a.classnames, className = _a.className, value = _a.value, resultTitle = _a.resultTitle, options = _a.options, option2value = _a.option2value, disabled = _a.disabled, statistics = _a.statistics, showArrow = _a.showArrow, resultListModeFollowSelect = _a.resultListModeFollowSelect, _b = _a.selectMode, selectMode = _b === void 0 ? 'list' : _b, __ = _a.translate, _c = _a.valueField, valueField = _c === void 0 ? 'value' : _c, mobileUI = _a.mobileUI, pagination = _a.pagination, testIdBuilder = _a.testIdBuilder;
362
+ var searchResult = this.state.searchResult;
363
+ this.valueArray = BaseSelection.value2array(value, options, option2value, valueField);
364
+ this.availableOptions = flattenTree(searchResult !== null && searchResult !== void 0 ? searchResult : options).filter(function (option, index, list) {
365
+ return !option.disabled &&
366
+ option[valueField] !== void 0 &&
367
+ list.indexOf(option) === index;
368
+ });
369
+ var tableType = resultListModeFollowSelect && selectMode === 'table';
370
+ return (React__default.createElement("div", { className: cx('Transfer', className, inline ? 'Transfer--inline' : '') },
371
+ React__default.createElement("div", { className: cx('Transfer-select', {
372
+ 'Transfer-select--pagination': !!(pagination === null || pagination === void 0 ? void 0 : pagination.enable)
373
+ }) }, this.renderSelect(this.props)),
374
+ React__default.createElement("div", { className: cx('Transfer-mid', { 'is-mobile': mobileUI }) }, showArrow /*todo 需要改成确认模式,即:点了按钮才到右边 */ ? (React__default.createElement("div", { className: cx('Transfer-arrow') },
375
+ React__default.createElement(Icon, { icon: "right-arrow", className: "icon" }))) : null),
376
+ React__default.createElement("div", { className: cx('Transfer-result', {
377
+ 'is-mobile': mobileUI,
378
+ 'Transfer-select--pagination': !!(pagination === null || pagination === void 0 ? void 0 : pagination.enable)
379
+ }) },
380
+ React__default.createElement("div", { className: cx('Transfer-title', tableType ? 'Transfer-table-title' : '', selectMode === 'table' ? 'Transfer-title--light' : '') },
381
+ React__default.createElement("span", null,
382
+ __(resultTitle || 'Transfer.selectd'),
383
+ statistics !== false ? (React__default.createElement("span", null,
384
+ "\uFF08",
385
+ this.valueArray.length,
386
+ "\uFF09")) : null),
387
+ React__default.createElement("a", __assign({ onClick: this.clearAll, className: cx('Transfer-clearAll', disabled || !this.valueArray.length ? 'is-disabled' : '') }, testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('clear-all').getTestId()), __('clear'))),
388
+ this.renderResult())));
389
+ };
390
+ Transfer.defaultProps = {
391
+ multiple: true,
392
+ resultListModeFollowSelect: false,
393
+ selectMode: 'list',
394
+ statistics: true,
395
+ virtualThreshold: 100,
396
+ itemHeight: 38,
397
+ checkAllLabel: 'Select.checkAll',
398
+ valueField: 'value'
399
+ };
400
+ __decorate([
401
+ autobind,
402
+ __metadata("design:type", Function),
403
+ __metadata("design:paramtypes", [Object]),
404
+ __metadata("design:returntype", void 0)
405
+ ], Transfer.prototype, "domRef", null);
406
+ __decorate([
407
+ autobind,
408
+ __metadata("design:type", Function),
409
+ __metadata("design:paramtypes", [Object]),
410
+ __metadata("design:returntype", void 0)
411
+ ], Transfer.prototype, "domResultRef", null);
412
+ __decorate([
413
+ autobind,
414
+ __metadata("design:type", Function),
415
+ __metadata("design:paramtypes", []),
416
+ __metadata("design:returntype", void 0)
417
+ ], Transfer.prototype, "toggleAll", null);
418
+ __decorate([
419
+ autobind,
420
+ __metadata("design:type", Function),
421
+ __metadata("design:paramtypes", []),
422
+ __metadata("design:returntype", void 0)
423
+ ], Transfer.prototype, "clearAll", null);
424
+ __decorate([
425
+ autobind,
426
+ __metadata("design:type", Function),
427
+ __metadata("design:paramtypes", [Object]),
428
+ __metadata("design:returntype", void 0)
429
+ ], Transfer.prototype, "handleSearchKeyDown", null);
430
+ __decorate([
431
+ autobind,
432
+ __metadata("design:type", Function),
433
+ __metadata("design:paramtypes", [String]),
434
+ __metadata("design:returntype", void 0)
435
+ ], Transfer.prototype, "handleSearch", null);
436
+ __decorate([
437
+ autobind,
438
+ __metadata("design:type", Function),
439
+ __metadata("design:paramtypes", []),
440
+ __metadata("design:returntype", void 0)
441
+ ], Transfer.prototype, "handleSeachCancel", null);
442
+ __decorate([
443
+ autobind,
444
+ __metadata("design:type", Function),
445
+ __metadata("design:paramtypes", [Number, Number]),
446
+ __metadata("design:returntype", Promise)
447
+ ], Transfer.prototype, "searchRequest", null);
448
+ __decorate([
449
+ autobind,
450
+ __metadata("design:type", Function),
451
+ __metadata("design:paramtypes", [Array,
452
+ Array, Object]),
453
+ __metadata("design:returntype", void 0)
454
+ ], Transfer.prototype, "handleSearchTreeChange", null);
455
+ __decorate([
456
+ autobind,
457
+ __metadata("design:type", Function),
458
+ __metadata("design:paramtypes", [Object, Object]),
459
+ __metadata("design:returntype", void 0)
460
+ ], Transfer.prototype, "optionItemRender", null);
461
+ __decorate([
462
+ autobind,
463
+ __metadata("design:type", Function),
464
+ __metadata("design:paramtypes", [Object, Object]),
465
+ __metadata("design:returntype", void 0)
466
+ ], Transfer.prototype, "resultItemRender", null);
467
+ __decorate([
468
+ autobind,
469
+ __metadata("design:type", Function),
470
+ __metadata("design:paramtypes", [Number, Number, String]),
471
+ __metadata("design:returntype", void 0)
472
+ ], Transfer.prototype, "onPageChangeHandle", null);
473
+ return Transfer;
474
+ }(React__default.Component));
475
+ var Transfer$1 = themeable(localeable(uncontrollable(/** @class */ (function (_super) {
476
+ __extends(class_1, _super);
477
+ function class_1() {
478
+ return _super !== null && _super.apply(this, arguments) || this;
479
+ }
480
+ return class_1;
481
+ }(Transfer)), {
482
+ value: 'onChange'
483
+ })));
484
+
485
+ export { Transfer, Transfer$1 as default };
@@ -0,0 +1,98 @@
1
+ /**
2
+ * amis-rev-ui v6.13.0
3
+ * Copyright 2018-2026 fex
4
+ */
5
+
6
+ import { __extends, __assign, __decorate, __metadata } from 'tslib';
7
+ import { autobind, themeable, localeable, uncontrollable } from 'amis-rev-core';
8
+ import { Transfer } from './Transfer.js';
9
+ import React__default from 'react';
10
+ import ResultBox from './ResultBox.js';
11
+ import { Icon } from './icons.js';
12
+ import InputBox from './InputBox.js';
13
+ import { PopOverContainer } from './PopOverContainer.js';
14
+
15
+ var TransferDropDown = /** @class */ (function (_super) {
16
+ __extends(TransferDropDown, _super);
17
+ function TransferDropDown(props) {
18
+ var _this = _super.call(this, props) || this;
19
+ _this.state = {
20
+ tempValue: props.value,
21
+ inputValue: '',
22
+ searchResult: null,
23
+ isTreeDeferLoad: false,
24
+ resultSelectMode: 'list'
25
+ };
26
+ return _this;
27
+ }
28
+ TransferDropDown.prototype.componentDidUpdate = function (prevProps) {
29
+ if (this.props.value !== prevProps.value) {
30
+ this.setState({
31
+ tempValue: this.props.value
32
+ });
33
+ }
34
+ };
35
+ TransferDropDown.prototype.handleAfterPopoverHide = function () {
36
+ this.setState({ inputValue: '', searchResult: null });
37
+ };
38
+ TransferDropDown.prototype.handleChange = function (value, onClose) {
39
+ var _a = this.props, multiple = _a.multiple, onChange = _a.onChange, mobileUI = _a.mobileUI;
40
+ if (mobileUI) {
41
+ this.setState({ tempValue: value });
42
+ }
43
+ else {
44
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
45
+ if (!multiple) {
46
+ onClose();
47
+ }
48
+ }
49
+ };
50
+ TransferDropDown.prototype.onConfirm = function () {
51
+ var onChange = this.props.onChange;
52
+ onChange === null || onChange === void 0 ? void 0 : onChange(this.state.tempValue);
53
+ };
54
+ TransferDropDown.prototype.render = function () {
55
+ var _this = this;
56
+ var _a = this.props, cx = _a.classnames, value = _a.value, itemRender = _a.itemRender, __ = _a.translate, disabled = _a.disabled, clearable = _a.clearable, className = _a.className, onChange = _a.onChange, onSearch = _a.onSearch, multiple = _a.multiple, borderMode = _a.borderMode, mobileUI = _a.mobileUI, popOverContainer = _a.popOverContainer, placeholder = _a.placeholder, maxTagCount = _a.maxTagCount, overflowTagPopover = _a.overflowTagPopover; _a.itemHeight; _a.virtualThreshold; var showInvalidMatch = _a.showInvalidMatch, overlay = _a.overlay;
57
+ var _b = this.state, inputValue = _b.inputValue, searchResult = _b.searchResult;
58
+ return (React__default.createElement(PopOverContainer, { onAfterHide: this.handleAfterPopoverHide, mobileUI: mobileUI, popOverContainer: popOverContainer, overlayWidth: overlay && (overlay === null || overlay === void 0 ? void 0 : overlay.width), align: overlay && (overlay === null || overlay === void 0 ? void 0 : overlay.align), popOverClassName: cx('TransferDropDown-popover'), showConfirm: true, onConfirm: this.onConfirm, popOverRender: function (_a) {
59
+ var onClose = _a.onClose;
60
+ return (React__default.createElement("div", { className: cx('TransferDropDown-content', {
61
+ 'is-mobile': mobileUI
62
+ }) },
63
+ onSearch ? (React__default.createElement("div", { className: cx('Transfer-search') },
64
+ React__default.createElement(InputBox, { value: inputValue, onChange: _this.handleSearch, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : __('Transfer.searchKeyword'), clearable: false, onKeyDown: _this.handleSearchKeyDown, mobileUI: mobileUI }, searchResult !== null ? (React__default.createElement("a", { onClick: _this.handleSeachCancel },
65
+ React__default.createElement(Icon, { icon: "close", className: "icon" }))) : (React__default.createElement(Icon, { icon: "search", className: "icon" }))))) : null,
66
+ searchResult !== null
67
+ ? _this.renderSearchResult(__assign(__assign({}, _this.props), { value: _this.state.tempValue, onChange: function (value) { return _this.handleChange(value, onClose); }, multiple: multiple }))
68
+ : _this.renderOptions(__assign(__assign({}, _this.props), { value: _this.state.tempValue, onChange: function (value) { return _this.handleChange(value, onClose); }, multiple: multiple }))));
69
+ } }, function (_a) {
70
+ var onClick = _a.onClick, isOpened = _a.isOpened, ref = _a.ref;
71
+ return (React__default.createElement(ResultBox, { className: cx('TransferDropDown', className, isOpened ? 'is-opened' : ''), borderMode: borderMode, allowInput: false, result: multiple ? value : (value === null || value === void 0 ? void 0 : value[0]) ? value === null || value === void 0 ? void 0 : value[0] : null, onResultChange: onChange, onResultClick: onClick, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : __('Select.placeholder'), disabled: disabled, clearable: clearable, maxTagCount: maxTagCount, overflowTagPopover: overflowTagPopover, popOverContainer: popOverContainer, ref: ref, itemRender: itemRender, mobileUI: mobileUI, hasDropDownArrow: !mobileUI, showInvalidMatch: showInvalidMatch }));
72
+ }));
73
+ };
74
+ __decorate([
75
+ autobind,
76
+ __metadata("design:type", Function),
77
+ __metadata("design:paramtypes", []),
78
+ __metadata("design:returntype", void 0)
79
+ ], TransferDropDown.prototype, "handleAfterPopoverHide", null);
80
+ __decorate([
81
+ autobind,
82
+ __metadata("design:type", Function),
83
+ __metadata("design:paramtypes", [Object, Function]),
84
+ __metadata("design:returntype", void 0)
85
+ ], TransferDropDown.prototype, "handleChange", null);
86
+ __decorate([
87
+ autobind,
88
+ __metadata("design:type", Function),
89
+ __metadata("design:paramtypes", []),
90
+ __metadata("design:returntype", void 0)
91
+ ], TransferDropDown.prototype, "onConfirm", null);
92
+ return TransferDropDown;
93
+ }(Transfer));
94
+ var TransferDropDown$1 = themeable(localeable(uncontrollable(TransferDropDown, {
95
+ value: 'onChange'
96
+ })));
97
+
98
+ export { TransferDropDown, TransferDropDown$1 as default };