amis 1.5.6 → 1.6.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/.husky/pre-commit +1 -1
  2. package/README.md +1 -0
  3. package/lib/RootRenderer.d.ts +2 -0
  4. package/lib/RootRenderer.js +19 -1
  5. package/lib/RootRenderer.js.map +2 -2
  6. package/lib/Schema.d.ts +3 -2
  7. package/lib/Schema.js.map +1 -1
  8. package/lib/SchemaRenderer.js +52 -1
  9. package/lib/SchemaRenderer.js.map +2 -2
  10. package/lib/Scoped.d.ts +2 -0
  11. package/lib/Scoped.js +27 -1
  12. package/lib/Scoped.js.map +2 -2
  13. package/lib/actions/Action.d.ts +33 -0
  14. package/lib/actions/Action.js +100 -0
  15. package/lib/actions/Action.js.map +13 -0
  16. package/lib/actions/AjaxAction.d.ts +14 -0
  17. package/lib/actions/AjaxAction.js +68 -0
  18. package/lib/actions/AjaxAction.js.map +13 -0
  19. package/lib/actions/BreakAction.d.ts +12 -0
  20. package/lib/actions/BreakAction.js +28 -0
  21. package/lib/actions/BreakAction.js.map +13 -0
  22. package/lib/actions/BroadcastAction.d.ts +12 -0
  23. package/lib/actions/BroadcastAction.js +40 -0
  24. package/lib/actions/BroadcastAction.js.map +13 -0
  25. package/lib/actions/CmptAction.d.ts +12 -0
  26. package/lib/actions/CmptAction.js +40 -0
  27. package/lib/actions/CmptAction.js.map +13 -0
  28. package/lib/actions/ContinueAction.d.ts +12 -0
  29. package/lib/actions/ContinueAction.js +28 -0
  30. package/lib/actions/ContinueAction.js.map +13 -0
  31. package/lib/actions/CopyAction.d.ts +12 -0
  32. package/lib/actions/CopyAction.js +35 -0
  33. package/lib/actions/CopyAction.js.map +13 -0
  34. package/lib/actions/CustomAction.d.ts +12 -0
  35. package/lib/actions/CustomAction.js +43 -0
  36. package/lib/actions/CustomAction.js.map +13 -0
  37. package/lib/actions/DialogAction.d.ts +12 -0
  38. package/lib/actions/DialogAction.js +31 -0
  39. package/lib/actions/DialogAction.js.map +13 -0
  40. package/lib/actions/DrawerAction.d.ts +12 -0
  41. package/lib/actions/DrawerAction.js +31 -0
  42. package/lib/actions/DrawerAction.js.map +13 -0
  43. package/lib/actions/EmailAction.d.ts +12 -0
  44. package/lib/actions/EmailAction.js +37 -0
  45. package/lib/actions/EmailAction.js.map +13 -0
  46. package/lib/actions/LoopAction.d.ts +12 -0
  47. package/lib/actions/LoopAction.js +93 -0
  48. package/lib/actions/LoopAction.js.map +13 -0
  49. package/lib/actions/OpenPageAction.d.ts +12 -0
  50. package/lib/actions/OpenPageAction.js +33 -0
  51. package/lib/actions/OpenPageAction.js.map +13 -0
  52. package/lib/actions/ParallelAction.d.ts +5 -0
  53. package/lib/actions/ParallelAction.js +33 -0
  54. package/lib/actions/ParallelAction.js.map +13 -0
  55. package/lib/actions/SwitchAction.d.ts +8 -0
  56. package/lib/actions/SwitchAction.js +45 -0
  57. package/lib/actions/SwitchAction.js.map +13 -0
  58. package/lib/actions/index.d.ts +18 -0
  59. package/lib/actions/index.js +22 -0
  60. package/lib/actions/index.js.map +13 -0
  61. package/lib/components/AnchorNav.d.ts +20 -20
  62. package/lib/components/AssociatedSelection.d.ts +84 -84
  63. package/lib/components/AssociatedSelection.js +2 -2
  64. package/lib/components/AssociatedSelection.js.map +2 -2
  65. package/lib/components/Avatar.d.ts +135 -0
  66. package/lib/components/Avatar.js +120 -0
  67. package/lib/components/Avatar.js.map +13 -0
  68. package/lib/components/BaiduMapPicker.js.map +2 -2
  69. package/lib/components/Button.d.ts +20 -20
  70. package/lib/components/CalendarMobile.d.ts +573 -0
  71. package/lib/components/CalendarMobile.js +486 -0
  72. package/lib/components/CalendarMobile.js.map +13 -0
  73. package/lib/components/Cascader.d.ts +123 -0
  74. package/lib/components/Cascader.js +487 -0
  75. package/lib/components/Cascader.js.map +13 -0
  76. package/lib/components/ChainedSelection.d.ts +84 -84
  77. package/lib/components/ChainedSelection.js +15 -3
  78. package/lib/components/ChainedSelection.js.map +2 -2
  79. package/lib/components/CityArea.d.ts +527 -0
  80. package/lib/components/CityArea.js +177 -0
  81. package/lib/components/CityArea.js.map +13 -0
  82. package/lib/components/Collapse.d.ts +20 -20
  83. package/lib/components/ColorPicker.d.ts +84 -84
  84. package/lib/components/ColorPicker.js +4 -3
  85. package/lib/components/ColorPicker.js.map +2 -2
  86. package/lib/components/DatePicker.d.ts +85 -84
  87. package/lib/components/DatePicker.js +21 -8
  88. package/lib/components/DatePicker.js.map +2 -2
  89. package/lib/components/DateRangePicker.d.ts +85 -84
  90. package/lib/components/DateRangePicker.js +19 -6
  91. package/lib/components/DateRangePicker.js.map +2 -2
  92. package/lib/components/GroupedSelection.d.ts +84 -84
  93. package/lib/components/GroupedSelection.js +14 -2
  94. package/lib/components/GroupedSelection.js.map +2 -2
  95. package/lib/components/InputBox.d.ts +21 -21
  96. package/lib/components/ListGroup.d.ts +21 -21
  97. package/lib/components/ListMenu.d.ts +84 -84
  98. package/lib/components/MonthRangePicker.d.ts +85 -84
  99. package/lib/components/MonthRangePicker.js +18 -7
  100. package/lib/components/MonthRangePicker.js.map +2 -2
  101. package/lib/components/Overlay.d.ts +1 -1
  102. package/lib/components/Overlay.js.map +1 -1
  103. package/lib/components/Picker.d.ts +1 -0
  104. package/lib/components/Picker.js +16 -7
  105. package/lib/components/Picker.js.map +2 -2
  106. package/lib/components/PickerColumn.d.ts +1 -0
  107. package/lib/components/PickerColumn.js +21 -18
  108. package/lib/components/PickerColumn.js.map +2 -2
  109. package/lib/components/PickerContainer.d.ts +3 -0
  110. package/lib/components/PickerContainer.js +12 -5
  111. package/lib/components/PickerContainer.js.map +2 -2
  112. package/lib/components/PopOverContainer.d.ts +1 -0
  113. package/lib/components/PopOverContainer.js +5 -3
  114. package/lib/components/PopOverContainer.js.map +2 -2
  115. package/lib/components/PopUp.d.ts +1041 -28
  116. package/lib/components/PopUp.js +32 -8
  117. package/lib/components/PopUp.js.map +2 -2
  118. package/lib/components/Radios.d.ts +21 -21
  119. package/lib/components/Rating.d.ts +21 -21
  120. package/lib/components/ResultBox.d.ts +85 -84
  121. package/lib/components/ResultBox.js +9 -4
  122. package/lib/components/ResultBox.js.map +2 -2
  123. package/lib/components/ResultList.d.ts +9 -2
  124. package/lib/components/ResultList.js +22 -2
  125. package/lib/components/ResultList.js.map +2 -2
  126. package/lib/components/Select.d.ts +238 -238
  127. package/lib/components/Select.js +13 -9
  128. package/lib/components/Select.js.map +2 -2
  129. package/lib/components/Selection.d.ts +94 -86
  130. package/lib/components/Selection.js +11 -2
  131. package/lib/components/Selection.js.map +2 -2
  132. package/lib/components/Steps.js.map +2 -2
  133. package/lib/components/TableSelection.d.ts +85 -85
  134. package/lib/components/TableSelection.js +1 -9
  135. package/lib/components/TableSelection.js.map +2 -2
  136. package/lib/components/Tabs.js +31 -33
  137. package/lib/components/Tabs.js.map +2 -2
  138. package/lib/components/TabsTransfer.d.ts +87 -256
  139. package/lib/components/TabsTransfer.js +52 -9
  140. package/lib/components/TabsTransfer.js.map +2 -2
  141. package/lib/components/TabsTransferPicker.d.ts +1 -1
  142. package/lib/components/TabsTransferPicker.js +20 -18
  143. package/lib/components/TabsTransferPicker.js.map +2 -2
  144. package/lib/components/Timeline.d.ts +69 -0
  145. package/lib/components/Timeline.js +16 -0
  146. package/lib/components/Timeline.js.map +13 -0
  147. package/lib/components/TimelineItem.d.ts +517 -0
  148. package/lib/components/TimelineItem.js +40 -0
  149. package/lib/components/TimelineItem.js.map +13 -0
  150. package/lib/components/Transfer.d.ts +100 -98
  151. package/lib/components/Transfer.js +2 -3
  152. package/lib/components/Transfer.js.map +2 -2
  153. package/lib/components/TransferDropDown.d.ts +85 -84
  154. package/lib/components/TransferDropDown.js +9 -10
  155. package/lib/components/TransferDropDown.js.map +2 -2
  156. package/lib/components/TransferPicker.d.ts +1 -0
  157. package/lib/components/TransferPicker.js +19 -4
  158. package/lib/components/TransferPicker.js.map +2 -2
  159. package/lib/components/Tree.d.ts +84 -84
  160. package/lib/components/TreeSelection.d.ts +85 -85
  161. package/lib/components/TreeSelection.js +7 -1
  162. package/lib/components/TreeSelection.js.map +2 -2
  163. package/lib/components/calendar/Calendar.d.ts +19 -0
  164. package/lib/components/calendar/Calendar.js +71 -1
  165. package/lib/components/calendar/Calendar.js.map +2 -2
  166. package/lib/components/calendar/DaysView.d.ts +21 -0
  167. package/lib/components/calendar/DaysView.js +76 -17
  168. package/lib/components/calendar/DaysView.js.map +2 -2
  169. package/lib/components/calendar/MonthsView.d.ts +34 -0
  170. package/lib/components/calendar/MonthsView.js +68 -3
  171. package/lib/components/calendar/MonthsView.js.map +2 -2
  172. package/lib/components/calendar/QuartersView.d.ts +1 -0
  173. package/lib/components/calendar/QuartersView.js +2 -2
  174. package/lib/components/calendar/QuartersView.js.map +2 -2
  175. package/lib/components/calendar/TimeView.d.ts +30 -18
  176. package/lib/components/calendar/TimeView.js +47 -8
  177. package/lib/components/calendar/TimeView.js.map +2 -2
  178. package/lib/components/calendar/YearsView.d.ts +6 -0
  179. package/lib/components/calendar/YearsView.js +21 -10
  180. package/lib/components/calendar/YearsView.js.map +2 -2
  181. package/lib/components/condition-builder/Field.js +1 -4
  182. package/lib/components/condition-builder/Field.js.map +2 -2
  183. package/lib/components/condition-builder/Func.js +1 -1
  184. package/lib/components/condition-builder/Func.js.map +2 -2
  185. package/lib/components/formula/Editor.d.ts +3 -0
  186. package/lib/components/formula/Editor.js +3 -2
  187. package/lib/components/formula/Editor.js.map +2 -2
  188. package/lib/components/formula/FuncList.js +2 -1
  189. package/lib/components/formula/FuncList.js.map +2 -2
  190. package/lib/components/formula/Picker.js +1 -1
  191. package/lib/components/formula/Picker.js.map +2 -2
  192. package/lib/components/formula/plugin.js +0 -1
  193. package/lib/components/formula/plugin.js.map +2 -2
  194. package/lib/components/icons.js +2 -0
  195. package/lib/components/icons.js.map +2 -2
  196. package/lib/components/index.d.ts +2 -1
  197. package/lib/components/index.js +4 -2
  198. package/lib/components/index.js.map +2 -2
  199. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  200. package/lib/components/virtual-list/index.js +1 -2
  201. package/lib/components/virtual-list/index.js.map +2 -2
  202. package/lib/env.d.ts +4 -0
  203. package/lib/env.js.map +2 -2
  204. package/lib/factory.d.ts +2 -1
  205. package/lib/factory.js +83 -0
  206. package/lib/factory.js.map +2 -2
  207. package/lib/helper.css.map +1 -1
  208. package/lib/icons/tree-down.js +7 -0
  209. package/lib/index.d.ts +3 -0
  210. package/lib/index.js +4 -1
  211. package/lib/index.js.map +2 -2
  212. package/lib/locale/de-DE.js +17 -2
  213. package/lib/locale/de-DE.js.map +2 -2
  214. package/lib/locale/en-US.js +17 -2
  215. package/lib/locale/en-US.js.map +2 -2
  216. package/lib/locale/zh-CN.js +16 -1
  217. package/lib/locale/zh-CN.js.map +2 -2
  218. package/lib/renderers/Action.d.ts +1 -1
  219. package/lib/renderers/Action.js +26 -10
  220. package/lib/renderers/Action.js.map +2 -2
  221. package/lib/renderers/Avatar.d.ts +35 -26
  222. package/lib/renderers/Avatar.js +14 -19
  223. package/lib/renderers/Avatar.js.map +2 -2
  224. package/lib/renderers/CRUD.js +1 -2
  225. package/lib/renderers/CRUD.js.map +2 -2
  226. package/lib/renderers/Card.js +6 -5
  227. package/lib/renderers/Card.js.map +2 -2
  228. package/lib/renderers/Custom.d.ts +1 -1
  229. package/lib/renderers/Custom.js +1 -1
  230. package/lib/renderers/Custom.js.map +2 -2
  231. package/lib/renderers/DropDownButton.d.ts +11 -2
  232. package/lib/renderers/DropDownButton.js +30 -12
  233. package/lib/renderers/DropDownButton.js.map +2 -2
  234. package/lib/renderers/Each.js +5 -2
  235. package/lib/renderers/Each.js.map +2 -2
  236. package/lib/renderers/Flex.js +1 -5
  237. package/lib/renderers/Flex.js.map +2 -2
  238. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  239. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  240. package/lib/renderers/Form/CityDB.js +526 -2
  241. package/lib/renderers/Form/CityDB.js.map +2 -2
  242. package/lib/renderers/Form/DiffEditor.d.ts +6 -0
  243. package/lib/renderers/Form/DiffEditor.js +2 -1
  244. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  245. package/lib/renderers/Form/Editor.d.ts +6 -0
  246. package/lib/renderers/Form/InputCity.d.ts +85 -84
  247. package/lib/renderers/Form/InputCity.js +4 -2
  248. package/lib/renderers/Form/InputCity.js.map +2 -2
  249. package/lib/renderers/Form/InputColor.d.ts +84 -84
  250. package/lib/renderers/Form/InputColor.js +6 -2
  251. package/lib/renderers/Form/InputColor.js.map +2 -2
  252. package/lib/renderers/Form/InputDate.js +10 -5
  253. package/lib/renderers/Form/InputDate.js.map +2 -2
  254. package/lib/renderers/Form/InputDateRange.js +6 -2
  255. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  256. package/lib/renderers/Form/InputFormula.d.ts +4 -1
  257. package/lib/renderers/Form/InputFormula.js +2 -2
  258. package/lib/renderers/Form/InputFormula.js.map +2 -2
  259. package/lib/renderers/Form/InputImage.d.ts +1 -0
  260. package/lib/renderers/Form/InputImage.js +8 -4
  261. package/lib/renderers/Form/InputImage.js.map +2 -2
  262. package/lib/renderers/Form/InputMonthRange.js +1 -1
  263. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  264. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  265. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  266. package/lib/renderers/Form/InputYearRange.js +1 -1
  267. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  268. package/lib/renderers/Form/Item.d.ts +10 -14
  269. package/lib/renderers/Form/Item.js +18 -9
  270. package/lib/renderers/Form/Item.js.map +2 -2
  271. package/lib/renderers/Form/NestedSelect.d.ts +1 -0
  272. package/lib/renderers/Form/NestedSelect.js +8 -4
  273. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  274. package/lib/renderers/Form/Options.js +9 -7
  275. package/lib/renderers/Form/Options.js.map +2 -2
  276. package/lib/renderers/Form/Select.d.ts +2 -0
  277. package/lib/renderers/Form/Select.js +9 -6
  278. package/lib/renderers/Form/Select.js.map +2 -2
  279. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  280. package/lib/renderers/Form/TabsTransfer.js +20 -1
  281. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  282. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  283. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  284. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  285. package/lib/renderers/Form/Transfer.d.ts +15 -4
  286. package/lib/renderers/Form/Transfer.js +55 -18
  287. package/lib/renderers/Form/Transfer.js.map +2 -2
  288. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  289. package/lib/renderers/Form/TransferPicker.js +1 -1
  290. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  291. package/lib/renderers/Form/TreeSelect.js +4 -4
  292. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  293. package/lib/renderers/Form/index.js +10 -2
  294. package/lib/renderers/Form/index.js.map +2 -2
  295. package/lib/renderers/IFrame.js +0 -2
  296. package/lib/renderers/IFrame.js.map +2 -2
  297. package/lib/renderers/Link.d.ts +1 -1
  298. package/lib/renderers/Link.js +27 -6
  299. package/lib/renderers/Link.js.map +2 -2
  300. package/lib/renderers/Nav.d.ts +21 -21
  301. package/lib/renderers/Nav.js +4 -1
  302. package/lib/renderers/Nav.js.map +2 -2
  303. package/lib/renderers/Remark.d.ts +5 -1
  304. package/lib/renderers/Remark.js +39 -7
  305. package/lib/renderers/Remark.js.map +2 -2
  306. package/lib/renderers/Steps.js +5 -5
  307. package/lib/renderers/Steps.js.map +2 -2
  308. package/lib/renderers/Table/TableRow.js +4 -1
  309. package/lib/renderers/Table/TableRow.js.map +2 -2
  310. package/lib/renderers/Table/index.js +4 -1
  311. package/lib/renderers/Table/index.js.map +2 -2
  312. package/lib/renderers/Tabs.js +1 -1
  313. package/lib/renderers/Tabs.js.map +2 -2
  314. package/lib/renderers/Timeline.d.ts +65 -0
  315. package/lib/renderers/Timeline.js +54 -0
  316. package/lib/renderers/Timeline.js.map +13 -0
  317. package/lib/renderers/Video.js.map +2 -2
  318. package/lib/schemaExtend.js +23 -9
  319. package/lib/schemaExtend.js.map +2 -2
  320. package/lib/store/combo.js.map +2 -2
  321. package/lib/store/formItem.js +7 -7
  322. package/lib/store/formItem.js.map +2 -2
  323. package/lib/store/table.js +1 -1
  324. package/lib/store/table.js.map +2 -2
  325. package/lib/themes/ang-ie11.css +1149 -53
  326. package/lib/themes/ang.css +1149 -53
  327. package/lib/themes/ang.css.map +1 -1
  328. package/lib/themes/antd-ie11.css +1187 -53
  329. package/lib/themes/antd.css +1187 -53
  330. package/lib/themes/antd.css.map +1 -1
  331. package/lib/themes/cxd-ie11.css +1190 -71
  332. package/lib/themes/cxd.css +1190 -71
  333. package/lib/themes/cxd.css.map +1 -1
  334. package/lib/themes/dark-ie11.css +1152 -53
  335. package/lib/themes/dark.css +1152 -53
  336. package/lib/themes/dark.css.map +1 -1
  337. package/lib/themes/default.css +1190 -71
  338. package/lib/themes/default.css.map +1 -1
  339. package/lib/utils/RootClose.js +3 -1
  340. package/lib/utils/RootClose.js.map +2 -2
  341. package/lib/utils/api.js +14 -3
  342. package/lib/utils/api.js.map +2 -2
  343. package/lib/utils/debug.d.ts +26 -0
  344. package/lib/utils/debug.js +351 -0
  345. package/lib/utils/debug.js.map +13 -0
  346. package/lib/utils/helper.d.ts +1 -6
  347. package/lib/utils/helper.js +6 -17
  348. package/lib/utils/helper.js.map +2 -2
  349. package/lib/utils/renderer-event.d.ts +38 -0
  350. package/lib/utils/renderer-event.js +28 -0
  351. package/lib/utils/renderer-event.js.map +13 -0
  352. package/package.json +12 -6
  353. package/schema.json +3483 -810
  354. package/scss/_properties.scss +20 -6
  355. package/scss/_variables.scss +1 -0
  356. package/scss/components/_avatar.scss +27 -9
  357. package/scss/components/_calendar.scss +291 -0
  358. package/scss/components/_card.scss +1 -1
  359. package/scss/components/_cascader.scss +102 -0
  360. package/scss/components/_city-area.scss +27 -0
  361. package/scss/components/_collapse-group.scss +1 -3
  362. package/scss/components/_debug.scss +167 -0
  363. package/scss/components/_dropdown.scss +39 -9
  364. package/scss/components/_formula.scss +30 -6
  365. package/scss/components/_modal.scss +18 -0
  366. package/scss/components/_panel.scss +45 -0
  367. package/scss/components/_picker-columns.scss +15 -5
  368. package/scss/components/_popup.scss +43 -16
  369. package/scss/components/_result-box.scss +31 -0
  370. package/scss/components/_timeline.scss +198 -0
  371. package/scss/components/form/_checks.scss +2 -0
  372. package/scss/components/form/_color.scss +2 -2
  373. package/scss/components/form/_date-range.scss +34 -1
  374. package/scss/components/form/_date.scss +46 -1
  375. package/scss/components/form/_form.scss +170 -0
  376. package/scss/components/form/_nested-select.scss +3 -0
  377. package/scss/components/form/_result-list.scss +2 -0
  378. package/scss/components/form/_select.scss +32 -3
  379. package/scss/components/form/_selection.scss +5 -4
  380. package/scss/components/form/_transfer.scss +3 -0
  381. package/scss/components/form/_tree-select.scss +1 -1
  382. package/scss/themes/_antd-variables.scss +45 -0
  383. package/scss/themes/_common.scss +5 -0
  384. package/scss/themes/_cxd-variables.scss +51 -2
  385. package/scss/themes/_dark-variables.scss +4 -0
  386. package/scss/themes/cxd.scss +0 -19
  387. package/sdk/ang-ie11.css +1450 -142
  388. package/sdk/ang.css +1473 -159
  389. package/sdk/antd-ie11.css +1451 -142
  390. package/sdk/antd.css +1511 -159
  391. package/sdk/charts.js +15 -15
  392. package/sdk/codemirror.js +7 -7
  393. package/sdk/color-picker.js +65 -65
  394. package/sdk/cropperjs.js +2 -2
  395. package/sdk/cxd-ie11.css +1449 -159
  396. package/sdk/cxd.css +1514 -179
  397. package/sdk/dark-ie11.css +1450 -142
  398. package/sdk/dark.css +1476 -159
  399. package/sdk/exceljs.js +1 -1
  400. package/sdk/helper.css.map +1 -1
  401. package/sdk/locale/de-DE.js +17 -2
  402. package/sdk/markdown.js +69 -69
  403. package/sdk/papaparse.js +1 -1
  404. package/sdk/renderers/Form/CityDB.js +1 -1
  405. package/sdk/rest.js +18 -18
  406. package/sdk/rich-text.js +62 -62
  407. package/sdk/sdk-ie11.css +1449 -159
  408. package/sdk/sdk.css +1514 -179
  409. package/sdk/sdk.js +1311 -1253
  410. package/sdk/thirds/hls.js/hls.js +1 -1
  411. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  412. package/sdk/tinymce.js +57 -57
  413. package/src/RootRenderer.tsx +27 -1
  414. package/src/Schema.ts +3 -0
  415. package/src/SchemaRenderer.tsx +70 -4
  416. package/src/Scoped.tsx +46 -4
  417. package/src/actions/Action.ts +138 -0
  418. package/src/actions/AjaxAction.ts +58 -0
  419. package/src/actions/BreakAction.ts +27 -0
  420. package/src/actions/BroadcastAction.ts +41 -0
  421. package/src/actions/CmptAction.ts +36 -0
  422. package/src/actions/ContinueAction.ts +27 -0
  423. package/src/actions/CopyAction.ts +41 -0
  424. package/src/actions/CustomAction.ts +46 -0
  425. package/src/actions/DialogAction.ts +28 -0
  426. package/src/actions/DrawerAction.ts +28 -0
  427. package/src/actions/EmailAction.ts +38 -0
  428. package/src/actions/LoopAction.ts +77 -0
  429. package/src/actions/OpenPageAction.ts +39 -0
  430. package/src/actions/ParallelAction.ts +26 -0
  431. package/src/actions/SwitchAction.ts +35 -0
  432. package/src/actions/index.ts +20 -0
  433. package/src/components/AssociatedSelection.tsx +5 -1
  434. package/src/components/Avatar.tsx +253 -0
  435. package/src/components/BaiduMapPicker.tsx +19 -14
  436. package/src/components/CalendarMobile.tsx +658 -0
  437. package/src/components/Cascader.tsx +564 -0
  438. package/src/components/ChainedSelection.tsx +16 -3
  439. package/src/components/CityArea.tsx +315 -0
  440. package/src/components/ColorPicker.tsx +41 -40
  441. package/src/components/DatePicker.tsx +80 -34
  442. package/src/components/DateRangePicker.tsx +85 -30
  443. package/src/components/GroupedSelection.tsx +14 -2
  444. package/src/components/MonthRangePicker.tsx +78 -31
  445. package/src/components/Overlay.tsx +1 -1
  446. package/src/components/Picker.tsx +55 -35
  447. package/src/components/PickerColumn.tsx +43 -36
  448. package/src/components/PickerContainer.tsx +13 -1
  449. package/src/components/PopOverContainer.tsx +31 -17
  450. package/src/components/PopUp.tsx +84 -57
  451. package/src/components/ResultBox.tsx +14 -2
  452. package/src/components/ResultList.tsx +36 -6
  453. package/src/components/Select.tsx +24 -26
  454. package/src/components/Selection.tsx +21 -3
  455. package/src/components/Steps.tsx +23 -10
  456. package/src/components/TableSelection.tsx +1 -44
  457. package/src/components/Tabs.tsx +65 -54
  458. package/src/components/TabsTransfer.tsx +78 -9
  459. package/src/components/TabsTransferPicker.tsx +25 -13
  460. package/src/components/Timeline.tsx +36 -0
  461. package/src/components/TimelineItem.tsx +140 -0
  462. package/src/components/Transfer.tsx +11 -8
  463. package/src/components/TransferDropDown.tsx +20 -12
  464. package/src/components/TransferPicker.tsx +25 -4
  465. package/src/components/TreeSelection.tsx +7 -1
  466. package/src/components/calendar/Calendar.tsx +101 -4
  467. package/src/components/calendar/DaysView.tsx +165 -33
  468. package/src/components/calendar/MonthsView.tsx +108 -1
  469. package/src/components/calendar/QuartersView.tsx +3 -2
  470. package/src/components/calendar/TimeView.tsx +104 -41
  471. package/src/components/calendar/YearsView.tsx +34 -17
  472. package/src/components/condition-builder/Field.tsx +1 -3
  473. package/src/components/condition-builder/Func.tsx +1 -1
  474. package/src/components/formula/Editor.tsx +16 -11
  475. package/src/components/formula/FuncList.tsx +3 -1
  476. package/src/components/formula/Picker.tsx +2 -1
  477. package/src/components/formula/plugin.ts +0 -2
  478. package/src/components/icons.tsx +2 -0
  479. package/src/components/index.tsx +2 -0
  480. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  481. package/src/components/virtual-list/index.tsx +4 -6
  482. package/src/env.tsx +22 -0
  483. package/src/factory.tsx +93 -1
  484. package/src/icons/tree-down.svg +5 -0
  485. package/src/index.tsx +5 -0
  486. package/src/locale/de-DE.ts +17 -2
  487. package/src/locale/en-US.ts +17 -2
  488. package/src/locale/zh-CN.ts +16 -1
  489. package/src/renderers/Action.tsx +11 -2
  490. package/src/renderers/Avatar.tsx +83 -74
  491. package/src/renderers/CRUD.tsx +1 -3
  492. package/src/renderers/Card.tsx +10 -6
  493. package/src/renderers/Custom.tsx +7 -4
  494. package/src/renderers/DropDownButton.tsx +69 -35
  495. package/src/renderers/Each.tsx +4 -4
  496. package/src/renderers/Flex.tsx +3 -7
  497. package/src/renderers/Form/ChartRadios.tsx +2 -7
  498. package/src/renderers/Form/Checkboxes.tsx +1 -1
  499. package/src/renderers/Form/CityDB.ts +526 -2
  500. package/src/renderers/Form/DiffEditor.tsx +2 -3
  501. package/src/renderers/Form/InputCity.tsx +23 -3
  502. package/src/renderers/Form/InputColor.tsx +21 -2
  503. package/src/renderers/Form/InputDate.tsx +48 -20
  504. package/src/renderers/Form/InputDateRange.tsx +9 -2
  505. package/src/renderers/Form/InputFormula.tsx +9 -4
  506. package/src/renderers/Form/InputImage.tsx +9 -4
  507. package/src/renderers/Form/InputMonthRange.tsx +0 -1
  508. package/src/renderers/Form/InputQuarterRange.tsx +0 -1
  509. package/src/renderers/Form/InputYearRange.tsx +0 -1
  510. package/src/renderers/Form/Item.tsx +29 -8
  511. package/src/renderers/Form/NestedSelect.tsx +32 -4
  512. package/src/renderers/Form/Options.tsx +15 -7
  513. package/src/renderers/Form/Select.tsx +21 -5
  514. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  515. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  516. package/src/renderers/Form/Transfer.tsx +75 -24
  517. package/src/renderers/Form/TransferPicker.tsx +6 -38
  518. package/src/renderers/Form/TreeSelect.tsx +18 -16
  519. package/src/renderers/Form/index.tsx +9 -2
  520. package/src/renderers/IFrame.tsx +0 -2
  521. package/src/renderers/Link.tsx +18 -3
  522. package/src/renderers/Nav.tsx +4 -1
  523. package/src/renderers/Remark.tsx +68 -18
  524. package/src/renderers/Steps.tsx +11 -13
  525. package/src/renderers/Table/TableRow.tsx +3 -1
  526. package/src/renderers/Table/index.tsx +7 -1
  527. package/src/renderers/Tabs.tsx +6 -2
  528. package/src/renderers/Timeline.tsx +141 -0
  529. package/src/renderers/Video.tsx +4 -20
  530. package/src/schemaExtend.ts +22 -10
  531. package/src/store/combo.ts +1 -3
  532. package/src/store/formItem.ts +3 -3
  533. package/src/store/table.ts +2 -1
  534. package/src/utils/RootClose.ts +5 -1
  535. package/src/utils/api.ts +15 -2
  536. package/src/utils/debug.tsx +438 -0
  537. package/src/utils/helper.ts +6 -16
  538. package/src/utils/renderer-event.ts +75 -0
@@ -0,0 +1,123 @@
1
+ /**
2
+ * @file Cascader
3
+ * @author fex
4
+ */
5
+ /// <reference types="hoist-non-react-statics" />
6
+ import React from 'react';
7
+ import { NestedSelectProps } from '../renderers/Form/NestedSelect';
8
+ import { Option, Options } from './Select';
9
+ export declare type CascaderOption = {
10
+ text?: string;
11
+ value?: string | number;
12
+ color?: string;
13
+ disabled?: boolean;
14
+ children?: Options;
15
+ className?: string;
16
+ [key: string]: any;
17
+ };
18
+ export interface CascaderProps extends NestedSelectProps {
19
+ value?: (number | string)[];
20
+ activeColor?: string;
21
+ optionRender?: ({ option, selected }: {
22
+ option: CascaderOption;
23
+ selected: boolean;
24
+ }) => React.ReactNode;
25
+ onClose?: () => void;
26
+ onConfirm?: (param: any) => void;
27
+ multiple?: boolean;
28
+ }
29
+ export declare type CascaderTab = {
30
+ options: Options;
31
+ };
32
+ export interface CascaderState {
33
+ selectedOptions: Options;
34
+ activeTab: number;
35
+ tabs: Array<{
36
+ options: Options;
37
+ }>;
38
+ }
39
+ export declare class Cascader extends React.Component<CascaderProps, CascaderState> {
40
+ static defaultProps: {
41
+ labelField: string;
42
+ valueField: string;
43
+ };
44
+ tabsRef: React.RefObject<HTMLDivElement>;
45
+ tabRef: React.RefObject<HTMLDivElement>;
46
+ constructor(props: CascaderProps);
47
+ componentDidMount(): void;
48
+ handleTabSelect(index: number): void;
49
+ getOptionParent(option: Option): any;
50
+ dealParentSelect(option: Option, selectedOptions: Options): Options;
51
+ flattenTreeWithLeafNodes(option: Option): any[];
52
+ adjustOptionSelect(option: Option): boolean;
53
+ getSelectedChildNum(option: Option): number;
54
+ dealOptionDisable(selectedOptions: Options): void;
55
+ dealChildrenSelect(option: Option, selectedOptions: Options): Options;
56
+ getParentTree: (option: Option, arr: Options) => Options;
57
+ onSelect(option: CascaderOption, tabIndex: number): void;
58
+ onNextClick(option: CascaderOption, tabIndex: number): void;
59
+ getSubmitOptions(selectedOptions: Options): Options;
60
+ confirm(): void;
61
+ renderOption(option: CascaderOption, tabIndex: number): JSX.Element;
62
+ renderOptions(options: Options, tabIndex: number): JSX.Element;
63
+ renderTabs(): JSX.Element;
64
+ render(): JSX.Element;
65
+ }
66
+ declare const _default: {
67
+ new (props: (Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps) | Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>): {
68
+ render(): JSX.Element;
69
+ context: any;
70
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
71
+ forceUpdate(callback?: (() => void) | undefined): void;
72
+ readonly props: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps> & Readonly<{
73
+ children?: React.ReactNode;
74
+ }>;
75
+ state: Readonly<{}>;
76
+ refs: {
77
+ [key: string]: React.ReactInstance;
78
+ };
79
+ componentDidMount?(): void;
80
+ shouldComponentUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
81
+ componentWillUnmount?(): void;
82
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
83
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
84
+ componentDidUpdate?(prevProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
85
+ componentWillMount?(): void;
86
+ UNSAFE_componentWillMount?(): void;
87
+ componentWillReceiveProps?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
88
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
89
+ componentWillUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
90
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
91
+ };
92
+ new (props: Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps, context: any): {
93
+ render(): JSX.Element;
94
+ context: any;
95
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
96
+ forceUpdate(callback?: (() => void) | undefined): void;
97
+ readonly props: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps> & Readonly<{
98
+ children?: React.ReactNode;
99
+ }>;
100
+ state: Readonly<{}>;
101
+ refs: {
102
+ [key: string]: React.ReactInstance;
103
+ };
104
+ componentDidMount?(): void;
105
+ shouldComponentUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
106
+ componentWillUnmount?(): void;
107
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
108
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
109
+ componentDidUpdate?(prevProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
110
+ componentWillMount?(): void;
111
+ UNSAFE_componentWillMount?(): void;
112
+ componentWillReceiveProps?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
113
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
114
+ componentWillUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
115
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
116
+ };
117
+ displayName: string;
118
+ contextType: React.Context<string>;
119
+ ComposedComponent: React.ComponentType<typeof Cascader>;
120
+ } & import("hoist-non-react-statics").NonReactStatics<typeof Cascader, {}> & {
121
+ ComposedComponent: typeof Cascader;
122
+ };
123
+ export default _default;
@@ -0,0 +1,487 @@
1
+ "use strict";
2
+ /**
3
+ * @file Cascader
4
+ * @author fex
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.Cascader = void 0;
8
+ var tslib_1 = require("tslib");
9
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
10
+ var helper_1 = require("../utils/helper");
11
+ var theme_1 = require("../theme");
12
+ var Select_1 = require("./Select");
13
+ var intersectionBy_1 = (0, tslib_1.__importDefault)(require("lodash/intersectionBy"));
14
+ var compact_1 = (0, tslib_1.__importDefault)(require("lodash/compact"));
15
+ var find_1 = (0, tslib_1.__importDefault)(require("lodash/find"));
16
+ var uniqBy_1 = (0, tslib_1.__importDefault)(require("lodash/uniqBy"));
17
+ var Button_1 = (0, tslib_1.__importDefault)(require("./Button"));
18
+ var helper_2 = require("../utils/helper");
19
+ var Cascader = /** @class */ (function (_super) {
20
+ (0, tslib_1.__extends)(Cascader, _super);
21
+ function Cascader(props) {
22
+ var _this = _super.call(this, props) || this;
23
+ _this.tabsRef = react_1.default.createRef();
24
+ _this.tabRef = react_1.default.createRef();
25
+ _this.getParentTree = function (option, arr) {
26
+ var parentOption = _this.getOptionParent(option);
27
+ if (parentOption) {
28
+ arr.push(parentOption);
29
+ return _this.getParentTree(parentOption, arr);
30
+ }
31
+ return arr;
32
+ };
33
+ _this.state = {
34
+ selectedOptions: _this.props.selectedOptions || [],
35
+ activeTab: 0,
36
+ tabs: [
37
+ {
38
+ options: _this.props.options.slice() || []
39
+ }
40
+ ]
41
+ };
42
+ return _this;
43
+ }
44
+ Cascader.prototype.componentDidMount = function () {
45
+ var _a = this.props, multiple = _a.multiple, options = _a.options, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, cascade = _a.cascade;
46
+ var selectedOptions = this.props.selectedOptions.slice();
47
+ var parentsCount = 0;
48
+ var parentTree = [];
49
+ selectedOptions.forEach(function (item) {
50
+ var parents = (0, helper_1.getTreeAncestors)(options, item);
51
+ // 获取最长路径
52
+ if (parents && (parents === null || parents === void 0 ? void 0 : parents.length) > parentsCount) {
53
+ parentTree = parents;
54
+ parentsCount = parentTree.length;
55
+ }
56
+ });
57
+ var selectedValues = selectedOptions.map(function (option) { return option[valueField]; });
58
+ var tabs = parentTree.map(function (option) {
59
+ var _a;
60
+ if (multiple && !cascade) {
61
+ if (selectedValues.includes(option[valueField]) &&
62
+ ((_a = option === null || option === void 0 ? void 0 : option.children) === null || _a === void 0 ? void 0 : _a.length)) {
63
+ option.children.forEach(function (option) { return (option.disabled = true); });
64
+ }
65
+ }
66
+ return multiple
67
+ ? {
68
+ options: (0, tslib_1.__spreadArray)([
69
+ (0, tslib_1.__assign)((0, tslib_1.__assign)({}, option), { isCheckAll: true })
70
+ ], (option.children ? option.children : []), true)
71
+ }
72
+ : {
73
+ options: option.children ? option.children : []
74
+ };
75
+ });
76
+ this.setState({
77
+ selectedOptions: selectedOptions,
78
+ tabs: (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], this.state.tabs, true), tabs, true)
79
+ });
80
+ };
81
+ Cascader.prototype.handleTabSelect = function (index) {
82
+ var tabs = this.state.tabs.slice(0, index + 1);
83
+ this.setState({
84
+ activeTab: index,
85
+ tabs: tabs
86
+ });
87
+ };
88
+ Cascader.prototype.getOptionParent = function (option) {
89
+ var _a = this.props, options = _a.options, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b;
90
+ var ancestors = [];
91
+ (0, helper_2.findTree)(options, function (item, index, level, paths) {
92
+ if (item[valueField] === option[valueField]) {
93
+ ancestors = paths;
94
+ return true;
95
+ }
96
+ return false;
97
+ });
98
+ return ancestors.length ? ancestors[ancestors.length - 1] : null;
99
+ };
100
+ Cascader.prototype.dealParentSelect = function (option, selectedOptions) {
101
+ var _a;
102
+ var _b = this.props.valueField, valueField = _b === void 0 ? 'value' : _b;
103
+ var parentOption = this.getOptionParent(option);
104
+ if (parentOption) {
105
+ var parentChildren = parentOption === null || parentOption === void 0 ? void 0 : parentOption.children;
106
+ var equalOption = (0, intersectionBy_1.default)(selectedOptions, parentChildren, valueField);
107
+ // 包含则选中父节点
108
+ var isParentSelected = (0, find_1.default)(selectedOptions, (_a = {},
109
+ _a[valueField] = parentOption[valueField],
110
+ _a));
111
+ if (equalOption.length === (parentChildren === null || parentChildren === void 0 ? void 0 : parentChildren.length) && !isParentSelected) {
112
+ selectedOptions.push(parentOption);
113
+ }
114
+ if (equalOption.length !== (parentChildren === null || parentChildren === void 0 ? void 0 : parentChildren.length) && isParentSelected) {
115
+ var index = selectedOptions.findIndex(function (item) { return item[valueField] === parentOption[valueField]; });
116
+ selectedOptions.splice(index, 1);
117
+ }
118
+ return this.dealParentSelect(parentOption, selectedOptions);
119
+ }
120
+ else {
121
+ return selectedOptions;
122
+ }
123
+ };
124
+ Cascader.prototype.flattenTreeWithLeafNodes = function (option) {
125
+ return (0, compact_1.default)((0, helper_2.flattenTree)(Array.isArray(option) ? option : [option], function (node) { return node; }));
126
+ };
127
+ Cascader.prototype.adjustOptionSelect = function (option) {
128
+ var _a = this.props.valueField, valueField = _a === void 0 ? 'value' : _a;
129
+ var selectedOptions = this.state.selectedOptions;
130
+ function loop(arr) {
131
+ if (!arr.length) {
132
+ return false;
133
+ }
134
+ return arr.some(function (item) { return item[valueField] === option[valueField]; });
135
+ }
136
+ return loop(selectedOptions);
137
+ };
138
+ Cascader.prototype.getSelectedChildNum = function (option) {
139
+ var _this = this;
140
+ var count = 0;
141
+ var loop = function (arr) {
142
+ if (!arr || !arr.length) {
143
+ return;
144
+ }
145
+ for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) {
146
+ var item = arr_1[_i];
147
+ if (item.children) {
148
+ loop(item.children || []);
149
+ }
150
+ else {
151
+ if (_this.adjustOptionSelect(item)) {
152
+ count++;
153
+ }
154
+ }
155
+ }
156
+ };
157
+ loop(option.children || []);
158
+ return count;
159
+ };
160
+ Cascader.prototype.dealOptionDisable = function (selectedOptions) {
161
+ var _a = this.props, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, options = _a.options, cascade = _a.cascade, multiple = _a.multiple, onlyChildren = _a.onlyChildren // 子节点可点击
162
+ ;
163
+ if (!multiple || cascade || onlyChildren) {
164
+ return;
165
+ }
166
+ var selectedValues = selectedOptions.map(function (option) { return option[valueField]; });
167
+ var loop = function (option) {
168
+ if (!option.children) {
169
+ return;
170
+ }
171
+ option.children &&
172
+ option.children.forEach(function (childOption) {
173
+ if (!selectedValues.includes(option[valueField]) &&
174
+ !option.disabled) {
175
+ childOption.disabled = false;
176
+ }
177
+ if (selectedValues.includes(option[valueField]) || option.disabled) {
178
+ childOption.disabled = true;
179
+ }
180
+ loop(childOption);
181
+ });
182
+ };
183
+ options.forEach(function (option) { return loop(option); });
184
+ };
185
+ Cascader.prototype.dealChildrenSelect = function (option, selectedOptions) {
186
+ var _a = this.props.valueField, valueField = _a === void 0 ? 'value' : _a;
187
+ var index = selectedOptions.findIndex(function (item) { return item[valueField] === option[valueField]; });
188
+ if (index !== -1) {
189
+ selectedOptions.splice(index, 1);
190
+ }
191
+ else {
192
+ selectedOptions.push(option);
193
+ }
194
+ function loop(option) {
195
+ if (!option.children) {
196
+ return;
197
+ }
198
+ option.children.forEach(function (item) {
199
+ if (index !== -1) {
200
+ // 删除选中节点及其子节点
201
+ selectedOptions = selectedOptions.filter(function (sItem) { return sItem[valueField] !== item[valueField]; });
202
+ }
203
+ else {
204
+ // 添加节点及其子节点
205
+ selectedOptions.push(item);
206
+ }
207
+ loop(item);
208
+ });
209
+ }
210
+ loop(option);
211
+ return selectedOptions;
212
+ };
213
+ Cascader.prototype.onSelect = function (option, tabIndex) {
214
+ var _this = this;
215
+ var _a = this.props, multiple = _a.multiple, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, cascade = _a.cascade;
216
+ var tabs = this.state.tabs.slice();
217
+ var activeTab = this.state.activeTab;
218
+ var selectedOptions = this.state.selectedOptions;
219
+ var isDisable = option.disabled;
220
+ if (!isDisable) {
221
+ if (multiple) {
222
+ // 父子级分离
223
+ if (cascade) {
224
+ if (option.isCheckAll ||
225
+ !option.children ||
226
+ !option.children.length) {
227
+ var index = selectedOptions.findIndex(function (item) { return item[valueField] === option[valueField]; });
228
+ if (index !== -1) {
229
+ selectedOptions.splice(index, 1);
230
+ }
231
+ else {
232
+ selectedOptions.push(option);
233
+ }
234
+ }
235
+ }
236
+ else {
237
+ if (option.isCheckAll ||
238
+ !option.children ||
239
+ !option.children.length) {
240
+ selectedOptions = this.dealChildrenSelect(option, selectedOptions);
241
+ selectedOptions = this.dealParentSelect(option, selectedOptions);
242
+ }
243
+ }
244
+ }
245
+ else {
246
+ // 单选
247
+ selectedOptions = this.getParentTree(option, [option]);
248
+ }
249
+ }
250
+ this.dealOptionDisable(selectedOptions);
251
+ if (tabs.length > tabIndex + 1) {
252
+ tabs = tabs.slice(0, tabIndex + 1);
253
+ }
254
+ requestAnimationFrame(function () {
255
+ var _a;
256
+ var tabWidth = ((_a = _this.tabRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) || 1;
257
+ var parentTree = _this.getParentTree(option, [option]);
258
+ var scrollLeft = (parentTree.length - 2) * tabWidth;
259
+ if (scrollLeft !== 0) {
260
+ _this.tabsRef.current.scrollTo(scrollLeft, 0);
261
+ }
262
+ });
263
+ if ((option === null || option === void 0 ? void 0 : option.children) && !option.isCheckAll) {
264
+ var nextTab = multiple
265
+ ? {
266
+ options: (0, tslib_1.__spreadArray)([
267
+ (0, tslib_1.__assign)((0, tslib_1.__assign)({}, option), { isCheckAll: true })
268
+ ], option.children, true)
269
+ }
270
+ : {
271
+ options: option.children
272
+ };
273
+ if (tabs[tabIndex + 1]) {
274
+ tabs[tabIndex + 1] = nextTab;
275
+ }
276
+ else {
277
+ tabs.push(nextTab);
278
+ }
279
+ activeTab += 1;
280
+ }
281
+ this.setState({
282
+ tabs: tabs,
283
+ activeTab: activeTab,
284
+ selectedOptions: selectedOptions
285
+ });
286
+ };
287
+ Cascader.prototype.onNextClick = function (option, tabIndex) {
288
+ var activeTab = this.state.activeTab;
289
+ var tabs = this.state.tabs.slice();
290
+ if (option.c)
291
+ if (option === null || option === void 0 ? void 0 : option.children) {
292
+ var nextTab = {
293
+ options: option.children
294
+ };
295
+ if (tabs[tabIndex + 1]) {
296
+ tabs[tabIndex + 1] = nextTab;
297
+ }
298
+ else {
299
+ tabs.push(nextTab);
300
+ }
301
+ activeTab += 1;
302
+ }
303
+ this.setState({
304
+ tabs: tabs,
305
+ activeTab: activeTab
306
+ });
307
+ };
308
+ Cascader.prototype.getSubmitOptions = function (selectedOptions) {
309
+ var _selectedOptions = [];
310
+ var _a = this.props, multiple = _a.multiple, options = _a.options, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, cascade = _a.cascade, onlyChildren = _a.onlyChildren, withChildren = _a.withChildren;
311
+ if (cascade || onlyChildren || withChildren || !multiple) {
312
+ return selectedOptions;
313
+ }
314
+ var selectedValues = selectedOptions.map(function (option) { return option[valueField]; });
315
+ function loop(options) {
316
+ if (!options || !options.length) {
317
+ return;
318
+ }
319
+ options.forEach(function (option) {
320
+ if (selectedValues.includes(option[valueField])) {
321
+ _selectedOptions.push(option);
322
+ }
323
+ else {
324
+ loop(option.children ? option.children : []);
325
+ }
326
+ });
327
+ }
328
+ loop(options);
329
+ return _selectedOptions;
330
+ };
331
+ Cascader.prototype.confirm = function () {
332
+ var _a = this.props, onChange = _a.onChange, joinValues = _a.joinValues, delimiter = _a.delimiter, extractValue = _a.extractValue, valueField = _a.valueField, onClose = _a.onClose;
333
+ var selectedOptions = this.state.selectedOptions;
334
+ var _selectedOptions = this.getSubmitOptions(selectedOptions);
335
+ _selectedOptions = (0, uniqBy_1.default)(_selectedOptions, valueField);
336
+ onChange(joinValues
337
+ ? _selectedOptions
338
+ .map(function (item) { return item[valueField]; })
339
+ .join(delimiter)
340
+ : extractValue
341
+ ? _selectedOptions.map(function (item) { return item[valueField]; })
342
+ : _selectedOptions);
343
+ onClose && onClose();
344
+ };
345
+ Cascader.prototype.renderOption = function (option, tabIndex) {
346
+ var _this = this;
347
+ var _a = this.props, activeColor = _a.activeColor, optionRender = _a.optionRender, labelField = _a.labelField, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, cx = _a.classnames, cascade = _a.cascade, multiple = _a.multiple;
348
+ var selectedOptions = this.state.selectedOptions;
349
+ var selectedValueArr = selectedOptions.map(function (item) { return item[valueField]; });
350
+ var selfChecked = selectedValueArr.includes(option[valueField]);
351
+ var color = option.color || (selfChecked ? activeColor : undefined);
352
+ var Text = optionRender ? (optionRender({ option: option, selected: selfChecked })) : (react_1.default.createElement("span", null, option[labelField]));
353
+ return (react_1.default.createElement("li", { className: cx('Cascader-option', {
354
+ selected: selfChecked,
355
+ disabled: option.disabled
356
+ }, option.className), style: { color: color }, onClick: function () { return _this.onSelect(option, tabIndex); }, key: tabIndex + '-' + option[valueField] },
357
+ react_1.default.createElement("span", { className: cx('Cascader-option--text') }, Text)));
358
+ };
359
+ Cascader.prototype.renderOptions = function (options, tabIndex) {
360
+ var _this = this;
361
+ var cx = this.props.classnames;
362
+ return (react_1.default.createElement("ul", { key: tabIndex, className: cx('Cascader-options') }, options.map(function (option) { return _this.renderOption(option, tabIndex); })));
363
+ };
364
+ Cascader.prototype.renderTabs = function () {
365
+ var _this = this;
366
+ var _a = this.props, cx = _a.classnames, options = _a.options;
367
+ var tabs = this.state.tabs;
368
+ var depth = (0, helper_2.getTreeDepth)(options);
369
+ return (react_1.default.createElement("div", { className: cx("Cascader-tabs", depth > 3 ? 'scrollable' : ''), ref: this.tabsRef },
370
+ tabs.map(function (tab, tabIndex) {
371
+ var options = tab.options;
372
+ return (react_1.default.createElement("div", { className: cx("Cascader-tab"), ref: _this.tabRef, key: tabIndex }, _this.renderOptions(options, tabIndex)));
373
+ }),
374
+ depth <= 3 && options.length
375
+ ? Array((0, helper_2.getTreeDepth)(options) - tabs.length)
376
+ .fill(1)
377
+ .map(function (item, index) { return (react_1.default.createElement("div", { className: cx("Cascader-tab"), key: index })); })
378
+ : null));
379
+ };
380
+ Cascader.prototype.render = function () {
381
+ var _a = this.props, ns = _a.classPrefix, cx = _a.classnames, className = _a.className, onClose = _a.onClose, __ = _a.translate;
382
+ return (react_1.default.createElement("div", { className: cx("Cascader", className) },
383
+ react_1.default.createElement("div", { className: cx("Cascader-btnGroup") },
384
+ react_1.default.createElement(Button_1.default, { className: cx("Cascader-btnCancel"), level: "text", onClick: onClose }, __('cancel')),
385
+ react_1.default.createElement(Button_1.default, { className: cx("Cascader-btnConfirm"), level: "text", onClick: this.confirm }, __('confirm'))),
386
+ this.renderTabs()));
387
+ };
388
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
389
+ Cascader.defaultProps = {
390
+ labelField: 'label',
391
+ valueField: 'value'
392
+ };
393
+ (0, tslib_1.__decorate)([
394
+ helper_1.autobind,
395
+ (0, tslib_1.__metadata)("design:type", Function),
396
+ (0, tslib_1.__metadata)("design:paramtypes", [Number]),
397
+ (0, tslib_1.__metadata)("design:returntype", void 0)
398
+ ], Cascader.prototype, "handleTabSelect", null);
399
+ (0, tslib_1.__decorate)([
400
+ helper_1.autobind,
401
+ (0, tslib_1.__metadata)("design:type", Function),
402
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _a : Object]),
403
+ (0, tslib_1.__metadata)("design:returntype", void 0)
404
+ ], Cascader.prototype, "getOptionParent", null);
405
+ (0, tslib_1.__decorate)([
406
+ helper_1.autobind,
407
+ (0, tslib_1.__metadata)("design:type", Function),
408
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_b = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _b : Object, typeof (_c = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _c : Object]),
409
+ (0, tslib_1.__metadata)("design:returntype", typeof (_d = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _d : Object)
410
+ ], Cascader.prototype, "dealParentSelect", null);
411
+ (0, tslib_1.__decorate)([
412
+ helper_1.autobind,
413
+ (0, tslib_1.__metadata)("design:type", Function),
414
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_e = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _e : Object]),
415
+ (0, tslib_1.__metadata)("design:returntype", void 0)
416
+ ], Cascader.prototype, "flattenTreeWithLeafNodes", null);
417
+ (0, tslib_1.__decorate)([
418
+ helper_1.autobind,
419
+ (0, tslib_1.__metadata)("design:type", Function),
420
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_f = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _f : Object]),
421
+ (0, tslib_1.__metadata)("design:returntype", Boolean)
422
+ ], Cascader.prototype, "adjustOptionSelect", null);
423
+ (0, tslib_1.__decorate)([
424
+ helper_1.autobind,
425
+ (0, tslib_1.__metadata)("design:type", Function),
426
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_g = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _g : Object]),
427
+ (0, tslib_1.__metadata)("design:returntype", Number)
428
+ ], Cascader.prototype, "getSelectedChildNum", null);
429
+ (0, tslib_1.__decorate)([
430
+ helper_1.autobind,
431
+ (0, tslib_1.__metadata)("design:type", Function),
432
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_h = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _h : Object]),
433
+ (0, tslib_1.__metadata)("design:returntype", void 0)
434
+ ], Cascader.prototype, "dealOptionDisable", null);
435
+ (0, tslib_1.__decorate)([
436
+ helper_1.autobind,
437
+ (0, tslib_1.__metadata)("design:type", Function),
438
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_j = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _j : Object, typeof (_k = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _k : Object]),
439
+ (0, tslib_1.__metadata)("design:returntype", void 0)
440
+ ], Cascader.prototype, "dealChildrenSelect", null);
441
+ (0, tslib_1.__decorate)([
442
+ helper_1.autobind,
443
+ (0, tslib_1.__metadata)("design:type", Function),
444
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, Number]),
445
+ (0, tslib_1.__metadata)("design:returntype", void 0)
446
+ ], Cascader.prototype, "onSelect", null);
447
+ (0, tslib_1.__decorate)([
448
+ helper_1.autobind,
449
+ (0, tslib_1.__metadata)("design:type", Function),
450
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, Number]),
451
+ (0, tslib_1.__metadata)("design:returntype", void 0)
452
+ ], Cascader.prototype, "onNextClick", null);
453
+ (0, tslib_1.__decorate)([
454
+ helper_1.autobind,
455
+ (0, tslib_1.__metadata)("design:type", Function),
456
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_l = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _l : Object]),
457
+ (0, tslib_1.__metadata)("design:returntype", typeof (_m = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _m : Object)
458
+ ], Cascader.prototype, "getSubmitOptions", null);
459
+ (0, tslib_1.__decorate)([
460
+ helper_1.autobind,
461
+ (0, tslib_1.__metadata)("design:type", Function),
462
+ (0, tslib_1.__metadata)("design:paramtypes", []),
463
+ (0, tslib_1.__metadata)("design:returntype", void 0)
464
+ ], Cascader.prototype, "confirm", null);
465
+ (0, tslib_1.__decorate)([
466
+ helper_1.autobind,
467
+ (0, tslib_1.__metadata)("design:type", Function),
468
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, Number]),
469
+ (0, tslib_1.__metadata)("design:returntype", void 0)
470
+ ], Cascader.prototype, "renderOption", null);
471
+ (0, tslib_1.__decorate)([
472
+ helper_1.autobind,
473
+ (0, tslib_1.__metadata)("design:type", Function),
474
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_o = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _o : Object, Number]),
475
+ (0, tslib_1.__metadata)("design:returntype", void 0)
476
+ ], Cascader.prototype, "renderOptions", null);
477
+ (0, tslib_1.__decorate)([
478
+ helper_1.autobind,
479
+ (0, tslib_1.__metadata)("design:type", Function),
480
+ (0, tslib_1.__metadata)("design:paramtypes", []),
481
+ (0, tslib_1.__metadata)("design:returntype", void 0)
482
+ ], Cascader.prototype, "renderTabs", null);
483
+ return Cascader;
484
+ }(react_1.default.Component));
485
+ exports.Cascader = Cascader;
486
+ exports.default = (0, theme_1.themeable)(Cascader);
487
+ //# sourceMappingURL=./components/Cascader.js.map