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,814 @@
1
+ /**
2
+ * amis-rev-ui v6.13.0
3
+ * Copyright 2018-2026 fex
4
+ */
5
+
6
+ import { __extends, __assign, __decorate, __metadata, __rest } from 'tslib';
7
+ import { normalizeNodePath, isObject, findTree, getOptionValueBindField, getOptionValue, findDomCompat, labelToString, Overlay, PopOver, noop, ucFirst, autobind, uncontrollable, themeable, localeable, highlight } from 'amis-rev-core';
8
+ import React__default from 'react';
9
+ import omit from 'lodash/omit';
10
+ import merge from 'lodash/merge';
11
+ import VirtualList from './virtual-list/index.js';
12
+ import TooltipWrapper from './TooltipWrapper.js';
13
+ import Downshift from 'downshift';
14
+ import { Icon } from './icons.js';
15
+ import { matchSorter } from 'match-sorter';
16
+ import isPlainObject from 'lodash/isPlainObject';
17
+ import Checkbox from './Checkbox.js';
18
+ import Input from './Input.js';
19
+ import Spinner from './Spinner.js';
20
+ import { withRemoteConfig } from './WithRemoteConfig.js';
21
+ import { PopOverContainer } from './PopOverContainer.js';
22
+ import SelectMobile from './SelectMobile.js';
23
+ import AutoFoldedList from './AutoFoldedList.js';
24
+
25
+ /**
26
+ * @file Select
27
+ * @description
28
+ * @author fex
29
+ * @date 2017-11-07
30
+ */
31
+ var defaultFilterOption = function (options, inputValue, option) {
32
+ return matchSorter(options, inputValue, __assign({ threshold: matchSorter.rankings.CONTAINS }, option));
33
+ };
34
+ function value2array(value, props, enableNodePath) {
35
+ if (enableNodePath === void 0) { enableNodePath = false; }
36
+ var labelField = props.labelField, _a = props.valueField, valueField = _a === void 0 ? 'value' : _a, pathSeparator = props.pathSeparator, delimiter = props.delimiter, options = props.options, multi = props.multi, multiple = props.multiple;
37
+ if (enableNodePath) {
38
+ value = normalizeNodePath(value, enableNodePath, labelField, valueField, pathSeparator, delimiter).nodeValueArray;
39
+ }
40
+ if (multi || multiple) {
41
+ if (typeof value === 'string') {
42
+ value = value.split(delimiter || ',');
43
+ }
44
+ if (!Array.isArray(value)) {
45
+ if (value === null || value === undefined) {
46
+ return [];
47
+ }
48
+ value = [value];
49
+ }
50
+ return value
51
+ .map(function (value) {
52
+ return expandValue(value, options, valueField) ||
53
+ (isObject(value) && value.hasOwnProperty(valueField)
54
+ ? value
55
+ : undefined);
56
+ })
57
+ .filter(function (item) { return item; });
58
+ }
59
+ else if (Array.isArray(value)) {
60
+ value = value[0];
61
+ }
62
+ var expandedValue = expandValue(value, options, valueField);
63
+ return expandedValue
64
+ ? [expandedValue]
65
+ : isObject(value) && value.hasOwnProperty(valueField || 'value')
66
+ ? [value]
67
+ : [];
68
+ }
69
+ function expandValue(value, options, valueField) {
70
+ var _a;
71
+ if (valueField === void 0) { valueField = 'value'; }
72
+ var valueType = typeof value;
73
+ if (valueType !== 'string' &&
74
+ valueType !== 'number' &&
75
+ valueType !== 'boolean' &&
76
+ valueType !== 'object') {
77
+ return value;
78
+ }
79
+ if (!options) {
80
+ return null;
81
+ }
82
+ if (valueType === 'object' &&
83
+ value &&
84
+ value.hasOwnProperty(valueField || 'value')) {
85
+ value = (_a = value[valueField || 'value']) !== null && _a !== void 0 ? _a : '';
86
+ }
87
+ return findTree(options, optionValueCompare(value, valueField || 'value'), {
88
+ resolve: getOptionValueBindField(valueField),
89
+ value: getOptionValue(value, valueField)
90
+ });
91
+ }
92
+ function matchOptionValue(a, b, valueField) {
93
+ if (valueField === void 0) { valueField = 'value'; }
94
+ return isObject(a)
95
+ ? a === b[valueField || 'value']
96
+ : String(b[valueField || 'value']) === String(a);
97
+ }
98
+ function optionValueCompare(a, valueField) {
99
+ if (valueField === void 0) { valueField = 'value'; }
100
+ return function (b) { return matchOptionValue(a, b, valueField); };
101
+ }
102
+ function normalizeOptions(options, share, valueField) {
103
+ if (share === void 0) { share = {
104
+ values: [],
105
+ options: []
106
+ }; }
107
+ if (valueField === void 0) { valueField = 'value'; }
108
+ if (typeof options === 'string') {
109
+ return options.split(',').map(function (item) {
110
+ var idx = share.values.indexOf(item);
111
+ if (~idx) {
112
+ return share.options[idx];
113
+ }
114
+ var option = {
115
+ label: item,
116
+ value: item
117
+ };
118
+ share.values.push(option.value);
119
+ share.options.push(option);
120
+ return option;
121
+ });
122
+ }
123
+ else if (Array.isArray(options) &&
124
+ typeof options[0] === 'string') {
125
+ return options.map(function (item) {
126
+ var idx = share.values.indexOf(item);
127
+ if (~idx) {
128
+ return share.options[idx];
129
+ }
130
+ var option = {
131
+ label: item,
132
+ value: item
133
+ };
134
+ share.values.push(option.value);
135
+ share.options.push(option);
136
+ return option;
137
+ });
138
+ }
139
+ else if (Array.isArray(options)) {
140
+ return options.map(function (item) {
141
+ var value = item && item[valueField];
142
+ var idx = value !== undefined && !item.children
143
+ ? share.values.indexOf(value)
144
+ : -1;
145
+ if (~idx) {
146
+ return share.options[idx];
147
+ }
148
+ var option = __assign(__assign({}, item), { value: value });
149
+ if (typeof option.children !== 'undefined') {
150
+ option.children = normalizeOptions(option.children, share, valueField);
151
+ }
152
+ else if (value !== undefined) {
153
+ share.values.push(value);
154
+ share.options.push(option);
155
+ }
156
+ return option;
157
+ });
158
+ }
159
+ else if (isPlainObject(options)) {
160
+ return Object.keys(options).map(function (key) {
161
+ var idx = share.values.indexOf(key);
162
+ if (~idx) {
163
+ return share.options[idx];
164
+ }
165
+ var option = {
166
+ label: options[key],
167
+ value: key
168
+ };
169
+ share.values.push(option.value);
170
+ share.options.push(option);
171
+ return option;
172
+ });
173
+ }
174
+ return [];
175
+ }
176
+ var DownshiftChangeTypes = Downshift.stateChangeTypes;
177
+ var Select = /** @class */ (function (_super) {
178
+ __extends(Select, _super);
179
+ function Select(props) {
180
+ var _this = _super.call(this, props) || this;
181
+ _this.menu = React__default.createRef();
182
+ _this.state = {
183
+ isOpen: props.defaultOpen || false,
184
+ isFocused: false,
185
+ inputValue: '',
186
+ highlightedIndex: -1,
187
+ selection: value2array(props.value, props),
188
+ itemHeight: 32 /** Select选项高度保持一致 */,
189
+ pickerSelectItem: ''
190
+ };
191
+ return _this;
192
+ }
193
+ Select.prototype.componentDidMount = function () {
194
+ var loadOptions = this.props.loadOptions;
195
+ loadOptions && loadOptions('');
196
+ };
197
+ Select.prototype.componentDidUpdate = function (prevProps) {
198
+ var props = this.props;
199
+ var fn = noop;
200
+ if (JSON.stringify(props.value) !== JSON.stringify(prevProps.value) ||
201
+ JSON.stringify(props.options) !== JSON.stringify(prevProps.options)) {
202
+ var selection = value2array(props.value, props);
203
+ this.setState({
204
+ selection: selection
205
+ }, fn);
206
+ }
207
+ };
208
+ Select.prototype.open = function () {
209
+ var _this = this;
210
+ var _a = this.props, disabled = _a.disabled, loading = _a.loading;
211
+ if (disabled || loading) {
212
+ return;
213
+ }
214
+ this.setState({
215
+ isOpen: true,
216
+ highlightedIndex: -1
217
+ }, function () { return setTimeout(_this.focus, 500); });
218
+ };
219
+ Select.prototype.close = function () {
220
+ this.setState({
221
+ isOpen: false
222
+ });
223
+ };
224
+ Select.prototype.confirm = function () {
225
+ // @ts-ignore
226
+ this.handleChange(this.state.pickerSelectItem);
227
+ this.setState({
228
+ isOpen: false
229
+ });
230
+ };
231
+ Select.prototype.toggle = function (e) {
232
+ var _this = this;
233
+ var _a = this.props, disabled = _a.disabled, loading = _a.loading;
234
+ if ((e &&
235
+ this.menu.current &&
236
+ this.menu.current.contains(e.target)) ||
237
+ disabled ||
238
+ loading) {
239
+ return;
240
+ }
241
+ this.setState({
242
+ isOpen: !this.state.isOpen,
243
+ highlightedIndex: -1
244
+ }, this.state.isOpen ? undefined : function () { return setTimeout(_this.focus, 500); });
245
+ };
246
+ Select.prototype.onFocus = function (e) {
247
+ var _a = this.props, simpleValue = _a.simpleValue, disabled = _a.disabled, loading = _a.loading;
248
+ var _b = this.state, selection = _b.selection, isOpen = _b.isOpen;
249
+ var value = simpleValue ? selection.map(function (item) { return item.value; }) : selection;
250
+ if (!disabled && !loading && !isOpen) {
251
+ this.setState({ isFocused: true }, this.focus);
252
+ }
253
+ this.props.onFocus &&
254
+ this.props.onFocus(__assign(__assign({}, e), { value: value }));
255
+ };
256
+ Select.prototype.onBlur = function (e) {
257
+ var simpleValue = this.props.simpleValue;
258
+ var selection = this.state.selection;
259
+ var value = simpleValue ? selection.map(function (item) { return item.value; }) : selection;
260
+ this.setState({
261
+ isFocused: false
262
+ });
263
+ this.props.onBlur &&
264
+ this.props.onBlur(__assign(__assign({}, e), { value: value }));
265
+ };
266
+ Select.prototype.focus = function () {
267
+ this.input
268
+ ? this.input.focus()
269
+ : this.getTarget() && this.getTarget().focus();
270
+ };
271
+ Select.prototype.blur = function () {
272
+ this.input
273
+ ? this.input.blur()
274
+ : this.getTarget() && this.getTarget().blur();
275
+ };
276
+ Select.prototype.getTarget = function () {
277
+ if (!this.target) {
278
+ this.target = findDomCompat(this);
279
+ }
280
+ return this.target;
281
+ };
282
+ Select.prototype.inputRef = function (ref) {
283
+ this.input = ref;
284
+ };
285
+ Select.prototype.toggleCheckAll = function () {
286
+ var _a = this.props, options = _a.options, onChange = _a.onChange, simpleValue = _a.simpleValue, checkAllBySearch = _a.checkAllBySearch, labelField = _a.labelField, valueField = _a.valueField, _b = _a.filterOption, filterOption = _b === void 0 ? defaultFilterOption : _b;
287
+ var inputValue = this.state.inputValue;
288
+ var selection = this.state.selection;
289
+ var filtedOptions = (inputValue && checkAllBySearch !== false
290
+ ? filterOption(options, inputValue, {
291
+ keys: [labelField || 'label', valueField || 'value']
292
+ })
293
+ : options.concat()).filter(function (option) { return option && !option.disabled; });
294
+ var optionsValues = filtedOptions.map(function (option) { return option.value; });
295
+ var selectionValues = selection.map(function (select) { return select.value; });
296
+ var checkedAll = optionsValues.every(function (option) { return selectionValues.indexOf(option) > -1; });
297
+ selection = checkedAll ? [] : filtedOptions;
298
+ onChange(simpleValue ? selection.map(function (item) { return item.value; }) : selection);
299
+ };
300
+ Select.prototype.removeItem = function (index, e) {
301
+ var _a = this.props, onChange = _a.onChange, simpleValue = _a.simpleValue, disabled = _a.disabled;
302
+ if (disabled) {
303
+ return;
304
+ }
305
+ var value = this.state.selection;
306
+ e && e.stopPropagation();
307
+ value = Array.isArray(value) ? value.concat() : [value];
308
+ value.splice(index, 1);
309
+ onChange(simpleValue ? value.map(function (item) { return item.value; }) : value);
310
+ };
311
+ Select.prototype.handleInputChange = function (evt) {
312
+ var _this = this;
313
+ var loadOptions = this.props.loadOptions;
314
+ this.setState({
315
+ inputValue: evt.currentTarget.value
316
+ }, function () { return loadOptions && loadOptions(_this.state.inputValue); });
317
+ };
318
+ Select.prototype.handlePickerChange = function (selectItem, index, confirm) {
319
+ if (!this.props.multiple) {
320
+ selectItem = selectItem[0];
321
+ }
322
+ this.setState({
323
+ pickerSelectItem: selectItem
324
+ });
325
+ // 直接选中选项
326
+ if (confirm) {
327
+ this.handleChange(selectItem);
328
+ }
329
+ };
330
+ /**
331
+ * DownShift中ESC按键动作会触发change事件,此时selectItem为null,需要单独处理,参考:
332
+ * {@link https://github.com/downshift-js/downshift/issues/719 GitHub Issue #719}
333
+ */
334
+ Select.prototype.handleChange = function (selectItem) {
335
+ var _a = this.props, onChange = _a.onChange, multiple = _a.multiple, simpleValue = _a.simpleValue, valueField = _a.valueField;
336
+ var selection = this.state.selection;
337
+ if (selectItem == null) {
338
+ return;
339
+ }
340
+ if (multiple) {
341
+ var selectionValues = selection.map(function (item) { return item[valueField]; });
342
+ selection = selection.concat();
343
+ var idx = selectionValues.indexOf(selectItem[valueField]);
344
+ if (~idx) {
345
+ selection.splice(idx, 1);
346
+ }
347
+ else {
348
+ selection.push(selectItem);
349
+ }
350
+ onChange(simpleValue ? selection.map(function (item) { return item[valueField]; }) : selection);
351
+ }
352
+ else {
353
+ // Downshift里面的判断修改后的值是否相等时,没有区分是否多选,且用的是!==,所以这里拦截一下
354
+ (!selection.length ||
355
+ selection[0][valueField] !== selectItem[valueField]) &&
356
+ onChange(simpleValue ? selectItem[valueField] : selectItem);
357
+ }
358
+ };
359
+ Select.prototype.handleStateChange = function (changes) {
360
+ var _a = this.props, multiple = _a.multiple, checkAll = _a.checkAll;
361
+ var update = {};
362
+ switch (changes.type) {
363
+ case DownshiftChangeTypes.keyDownEnter:
364
+ case DownshiftChangeTypes.clickItem:
365
+ update = __assign(__assign({}, update), { isOpen: multiple ? true : false, isFocused: multiple && checkAll ? true : false });
366
+ break;
367
+ case DownshiftChangeTypes.controlledPropUpdatedSelectedItem:
368
+ break;
369
+ case DownshiftChangeTypes.changeInput:
370
+ update.highlightedIndex = 0;
371
+ break;
372
+ case DownshiftChangeTypes.keyDownArrowDown:
373
+ case DownshiftChangeTypes.keyDownArrowUp:
374
+ case DownshiftChangeTypes.itemMouseEnter:
375
+ update = __assign(__assign({}, update), changes);
376
+ break;
377
+ }
378
+ if (Object.keys(update).length) {
379
+ this.setState(update);
380
+ }
381
+ };
382
+ Select.prototype.handleKeyPress = function (e) {
383
+ /**
384
+ * 考虑到label/value中有空格的case
385
+ * 这里使用组合键关闭 win:shift + space,mac:shift + space
386
+ */
387
+ if (e.key === ' ' && e.shiftKey) {
388
+ this.toggle();
389
+ e.preventDefault();
390
+ }
391
+ };
392
+ Select.prototype.clearValue = function (e) {
393
+ var onChange = this.props.onChange;
394
+ e.preventDefault();
395
+ e.stopPropagation();
396
+ onChange(this.props.resetValue);
397
+ };
398
+ Select.prototype.clearSearchValue = function () {
399
+ var loadOptions = this.props.loadOptions;
400
+ this.setState({
401
+ inputValue: ''
402
+ }, function () { return loadOptions === null || loadOptions === void 0 ? void 0 : loadOptions(''); });
403
+ };
404
+ Select.prototype.handleAddClick = function () {
405
+ var onAdd = this.props.onAdd;
406
+ onAdd && onAdd();
407
+ };
408
+ Select.prototype.handleEditClick = function (e, item) {
409
+ var onEdit = this.props.onEdit;
410
+ e.preventDefault();
411
+ e.stopPropagation();
412
+ onEdit && onEdit(item);
413
+ };
414
+ Select.prototype.handleDeleteClick = function (e, item) {
415
+ var onDelete = this.props.onDelete;
416
+ e.preventDefault();
417
+ e.stopPropagation();
418
+ onDelete && onDelete(item);
419
+ };
420
+ Select.prototype.renderValue = function (_a) {
421
+ var _this = this;
422
+ _a.inputValue; _a.isOpen;
423
+ var _b = this.props, cx = _b.classnames, multiple = _b.multiple, valuesNoWrap = _b.valuesNoWrap, placeholder = _b.placeholder, labelField = _b.labelField, disabled = _b.disabled, maxTagCount = _b.maxTagCount, overflowTagPopover = _b.overflowTagPopover, showInvalidMatch = _b.showInvalidMatch, renderValueLabel = _b.renderValueLabel, popOverContainer = _b.popOverContainer, __ = _b.translate;
424
+ var selection = this.state.selection;
425
+ var labelKey = labelField || 'label';
426
+ if (!selection.length) {
427
+ return (React__default.createElement("div", { key: "placeholder", className: cx('Select-placeholder') }, __(placeholder)));
428
+ }
429
+ else if (multiple && typeof maxTagCount === 'number' && maxTagCount > 0) {
430
+ var tooltipProps = __assign({ tooltipClassName: cx('Select-overflow', overflowTagPopover === null || overflowTagPopover === void 0 ? void 0 : overflowTagPopover.tooltipClassName) }, omit(overflowTagPopover, ['children', 'content', 'tooltipClassName']));
431
+ return (React__default.createElement(AutoFoldedList, { tooltipClassName: cx('Select-overflow-wrapper'), items: selection, popOverContainer: popOverContainer, tooltipOptions: tooltipProps, maxVisibleCount: maxTagCount, renderItem: function (item, index, folded) {
432
+ var label = labelToString(item[labelKey]);
433
+ var body = (React__default.createElement("div", { key: index, className: cx('Select-value', {
434
+ 'is-disabled': disabled || item.disabled,
435
+ 'is-invalid': showInvalidMatch ? item.__unmatched : false
436
+ }) },
437
+ React__default.createElement("span", { className: cx('Select-valueLabel') }, renderValueLabel ? renderValueLabel(item) : label),
438
+ React__default.createElement("span", { className: cx('Select-valueIcon', {
439
+ 'is-disabled': disabled || item.disabled
440
+ }), onClick: _this.removeItem.bind(_this, index) },
441
+ React__default.createElement(Icon, { icon: "close", className: "icon" }))));
442
+ return folded ? (body) : (React__default.createElement(TooltipWrapper, { container: popOverContainer, placement: 'top', tooltip: label, trigger: 'hover', key: index }, body));
443
+ } }));
444
+ }
445
+ else {
446
+ return selection.map(function (item, index) {
447
+ var label = labelToString(item[labelKey]);
448
+ if (!multiple) {
449
+ return (React__default.createElement("div", { className: cx('Select-value', {
450
+ 'is-disabled': disabled,
451
+ 'is-invalid': showInvalidMatch ? item.__unmatched : false
452
+ }), key: index }, renderValueLabel ? renderValueLabel(item) : label));
453
+ }
454
+ return valuesNoWrap ? ("".concat(label).concat(index === selection.length - 1 ? '' : ' + ')) : (React__default.createElement(TooltipWrapper, { container: popOverContainer, placement: 'top', tooltip: label, trigger: 'hover', key: index },
455
+ React__default.createElement("div", { className: cx('Select-value', {
456
+ 'is-disabled': disabled || item.disabled,
457
+ 'is-invalid': showInvalidMatch ? item.__unmatched : false
458
+ }) },
459
+ React__default.createElement("span", { className: cx('Select-valueLabel') }, renderValueLabel ? renderValueLabel(item) : label),
460
+ React__default.createElement("span", { className: cx('Select-valueIcon', {
461
+ 'is-disabled': disabled || item.disabled
462
+ }), onClick: _this.removeItem.bind(_this, index) },
463
+ React__default.createElement(Icon, { icon: "close", className: "icon" })))));
464
+ });
465
+ }
466
+ };
467
+ Select.prototype.renderOuter = function (_a) {
468
+ var _this = this;
469
+ var _b;
470
+ var selectedItem = _a.selectedItem, getItemProps = _a.getItemProps, highlightedIndex = _a.highlightedIndex, inputValue = _a.inputValue, isOpen = _a.isOpen; _a.getToggleButtonProps; var getInputProps = _a.getInputProps;
471
+ var _c = this.props, popOverContainer = _c.popOverContainer, options = _c.options, valueField = _c.valueField, labelField = _c.labelField, noResultsText = _c.noResultsText, loadOptions = _c.loadOptions, creatable = _c.creatable, multiple = _c.multiple, valuesNoWrap = _c.valuesNoWrap, cx = _c.classnames, popoverClassName = _c.popoverClassName, popOverContainerSelector = _c.popOverContainerSelector, checkAll = _c.checkAll, checkAllLabel = _c.checkAllLabel, checkAllBySearch = _c.checkAllBySearch, searchable = _c.searchable, createBtnLabel = _c.createBtnLabel, disabled = _c.disabled, searchPromptText = _c.searchPromptText, editable = _c.editable, removable = _c.removable, overlayPlacement = _c.overlayPlacement, __ = _c.translate, hideSelected = _c.hideSelected, renderMenu = _c.renderMenu; _c.mobileClassName; var _d = _c.virtualThreshold, virtualThreshold = _d === void 0 ? 100 : _d, mobileUI = _c.mobileUI, _e = _c.filterOption, filterOption = _e === void 0 ? defaultFilterOption : _e, overlay = _c.overlay, loading = _c.loading, testIdBuilder = _c.testIdBuilder;
472
+ var selection = this.state.selection;
473
+ var checkedAll = false;
474
+ var checkedPartial = false;
475
+ var filtedOptions = (inputValue && isOpen && !loadOptions
476
+ ? filterOption(options, inputValue, {
477
+ keys: [labelField || 'label', valueField || 'value']
478
+ })
479
+ : options.concat()).filter(function (option) { return !option.hidden && option.visible !== false; });
480
+ var enableVirtualRender = filtedOptions.length && filtedOptions.length > virtualThreshold;
481
+ var selectionValues = selection.map(function (select) { return select[valueField]; });
482
+ if (multiple && checkAll) {
483
+ var optionsValues = (checkAllBySearch !== false ? filtedOptions : options).map(function (option) { return option[valueField]; });
484
+ checkedAll = optionsValues.every(function (option) { return selectionValues.indexOf(option) > -1; });
485
+ checkedPartial = optionsValues.some(function (option) { return selectionValues.indexOf(option) > -1; });
486
+ }
487
+ // 用于虚拟渲染的每项高度
488
+ var virtualItemHeight = this.props.itemHeight || this.state.itemHeight;
489
+ // 渲染单个选项
490
+ var renderItem = function (_a) {
491
+ var index = _a.index, style = _a.style;
492
+ var item = filtedOptions[index];
493
+ if (!item) {
494
+ return null;
495
+ }
496
+ var checked = selectedItem === item || !!~selectionValues.indexOf(item[valueField]);
497
+ if (hideSelected && checked) {
498
+ return null;
499
+ }
500
+ var label = labelToString(item[labelField]);
501
+ var optTestIdBudr = testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild("option-".concat(label || index));
502
+ return (React__default.createElement("div", __assign({}, getItemProps({
503
+ key: typeof item.value === 'string'
504
+ ? "".concat(item.label, "-").concat(item.value)
505
+ : index,
506
+ index: index,
507
+ item: item,
508
+ disabled: item.disabled
509
+ }), { style: merge(style, enableVirtualRender ? { width: '100%' } : {}), className: cx("Select-option", {
510
+ 'is-disabled': item.disabled,
511
+ 'is-highlight': highlightedIndex === index,
512
+ 'is-active': checked
513
+ }) }, optTestIdBudr === null || optTestIdBudr === void 0 ? void 0 : optTestIdBudr.getTestId()),
514
+ renderMenu ? (multiple ? (React__default.createElement(Checkbox, { checked: checked, trueValue: item.value, onChange: function () {
515
+ _this.handleChange(item);
516
+ }, disabled: item.disabled, testIdBuilder: optTestIdBudr === null || optTestIdBudr === void 0 ? void 0 : optTestIdBudr.getChild('chekbx'), size: "sm" }, renderMenu(item, {
517
+ multiple: multiple,
518
+ checkAll: checkAll,
519
+ checked: checked,
520
+ onChange: function () { return _this.handleChange(item); },
521
+ inputValue: inputValue || '',
522
+ searchable: searchable,
523
+ index: index
524
+ }))) : (renderMenu(item, {
525
+ multiple: multiple,
526
+ checkAll: checkAll,
527
+ checked: checked,
528
+ onChange: function () { return _this.handleChange(item); },
529
+ inputValue: inputValue || '',
530
+ searchable: searchable,
531
+ index: index
532
+ }))) : multiple ? (React__default.createElement("div", { title: label, className: cx('Select-option-checkbox') },
533
+ React__default.createElement(Checkbox, { checked: checked, trueValue: item.value, onChange: function () {
534
+ _this.handleChange(item);
535
+ }, disabled: item.disabled, size: "sm" },
536
+ item.disabled
537
+ ? label
538
+ : highlight(label, inputValue, cx('Select-option-hl')),
539
+ item.tip ? React__default.createElement("span", null, item.tip) : null))) : (React__default.createElement("span", __assign({ className: cx('Select-option-content'), title: item.disabledTip && item.disabled
540
+ ? ''
541
+ : typeof label === 'string'
542
+ ? label
543
+ : '' }, optTestIdBudr === null || optTestIdBudr === void 0 ? void 0 : optTestIdBudr.getChild('content').getTestId()),
544
+ item.disabled
545
+ ? label
546
+ : highlight(label, inputValue, cx('Select-option-hl')),
547
+ item.disabledTip && item.disabled ? (React__default.createElement(TooltipWrapper, { placement: "right", tooltip: item.disabledTip, trigger: "hover" },
548
+ React__default.createElement("a", { className: cx('Select-option-disabledTip') },
549
+ React__default.createElement(Icon, { className: "icon", icon: "question2" })))) : item.tip ? (React__default.createElement("span", null, item.tip)) : null)),
550
+ editable ? (React__default.createElement("a", { "data-tooltip": __('Select.edit'), "data-position": "left" },
551
+ React__default.createElement(Icon, { icon: "pencil", className: "icon", onClick: function (e) { return _this.handleEditClick(e, item); } }))) : null,
552
+ removable ? (React__default.createElement("a", { "data-tooltip": __('Select.clear'), "data-position": "left" },
553
+ React__default.createElement(Icon, { icon: "close", className: "icon", onClick: function (e) { return _this.handleDeleteClick(e, item); } }))) : null));
554
+ };
555
+ var menu = (React__default.createElement("div", { ref: this.menu, className: cx('Select-menu', {
556
+ 'Select--longlist': enableVirtualRender,
557
+ 'is-mobile': mobileUI
558
+ }) },
559
+ searchable ? (React__default.createElement("div", { className: cx("Select-input", {
560
+ 'is-focused': this.state.isFocused
561
+ }) },
562
+ React__default.createElement(Icon, { icon: "search", className: "icon" }),
563
+ React__default.createElement(Input, __assign({}, getInputProps({
564
+ onFocus: this.onFocus,
565
+ onBlur: this.onBlur,
566
+ disabled: disabled,
567
+ placeholder: __(searchPromptText),
568
+ onChange: this.handleInputChange,
569
+ ref: this.inputRef
570
+ }))),
571
+ (inputValue === null || inputValue === void 0 ? void 0 : inputValue.length) ? (React__default.createElement("a", { onClick: this.clearSearchValue, className: cx('Select-clear') },
572
+ React__default.createElement(Icon, { icon: "close", className: "icon" }))) : null)) : null,
573
+ loading ? (React__default.createElement("div", { className: cx('Select-noResult') }, __('loading'))) : (React__default.createElement(React__default.Fragment, null,
574
+ multiple && valuesNoWrap ? (React__default.createElement("div", { className: cx('Select-option') },
575
+ __('Select.selected'),
576
+ "(",
577
+ selectionValues.length,
578
+ ")")) : null,
579
+ multiple && checkAll && filtedOptions.length ? (React__default.createElement("div", { className: cx('Select-option') },
580
+ React__default.createElement(Checkbox, { checked: checkedPartial, partial: checkedPartial && !checkedAll, onChange: this.toggleCheckAll, size: "sm" }, __(checkAllLabel)))) : null,
581
+ creatable && !disabled ? (React__default.createElement("a", { className: cx('Select-addBtn'), onClick: this.handleAddClick },
582
+ React__default.createElement(Icon, { icon: "plus", className: "icon" }),
583
+ __(createBtnLabel))) : null,
584
+ filtedOptions.length ? (filtedOptions.length > virtualThreshold ? ( // 较多数据时才启用 virtuallist,避免滚动条问题
585
+ React__default.createElement(VirtualList, { height: filtedOptions.length > 8
586
+ ? 266
587
+ : filtedOptions.length * virtualItemHeight, itemCount: filtedOptions.length, itemSize: virtualItemHeight, renderItem: renderItem })) : (filtedOptions.map(function (item, index) {
588
+ return renderItem({ index: index });
589
+ }))) : (React__default.createElement("div", { className: cx('Select-noResult') }, __(noResultsText)))))));
590
+ return mobileUI ? (React__default.createElement(SelectMobile, __assign({}, this.props, { highlightedIndex: highlightedIndex, isOpen: isOpen, getItemProps: getItemProps, getInputProps: getInputProps, selectedItem: selectedItem, onChange: function (selection) {
591
+ _this.setState({
592
+ isOpen: false
593
+ });
594
+ _this.props.onChange(selection);
595
+ }, onClose: this.close }))) : (React__default.createElement(Overlay, { container: popOverContainer || this.getTarget, containerSelector: popOverContainerSelector, target: this.getTarget, placement: overlayPlacement === 'auto'
596
+ ? PopOverContainer.alignToPlacement(overlay)
597
+ : overlayPlacement, show: true },
598
+ React__default.createElement(PopOver, { overlay: true, className: cx('Select-popover', popoverClassName), style: {
599
+ width: (overlay &&
600
+ PopOverContainer.calcOverlayWidth(overlay, (_b = this.target) === null || _b === void 0 ? void 0 : _b.offsetWidth)) ||
601
+ (this.target ? this.target.offsetWidth : 'auto')
602
+ }, onHide: this.close }, menu)));
603
+ };
604
+ Select.prototype.render = function () {
605
+ var _this = this;
606
+ var _a = this.props, cx = _a.classnames, multiple = _a.multiple, valuesNoWrap = _a.valuesNoWrap, searchable = _a.searchable, inline = _a.inline, block = _a.block, className = _a.className, value = _a.value, loading = _a.loading, clearable = _a.clearable, labelField = _a.labelField, disabled = _a.disabled; _a.checkAll; var borderMode = _a.borderMode, mobileUI = _a.mobileUI, hasError = _a.hasError, testIdBuilder = _a.testIdBuilder, loadingConfig = _a.loadingConfig, controlStyle = _a.controlStyle;
607
+ var selection = this.state.selection;
608
+ var inputValue = this.state.inputValue;
609
+ var resetValue = this.props.resetValue;
610
+ return (React__default.createElement(Downshift, { selectedItem: selection, highlightedIndex: this.state.highlightedIndex, isOpen: this.state.isOpen, inputValue: inputValue, onChange:
611
+ /*展示 Checkbox 的时候,会出发多次 onChange 原因待查*/
612
+ multiple ? noop : this.handleChange, onStateChange: this.handleStateChange, itemToString: function (item) {
613
+ return item ? "".concat(labelToString(item[labelField])) : '';
614
+ } }, function (options) {
615
+ var _a;
616
+ var isOpen = options.isOpen;
617
+ return (React__default.createElement("div", __assign({ tabIndex: disabled ? -1 : 0, onKeyPress: _this.handleKeyPress, onClick: _this.toggle, onFocus: _this.onFocus, onBlur: _this.onBlur }, testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getTestId(), { className: cx("Select", (_a = {},
618
+ _a["Select--multi"] = multiple,
619
+ _a["Select--inline"] = inline,
620
+ _a["Select--block"] = block,
621
+ _a["Select--searchable"] = searchable,
622
+ _a['is-opened'] = isOpen,
623
+ _a['is-focused'] = _this.state.isFocused,
624
+ _a['is-disabled'] = disabled || loading,
625
+ _a['is-mobile'] = mobileUI,
626
+ _a['is-error'] = hasError,
627
+ _a["Select--border".concat(ucFirst(borderMode))] = borderMode,
628
+ _a), className), "data-amis-name": _this.props.dataName, style: controlStyle }),
629
+ React__default.createElement("div", { className: cx("Select-valueWrap", {
630
+ 'Select-valuesNoWrap': valuesNoWrap
631
+ }) }, _this.renderValue(options)),
632
+ clearable &&
633
+ !disabled &&
634
+ (Array.isArray(value)
635
+ ? value.length
636
+ : value != null && value !== resetValue) ? (React__default.createElement("a", __assign({ onClick: _this.clearValue, className: cx('Select-clear') }, testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('clear').getTestId()),
637
+ React__default.createElement(Icon, { icon: "input-clear", className: "icon" }))) : null,
638
+ loading ? (React__default.createElement(Spinner, { show: true, icon: "reload", size: "sm", spinnerClassName: cx('Select-spinner'), loadingConfig: loadingConfig })) : null,
639
+ React__default.createElement("span", __assign({ className: cx('Select-arrow') }, testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('arrow').getTestId()),
640
+ React__default.createElement(Icon, { icon: "right-arrow-bold", className: "icon" })),
641
+ isOpen ? _this.renderOuter(options) : null));
642
+ }));
643
+ };
644
+ Select.defaultProps = {
645
+ multiple: false,
646
+ clearable: true,
647
+ creatable: false,
648
+ showInvalidMatch: false,
649
+ createBtnLabel: 'Select.createLabel',
650
+ searchPromptText: 'Select.searchPromptText',
651
+ loadingPlaceholder: 'loading',
652
+ noResultsText: 'noResult',
653
+ clearAllText: 'Select.clearAll',
654
+ clearValueText: 'Select.clear',
655
+ placeholder: 'Select.placeholder',
656
+ valueField: 'value',
657
+ labelField: 'label',
658
+ resetValue: '',
659
+ inline: false,
660
+ disabled: false,
661
+ checkAll: false,
662
+ checkAllLabel: 'Select.checkAll',
663
+ defaultCheckAll: false,
664
+ overlayPlacement: 'auto',
665
+ virtualThreshold: 100
666
+ };
667
+ __decorate([
668
+ autobind,
669
+ __metadata("design:type", Function),
670
+ __metadata("design:paramtypes", []),
671
+ __metadata("design:returntype", void 0)
672
+ ], Select.prototype, "open", null);
673
+ __decorate([
674
+ autobind,
675
+ __metadata("design:type", Function),
676
+ __metadata("design:paramtypes", []),
677
+ __metadata("design:returntype", void 0)
678
+ ], Select.prototype, "close", null);
679
+ __decorate([
680
+ autobind,
681
+ __metadata("design:type", Function),
682
+ __metadata("design:paramtypes", []),
683
+ __metadata("design:returntype", void 0)
684
+ ], Select.prototype, "confirm", null);
685
+ __decorate([
686
+ autobind,
687
+ __metadata("design:type", Function),
688
+ __metadata("design:paramtypes", [Object]),
689
+ __metadata("design:returntype", void 0)
690
+ ], Select.prototype, "toggle", null);
691
+ __decorate([
692
+ autobind,
693
+ __metadata("design:type", Function),
694
+ __metadata("design:paramtypes", [Object]),
695
+ __metadata("design:returntype", void 0)
696
+ ], Select.prototype, "onFocus", null);
697
+ __decorate([
698
+ autobind,
699
+ __metadata("design:type", Function),
700
+ __metadata("design:paramtypes", [Object]),
701
+ __metadata("design:returntype", void 0)
702
+ ], Select.prototype, "onBlur", null);
703
+ __decorate([
704
+ autobind,
705
+ __metadata("design:type", Function),
706
+ __metadata("design:paramtypes", []),
707
+ __metadata("design:returntype", void 0)
708
+ ], Select.prototype, "focus", null);
709
+ __decorate([
710
+ autobind,
711
+ __metadata("design:type", Function),
712
+ __metadata("design:paramtypes", []),
713
+ __metadata("design:returntype", void 0)
714
+ ], Select.prototype, "getTarget", null);
715
+ __decorate([
716
+ autobind,
717
+ __metadata("design:type", Function),
718
+ __metadata("design:paramtypes", [HTMLInputElement]),
719
+ __metadata("design:returntype", void 0)
720
+ ], Select.prototype, "inputRef", null);
721
+ __decorate([
722
+ autobind,
723
+ __metadata("design:type", Function),
724
+ __metadata("design:paramtypes", []),
725
+ __metadata("design:returntype", void 0)
726
+ ], Select.prototype, "toggleCheckAll", null);
727
+ __decorate([
728
+ autobind,
729
+ __metadata("design:type", Function),
730
+ __metadata("design:paramtypes", [Object]),
731
+ __metadata("design:returntype", void 0)
732
+ ], Select.prototype, "handleInputChange", null);
733
+ __decorate([
734
+ autobind,
735
+ __metadata("design:type", Function),
736
+ __metadata("design:paramtypes", [Object, Number, Boolean]),
737
+ __metadata("design:returntype", void 0)
738
+ ], Select.prototype, "handlePickerChange", null);
739
+ __decorate([
740
+ autobind,
741
+ __metadata("design:type", Function),
742
+ __metadata("design:paramtypes", [Object]),
743
+ __metadata("design:returntype", void 0)
744
+ ], Select.prototype, "handleChange", null);
745
+ __decorate([
746
+ autobind,
747
+ __metadata("design:type", Function),
748
+ __metadata("design:paramtypes", [Object]),
749
+ __metadata("design:returntype", void 0)
750
+ ], Select.prototype, "handleStateChange", null);
751
+ __decorate([
752
+ autobind,
753
+ __metadata("design:type", Function),
754
+ __metadata("design:paramtypes", [Object]),
755
+ __metadata("design:returntype", void 0)
756
+ ], Select.prototype, "handleKeyPress", null);
757
+ __decorate([
758
+ autobind,
759
+ __metadata("design:type", Function),
760
+ __metadata("design:paramtypes", [Object]),
761
+ __metadata("design:returntype", void 0)
762
+ ], Select.prototype, "clearValue", null);
763
+ __decorate([
764
+ autobind,
765
+ __metadata("design:type", Function),
766
+ __metadata("design:paramtypes", []),
767
+ __metadata("design:returntype", void 0)
768
+ ], Select.prototype, "clearSearchValue", null);
769
+ __decorate([
770
+ autobind,
771
+ __metadata("design:type", Function),
772
+ __metadata("design:paramtypes", []),
773
+ __metadata("design:returntype", void 0)
774
+ ], Select.prototype, "handleAddClick", null);
775
+ __decorate([
776
+ autobind,
777
+ __metadata("design:type", Function),
778
+ __metadata("design:paramtypes", [Event, Object]),
779
+ __metadata("design:returntype", void 0)
780
+ ], Select.prototype, "handleEditClick", null);
781
+ __decorate([
782
+ autobind,
783
+ __metadata("design:type", Function),
784
+ __metadata("design:paramtypes", [Event, Object]),
785
+ __metadata("design:returntype", void 0)
786
+ ], Select.prototype, "handleDeleteClick", null);
787
+ return Select;
788
+ }(React__default.Component));
789
+ var methods = ['focus', 'blur'];
790
+ var EnhancedSelect = uncontrollable(themeable(localeable(Select, methods), methods), {
791
+ value: 'onChange'
792
+ }, methods);
793
+ var SelectWithRemoteOptions = withRemoteConfig({
794
+ adaptor: function (data) { return data.options || data.items || data.rows || data; },
795
+ normalizeConfig: function (options, origin) {
796
+ options = normalizeOptions(options);
797
+ if (Array.isArray(options)) {
798
+ return options.concat();
799
+ }
800
+ return origin;
801
+ }
802
+ })(/** @class */ (function (_super) {
803
+ __extends(class_1, _super);
804
+ function class_1() {
805
+ return _super !== null && _super.apply(this, arguments) || this;
806
+ }
807
+ class_1.prototype.render = function () {
808
+ var _a = this.props, loading = _a.loading, config = _a.config; _a.deferLoad; _a.updateConfig; var rest = __rest(_a, ["loading", "config", "deferLoad", "updateConfig"]);
809
+ return (React__default.createElement(EnhancedSelect, __assign({}, rest, { options: config || rest.options || [], loading: loading })));
810
+ };
811
+ return class_1;
812
+ }(React__default.Component)));
813
+
814
+ export { Select, SelectWithRemoteOptions, EnhancedSelect as default, defaultFilterOption, expandValue, matchOptionValue, normalizeOptions, optionValueCompare, value2array };