amis 1.7.0 → 1.8.0-beta.13

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 (469) hide show
  1. package/lib/Schema.d.ts +10 -2
  2. package/lib/Schema.js +0 -1
  3. package/lib/Schema.js.map +2 -2
  4. package/lib/SchemaRenderer.js +19 -3
  5. package/lib/SchemaRenderer.js.map +2 -2
  6. package/lib/WithRootStore.d.ts +18 -0
  7. package/lib/WithStore.js +2 -1
  8. package/lib/WithStore.js.map +2 -2
  9. package/lib/actions/CmptAction.js +26 -4
  10. package/lib/actions/CmptAction.js.map +2 -2
  11. package/lib/actions/PageAction.d.ts +32 -0
  12. package/lib/actions/PageAction.js +72 -0
  13. package/lib/actions/PageAction.js.map +13 -0
  14. package/lib/actions/index.d.ts +1 -0
  15. package/lib/actions/index.js +1 -0
  16. package/lib/actions/index.js.map +2 -2
  17. package/lib/components/Alert2.js +4 -2
  18. package/lib/components/Alert2.js.map +2 -2
  19. package/lib/components/AssociatedSelection.js +9 -2
  20. package/lib/components/AssociatedSelection.js.map +2 -2
  21. package/lib/components/Avatar.d.ts +20 -20
  22. package/lib/components/BarCode.js +1 -1
  23. package/lib/components/BarCode.js.map +2 -2
  24. package/lib/components/CalendarMobile.d.ts +84 -84
  25. package/lib/components/Card.d.ts +20 -20
  26. package/lib/components/Cascader.d.ts +2 -0
  27. package/lib/components/Cascader.js +28 -12
  28. package/lib/components/Cascader.js.map +2 -2
  29. package/lib/components/Checkbox.d.ts +24 -23
  30. package/lib/components/Checkbox.js +5 -1
  31. package/lib/components/Checkbox.js.map +2 -2
  32. package/lib/components/CityArea.js +3 -0
  33. package/lib/components/CityArea.js.map +2 -2
  34. package/lib/components/Collapse.d.ts +20 -20
  35. package/lib/components/DatePicker.d.ts +87 -84
  36. package/lib/components/DatePicker.js +48 -11
  37. package/lib/components/DatePicker.js.map +2 -2
  38. package/lib/components/DateRangePicker.d.ts +285 -171
  39. package/lib/components/DateRangePicker.js +471 -66
  40. package/lib/components/DateRangePicker.js.map +2 -2
  41. package/lib/components/Drawer.js +1 -1
  42. package/lib/components/Drawer.js.map +2 -2
  43. package/lib/components/ListGroup.d.ts +21 -21
  44. package/lib/components/Modal.js +1 -1
  45. package/lib/components/Modal.js.map +2 -2
  46. package/lib/components/MonthRangePicker.d.ts +84 -84
  47. package/lib/components/Overlay.d.ts +1 -0
  48. package/lib/components/Overlay.js +4 -3
  49. package/lib/components/Overlay.js.map +2 -2
  50. package/lib/components/Progress.d.ts +29 -24
  51. package/lib/components/Progress.js +52 -21
  52. package/lib/components/Progress.js.map +2 -2
  53. package/lib/components/PullRefresh.d.ts +86 -0
  54. package/lib/components/PullRefresh.js +135 -0
  55. package/lib/components/PullRefresh.js.map +13 -0
  56. package/lib/components/Radios.d.ts +22 -22
  57. package/lib/components/Radios.js +3 -5
  58. package/lib/components/Radios.js.map +2 -2
  59. package/lib/components/Range.d.ts +2 -2
  60. package/lib/components/Range.js +24 -11
  61. package/lib/components/Range.js.map +2 -2
  62. package/lib/components/Spinner.d.ts +200 -107
  63. package/lib/components/Spinner.js +30 -26
  64. package/lib/components/Spinner.js.map +2 -2
  65. package/lib/components/Steps.d.ts +6 -0
  66. package/lib/components/Steps.js +13 -9
  67. package/lib/components/Steps.js.map +2 -2
  68. package/lib/components/Tabs.d.ts +27 -23
  69. package/lib/components/Tabs.js +37 -22
  70. package/lib/components/Tabs.js.map +2 -2
  71. package/lib/components/Tooltip.d.ts +4 -0
  72. package/lib/components/Tooltip.js +6 -4
  73. package/lib/components/Tooltip.js.map +2 -2
  74. package/lib/components/TooltipWrapper.d.ts +87 -24
  75. package/lib/components/TooltipWrapper.js +40 -8
  76. package/lib/components/TooltipWrapper.js.map +2 -2
  77. package/lib/components/Transfer.d.ts +84 -84
  78. package/lib/components/TransferDropDown.d.ts +84 -84
  79. package/lib/components/Tree.d.ts +87 -85
  80. package/lib/components/Tree.js +13 -5
  81. package/lib/components/Tree.js.map +2 -2
  82. package/lib/components/TreeSelection.d.ts +84 -84
  83. package/lib/components/calendar/Calendar.js +3 -12
  84. package/lib/components/calendar/Calendar.js.map +2 -2
  85. package/lib/components/calendar/TimeView.d.ts +1 -0
  86. package/lib/components/calendar/TimeView.js +7 -0
  87. package/lib/components/calendar/TimeView.js.map +2 -2
  88. package/lib/components/calendar/YearsView.js +3 -3
  89. package/lib/components/calendar/YearsView.js.map +2 -2
  90. package/lib/components/condition-builder/Expression.d.ts +1 -0
  91. package/lib/components/condition-builder/Expression.js +4 -4
  92. package/lib/components/condition-builder/Expression.js.map +2 -2
  93. package/lib/components/condition-builder/Field.d.ts +1 -0
  94. package/lib/components/condition-builder/Field.js +3 -2
  95. package/lib/components/condition-builder/Field.js.map +2 -2
  96. package/lib/components/condition-builder/Group.d.ts +1 -0
  97. package/lib/components/condition-builder/Group.js +2 -2
  98. package/lib/components/condition-builder/Group.js.map +2 -2
  99. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  100. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  101. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  102. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  103. package/lib/components/condition-builder/InputSwitch.js +2 -2
  104. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  105. package/lib/components/condition-builder/Item.d.ts +1 -0
  106. package/lib/components/condition-builder/Item.js +9 -8
  107. package/lib/components/condition-builder/Item.js.map +2 -2
  108. package/lib/components/condition-builder/Value.d.ts +1 -0
  109. package/lib/components/condition-builder/Value.js +5 -5
  110. package/lib/components/condition-builder/Value.js.map +2 -2
  111. package/lib/components/condition-builder/index.d.ts +1 -0
  112. package/lib/components/condition-builder/index.js +2 -2
  113. package/lib/components/condition-builder/index.js.map +2 -2
  114. package/lib/components/formula/Editor.d.ts +90 -86
  115. package/lib/components/formula/Editor.js +26 -4
  116. package/lib/components/formula/Editor.js.map +2 -2
  117. package/lib/components/formula/Picker.d.ts +5 -0
  118. package/lib/components/formula/Picker.js +21 -4
  119. package/lib/components/formula/Picker.js.map +2 -2
  120. package/lib/components/icons.js +2 -0
  121. package/lib/components/icons.js.map +2 -2
  122. package/lib/factory.d.ts +5 -0
  123. package/lib/factory.js +24 -3
  124. package/lib/factory.js.map +2 -2
  125. package/lib/icons/trash.js +10 -0
  126. package/lib/index.d.ts +1 -0
  127. package/lib/index.js +2 -1
  128. package/lib/index.js.map +2 -2
  129. package/lib/locale/de-DE.js +18 -1
  130. package/lib/locale/de-DE.js.map +2 -2
  131. package/lib/locale/en-US.js +18 -1
  132. package/lib/locale/en-US.js.map +2 -2
  133. package/lib/locale/zh-CN.js +18 -1
  134. package/lib/locale/zh-CN.js.map +2 -2
  135. package/lib/renderers/Action.d.ts +3 -1
  136. package/lib/renderers/Action.js +23 -5
  137. package/lib/renderers/Action.js.map +2 -2
  138. package/lib/renderers/App.d.ts +1 -0
  139. package/lib/renderers/App.js +3 -0
  140. package/lib/renderers/App.js.map +2 -2
  141. package/lib/renderers/ButtonGroup.d.ts +2 -2
  142. package/lib/renderers/ButtonGroup.js.map +1 -1
  143. package/lib/renderers/CRUD.d.ts +8 -0
  144. package/lib/renderers/CRUD.js +12 -5
  145. package/lib/renderers/CRUD.js.map +2 -2
  146. package/lib/renderers/Carousel.d.ts +1 -0
  147. package/lib/renderers/Carousel.js +13 -1
  148. package/lib/renderers/Carousel.js.map +2 -2
  149. package/lib/renderers/Chart.d.ts +1 -0
  150. package/lib/renderers/Chart.js +3 -0
  151. package/lib/renderers/Chart.js.map +2 -2
  152. package/lib/renderers/Dialog.d.ts +5 -0
  153. package/lib/renderers/Dialog.js +7 -3
  154. package/lib/renderers/Dialog.js.map +2 -2
  155. package/lib/renderers/Drawer.d.ts +1 -0
  156. package/lib/renderers/Drawer.js +6 -1
  157. package/lib/renderers/Drawer.js.map +2 -2
  158. package/lib/renderers/DropDownButton.d.ts +2 -0
  159. package/lib/renderers/DropDownButton.js +13 -4
  160. package/lib/renderers/DropDownButton.js.map +2 -2
  161. package/lib/renderers/Form/Checkbox.d.ts +5 -2
  162. package/lib/renderers/Form/Checkbox.js +2 -2
  163. package/lib/renderers/Form/Checkbox.js.map +2 -2
  164. package/lib/renderers/Form/Checkboxes.d.ts +7 -2
  165. package/lib/renderers/Form/Checkboxes.js +101 -12
  166. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  167. package/lib/renderers/Form/Combo.d.ts +6 -4
  168. package/lib/renderers/Form/Combo.js +132 -45
  169. package/lib/renderers/Form/Combo.js.map +2 -2
  170. package/lib/renderers/Form/DiffEditor.d.ts +3 -2
  171. package/lib/renderers/Form/Editor.d.ts +2 -2
  172. package/lib/renderers/Form/InputCity.d.ts +87 -84
  173. package/lib/renderers/Form/InputCity.js +48 -3
  174. package/lib/renderers/Form/InputCity.js.map +2 -2
  175. package/lib/renderers/Form/InputDate.js +10 -3
  176. package/lib/renderers/Form/InputDate.js.map +2 -2
  177. package/lib/renderers/Form/InputDateRange.d.ts +5 -0
  178. package/lib/renderers/Form/InputDateRange.js +12 -3
  179. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  180. package/lib/renderers/Form/InputFile.js +19 -8
  181. package/lib/renderers/Form/InputFile.js.map +2 -2
  182. package/lib/renderers/Form/InputFormula.d.ts +4 -0
  183. package/lib/renderers/Form/InputFormula.js +2 -2
  184. package/lib/renderers/Form/InputFormula.js.map +2 -2
  185. package/lib/renderers/Form/InputImage.js +18 -7
  186. package/lib/renderers/Form/InputImage.js.map +2 -2
  187. package/lib/renderers/Form/InputMonthRange.js +5 -1
  188. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  189. package/lib/renderers/Form/InputRange.d.ts +2 -2
  190. package/lib/renderers/Form/InputRange.js +13 -14
  191. package/lib/renderers/Form/InputRange.js.map +2 -2
  192. package/lib/renderers/Form/InputTable.js +4 -2
  193. package/lib/renderers/Form/InputTable.js.map +2 -2
  194. package/lib/renderers/Form/InputText.d.ts +1 -1
  195. package/lib/renderers/Form/InputText.js +8 -10
  196. package/lib/renderers/Form/InputText.js.map +2 -2
  197. package/lib/renderers/Form/InputTree.d.ts +5 -0
  198. package/lib/renderers/Form/InputTree.js +51 -2
  199. package/lib/renderers/Form/InputTree.js.map +2 -2
  200. package/lib/renderers/Form/Item.d.ts +79 -76
  201. package/lib/renderers/Form/Item.js +3 -1
  202. package/lib/renderers/Form/Item.js.map +2 -2
  203. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  204. package/lib/renderers/Form/NestedSelect.js +14 -5
  205. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  206. package/lib/renderers/Form/Options.js +61 -27
  207. package/lib/renderers/Form/Options.js.map +2 -2
  208. package/lib/renderers/Form/Select.js +4 -2
  209. package/lib/renderers/Form/Select.js.map +2 -2
  210. package/lib/renderers/Form/Textarea.js +2 -1
  211. package/lib/renderers/Form/Textarea.js.map +2 -2
  212. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  213. package/lib/renderers/Form/TreeSelect.js +56 -10
  214. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  215. package/lib/renderers/Form/index.d.ts +3 -0
  216. package/lib/renderers/Form/index.js +53 -16
  217. package/lib/renderers/Form/index.js.map +2 -2
  218. package/lib/renderers/Form/wrapControl.d.ts +10 -0
  219. package/lib/renderers/Form/wrapControl.js +41 -19
  220. package/lib/renderers/Form/wrapControl.js.map +2 -2
  221. package/lib/renderers/Nav.d.ts +82 -67
  222. package/lib/renderers/Nav.js +49 -13
  223. package/lib/renderers/Nav.js.map +2 -2
  224. package/lib/renderers/Page.d.ts +21 -0
  225. package/lib/renderers/Page.js +56 -17
  226. package/lib/renderers/Page.js.map +2 -2
  227. package/lib/renderers/Progress.d.ts +4 -7
  228. package/lib/renderers/Progress.js +3 -3
  229. package/lib/renderers/Progress.js.map +2 -2
  230. package/lib/renderers/Service.d.ts +3 -0
  231. package/lib/renderers/Service.js +55 -20
  232. package/lib/renderers/Service.js.map +2 -2
  233. package/lib/renderers/Spinner.d.ts +58 -2
  234. package/lib/renderers/Spinner.js +8 -1
  235. package/lib/renderers/Spinner.js.map +2 -2
  236. package/lib/renderers/Steps.d.ts +8 -0
  237. package/lib/renderers/Steps.js +2 -2
  238. package/lib/renderers/Steps.js.map +2 -2
  239. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  240. package/lib/renderers/Table/ColumnToggler.js +11 -6
  241. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  242. package/lib/renderers/Table/TableCell.js +27 -1
  243. package/lib/renderers/Table/TableCell.js.map +2 -2
  244. package/lib/renderers/Table/TableRow.js +1 -1
  245. package/lib/renderers/Table/TableRow.js.map +2 -2
  246. package/lib/renderers/Table/index.d.ts +2 -0
  247. package/lib/renderers/Table/index.js +23 -10
  248. package/lib/renderers/Table/index.js.map +2 -2
  249. package/lib/renderers/Tabs.d.ts +14 -2
  250. package/lib/renderers/Tabs.js +24 -8
  251. package/lib/renderers/Tabs.js.map +2 -2
  252. package/lib/renderers/TooltipWrapper.d.ts +133 -0
  253. package/lib/renderers/TooltipWrapper.js +70 -0
  254. package/lib/renderers/TooltipWrapper.js.map +13 -0
  255. package/lib/renderers/Wizard.d.ts +7 -3
  256. package/lib/renderers/Wizard.js +269 -152
  257. package/lib/renderers/Wizard.js.map +2 -2
  258. package/lib/store/combo.d.ts +2 -2
  259. package/lib/store/crud.d.ts +1 -0
  260. package/lib/store/crud.js +55 -19
  261. package/lib/store/crud.js.map +2 -2
  262. package/lib/store/form.d.ts +1 -1
  263. package/lib/store/form.js +5 -1
  264. package/lib/store/form.js.map +2 -2
  265. package/lib/store/formItem.js +1 -1
  266. package/lib/store/formItem.js.map +2 -2
  267. package/lib/store/index.d.ts +5 -0
  268. package/lib/store/index.js +14 -0
  269. package/lib/store/index.js.map +2 -2
  270. package/lib/store/table.d.ts +2 -2
  271. package/lib/store/table.js +4 -4
  272. package/lib/store/table.js.map +2 -2
  273. package/lib/themes/ang-ie11.css +965 -210
  274. package/lib/themes/ang.css +955 -175
  275. package/lib/themes/ang.css.map +1 -1
  276. package/lib/themes/antd-ie11.css +1080 -325
  277. package/lib/themes/antd.css +956 -176
  278. package/lib/themes/antd.css.map +1 -1
  279. package/lib/themes/cxd-ie11.css +1048 -293
  280. package/lib/themes/cxd.css +961 -180
  281. package/lib/themes/cxd.css.map +1 -1
  282. package/lib/themes/dark-ie11.css +965 -210
  283. package/lib/themes/dark.css +955 -175
  284. package/lib/themes/dark.css.map +1 -1
  285. package/lib/themes/default-ie11.css +1048 -293
  286. package/lib/themes/default.css +961 -180
  287. package/lib/themes/default.css.map +1 -1
  288. package/lib/types.d.ts +3 -1
  289. package/lib/types.js.map +1 -1
  290. package/lib/utils/ColorScale.d.ts +19 -0
  291. package/lib/utils/ColorScale.js +104 -0
  292. package/lib/utils/ColorScale.js.map +13 -0
  293. package/lib/utils/api.js +20 -4
  294. package/lib/utils/api.js.map +2 -2
  295. package/lib/utils/columnsSplit.d.ts +1 -0
  296. package/lib/utils/columnsSplit.js +40 -0
  297. package/lib/utils/columnsSplit.js.map +13 -0
  298. package/lib/utils/debug.d.ts +1 -1
  299. package/lib/utils/debug.js +16 -22
  300. package/lib/utils/debug.js.map +2 -2
  301. package/lib/utils/dom.d.ts +1 -1
  302. package/lib/utils/dom.js +7 -5
  303. package/lib/utils/dom.js.map +2 -2
  304. package/lib/utils/position.js +0 -1
  305. package/lib/utils/position.js.map +2 -2
  306. package/lib/utils/scrollPosition.d.ts +6 -0
  307. package/lib/utils/scrollPosition.js +31 -0
  308. package/lib/utils/scrollPosition.js.map +13 -0
  309. package/package.json +3 -2
  310. package/schema.json +30213 -29222
  311. package/scss/_properties.scss +67 -25
  312. package/scss/components/_alert.scss +1 -1
  313. package/scss/components/_barcode.scss +1 -1
  314. package/scss/components/_button-group.scss +15 -0
  315. package/scss/components/_carousel.scss +1 -0
  316. package/scss/components/_column-toggler.scss +21 -11
  317. package/scss/components/_debug.scss +3 -3
  318. package/scss/components/_formula.scss +19 -1
  319. package/scss/components/_nav.scss +51 -6
  320. package/scss/components/_progress.scss +7 -14
  321. package/scss/components/_pull-refresh.scss +25 -0
  322. package/scss/components/_spinner.scss +134 -56
  323. package/scss/components/_steps.scss +199 -8
  324. package/scss/components/_tabs.scss +145 -13
  325. package/scss/components/_tooltip.scss +76 -9
  326. package/scss/components/form/_checks.scss +125 -2
  327. package/scss/components/form/_combo.scss +13 -1
  328. package/scss/components/form/_date-range.scss +27 -2
  329. package/scss/components/form/_date.scss +25 -0
  330. package/scss/components/form/_editor.scss +2 -1
  331. package/scss/components/form/_file.scss +4 -0
  332. package/scss/components/form/_form.scss +31 -8
  333. package/scss/components/form/_number.scss +5 -2
  334. package/scss/components/form/_select.scss +0 -1
  335. package/scss/components/form/_textarea.scss +1 -23
  336. package/scss/components/form/_transfer.scss +3 -2
  337. package/scss/themes/_antd-variables.scss +1 -1
  338. package/scss/themes/_common.scss +1 -0
  339. package/scss/themes/_cxd-variables.scss +6 -5
  340. package/sdk/ang-ie11.css +1059 -198
  341. package/sdk/ang.css +1050 -164
  342. package/sdk/antd-ie11.css +1167 -306
  343. package/sdk/antd.css +1051 -165
  344. package/sdk/barcode.js +51 -51
  345. package/sdk/charts.js +14 -14
  346. package/sdk/codemirror.js +7 -7
  347. package/sdk/color-picker.js +65 -65
  348. package/sdk/cropperjs.js +2 -2
  349. package/sdk/cxd-ie11.css +1145 -284
  350. package/sdk/cxd.css +1056 -169
  351. package/sdk/dark-ie11.css +1056 -195
  352. package/sdk/dark.css +1050 -164
  353. package/sdk/exceljs.js +1 -1
  354. package/sdk/locale/de-DE.js +18 -1
  355. package/sdk/markdown.js +69 -69
  356. package/sdk/papaparse.js +1 -1
  357. package/sdk/renderers/Form/CityDB.js +1 -1
  358. package/sdk/rest.js +17 -17
  359. package/sdk/rich-text.js +62 -62
  360. package/sdk/sdk-ie11.css +1145 -284
  361. package/sdk/sdk.css +1056 -169
  362. package/sdk/sdk.js +1321 -1273
  363. package/sdk/thirds/hls.js/hls.js +1 -1
  364. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  365. package/sdk/tinymce.js +57 -57
  366. package/src/Schema.ts +15 -2
  367. package/src/SchemaRenderer.tsx +32 -14
  368. package/src/WithStore.tsx +3 -1
  369. package/src/actions/CmptAction.ts +28 -0
  370. package/src/actions/PageAction.ts +62 -0
  371. package/src/actions/index.ts +1 -0
  372. package/src/components/Alert2.tsx +9 -3
  373. package/src/components/AssociatedSelection.tsx +9 -3
  374. package/src/components/BarCode.tsx +2 -2
  375. package/src/components/Cascader.tsx +37 -11
  376. package/src/components/Checkbox.tsx +11 -5
  377. package/src/components/CityArea.tsx +3 -0
  378. package/src/components/DatePicker.tsx +68 -22
  379. package/src/components/DateRangePicker.tsx +551 -88
  380. package/src/components/Drawer.tsx +1 -0
  381. package/src/components/Modal.tsx +1 -0
  382. package/src/components/Overlay.tsx +6 -3
  383. package/src/components/Progress.tsx +64 -33
  384. package/src/components/PullRefresh.tsx +197 -0
  385. package/src/components/Radios.tsx +6 -17
  386. package/src/components/Range.tsx +26 -12
  387. package/src/components/Spinner.tsx +77 -42
  388. package/src/components/Steps.tsx +28 -27
  389. package/src/components/Tabs.tsx +51 -21
  390. package/src/components/Tooltip.tsx +12 -3
  391. package/src/components/TooltipWrapper.tsx +140 -33
  392. package/src/components/Tree.tsx +19 -5
  393. package/src/components/calendar/Calendar.tsx +4 -13
  394. package/src/components/calendar/TimeView.tsx +12 -0
  395. package/src/components/calendar/YearsView.tsx +3 -4
  396. package/src/components/condition-builder/Expression.tsx +6 -1
  397. package/src/components/condition-builder/Field.tsx +5 -1
  398. package/src/components/condition-builder/Group.tsx +4 -1
  399. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  400. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  401. package/src/components/condition-builder/Item.tsx +28 -4
  402. package/src/components/condition-builder/Value.tsx +7 -1
  403. package/src/components/condition-builder/index.tsx +4 -2
  404. package/src/components/formula/Editor.tsx +46 -10
  405. package/src/components/formula/Picker.tsx +32 -1
  406. package/src/components/icons.tsx +2 -0
  407. package/src/factory.tsx +31 -3
  408. package/src/icons/trash.svg +8 -0
  409. package/src/index.tsx +1 -0
  410. package/src/locale/de-DE.ts +18 -1
  411. package/src/locale/en-US.ts +18 -1
  412. package/src/locale/zh-CN.ts +18 -1
  413. package/src/renderers/Action.tsx +24 -2
  414. package/src/renderers/App.tsx +4 -0
  415. package/src/renderers/ButtonGroup.tsx +2 -2
  416. package/src/renderers/CRUD.tsx +23 -5
  417. package/src/renderers/Carousel.tsx +8 -0
  418. package/src/renderers/Chart.tsx +4 -0
  419. package/src/renderers/Dialog.tsx +21 -3
  420. package/src/renderers/Drawer.tsx +14 -2
  421. package/src/renderers/DropDownButton.tsx +14 -3
  422. package/src/renderers/Form/Checkbox.tsx +11 -2
  423. package/src/renderers/Form/Checkboxes.tsx +106 -23
  424. package/src/renderers/Form/Combo.tsx +179 -66
  425. package/src/renderers/Form/InputCity.tsx +46 -5
  426. package/src/renderers/Form/InputDate.tsx +18 -4
  427. package/src/renderers/Form/InputDateRange.tsx +27 -3
  428. package/src/renderers/Form/InputFile.tsx +23 -7
  429. package/src/renderers/Form/InputFormula.tsx +7 -0
  430. package/src/renderers/Form/InputImage.tsx +22 -6
  431. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  432. package/src/renderers/Form/InputRange.tsx +20 -22
  433. package/src/renderers/Form/InputTable.tsx +6 -2
  434. package/src/renderers/Form/InputText.tsx +14 -4
  435. package/src/renderers/Form/InputTree.tsx +40 -2
  436. package/src/renderers/Form/Item.tsx +7 -0
  437. package/src/renderers/Form/NestedSelect.tsx +23 -4
  438. package/src/renderers/Form/Options.tsx +26 -7
  439. package/src/renderers/Form/Select.tsx +5 -3
  440. package/src/renderers/Form/Textarea.tsx +3 -1
  441. package/src/renderers/Form/TreeSelect.tsx +47 -9
  442. package/src/renderers/Form/index.tsx +56 -25
  443. package/src/renderers/Form/wrapControl.tsx +23 -12
  444. package/src/renderers/Nav.tsx +231 -33
  445. package/src/renderers/Page.tsx +97 -35
  446. package/src/renderers/Progress.tsx +9 -11
  447. package/src/renderers/Service.tsx +66 -27
  448. package/src/renderers/Spinner.tsx +85 -3
  449. package/src/renderers/Steps.tsx +14 -0
  450. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  451. package/src/renderers/Table/TableCell.tsx +39 -1
  452. package/src/renderers/Table/TableRow.tsx +1 -1
  453. package/src/renderers/Table/index.tsx +43 -19
  454. package/src/renderers/Tabs.tsx +90 -31
  455. package/src/renderers/TooltipWrapper.tsx +262 -0
  456. package/src/renderers/Wizard.tsx +169 -93
  457. package/src/store/crud.ts +50 -5
  458. package/src/store/form.ts +8 -3
  459. package/src/store/formItem.ts +1 -2
  460. package/src/store/index.ts +20 -0
  461. package/src/store/table.ts +4 -4
  462. package/src/types.ts +8 -1
  463. package/src/utils/ColorScale.ts +138 -0
  464. package/src/utils/api.ts +26 -4
  465. package/src/utils/columnsSplit.tsx +57 -0
  466. package/src/utils/debug.tsx +17 -24
  467. package/src/utils/dom.tsx +7 -6
  468. package/src/utils/position.ts +0 -1
  469. package/src/utils/scrollPosition.ts +29 -0
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Drawer.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,oCAAwD;AACxD,sCAAmD;AAEnD,6EAAgE;AAEhE,0CAKyB;AACzB,6BAA8B;AAC9B,uCAAsC;AACtC,wCAAuD;AACvD,oCAAoC;AACpC,4CAAsC;AAStC,mDAAwC;AA2IxC;IAAoC,uCAA4B;IA4C9D,gBAAY,KAAkB;QAA9B,YACE,kBAAM,KAAK,CAAC,SAwBb;QA3BD,UAAI,GAAW,IAAA,aAAI,GAAE,CAAC;QAKpB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACvD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/D,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3D,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/D,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3D,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/D,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACvD,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACrD,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAEvD,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,KAAI,CAAC,QAAQ,GAAG,IAAA,eAAQ,EACtB,cAAM,OAAA,UAAG,KAAK,CAAC,OAAO,SAAG,KAAK,CAAC,KAAK,CAAE,EAAhC,CAAgC,EACtC,cAAM,OAAA,KAAI,CAAC,WAAW,EAAE,EAAlB,CAAkB,CACzB,CAAC;;IACJ,CAAC;IAED,iDAAiD;IACjD,gCAAgC;IAEhC,8DAA8D;IAC9D,wBAAwB;IACxB,QAAQ;IAER,6DAA6D;IAC7D,IAAI;IAEJ,qCAAoB,GAApB;QACE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,6BAAY,GAAZ;QACQ,IAAA,KAAoC,IAAI,CAAC,KAAK,EAA7C,OAAO,aAAA,EAAE,OAAO,aAAA,EAAa,EAAE,eAAc,CAAC;QAErD,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,OAAO,OAAO,CAAC;SAChB;QAED,IAAI,GAAG,GAAwB,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,OAAO;YACnB,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC;SACpB,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE;YACX,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;SACJ;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,gCAAe,GAAf;QACQ,IAAA,KAAmB,IAAI,CAAC,KAAK,EAA5B,OAAO,aAAA,EAAE,KAAK,WAAc,CAAC;QAEpC,mBAAmB;QACnB,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,EAAE;YAC5D,OAAO;SACR;QAED,cAAc;QACd,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,6BAAY,GAAZ,UAAa,CAAqB,EAAE,MAAc,EAAE,IAAY;QACxD,IAAA,KAAsB,IAAI,CAAC,KAAK,EAA/B,OAAO,aAAA,EAAE,QAAQ,cAAc,CAAC;QACvC,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;YACnE,OAAO,EAAE,CAAC;SACX;aAAM,IAAI,QAAQ,EAAE;YACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,oCAAmB,GAAnB,UAAoB,MAAgB,EAAE,MAAc;QAAE,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,6BAAmB;;QAChE,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACxD,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B;QAED,IAAM,YAAY,GAAG,KAAK,CAAC,MAAgB,CAAC;QAC5C,IAAM,MAAM,GAAG,YAAY,CAAC,MAAa,CAAC;QAE1C,IACE,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,SAAS,OAAhB,MAAM,8BAAW,MAAM,EAAE,MAAM,GAAK,IAAI,cAAM,KAAK,EACnD;YACA,OAAO;SACR;QAED,KAAK,CAAC,WAAW,EAAE,CAAC;IACtB,CAAC;IAED,kCAAiB,GAAjB;QAAkB,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,yBAAmB;;QAC5B,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;QACtC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAa,CAAC;QAEpC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,OAAd,MAAM,EAAY,IAAI,MAAM,KAAK,EAAE;YACvD,OAAO;SACR;QAED,KAAK,CAAC,WAAW,EAAE,CAAC;IACtB,CAAC;IAED,oCAAmB,GAAnB,UAAoB,MAAgB,EAAE,MAAc;QAAE,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,6BAAmB;;QAChE,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACxD,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B;QAED,IAAM,YAAY,GAAG,KAAK,CAAC,MAAgB,CAAC;QAC5C,IAAM,MAAM,GAAG,YAAY,CAAC,MAAa,CAAC;QAE1C,IACE,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,SAAS,OAAhB,MAAM,8BAAW,MAAM,EAAE,MAAM,GAAK,IAAI,cAAM,KAAK,EACnD;YACA,OAAO;SACR;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,kCAAiB,GAAjB;QAAkB,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,yBAAmB;;QAC5B,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;QACtC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAa,CAAC;QAEpC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,OAAd,MAAM,EAAY,IAAI,MAAM,KAAK,EAAE;YACvD,OAAO;SACR;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,oCAAmB,GAAnB,UAAoB,KAAU,EAAE,MAAc;QAC5C,QAAQ;IACV,CAAC;IAED,+BAAc,GAAd,UAAe,IAAS;QACf,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,iCAAgB,GAAhB,UAAiB,IAAS,EAAE,IAAa;;QAChC,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI;gBACF,GAAC,IAAI,IAAG,IAAI;mBACb,CAAC;SACH;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,gCAAe,GAAf,UAAgB,IAAS,EAAE,QAAa;QAC/B,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,KAAK,CAAC,WAAW,iDACZ,IAAI,GACJ,QAAQ,EACX,CAAC;IACL,CAAC;IAED,8BAAa,GAAb;QACQ,IAAA,KAAsB,IAAI,CAAC,KAAK,EAA/B,UAAU,gBAAA,EAAE,KAAK,WAAc,CAAC;QAEvC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;YACpC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACzC;IACH,CAAC;IAED,6BAAY,GAAZ;QACQ,IAAA,KAAsB,IAAI,CAAC,KAAK,EAA/B,UAAU,gBAAA,EAAE,KAAK,WAAc,CAAC;QACvC,IAAI,IAAA,yBAAO,EAAC,KAAK,CAAC,EAAE;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;gBACpC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACrB;SACF;IACH,CAAC;IAGD,oCAAmB,GAAnB;QACE,OAAQ,IAAA,uBAAW,EAAC,IAAI,CAAiB,CAAC,aAAa,CACrD,WAAI,IAAI,CAAC,KAAK,CAAC,WAAW,mBAAgB,CAC3C,CAAC;IACJ,CAAC;IAED,2BAAU,GAAV,UAAW,IAAgB,EAAE,GAAS;QAAtC,iBA8BC;QA7BK,IAAA,KAAkB,IAAI,CAAC,KAAK,EAA3B,MAAM,YAAA,EAAE,KAAK,WAAc,CAAC;QAEjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAA1B,CAA0B,CAAC,CAAC;SAC5D;QAED,IAAI,MAAM,GAAW,IAAc,CAAC;QACpC,IAAI,QAAQ,GAAQ;YAClB,GAAG,KAAA;YACH,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,UAAU,EAAE,IAAI,CAAC,mBAAmB;YACpC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB;YAC1C,QAAQ,EAAE,IAAI,CAAC,gBAAgB;YAC/B,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,YAAY,EAAE,KAAK;SACpB,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;YAC1B,MAAM,2BACJ,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,KAAK,EACpB,UAAU,EAAE,IAAI,IACb,MAAM,CACV,CAAC;SACH;QAED,OAAO,MAAM,CAAC,cAAO,GAAG,CAAC,CAAC,CAAC,WAAI,GAAG,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,6BAAY,GAAZ;QAAA,iBAmCC;QAlCC,IAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QAEK,IAAA,KAMF,IAAI,CAAC,KAAK,EALZ,KAAK,WAAA,EACL,MAAM,YAAA,EACM,EAAE,gBAAA,EACd,YAAY,kBAAA,EACZ,eAAe,qBACH,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;YACjD,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAC9B,uCAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;gBAC/B,8BAAC,oBAAO,IAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,GAAI;gBACpD,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7B,wCAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAAG,KAAK,CAAC,GAAG,CAAQ,CACxD,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC,CAAC,CAAC,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,GAAG;gBACvB,OAAA,MAAM,CAAC,iBAAU,GAAG,CAAE,EAAE,MAAM,EAAE;oBAC9B,QAAQ,EAAE,KAAI,CAAC,YAAY;oBAC3B,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,GAAG,KAAA;oBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO;iBAC3C,CAAC;YALF,CAKE,CACH,CACG,CACP,CAAC;IACJ,CAAC;IAED,iCAAgB,GAAhB;QACS,IAAY,EAAE,GAAI,IAAI,CAAC,KAAK,WAAd,CAAe;QAEpC,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAClC,WAAW,EAAE,IAAI,CAAC,eAAe;YAEjC,uCAAK,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,yBAAW,CAC9C,CACP,CAAC;IACJ,CAAC;IAED,gCAAe,GAAf,UAAgB,CAAwB;QAChC,IAAA,KAAqC,IAAI,CAAC,KAAK,EAA9C,QAAQ,cAAA,EAAe,EAAE,iBAAA,EAAE,KAAK,WAAc,CAAC;QAEtD,IAAI,CAAC,MAAM,GAAI,IAAA,uBAAW,EAAC,IAAI,CAAiB,CAAC,aAAa,CAC5D,WAAI,EAAE,mBAAgB,CACR,CAAC;QACjB,IAAM,UAAU,GAAI,IAAA,uBAAW,EAAC,IAAI,CAAiB,CAAC,aAAa,CACjE,WAAI,EAAE,6BAAmB,EAAE,sBAAmB,CAChC,CAAC;QACjB,IAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAe,CAAC;QAClE,IAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAgB,CAAC;QAEpE,KAAK,CAAC,cAAc,CAClB,CAAC,QAAQ,KAAK,MAAM;YAClB,CAAC,CAAC,OAAO;gBACP,UAAU,CAAC,WAAW;gBACtB,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,QAAQ,KAAK,OAAO;gBACnB,QAAQ,CAAC,IAAI,CAAC,WAAW;oBACvB,CAAC,CAAC,OAAO;oBACT,UAAU,CAAC,WAAW;oBACtB,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,QAAQ,KAAK,KAAK;gBACjB,CAAC,CAAC,OAAO;oBACP,UAAU,CAAC,YAAY;oBACvB,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC,QAAQ,KAAK,QAAQ;gBACpB,QAAQ,CAAC,IAAI,CAAC,YAAY;oBACxB,CAAC,CAAC,OAAO;oBACT,UAAU,CAAC,YAAY;oBACvB,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC,CACJ,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,2BAAU,GAAV,UAAW,CAAM;QACT,IAAA,KAAoB,IAAI,CAAC,KAAK,EAA7B,QAAQ,cAAA,EAAE,KAAK,WAAc,CAAC;QACrC,IAAM,KAAK,GAAG,mBAAmB,CAAC;QAClC,IAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,IAAI,EAAE,GACJ,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC;YAClC,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;YAC/D,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC;YACjC,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;YACjE,CAAC,CAAC;QACJ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAEnC,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;YAC/C,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC7B,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;SACxB;QAED,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ,EAAE;YAC/C,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;YAC9B,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC;SACzB;IACH,CAAC;IACD,6BAAY,GAAZ;QACE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,6BAAY,GAAZ,UAAa,MAAW,EAAE,GAAQ;QAAlC,iBAYC;QAXC,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;YACjB,IAAA,KAAK,GAAI,KAAI,CAAC,KAAK,MAAd,CAAe;YAC3B,KAAK,CAAC,gBAAgB,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,UAAA,SAAS;gBACxC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAM,GAAN;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACzB,IAAA,KAuBF,gDACC,IAAI,CAAC,KAAK,GACV,KAAK,CAAC,MAAM,CACT,EAzBN,SAAS,eAAA,EACT,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,MAAM,YAAA,EACN,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,eAAe,qBAAA,EACf,IAAI,UAAA,EACJ,eAAe,qBAAA,EACf,KAAK,WAAA,EACL,MAAM,YAAA,EACN,gBAAgB,sBAAA,EAChB,GAAG,SAAA,EACH,SAAS,eAAA,EACT,OAAO,aAAA,EACP,cAAc,oBAAA,EACD,EAAE,iBAAA,EACH,EAAE,gBAAA,EACd,eAAe,qBAIT,CAAC;QAET,IAAM,SAAS,GAAG,gBAAgB,IAAI,gBAAe,CAAC;QAEtD,OAAO,CACL,8BAAC,SAAS,IACR,WAAW,EAAE,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,IAAI,CAAC,eAAe,EAC5B,QAAQ,EAAE,KAAK,CAAC,OAAO,EACvB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,UAAU,EAAE,UAAU,EACtB,cAAc,EACZ,CAAC,KAAK,CAAC,UAAU;gBACjB,CAAC,KAAK,CAAC,UAAU;gBACjB,CAAC,cAAc,IAAI,CAAC,eAAe,CAAC,EAEtC,SAAS,EACP,eAAe;gBACb,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB;oBAC9B,CAAC,CAAC,GAAG,CAAC,iBAAiB;oBACvB,CAAC,CAAC,SAAS;YAGf,uCAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;gBACjD,KAAK,CAAC,CAAC,CAAC,CACP,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAC/B,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;oBACtB,IAAI,EAAE,KAAK,CAAC,QAAQ;iBACrB,CAAC,CACE,CACP,CAAC,CAAC,CAAC,IAAI;gBACP,MAAM;oBACL,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;wBACvB,IAAI,EAAE,KAAK,CAAC,QAAQ;qBACrB,CAAC;oBACJ,CAAC,CAAC,IAAI,CACJ;YAEL,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAChB,uCAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;gBAC9C,8BAAC,oBAAO,IAAC,OAAO,QAAC,IAAI,QAAC,IAAI,EAAC,IAAI,GAAG,CAC9B,CACP,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACT,uCAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,IAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAC1B,CACP,CAAC,CAAC,CAAC,IAAI;YAEP,IAAI,CAAC,YAAY,EAAE;YAEnB,IAAI;gBACH,CAAC,CAAC,MAAM,CACJ,QAAQ,kDAEH,CAAE,KAAK,CAAC,MAAiB;oBACxB,KAAK,CAAC,MAAiB,CAAC,MAAiB,CAAC,KAC9C,IAAI,EAAE,QAAQ,KAEhB;oBACE,GAAG,EAAE,QAAQ;oBACb,IAAI,EAAE,KAAK,CAAC,UAAU;oBACtB,SAAS,EAAE,IAAI,CAAC,mBAAmB;oBACnC,OAAO,EAAE,IAAI,CAAC,iBAAiB;oBAC/B,QAAQ,EAAE,IAAI,CAAC,YAAY;oBAC3B,IAAI,EAAE,KAAK,CAAC,UAAU;iBACvB,CACF;gBACH,CAAC,CAAC,IAAI;YAEP,IAAI;gBACH,CAAC,CAAC,MAAM,CACJ,QAAQ,kDAEH,CAAE,KAAK,CAAC,MAAiB;oBACxB,KAAK,CAAC,MAAiB,CAAC,MAAiB,CAAC,KAC9C,IAAI,EAAE,QAAQ,KAEhB;oBACE,GAAG,EAAE,QAAQ;oBACb,IAAI,EAAE,KAAK,CAAC,UAAU;oBACtB,SAAS,EAAE,IAAI,CAAC,mBAAmB;oBACnC,OAAO,EAAE,IAAI,CAAC,iBAAiB;oBAC/B,QAAQ,EAAE,IAAI,CAAC,YAAY;oBAC3B,IAAI,EAAE,KAAK,CAAC,UAAU;iBACvB,CACF;gBACH,CAAC,CAAC,IAAI;YAEP,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CACjC,CACb,CAAC;IACJ,CAAC;IAliBM,gBAAS,GAAkB;QAChC,OAAO;QACP,MAAM;QACN,YAAY;QACZ,gBAAgB;QAChB,UAAU;QACV,WAAW;QACX,eAAe;QACf,iBAAiB;QACjB,iBAAiB;QACjB,SAAS;QACT,UAAU;QACV,SAAS;QACT,WAAW;QACX,MAAM;QACN,iBAAiB;QACjB,OAAO;QACP,QAAQ;QACR,WAAW;QACX,SAAS;QACT,MAAM;QACN,kBAAkB;QAClB,cAAc;KACf,CAAC;IACK,mBAAY,GAAyB;QAC1C,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,EAAE;QACnB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,IAAI;KACnB,CAAC;IAoNF;QADC,iBAAQ;;;;qDAKR;IAqSH,aAAC;CAAA,AApiBD,CAAoC,eAAK,CAAC,SAAS,GAoiBlD;kBApiBoB,MAAM;AAkjB3B;IAAoC,+CAAM;IAGxC,wBAAY,KAAkB,EAAE,OAAuB;QAAvD,YACE,kBAAM,KAAK,CAAC,SAIb;QAHC,IAAM,MAAM,GAAG,OAAO,CAAC;QAEvB,MAAM,CAAC,iBAAiB,CAAC,KAAI,CAAC,CAAC;;IACjC,CAAC;IAED,6CAAoB,GAApB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjC,iBAAM,oBAAoB,WAAE,CAAC;IAC/B,CAAC;IAED,4CAAmB,GAAnB,UAAoB,MAAc,EAAE,GAAW,EAAE,SAAkB;QAAnE,iBA4EC;QA3EC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAE9C,IAAM,OAAO,GAAe,EAAE,CAAC;QACzB,IAAA,KAAqB,IAAI,CAAC,KAAK,EAA9B,SAAS,eAAA,EAAE,KAAK,WAAc,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,OAAO,CAAC,IAAI,OAAZ,OAAO,EACF,MAAM,CAAC,MAAM;iBACb,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAA/B,CAA+B,CAAC;iBAC5C,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,IAAI,IAAI,CAAC,QAAQ,EAArB,CAAqB,CAAC,EACxC;SACH;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,IAAI,UAAU,GAAG,MAAM;iBACpB,aAAa,EAAE;iBACf,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAA/C,CAA+C,CAAC,CAAC;YAEnE,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;YAEjC,OAAO,IAAI,CAAC,MAAM,EAAE;gBAClB,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAG,CAAC;gBAEzB,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACxD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM;iBACP;qBAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACzD,SAAS;iBACV;qBAAM,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACxD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;iBACxD;aACF;SACF;QAED,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,CAAC,aAAa,EAAE,CAAC;YAEtB,OAAO,CAAC,GAAG,CACT,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM;gBAChB,OAAA,MAAM,CAAC,QAAQ,iDAER,MAAM,KACT,IAAI,EAAE,KAAI,CAAC,IAAI,KAEjB,GAAG,EACH,IAAI,CACL;YAPD,CAOC,CACF,CACF;iBACE,IAAI,CAAC,UAAA,MAAM;gBACV,IACE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;oBACvB,MAAM,CAAC,UAAU,KAAK,QAAQ;oBAC9B,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC;oBAClC,MAAM,CAAC,KAAK,KAAK,KAAK,EACtB;oBACA,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;iBACnE;qBAAM,IAAI,MAAM,CAAC,KAAK,EAAE;oBACvB,MAAM,CAAC,KAAK,KAAK,IAAI;wBACnB,CAAC,CAAC,KAAI,CAAC,eAAe,EAAE;wBACxB,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACpC;gBACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC;iBACD,KAAK,CAAC,UAAA,MAAM;gBACX,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEL,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qCAAY,GAAZ,UACE,CAAqB,EACrB,MAAc,EACd,IAAY,EACZ,WAA4B,EAC5B,QAAyB;QAL3B,iBA0EC;QAtEC,4BAAA,EAAA,mBAA4B;QAGtB,IAAA,KAAkC,IAAI,CAAC,KAAK,EAA3C,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,GAAG,SAAc,CAAC;QAEnD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;YAC7B,OAAO,QAAQ;gBACb,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;gBAClE,CAAC,CAAC,KAAK,CAAC;SACX;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAE9C,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;YACnE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAChD;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;YAC1C,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;SACrD;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;YACzC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACxB;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;YACzC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACxB;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;YACzC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAChC;SACF;aAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YACjD,aAAa;SACd;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,EAAE;YACvC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,KAAK;iBACF,UAAU,CAAC,MAAM,CAAC,GAAa,EAAE,IAAI,EAAE;gBACtC,cAAc,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO;gBAC1D,YAAY,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;aACxD,CAAC;iBACD,IAAI,CAAC;;;;;iCACA,CAAA,MAAM,CAAC,QAAQ,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA,EAAzD,wBAAyD;4BAC3D,qBAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAA;;4BAApD,SAAoD,CAAC;;;4BAGjD,QAAQ,GACZ,MAAM,CAAC,QAAQ,IAAI,IAAA,YAAM,EAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;4BACzD,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;4BACzC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC9D,IAAI,MAAM,CAAC,KAAK,EAAE;gCAChB,IAAI,CAAC,eAAe,EAAE,CAAC;gCACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;6BAChC;;;;iBACF,CAAC;iBACD,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;SACpB;aAAM,IAAI,QAAQ,EAAE;YACnB,IAAI,GAAG,GAAG,QAAQ,CAChB,CAAC,EACD,MAAM,EACN,IAAI,EACJ,WAAW,EACX,QAAQ,IAAI,IAAI,CAAC,OAAO,CACzB,CAAC;YACF,MAAM,CAAC,KAAK;gBACV,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI;oBACd,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;oBAChC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,4CAAmB,GAAnB,UAAoB,KAAU,EAAE,MAAc;QAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;YACnE,OAAO;SACR;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,IAAM,UAAU,GAAG,MAAM;aACtB,aAAa,EAAE;aACf,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAA/C,CAA+C,CAAC,CAAC;QAC1E,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,IACE,UAAU,CAAC,MAAM,KAAK,CAAC;YACvB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;gBAClC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EACxC;YACA,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,4CAAmB,GAAnB,UAAoB,MAAgB,EAAE,MAAc;;QAAE,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,6BAAmB;;QACvE,iBAAM,mBAAmB,yCAAC,MAAM,EAAE,MAAM,GAAK,IAAI,UAAE;QACnD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAM,YAAY,GAAG,KAAK,CAAC,MAAgB,CAAC;QAC5C,IAAM,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,YAAY,CAAC,MAAM,CAAC;QAEpD,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SACnC;aAAM;YACL,wBAAwB;YACxB,MAAM;iBACH,aAAa,EAAE;iBACf,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAA1B,CAA0B,CAAC;iBACjD,OAAO,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAA5B,CAA4B,CAAC,CAAC;SACzD;IACH,CAAC;IAED,4CAAmB,GAAnB,UAAoB,MAAgB,EAAE,MAAc;QAAE,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,6BAAmB;;QACvE,iBAAM,mBAAmB,YAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAM,YAAY,GAAG,KAAK,CAAC,MAAgB,CAAC;QAE5C,aAAa;QACb,UAAU,CAAC;YACT,IAAI,YAAY,CAAC,MAAM,EAAE;gBACvB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAChD;iBAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBACxB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAC1C;iBAAM;gBACL,wBAAwB;gBACxB,MAAM;qBACH,aAAa,EAAE;qBACf,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAA1B,CAA0B,CAAC;qBACjD,OAAO,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAA5B,CAA4B,CAAC,CAAC;aACzD;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,qCAAY,GAAZ,UAAa,MAAc,EAAE,IAAU;QACrC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,oCAAW,GAAX,UAAY,MAAc;QACxB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,gCAAO,GAAP,UAAQ,MAAc;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;;IAjPM,0BAAW,GAAG,sBAAa,CAAC;IADxB,cAAc;QAZ1B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,kBAAU,CAAC,IAAI;YAC1B,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,IAAI;YAClB,oBAAoB,EAAE,UAAC,KAAoB,EAAE,KAAU,EAAE,SAAc;gBACrE,OAAA,CAAC,CAAC,CACA,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;oBAChC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;wBAC5B,IAAA,gCAAuB,EAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CACvD;YAJD,CAIC;SACJ,CAAC;kFAIyC,uBAAc,oBAAd,uBAAc;OAH5C,cAAc,CAmP1B;IAAD,qBAAC;CAAA,AAnPD,CAAoC,MAAM,GAmPzC;AAnPY,wCAAc",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action} from '../types';\nimport {default as DrawerContainer} from '../components/Drawer';\nimport findLast from 'lodash/findLast';\nimport {\n guid,\n isVisible,\n autobind,\n isObjectShallowModified\n} from '../utils/helper';\nimport {reaction} from 'mobx';\nimport {findDOMNode} from 'react-dom';\nimport {IModalStore, ModalStore} from '../store/modal';\nimport {filter} from '../utils/tpl';\nimport {Spinner} from '../components';\nimport {IServiceStore} from '../store/service';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaName\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {isAlive} from 'mobx-state-tree';\n\n/**\n * Drawer 抽出式弹框。\n * 文档:https://baidu.gitee.io/amis/docs/components/drawer\n */\nexport interface DrawerSchema extends BaseSchema {\n type: 'drawer';\n\n /**\n * 默认不用填写,自动会创建确认和取消按钮。\n */\n actions?: Array<ActionSchema>;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * 配置 外层 className\n */\n className?: SchemaClassName;\n\n /**\n * 配置 Body 容器 className\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 配置 头部 容器 className\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 配置 头部 容器 className\n */\n footerClassName?: SchemaClassName;\n\n /**\n * 是否支持按 ESC 关闭 Dialog\n */\n closeOnEsc?: boolean;\n\n name?: SchemaName;\n\n /**\n * Dialog 大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n\n /**\n * 请通过配置 title 设置标题\n */\n title?: SchemaCollection;\n\n /**\n * 从什么位置弹出\n */\n position?: 'left' | 'right' | 'top' | 'bottom';\n\n /**\n * 是否展示关闭按钮\n * 当值为false时,默认开启closeOnOutside\n */\n showCloseButton?: boolean;\n\n /**\n * 抽屉的宽度 (当position为left | right时生效)\n */\n width?: number | string;\n\n /**\n * 抽屉的高度 (当position为top | bottom时生效)\n */\n height?: number | string;\n\n /**\n * 头部\n */\n header?: SchemaCollection;\n\n /**\n * 底部\n */\n footer?: SchemaCollection;\n\n /**\n * 影响自动生成的按钮,如果自己配置了按钮这个配置无效。\n */\n confirm?: boolean;\n\n /**\n * 是否可以拖动弹窗大小\n */\n resizable?: boolean;\n\n /**\n * 是否显示蒙层\n */\n overlay?: boolean;\n\n /**\n * 点击外部的时候是否关闭弹框。\n */\n closeOnOutside?: boolean;\n\n /**\n * 是否显示错误信息\n */\n showErrorMsg?: boolean;\n}\n\nexport type DrawerSchemaBase = Omit<DrawerSchema, 'type'>;\n\nexport interface DrawerProps\n extends RendererProps,\n Omit<DrawerSchema, 'className'> {\n onClose: () => void;\n onConfirm: (\n values: Array<object>,\n action: Action,\n ctx: object,\n targets: Array<any>\n ) => void;\n children?: React.ReactNode | ((props?: any) => React.ReactNode);\n wrapperComponent: React.ElementType;\n lazySchema?: (props: DrawerProps) => SchemaCollection;\n store: IModalStore;\n show?: boolean;\n drawerContainer?: () => HTMLElement;\n}\n\nexport interface DrawerState {\n entered: boolean;\n resizeCoord: number;\n [propName: string]: any;\n}\n\nexport default class Drawer extends React.Component<DrawerProps> {\n static propsList: Array<string> = [\n 'title',\n 'size',\n 'closeOnEsc',\n 'closeOnOutside',\n 'children',\n 'className',\n 'bodyClassName',\n 'headerClassName',\n 'footerClassName',\n 'confirm',\n 'position',\n 'onClose',\n 'onConfirm',\n 'show',\n 'showCloseButton',\n 'width',\n 'height',\n 'resizable',\n 'overlay',\n 'body',\n 'popOverContainer',\n 'showErrorMsg'\n ];\n static defaultProps: Partial<DrawerProps> = {\n title: '',\n className: '',\n bodyClassName: '',\n headerClassName: '',\n footerClassName: '',\n confirm: true,\n position: 'right',\n resizable: false,\n showCloseButton: true,\n overlay: true,\n closeOnEsc: false,\n closeOnOutside: false,\n showErrorMsg: true\n };\n\n reaction: any;\n $$id: string = guid();\n drawer: any;\n constructor(props: DrawerProps) {\n super(props);\n\n props.store.setEntered(!!props.show);\n this.handleSelfClose = this.handleSelfClose.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleDrawerConfirm = this.handleDrawerConfirm.bind(this);\n this.handleDrawerClose = this.handleDrawerClose.bind(this);\n this.handleDialogConfirm = this.handleDialogConfirm.bind(this);\n this.handleDialogClose = this.handleDialogClose.bind(this);\n this.handleChildFinished = this.handleChildFinished.bind(this);\n this.resizeMouseDown = this.resizeMouseDown.bind(this);\n this.bindResize = this.bindResize.bind(this);\n this.removeResize = this.removeResize.bind(this);\n this.handleEntered = this.handleEntered.bind(this);\n this.handleExited = this.handleExited.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleFormChange = this.handleFormChange.bind(this);\n this.handleFormSaved = this.handleFormSaved.bind(this);\n\n const store = props.store;\n this.reaction = reaction(\n () => `${store.loading}${store.error}`,\n () => this.forceUpdate()\n );\n }\n\n // shouldComponentUpdate(nextProps:DrawerProps) {\n // const props = this.props;\n\n // if (props.show === nextProps.show && !nextProps.show) {\n // return false;\n // }\n\n // return isObjectShallowModified(this.props, nextProps);\n // }\n\n componentWillUnmount() {\n this.reaction && this.reaction();\n }\n\n buildActions(): Array<ActionSchema> {\n const {actions, confirm, translate: __} = this.props;\n\n if (typeof actions !== 'undefined') {\n return actions;\n }\n\n let ret: Array<ActionSchema> = [];\n ret.push({\n type: 'button',\n actionType: 'close',\n label: __('cancel')\n });\n\n if (confirm) {\n ret.push({\n type: 'button',\n actionType: 'confirm',\n label: __('confirm'),\n primary: true\n });\n }\n\n return ret;\n }\n\n handleSelfClose() {\n const {onClose, store} = this.props;\n\n // 如果有子弹框,那么就先不隐藏自己\n if (store.dialogOpen !== false || store.drawerOpen !== false) {\n return;\n }\n\n // clear error\n store.updateMessage();\n onClose();\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, data: object) {\n const {onClose, onAction} = this.props;\n if (action.actionType === 'close' || action.actionType === 'cancel') {\n onClose();\n } else if (onAction) {\n onAction(e, action, data);\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const drawerAction = store.action as Action;\n const drawer = drawerAction.drawer as any;\n\n if (\n drawer.onConfirm &&\n drawer.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose(...args: Array<any>) {\n const {store} = this.props;\n\n const action = store.action as Action;\n const drawer = action.drawer as any;\n\n if (drawer.onClose && drawer.onClose(...args) === false) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialogAction = store.action as Action;\n const dialog = dialogAction.dialog as any;\n\n if (\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(...args: Array<any>) {\n const {store} = this.props;\n\n const action = store.action as Action;\n const dialog = action.dialog as any;\n\n if (dialog.onClose && dialog.onClose(...args) === false) {\n return;\n }\n\n store.closeDialog(args[1]);\n }\n\n handleChildFinished(value: any, action: Action) {\n // 下面会覆盖\n }\n\n handleFormInit(data: any) {\n const {store} = this.props;\n\n store.setFormData(data);\n }\n\n handleFormChange(data: any, name?: string) {\n const {store} = this.props;\n\n if (typeof name === 'string') {\n data = {\n [name]: data\n };\n }\n\n store.setFormData(data);\n }\n\n handleFormSaved(data: any, response: any) {\n const {store} = this.props;\n\n store.setFormData({\n ...data,\n ...response\n });\n }\n\n handleEntered() {\n const {lazySchema, store} = this.props;\n\n store.setEntered(true);\n if (typeof lazySchema === 'function') {\n store.setSchema(lazySchema(this.props));\n }\n }\n\n handleExited() {\n const {lazySchema, store} = this.props;\n if (isAlive(store)) {\n store.reset();\n store.setEntered(false);\n if (typeof lazySchema === 'function') {\n store.setSchema('');\n }\n }\n }\n\n @autobind\n getPopOverContainer() {\n return (findDOMNode(this) as HTMLElement).querySelector(\n `.${this.props.classPrefix}Drawer-content`\n );\n }\n\n renderBody(body: SchemaNode, key?: any): React.ReactNode {\n let {render, store} = this.props;\n\n if (Array.isArray(body)) {\n return body.map((body, key) => this.renderBody(body, key));\n }\n\n let schema: Schema = body as Schema;\n let subProps: any = {\n key,\n disabled: store.loading,\n onAction: this.handleAction,\n onFinished: this.handleChildFinished,\n popOverContainer: this.getPopOverContainer,\n onChange: this.handleFormChange,\n onInit: this.handleFormInit,\n onSaved: this.handleFormSaved,\n syncLocation: false\n };\n\n if (schema.type === 'form') {\n schema = {\n mode: 'horizontal',\n wrapWithPanel: false,\n submitText: null,\n ...schema\n };\n }\n\n return render(`body${key ? `/${key}` : ''}`, schema, subProps);\n }\n\n renderFooter() {\n const actions = this.buildActions();\n\n if (!actions || !actions.length) {\n return null;\n }\n\n const {store, render, classnames: cx, showErrorMsg, footerClassName} = this.props;\n\n return (\n <div className={cx('Drawer-footer', footerClassName)}>\n {store.loading || store.error ? (\n <div className={cx('Drawer-info')}>\n <Spinner size=\"sm\" key=\"info\" show={store.loading} />\n {showErrorMsg && store.error ? (\n <span className={cx('Drawer-error')}>{store.msg}</span>\n ) : null}\n </div>\n ) : null}\n {actions.map((action, key) =>\n render(`action/${key}`, action, {\n onAction: this.handleAction,\n data: store.formData,\n key,\n disabled: action.disabled || store.loading\n })\n )}\n </div>\n );\n }\n\n renderResizeCtrl() {\n const {classnames: cx} = this.props;\n\n return (\n <div\n className={cx('Drawer-resizeCtrl')}\n onMouseDown={this.resizeMouseDown}\n >\n <div className={cx('Drawer-resizeIcon')}>···</div>\n </div>\n );\n }\n\n resizeMouseDown(e: React.MouseEvent<any>) {\n const {position, classPrefix: ns, store} = this.props;\n\n this.drawer = (findDOMNode(this) as HTMLElement).querySelector(\n `.${ns}Drawer-content`\n ) as HTMLElement;\n const resizeCtrl = (findDOMNode(this) as HTMLElement).querySelector(\n `.${ns}Drawer-content .${ns}Drawer-resizeCtrl`\n ) as HTMLElement;\n const drawerWidth = getComputedStyle(this.drawer).width as string;\n const drawerHeight = getComputedStyle(this.drawer).height as string;\n\n store.setResizeCoord(\n (position === 'left' &&\n e.clientX -\n resizeCtrl.offsetWidth -\n parseInt(drawerWidth.substring(0, drawerWidth.length - 2))) ||\n (position === 'right' &&\n document.body.offsetWidth -\n e.clientX -\n resizeCtrl.offsetWidth -\n parseInt(drawerWidth.substring(0, drawerWidth.length - 2))) ||\n (position === 'top' &&\n e.clientY -\n resizeCtrl.offsetHeight -\n parseInt(drawerHeight.substring(0, drawerHeight.length - 2))) ||\n (position === 'bottom' &&\n document.body.offsetHeight -\n e.clientY -\n resizeCtrl.offsetHeight -\n parseInt(drawerHeight.substring(0, drawerHeight.length - 2))) ||\n 0\n );\n\n document.body.addEventListener('mousemove', this.bindResize);\n document.body.addEventListener('mouseup', this.removeResize);\n }\n\n bindResize(e: any) {\n const {position, store} = this.props;\n const maxWH = 'calc(100% - 50px)';\n const drawerStyle = this.drawer.style;\n let wh =\n (position === 'left' && e.clientX) ||\n (position === 'right' && document.body.offsetWidth - e.clientX) ||\n (position === 'top' && e.clientY) ||\n (position === 'bottom' && document.body.offsetHeight - e.clientY) ||\n 0;\n wh = wh - store.resizeCoord + 'px';\n\n if (position === 'left' || position === 'right') {\n drawerStyle.maxWidth = maxWH;\n drawerStyle.width = wh;\n }\n\n if (position === 'top' || position === 'bottom') {\n drawerStyle.maxHeight = maxWH;\n drawerStyle.height = wh;\n }\n }\n removeResize() {\n document.body.removeEventListener('mousemove', this.bindResize);\n document.body.removeEventListener('mouseup', this.removeResize);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n render() {\n const store = this.props.store;\n const {\n className,\n size,\n closeOnEsc,\n position,\n title,\n render,\n header,\n body,\n bodyClassName,\n headerClassName,\n show,\n showCloseButton,\n width,\n height,\n wrapperComponent,\n env,\n resizable,\n overlay,\n closeOnOutside,\n classPrefix: ns,\n classnames: cx,\n drawerContainer\n } = {\n ...this.props,\n ...store.schema\n } as any;\n\n const Container = wrapperComponent || DrawerContainer;\n\n return (\n <Container\n classPrefix={ns}\n className={className}\n size={size}\n onHide={this.handleSelfClose}\n disabled={store.loading}\n show={show}\n showCloseButton={showCloseButton}\n width={width}\n height={height}\n position={position}\n overlay={overlay}\n onEntered={this.handleEntered}\n onExited={this.handleExited}\n closeOnEsc={closeOnEsc}\n closeOnOutside={\n !store.drawerOpen && !store.dialogOpen && (closeOnOutside || !showCloseButton)\n }\n container={\n drawerContainer\n ? drawerContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n }\n >\n <div className={cx('Drawer-header', headerClassName)}>\n {title ? (\n <div className={cx('Drawer-title')}>\n {render('title', title, {\n data: store.formData\n })}\n </div>\n ) : null}\n {header\n ? render('header', header, {\n data: store.formData\n })\n : null}\n </div>\n\n {!store.entered ? (\n <div className={cx('Drawer-body', bodyClassName)}>\n <Spinner overlay show size=\"lg\" />\n </div>\n ) : body ? (\n <div className={cx('Drawer-body', bodyClassName)}>\n {this.renderBody(body, 'body')}\n </div>\n ) : null}\n\n {this.renderFooter()}\n\n {body\n ? render(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n onAction: this.handleAction,\n show: store.dialogOpen\n }\n )\n : null}\n\n {body\n ? render(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n onAction: this.handleAction,\n show: store.drawerOpen\n }\n )\n : null}\n\n {resizable ? this.renderResizeCtrl() : null}\n </Container>\n );\n }\n}\n\n@Renderer({\n type: 'drawer',\n storeType: ModalStore.name,\n storeExtendsData: false,\n isolateScope: true,\n shouldSyncSuperStore: (store: IServiceStore, props: any, prevProps: any) =>\n !!(\n (store.drawerOpen || props.show) &&\n (props.show !== prevProps.show ||\n isObjectShallowModified(prevProps.data, props.data))\n )\n})\nexport class DrawerRenderer extends Drawer {\n static contextType = ScopedContext;\n\n constructor(props: DrawerProps, context: IScopedContext) {\n super(props);\n const scoped = context;\n\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n tryChildrenToHandle(action: Action, ctx: object, rawAction?: Action) {\n const scoped = this.context as IScopedContext;\n\n const targets: Array<any> = [];\n const {onConfirm, store} = this.props;\n\n if (action.target) {\n targets.push(\n ...action.target\n .split(',')\n .map(name => scoped.getComponentByName(name))\n .filter(item => item && item.doAction)\n );\n }\n\n if (!targets.length) {\n let components = scoped\n .getComponents()\n .filter(item => !~['drawer', 'dialog'].indexOf(item.props.type));\n\n const pool = components.concat();\n\n while (pool.length) {\n const item = pool.pop()!;\n\n if (~['crud', 'form', 'wizard'].indexOf(item.props.type)) {\n targets.push(item);\n break;\n } else if (~['drawer', 'dialog'].indexOf(item.props.type)) {\n continue;\n } else if (~['page', 'service'].indexOf(item.props.type)) {\n pool.unshift.apply(pool, item.context.getComponents());\n }\n }\n }\n\n if (targets.length) {\n store.markBusying(true);\n store.updateMessage();\n\n Promise.all(\n targets.map(target =>\n target.doAction(\n {\n ...action,\n from: this.$$id\n },\n ctx,\n true\n )\n )\n )\n .then(values => {\n if (\n (action.type === 'submit' ||\n action.actionType === 'submit' ||\n action.actionType === 'confirm') &&\n action.close !== false\n ) {\n onConfirm && onConfirm(values, rawAction || action, ctx, targets);\n } else if (action.close) {\n action.close === true\n ? this.handleSelfClose()\n : this.closeTarget(action.close);\n }\n store.markBusying(false);\n })\n .catch(reason => {\n store.updateMessage(reason.message, true);\n store.markBusying(false);\n });\n\n return true;\n }\n\n return false;\n }\n\n handleAction(\n e: React.UIEvent<any>,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onClose, onAction, store, env} = this.props;\n\n if (action.from === this.$$id) {\n return onAction\n ? onAction(e, action, data, throwErrors, delegate || this.context)\n : false;\n }\n\n const scoped = this.context as IScopedContext;\n\n if (action.actionType === 'close' || action.actionType === 'cancel') {\n store.setCurrentAction(action);\n onClose();\n action.close && this.closeTarget(action.close);\n } else if (action.actionType === 'confirm') {\n store.setCurrentAction(action);\n this.tryChildrenToHandle(action, data) || onClose();\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(data);\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(data);\n } else if (action.actionType === 'reload') {\n store.setCurrentAction(action);\n action.target && scoped.reload(action.target, data);\n if (action.close) {\n this.handleSelfClose();\n this.closeTarget(action.close);\n }\n } else if (this.tryChildrenToHandle(action, data)) {\n // do nothing\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: action.messages && action.messages.success,\n errorMessage: action.messages && action.messages.failed\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n if (action.close) {\n this.handleSelfClose();\n this.closeTarget(action.close);\n }\n })\n .catch(() => {});\n } else if (onAction) {\n let ret = onAction(\n e,\n action,\n data,\n throwErrors,\n delegate || this.context\n );\n action.close &&\n (ret && ret.then\n ? ret.then(this.handleSelfClose)\n : setTimeout(this.handleSelfClose, 200));\n }\n }\n\n handleChildFinished(value: any, action: Action) {\n if ((action && action.from === this.$$id) || action.close === false) {\n return;\n }\n\n const scoped = this.context as IScopedContext;\n const components = scoped\n .getComponents()\n .filter((item: any) => !~['drawer', 'dialog'].indexOf(item.props.type));\n const onConfirm = this.props.onConfirm;\n\n if (\n components.length === 1 &&\n (components[0].props.type === 'form' ||\n components[0].props.type === 'wizard')\n ) {\n onConfirm([value], action, {}, components);\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDialogConfirm(values, action, ...rest);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const dialogAction = store.action as Action;\n const reload = action.reload ?? dialogAction.reload;\n\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDrawerConfirm(values, action);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const drawerAction = store.action as Action;\n\n // 稍等会,等动画结束。\n setTimeout(() => {\n if (drawerAction.reload) {\n scoped.reload(drawerAction.reload, store.data);\n } else if (action.reload) {\n scoped.reload(action.reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }, 300);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n closeTarget(target: string) {\n const scoped = this.context as IScopedContext;\n scoped.close(target);\n }\n}\n"
11
+ "import React from 'react';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action} from '../types';\nimport {default as DrawerContainer} from '../components/Drawer';\nimport findLast from 'lodash/findLast';\nimport {\n guid,\n isVisible,\n autobind,\n isObjectShallowModified\n} from '../utils/helper';\nimport {reaction} from 'mobx';\nimport {findDOMNode} from 'react-dom';\nimport {IModalStore, ModalStore} from '../store/modal';\nimport {filter} from '../utils/tpl';\nimport {Spinner} from '../components';\nimport {IServiceStore} from '../store/service';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaName\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {isAlive} from 'mobx-state-tree';\n\n/**\n * Drawer 抽出式弹框。\n * 文档:https://baidu.gitee.io/amis/docs/components/drawer\n */\nexport interface DrawerSchema extends BaseSchema {\n type: 'drawer';\n\n /**\n * 默认不用填写,自动会创建确认和取消按钮。\n */\n actions?: Array<ActionSchema>;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * 配置 外层 className\n */\n className?: SchemaClassName;\n\n /**\n * 配置 Body 容器 className\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 配置 头部 容器 className\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 配置 头部 容器 className\n */\n footerClassName?: SchemaClassName;\n\n /**\n * 是否支持按 ESC 关闭 Dialog\n */\n closeOnEsc?: boolean;\n\n name?: SchemaName;\n\n /**\n * Dialog 大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n\n /**\n * 请通过配置 title 设置标题\n */\n title?: SchemaCollection;\n\n /**\n * 从什么位置弹出\n */\n position?: 'left' | 'right' | 'top' | 'bottom';\n\n /**\n * 是否展示关闭按钮\n * 当值为false时,默认开启closeOnOutside\n */\n showCloseButton?: boolean;\n\n /**\n * 抽屉的宽度 (当position为left | right时生效)\n */\n width?: number | string;\n\n /**\n * 抽屉的高度 (当position为top | bottom时生效)\n */\n height?: number | string;\n\n /**\n * 头部\n */\n header?: SchemaCollection;\n\n /**\n * 底部\n */\n footer?: SchemaCollection;\n\n /**\n * 影响自动生成的按钮,如果自己配置了按钮这个配置无效。\n */\n confirm?: boolean;\n\n /**\n * 是否可以拖动弹窗大小\n */\n resizable?: boolean;\n\n /**\n * 是否显示蒙层\n */\n overlay?: boolean;\n\n /**\n * 点击外部的时候是否关闭弹框。\n */\n closeOnOutside?: boolean;\n\n /**\n * 是否显示错误信息\n */\n showErrorMsg?: boolean;\n}\n\nexport type DrawerSchemaBase = Omit<DrawerSchema, 'type'>;\n\nexport interface DrawerProps\n extends RendererProps,\n Omit<DrawerSchema, 'className'> {\n onClose: () => void;\n onConfirm: (\n values: Array<object>,\n action: Action,\n ctx: object,\n targets: Array<any>\n ) => void;\n children?: React.ReactNode | ((props?: any) => React.ReactNode);\n wrapperComponent: React.ElementType;\n lazySchema?: (props: DrawerProps) => SchemaCollection;\n store: IModalStore;\n show?: boolean;\n drawerContainer?: () => HTMLElement;\n}\n\nexport interface DrawerState {\n entered: boolean;\n resizeCoord: number;\n [propName: string]: any;\n}\n\nexport default class Drawer extends React.Component<DrawerProps> {\n static propsList: Array<string> = [\n 'title',\n 'size',\n 'closeOnEsc',\n 'closeOnOutside',\n 'children',\n 'className',\n 'bodyClassName',\n 'headerClassName',\n 'footerClassName',\n 'confirm',\n 'position',\n 'onClose',\n 'onConfirm',\n 'show',\n 'showCloseButton',\n 'width',\n 'height',\n 'resizable',\n 'overlay',\n 'body',\n 'popOverContainer',\n 'showErrorMsg'\n ];\n static defaultProps: Partial<DrawerProps> = {\n title: '',\n className: '',\n bodyClassName: '',\n headerClassName: '',\n footerClassName: '',\n confirm: true,\n position: 'right',\n resizable: false,\n showCloseButton: true,\n overlay: true,\n closeOnEsc: false,\n closeOnOutside: false,\n showErrorMsg: true\n };\n\n reaction: any;\n $$id: string = guid();\n drawer: any;\n constructor(props: DrawerProps) {\n super(props);\n\n props.store.setEntered(!!props.show);\n this.handleSelfClose = this.handleSelfClose.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleDrawerConfirm = this.handleDrawerConfirm.bind(this);\n this.handleDrawerClose = this.handleDrawerClose.bind(this);\n this.handleDialogConfirm = this.handleDialogConfirm.bind(this);\n this.handleDialogClose = this.handleDialogClose.bind(this);\n this.handleChildFinished = this.handleChildFinished.bind(this);\n this.resizeMouseDown = this.resizeMouseDown.bind(this);\n this.bindResize = this.bindResize.bind(this);\n this.removeResize = this.removeResize.bind(this);\n this.handleEntered = this.handleEntered.bind(this);\n this.handleExited = this.handleExited.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleFormChange = this.handleFormChange.bind(this);\n this.handleFormSaved = this.handleFormSaved.bind(this);\n\n const store = props.store;\n this.reaction = reaction(\n () => `${store.loading}${store.error}`,\n () => this.forceUpdate()\n );\n }\n\n // shouldComponentUpdate(nextProps:DrawerProps) {\n // const props = this.props;\n\n // if (props.show === nextProps.show && !nextProps.show) {\n // return false;\n // }\n\n // return isObjectShallowModified(this.props, nextProps);\n // }\n\n componentWillUnmount() {\n this.reaction && this.reaction();\n }\n\n buildActions(): Array<ActionSchema> {\n const {actions, confirm, translate: __} = this.props;\n\n if (typeof actions !== 'undefined') {\n return actions;\n }\n\n let ret: Array<ActionSchema> = [];\n ret.push({\n type: 'button',\n actionType: 'close',\n label: __('cancel')\n });\n\n if (confirm) {\n ret.push({\n type: 'button',\n actionType: 'confirm',\n label: __('confirm'),\n primary: true\n });\n }\n\n return ret;\n }\n\n handleSelfClose() {\n const {onClose, store} = this.props;\n\n // 如果有子弹框,那么就先不隐藏自己\n if (store.dialogOpen !== false || store.drawerOpen !== false) {\n return;\n }\n\n // clear error\n store.updateMessage();\n onClose();\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, data: object) {\n const {onClose, onAction} = this.props;\n if (action.actionType === 'close' || action.actionType === 'cancel') {\n onClose();\n } else if (onAction) {\n onAction(e, action, data);\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const drawerAction = store.action as Action;\n const drawer = drawerAction.drawer as any;\n\n if (\n drawer.onConfirm &&\n drawer.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose(...args: Array<any>) {\n const {store} = this.props;\n\n const action = store.action as Action;\n const drawer = action.drawer as any;\n\n if (drawer.onClose && drawer.onClose(...args) === false) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialogAction = store.action as Action;\n const dialog = dialogAction.dialog as any;\n\n if (\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(...args: Array<any>) {\n const {store} = this.props;\n\n const action = store.action as Action;\n const dialog = action.dialog as any;\n\n if (dialog.onClose && dialog.onClose(...args) === false) {\n return;\n }\n\n store.closeDialog(args[1]);\n }\n\n handleChildFinished(value: any, action: Action) {\n // 下面会覆盖\n }\n\n handleFormInit(data: any) {\n const {store} = this.props;\n\n store.setFormData(data);\n }\n\n handleFormChange(data: any, name?: string) {\n const {store} = this.props;\n\n if (typeof name === 'string') {\n data = {\n [name]: data\n };\n }\n\n store.setFormData(data);\n }\n\n handleFormSaved(data: any, response: any) {\n const {store} = this.props;\n\n store.setFormData({\n ...data,\n ...response\n });\n }\n\n handleEntered() {\n const {lazySchema, store} = this.props;\n\n store.setEntered(true);\n if (typeof lazySchema === 'function') {\n store.setSchema(lazySchema(this.props));\n }\n }\n\n handleExited() {\n const {lazySchema, store} = this.props;\n if (isAlive(store)) {\n store.reset();\n store.setEntered(false);\n if (typeof lazySchema === 'function') {\n store.setSchema('');\n }\n }\n }\n\n @autobind\n getPopOverContainer() {\n return (findDOMNode(this) as HTMLElement).querySelector(\n `.${this.props.classPrefix}Drawer-content`\n );\n }\n\n renderBody(body: SchemaNode, key?: any): React.ReactNode {\n let {render, store} = this.props;\n\n if (Array.isArray(body)) {\n return body.map((body, key) => this.renderBody(body, key));\n }\n\n let schema: Schema = body as Schema;\n let subProps: any = {\n key,\n disabled: store.loading,\n onAction: this.handleAction,\n onFinished: this.handleChildFinished,\n popOverContainer: this.getPopOverContainer,\n onChange: this.handleFormChange,\n onInit: this.handleFormInit,\n onSaved: this.handleFormSaved,\n syncLocation: false\n };\n\n if (schema.type === 'form') {\n schema = {\n mode: 'horizontal',\n wrapWithPanel: false,\n submitText: null,\n ...schema\n };\n }\n\n return render(`body${key ? `/${key}` : ''}`, schema, subProps);\n }\n\n renderFooter() {\n const actions = this.buildActions();\n\n if (!actions || !actions.length) {\n return null;\n }\n\n const {\n store,\n render,\n classnames: cx,\n showErrorMsg,\n footerClassName\n } = this.props;\n\n return (\n <div className={cx('Drawer-footer', footerClassName)}>\n {store.loading || store.error ? (\n <div className={cx('Drawer-info')}>\n <Spinner size=\"sm\" key=\"info\" show={store.loading} />\n {showErrorMsg && store.error ? (\n <span className={cx('Drawer-error')}>{store.msg}</span>\n ) : null}\n </div>\n ) : null}\n {actions.map((action, key) =>\n render(`action/${key}`, action, {\n onAction: this.handleAction,\n data: store.formData,\n key,\n disabled: action.disabled || store.loading\n })\n )}\n </div>\n );\n }\n\n renderResizeCtrl() {\n const {classnames: cx} = this.props;\n\n return (\n <div\n className={cx('Drawer-resizeCtrl')}\n onMouseDown={this.resizeMouseDown}\n >\n <div className={cx('Drawer-resizeIcon')}>···</div>\n </div>\n );\n }\n\n resizeMouseDown(e: React.MouseEvent<any>) {\n const {position, classPrefix: ns, store} = this.props;\n\n this.drawer = (findDOMNode(this) as HTMLElement).querySelector(\n `.${ns}Drawer-content`\n ) as HTMLElement;\n const resizeCtrl = (findDOMNode(this) as HTMLElement).querySelector(\n `.${ns}Drawer-content .${ns}Drawer-resizeCtrl`\n ) as HTMLElement;\n const drawerWidth = getComputedStyle(this.drawer).width as string;\n const drawerHeight = getComputedStyle(this.drawer).height as string;\n\n store.setResizeCoord(\n (position === 'left' &&\n e.clientX -\n resizeCtrl.offsetWidth -\n parseInt(drawerWidth.substring(0, drawerWidth.length - 2))) ||\n (position === 'right' &&\n document.body.offsetWidth -\n e.clientX -\n resizeCtrl.offsetWidth -\n parseInt(drawerWidth.substring(0, drawerWidth.length - 2))) ||\n (position === 'top' &&\n e.clientY -\n resizeCtrl.offsetHeight -\n parseInt(drawerHeight.substring(0, drawerHeight.length - 2))) ||\n (position === 'bottom' &&\n document.body.offsetHeight -\n e.clientY -\n resizeCtrl.offsetHeight -\n parseInt(drawerHeight.substring(0, drawerHeight.length - 2))) ||\n 0\n );\n\n document.body.addEventListener('mousemove', this.bindResize);\n document.body.addEventListener('mouseup', this.removeResize);\n }\n\n bindResize(e: any) {\n const {position, store} = this.props;\n const maxWH = 'calc(100% - 50px)';\n const drawerStyle = this.drawer.style;\n let wh =\n (position === 'left' && e.clientX) ||\n (position === 'right' && document.body.offsetWidth - e.clientX) ||\n (position === 'top' && e.clientY) ||\n (position === 'bottom' && document.body.offsetHeight - e.clientY) ||\n 0;\n wh = wh - store.resizeCoord + 'px';\n\n if (position === 'left' || position === 'right') {\n drawerStyle.maxWidth = maxWH;\n drawerStyle.width = wh;\n }\n\n if (position === 'top' || position === 'bottom') {\n drawerStyle.maxHeight = maxWH;\n drawerStyle.height = wh;\n }\n }\n removeResize() {\n document.body.removeEventListener('mousemove', this.bindResize);\n document.body.removeEventListener('mouseup', this.removeResize);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n render() {\n const store = this.props.store;\n const {\n className,\n size,\n closeOnEsc,\n position,\n title,\n render,\n header,\n body,\n bodyClassName,\n headerClassName,\n show,\n showCloseButton,\n width,\n height,\n wrapperComponent,\n env,\n resizable,\n overlay,\n closeOnOutside,\n classPrefix: ns,\n classnames: cx,\n drawerContainer\n } = {\n ...this.props,\n ...store.schema\n } as any;\n\n const Container = wrapperComponent || DrawerContainer;\n\n return (\n <Container\n classPrefix={ns}\n className={className}\n size={size}\n onHide={this.handleSelfClose}\n disabled={store.loading}\n show={show}\n showCloseButton={showCloseButton}\n width={width}\n height={height}\n position={position}\n overlay={overlay}\n onEntered={this.handleEntered}\n onExited={this.handleExited}\n closeOnEsc={closeOnEsc}\n closeOnOutside={\n !store.drawerOpen &&\n !store.dialogOpen &&\n (closeOnOutside || !showCloseButton)\n }\n container={\n drawerContainer\n ? drawerContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n }\n >\n <div className={cx('Drawer-header', headerClassName)}>\n {title ? (\n <div className={cx('Drawer-title')}>\n {render('title', title, {\n data: store.formData\n })}\n </div>\n ) : null}\n {header\n ? render('header', header, {\n data: store.formData\n })\n : null}\n </div>\n\n {!store.entered ? (\n <div className={cx('Drawer-body', bodyClassName)}>\n <Spinner overlay show size=\"lg\" />\n </div>\n ) : body ? (\n <div className={cx('Drawer-body', bodyClassName)}>\n {this.renderBody(body, 'body')}\n </div>\n ) : null}\n\n {this.renderFooter()}\n\n {body\n ? render(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n onAction: this.handleAction,\n show: store.dialogOpen\n }\n )\n : null}\n\n {body\n ? render(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n onAction: this.handleAction,\n show: store.drawerOpen\n }\n )\n : null}\n\n {resizable ? this.renderResizeCtrl() : null}\n </Container>\n );\n }\n}\n\n@Renderer({\n type: 'drawer',\n storeType: ModalStore.name,\n storeExtendsData: false,\n isolateScope: true,\n shouldSyncSuperStore: (store: IServiceStore, props: any, prevProps: any) =>\n !!(\n (store.drawerOpen || props.show) &&\n (props.show !== prevProps.show ||\n isObjectShallowModified(prevProps.data, props.data))\n )\n})\nexport class DrawerRenderer extends Drawer {\n static contextType = ScopedContext;\n\n constructor(props: DrawerProps, context: IScopedContext) {\n super(props);\n const scoped = context;\n\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n tryChildrenToHandle(action: Action, ctx: object, rawAction?: Action) {\n const scoped = this.context as IScopedContext;\n\n const targets: Array<any> = [];\n const {onConfirm, store} = this.props;\n\n if (action.target) {\n targets.push(\n ...action.target\n .split(',')\n .map(name => scoped.getComponentByName(name))\n .filter(item => item && item.doAction)\n );\n }\n\n if (!targets.length) {\n let components = scoped\n .getComponents()\n .filter(item => !~['drawer', 'dialog'].indexOf(item.props.type));\n\n const pool = components.concat();\n\n while (pool.length) {\n const item = pool.pop()!;\n\n if (~['crud', 'form', 'wizard'].indexOf(item.props.type)) {\n targets.push(item);\n break;\n } else if (~['drawer', 'dialog'].indexOf(item.props.type)) {\n continue;\n } else if (~['page', 'service'].indexOf(item.props.type)) {\n pool.unshift.apply(pool, item.context.getComponents());\n }\n }\n }\n\n if (targets.length) {\n store.markBusying(true);\n store.updateMessage();\n\n Promise.all(\n targets.map(target =>\n target.doAction(\n {\n ...action,\n from: this.$$id\n },\n ctx,\n true\n )\n )\n )\n .then(values => {\n if (\n (action.type === 'submit' ||\n action.actionType === 'submit' ||\n action.actionType === 'confirm') &&\n action.close !== false\n ) {\n onConfirm && onConfirm(values, rawAction || action, ctx, targets);\n } else if (action.close) {\n action.close === true\n ? this.handleSelfClose()\n : this.closeTarget(action.close);\n }\n store.markBusying(false);\n })\n .catch(reason => {\n store.updateMessage(reason.message, true);\n store.markBusying(false);\n });\n\n return true;\n }\n\n return false;\n }\n\n handleAction(\n e: React.UIEvent<any>,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onClose, onAction, store, env} = this.props;\n\n if (action.from === this.$$id) {\n return onAction\n ? onAction(e, action, data, throwErrors, delegate || this.context)\n : false;\n }\n\n const scoped = this.context as IScopedContext;\n\n if (action.actionType === 'close' || action.actionType === 'cancel') {\n store.setCurrentAction(action);\n onClose();\n action.close && this.closeTarget(action.close);\n } else if (action.actionType === 'confirm') {\n store.setCurrentAction(action);\n this.tryChildrenToHandle(action, data) || onClose();\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(data);\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(data);\n } else if (action.actionType === 'reload') {\n store.setCurrentAction(action);\n action.target && scoped.reload(action.target, data);\n if (action.close) {\n this.handleSelfClose();\n this.closeTarget(action.close);\n }\n } else if (this.tryChildrenToHandle(action, data)) {\n // do nothing\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: action.messages && action.messages.success,\n errorMessage: action.messages && action.messages.failed\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n if (action.close) {\n this.handleSelfClose();\n this.closeTarget(action.close);\n }\n })\n .catch(() => {});\n } else if (onAction) {\n let ret = onAction(\n e,\n action,\n data,\n throwErrors,\n delegate || this.context\n );\n action.close &&\n (ret && ret.then\n ? ret.then(this.handleSelfClose)\n : setTimeout(this.handleSelfClose, 200));\n }\n }\n\n handleChildFinished(value: any, action: Action) {\n if ((action && action.from === this.$$id) || action.close === false) {\n return;\n }\n\n const scoped = this.context as IScopedContext;\n const components = scoped\n .getComponents()\n .filter((item: any) => !~['drawer', 'dialog'].indexOf(item.props.type));\n const onConfirm = this.props.onConfirm;\n\n if (\n components.length === 1 &&\n (components[0].props.type === 'form' ||\n components[0].props.type === 'wizard')\n ) {\n onConfirm([value], action, {}, components);\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDialogConfirm(values, action, ...rest);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const dialogAction = store.action as Action;\n const reload = action.reload ?? dialogAction.reload;\n\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDrawerConfirm(values, action);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const drawerAction = store.action as Action;\n\n // 稍等会,等动画结束。\n setTimeout(() => {\n if (drawerAction.reload) {\n scoped.reload(drawerAction.reload, store.data);\n } else if (action.reload) {\n scoped.reload(action.reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }, 300);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n closeTarget(target: string) {\n const scoped = this.context as IScopedContext;\n scoped.close(target);\n }\n\n setData(values: object) {\n return this.props.store.updateData(values);\n }\n}\n"
12
12
  ]
13
13
  }
@@ -98,12 +98,14 @@ export default class DropDownButton extends React.Component<DropDownButtonProps,
98
98
  state: DropDownButtonState;
99
99
  static defaultProps: Pick<DropDownButtonProps, 'placement' | 'tooltipTrigger' | 'tooltipRootClose'>;
100
100
  target: any;
101
+ timer: ReturnType<typeof setTimeout>;
101
102
  constructor(props: DropDownButtonProps);
102
103
  componentDidMount(): void;
103
104
  domRef(ref: any): void;
104
105
  toogle(e: React.MouseEvent<any>): void;
105
106
  open(): void;
106
107
  close(): void;
108
+ keepOpen(): void;
107
109
  renderButton(button: DropdownButton, index: number | string): React.ReactNode;
108
110
  renderOuter(): JSX.Element;
109
111
  render(): JSX.Element;
@@ -22,6 +22,7 @@ var DropDownButton = /** @class */ (function (_super) {
22
22
  _this.open = _this.open.bind(_this);
23
23
  _this.close = _this.close.bind(_this);
24
24
  _this.toogle = _this.toogle.bind(_this);
25
+ _this.keepOpen = _this.keepOpen.bind(_this);
25
26
  _this.domRef = _this.domRef.bind(_this);
26
27
  return _this;
27
28
  }
@@ -47,9 +48,17 @@ var DropDownButton = /** @class */ (function (_super) {
47
48
  });
48
49
  };
49
50
  DropDownButton.prototype.close = function () {
50
- this.setState({
51
- isOpened: false
52
- });
51
+ var _this = this;
52
+ this.timer = setTimeout(function () {
53
+ _this.setState({
54
+ isOpened: false
55
+ });
56
+ }, 200);
57
+ };
58
+ DropDownButton.prototype.keepOpen = function () {
59
+ if (this.timer) {
60
+ clearTimeout(this.timer);
61
+ }
53
62
  };
54
63
  DropDownButton.prototype.renderButton = function (button, index) {
55
64
  var _a;
@@ -82,7 +91,7 @@ var DropDownButton = /** @class */ (function (_super) {
82
91
  var _a;
83
92
  var _b = this.props, render = _b.render, buttons = _b.buttons, data = _b.data, popOverContainer = _b.popOverContainer, cx = _b.classnames, ns = _b.classPrefix, children = _b.children, align = _b.align, closeOnClick = _b.closeOnClick, closeOnOutside = _b.closeOnOutside, menuClassName = _b.menuClassName;
84
93
  var body = (react_1.default.createElement(RootClose_1.RootClose, { disabled: !this.state.isOpened, onRootClose: closeOnOutside !== false ? this.close : helper_1.noop }, function (ref) {
85
- return (react_1.default.createElement("ul", { className: cx('DropDown-menu-root', 'DropDown-menu', menuClassName), onClick: closeOnClick ? _this.close : helper_1.noop, ref: ref }, children
94
+ return (react_1.default.createElement("ul", { className: cx('DropDown-menu-root', 'DropDown-menu', menuClassName), onClick: closeOnClick ? _this.close : helper_1.noop, onMouseEnter: _this.keepOpen, ref: ref }, children
86
95
  ? children
87
96
  : Array.isArray(buttons)
88
97
  ? buttons.map(function (button, index) {
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/DropDownButton.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport Overlay from '../components/Overlay';\nimport PopOver from '../components/PopOver';\nimport TooltipWrapper from '../components/TooltipWrapper';\nimport type {TooltipObject, Trigger} from '../components/TooltipWrapper';\nimport {isDisabled, isVisible, noop} from '../utils/helper';\nimport {filter} from '../utils/tpl';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaClassName, SchemaIcon} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {DividerSchema} from './Divider';\nimport {RootClose} from '../utils/RootClose';\nimport {generateIcon} from '../utils/icon';\n\nimport type {Option} from '../components/Select';\n\nexport type DropdownButton =\n | (ActionSchema & {children?: Array<DropdownButton>})\n | DividerSchema\n | 'divider';\n\n/**\n * 下拉按钮渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/dropdown-button\n */\nexport interface DropdownButtonSchema extends BaseSchema {\n /**\n * 指定为 DropDown Button 类型\n */\n type: 'dropdown-button';\n\n /**\n * 是否独占一行 `display: block`\n */\n block?: boolean;\n\n /**\n * 给 Button 配置 className。\n */\n btnClassName?: SchemaClassName;\n\n /**\n * 按钮集合,支持分组\n */\n buttons?: Array<DropdownButton>;\n\n /**\n * 按钮文字\n */\n label?: string;\n\n /**\n * 按钮级别,样式\n */\n level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link';\n\n /**\n * 按钮提示文字,hover 时显示\n */\n // tooltip?: SchemaTooltip;\n\n /**\n * 点击外部是否关闭\n */\n closeOnOutside?: boolean;\n\n /**\n * 点击内容是否关闭\n */\n closeOnClick?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 对齐方式\n */\n align?: 'left' | 'right';\n\n /**\n * 是否只显示图标。\n */\n iconOnly?: boolean;\n\n /**\n * 右侧图标\n */\n rightIcon?: SchemaIcon;\n\n /**\n * 触发条件,默认是 click\n */\n trigger?: 'click' | 'hover';\n\n /**\n * 是否显示下拉按钮\n */\n hideCaret?: boolean;\n\n /**\n * 菜单 CSS 样式\n */\n menuClassName?: string;\n}\n\nexport interface DropDownButtonProps\n extends RendererProps,\n Omit<DropdownButtonSchema, 'type' | 'className'> {\n disabledTip?: string | TooltipObject;\n /**\n * 按钮提示文字,hover focus 时显示\n */\n tooltip?: string | TooltipObject;\n placement?: 'top' | 'right' | 'bottom' | 'left';\n tooltipContainer?: any;\n tooltipTrigger?: Trigger | Array<Trigger>;\n tooltipRootClose?: boolean;\n defaultIsOpened?: boolean;\n label?: any;\n // 激活状态\n isActived?: boolean;\n menuClassName?: string;\n}\n\nexport interface DropDownButtonState {\n isOpened: boolean;\n}\n\nexport default class DropDownButton extends React.Component<\n DropDownButtonProps,\n DropDownButtonState\n> {\n state: DropDownButtonState = {\n isOpened: false\n };\n\n static defaultProps: Pick<\n DropDownButtonProps,\n 'placement' | 'tooltipTrigger' | 'tooltipRootClose'\n > = {\n placement: 'top',\n tooltipTrigger: ['hover', 'focus'],\n tooltipRootClose: false\n };\n\n target: any;\n constructor(props: DropDownButtonProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.toogle = this.toogle.bind(this);\n this.domRef = this.domRef.bind(this);\n }\n\n componentDidMount() {\n if (this.props.defaultIsOpened) {\n this.setState({\n isOpened: true\n });\n }\n }\n\n domRef(ref: any) {\n this.target = ref;\n }\n\n toogle(e: React.MouseEvent<any>) {\n e.preventDefault();\n\n this.setState({\n isOpened: !this.state.isOpened\n });\n }\n\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n renderButton(\n button: DropdownButton,\n index: number | string\n ): React.ReactNode {\n const {render, classnames: cx, data} = this.props;\n index = typeof index === 'number' ? index.toString() : index;\n\n if (typeof button !== 'string' && Array.isArray(button?.children)) {\n return (\n <div key={index} className={cx('DropDown-menu')}>\n <li key={`${index}/0`} className={cx('DropDown-groupTitle')}>\n {button.icon ? generateIcon(cx, button.icon, 'm-r-xs') : null}\n <span>{button.label}</span>\n </li>\n {button.children.map((child, childIndex) =>\n this.renderButton(child, `${index}/${childIndex + 1}`)\n )}\n </div>\n );\n }\n\n if (typeof button !== 'string' && !isVisible(button, data)) {\n return null;\n } else if (button === 'divider' || button.type === 'divider') {\n return <li key={index} className={cx('DropDown-divider')} />;\n } else {\n return (\n <li\n key={index}\n className={cx('DropDown-button', {\n ['is-disabled']: isDisabled(button, data)\n })}\n >\n {render(`button/${index}`, {\n type: 'button',\n ...(button as any),\n isMenuItem: true\n })}\n </li>\n );\n }\n }\n\n renderOuter() {\n const {\n render,\n buttons,\n data,\n popOverContainer,\n classnames: cx,\n classPrefix: ns,\n children,\n align,\n closeOnClick,\n closeOnOutside,\n menuClassName\n } = this.props;\n\n let body = (\n <RootClose\n disabled={!this.state.isOpened}\n onRootClose={closeOnOutside !== false ? this.close : noop}\n >\n {(ref: any) => {\n return (\n <ul\n className={cx(\n 'DropDown-menu-root',\n 'DropDown-menu',\n menuClassName\n )}\n onClick={closeOnClick ? this.close : noop}\n ref={ref}\n >\n {children\n ? children\n : Array.isArray(buttons)\n ? buttons.map((button, index) =>\n this.renderButton(button, index)\n )\n : null}\n </ul>\n );\n }}\n </RootClose>\n );\n\n if (popOverContainer) {\n return (\n <Overlay container={popOverContainer} target={() => this.target} show>\n <PopOver\n overlay\n onHide={this.close}\n classPrefix={ns}\n className={cx('DropDown-popover', menuClassName)}\n style={{minWidth: this.target?.offsetWidth}}\n >\n {body}\n </PopOver>\n </Overlay>\n );\n }\n\n return body;\n }\n\n render() {\n const {\n tooltip,\n placement,\n tooltipContainer,\n tooltipTrigger,\n tooltipRootClose,\n disabledTip,\n block,\n disabled,\n btnDisabled,\n btnClassName,\n size,\n label,\n level,\n primary,\n className,\n classnames: cx,\n align,\n iconOnly,\n icon,\n rightIcon,\n isActived,\n trigger,\n data,\n hideCaret\n } = this.props;\n\n const iconElement = generateIcon(cx, icon, 'm-r-xs');\n\n const rightIconElement = generateIcon(cx, rightIcon, 'm-l-xs');\n\n return (\n <div\n className={cx(\n 'DropDown ',\n {\n 'DropDown--block': block,\n 'DropDown--alignRight': align === 'right',\n 'is-opened': this.state.isOpened,\n 'is-actived': isActived\n },\n className\n )}\n onMouseEnter={trigger === 'hover' ? this.open : () => {}}\n onMouseLeave={trigger === 'hover' ? this.close : () => {}}\n ref={this.domRef}\n >\n <TooltipWrapper\n placement={placement}\n tooltip={disabled ? disabledTip : tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n <button\n onClick={this.toogle}\n disabled={disabled || btnDisabled}\n className={cx(\n 'Button',\n btnClassName,\n typeof level === 'undefined'\n ? 'Button--default'\n : level\n ? `Button--${level}`\n : '',\n {\n 'Button--block': block,\n 'Button--primary': primary,\n 'Button--iconOnly': iconOnly\n },\n size ? `Button--${size}` : ''\n )}\n >\n {iconElement}\n {typeof label === 'string' ? filter(label, data) : label}\n {rightIconElement}\n {!hideCaret ? (\n <span className={cx('DropDown-caret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n </button>\n </TooltipWrapper>\n {this.state.isOpened ? this.renderOuter() : null}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'dropdown-button'\n})\nexport class DropDownButtonRenderer extends DropDownButton {}\n"
11
+ "import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport Overlay from '../components/Overlay';\nimport PopOver from '../components/PopOver';\nimport TooltipWrapper from '../components/TooltipWrapper';\nimport type {TooltipObject, Trigger} from '../components/TooltipWrapper';\nimport {isDisabled, isVisible, noop} from '../utils/helper';\nimport {filter} from '../utils/tpl';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaClassName, SchemaIcon} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {DividerSchema} from './Divider';\nimport {RootClose} from '../utils/RootClose';\nimport {generateIcon} from '../utils/icon';\n\nimport type {Option} from '../components/Select';\n\nexport type DropdownButton =\n | (ActionSchema & {children?: Array<DropdownButton>})\n | DividerSchema\n | 'divider';\n\n/**\n * 下拉按钮渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/dropdown-button\n */\nexport interface DropdownButtonSchema extends BaseSchema {\n /**\n * 指定为 DropDown Button 类型\n */\n type: 'dropdown-button';\n\n /**\n * 是否独占一行 `display: block`\n */\n block?: boolean;\n\n /**\n * 给 Button 配置 className。\n */\n btnClassName?: SchemaClassName;\n\n /**\n * 按钮集合,支持分组\n */\n buttons?: Array<DropdownButton>;\n\n /**\n * 按钮文字\n */\n label?: string;\n\n /**\n * 按钮级别,样式\n */\n level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link';\n\n /**\n * 按钮提示文字,hover 时显示\n */\n // tooltip?: SchemaTooltip;\n\n /**\n * 点击外部是否关闭\n */\n closeOnOutside?: boolean;\n\n /**\n * 点击内容是否关闭\n */\n closeOnClick?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 对齐方式\n */\n align?: 'left' | 'right';\n\n /**\n * 是否只显示图标。\n */\n iconOnly?: boolean;\n\n /**\n * 右侧图标\n */\n rightIcon?: SchemaIcon;\n\n /**\n * 触发条件,默认是 click\n */\n trigger?: 'click' | 'hover';\n\n /**\n * 是否显示下拉按钮\n */\n hideCaret?: boolean;\n\n /**\n * 菜单 CSS 样式\n */\n menuClassName?: string;\n}\n\nexport interface DropDownButtonProps\n extends RendererProps,\n Omit<DropdownButtonSchema, 'type' | 'className'> {\n disabledTip?: string | TooltipObject;\n /**\n * 按钮提示文字,hover focus 时显示\n */\n tooltip?: string | TooltipObject;\n placement?: 'top' | 'right' | 'bottom' | 'left';\n tooltipContainer?: any;\n tooltipTrigger?: Trigger | Array<Trigger>;\n tooltipRootClose?: boolean;\n defaultIsOpened?: boolean;\n label?: any;\n // 激活状态\n isActived?: boolean;\n menuClassName?: string;\n}\n\nexport interface DropDownButtonState {\n isOpened: boolean;\n}\n\nexport default class DropDownButton extends React.Component<\n DropDownButtonProps,\n DropDownButtonState\n> {\n state: DropDownButtonState = {\n isOpened: false\n };\n\n static defaultProps: Pick<\n DropDownButtonProps,\n 'placement' | 'tooltipTrigger' | 'tooltipRootClose'\n > = {\n placement: 'top',\n tooltipTrigger: ['hover', 'focus'],\n tooltipRootClose: false\n };\n\n target: any;\n timer: ReturnType<typeof setTimeout>;\n constructor(props: DropDownButtonProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.toogle = this.toogle.bind(this);\n this.keepOpen = this.keepOpen.bind(this);\n this.domRef = this.domRef.bind(this);\n }\n\n componentDidMount() {\n if (this.props.defaultIsOpened) {\n this.setState({\n isOpened: true\n });\n }\n }\n\n domRef(ref: any) {\n this.target = ref;\n }\n\n toogle(e: React.MouseEvent<any>) {\n e.preventDefault();\n\n this.setState({\n isOpened: !this.state.isOpened\n });\n }\n\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.timer = setTimeout(() => {\n this.setState({\n isOpened: false\n });\n }, 200);\n }\n\n keepOpen() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n renderButton(\n button: DropdownButton,\n index: number | string\n ): React.ReactNode {\n const {render, classnames: cx, data} = this.props;\n index = typeof index === 'number' ? index.toString() : index;\n\n if (typeof button !== 'string' && Array.isArray(button?.children)) {\n return (\n <div key={index} className={cx('DropDown-menu')}>\n <li key={`${index}/0`} className={cx('DropDown-groupTitle')}>\n {button.icon ? generateIcon(cx, button.icon, 'm-r-xs') : null}\n <span>{button.label}</span>\n </li>\n {button.children.map((child, childIndex) =>\n this.renderButton(child, `${index}/${childIndex + 1}`)\n )}\n </div>\n );\n }\n\n if (typeof button !== 'string' && !isVisible(button, data)) {\n return null;\n } else if (button === 'divider' || button.type === 'divider') {\n return <li key={index} className={cx('DropDown-divider')} />;\n } else {\n return (\n <li\n key={index}\n className={cx('DropDown-button', {\n ['is-disabled']: isDisabled(button, data)\n })}\n >\n {render(`button/${index}`, {\n type: 'button',\n ...(button as any),\n isMenuItem: true\n })}\n </li>\n );\n }\n }\n\n renderOuter() {\n const {\n render,\n buttons,\n data,\n popOverContainer,\n classnames: cx,\n classPrefix: ns,\n children,\n align,\n closeOnClick,\n closeOnOutside,\n menuClassName\n } = this.props;\n\n let body = (\n <RootClose\n disabled={!this.state.isOpened}\n onRootClose={closeOnOutside !== false ? this.close : noop}\n >\n {(ref: any) => {\n return (\n <ul\n className={cx(\n 'DropDown-menu-root',\n 'DropDown-menu',\n menuClassName\n )}\n onClick={closeOnClick ? this.close : noop}\n onMouseEnter={this.keepOpen}\n ref={ref}\n >\n {children\n ? children\n : Array.isArray(buttons)\n ? buttons.map((button, index) =>\n this.renderButton(button, index)\n )\n : null}\n </ul>\n );\n }}\n </RootClose>\n );\n\n if (popOverContainer) {\n return (\n <Overlay container={popOverContainer} target={() => this.target} show>\n <PopOver\n overlay\n onHide={this.close}\n classPrefix={ns}\n className={cx('DropDown-popover', menuClassName)}\n style={{minWidth: this.target?.offsetWidth}}\n >\n {body}\n </PopOver>\n </Overlay>\n );\n }\n\n return body;\n }\n\n render() {\n const {\n tooltip,\n placement,\n tooltipContainer,\n tooltipTrigger,\n tooltipRootClose,\n disabledTip,\n block,\n disabled,\n btnDisabled,\n btnClassName,\n size,\n label,\n level,\n primary,\n className,\n classnames: cx,\n align,\n iconOnly,\n icon,\n rightIcon,\n isActived,\n trigger,\n data,\n hideCaret\n } = this.props;\n\n const iconElement = generateIcon(cx, icon, 'm-r-xs');\n\n const rightIconElement = generateIcon(cx, rightIcon, 'm-l-xs');\n\n return (\n <div\n className={cx(\n 'DropDown ',\n {\n 'DropDown--block': block,\n 'DropDown--alignRight': align === 'right',\n 'is-opened': this.state.isOpened,\n 'is-actived': isActived\n },\n className\n )}\n onMouseEnter={trigger === 'hover' ? this.open : () => {}}\n onMouseLeave={trigger === 'hover' ? this.close : () => {}}\n ref={this.domRef}\n >\n <TooltipWrapper\n placement={placement}\n tooltip={disabled ? disabledTip : tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n <button\n onClick={this.toogle}\n disabled={disabled || btnDisabled}\n className={cx(\n 'Button',\n btnClassName,\n typeof level === 'undefined'\n ? 'Button--default'\n : level\n ? `Button--${level}`\n : '',\n {\n 'Button--block': block,\n 'Button--primary': primary,\n 'Button--iconOnly': iconOnly\n },\n size ? `Button--${size}` : ''\n )}\n >\n {iconElement}\n {typeof label === 'string' ? filter(label, data) : label}\n {rightIconElement}\n {!hideCaret ? (\n <span className={cx('DropDown-caret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n </button>\n </TooltipWrapper>\n {this.state.isOpened ? this.renderOuter() : null}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'dropdown-button'\n})\nexport class DropDownButtonRenderer extends DropDownButton {}\n"
12
12
  ]
13
13
  }
@@ -14,11 +14,11 @@ export interface CheckboxControlSchema extends FormBaseControl {
14
14
  /**
15
15
  * 勾选值
16
16
  */
17
- trueValue?: any;
17
+ trueValue?: boolean | string | number;
18
18
  /**
19
19
  * 未勾选值
20
20
  */
21
- falseValue?: any;
21
+ falseValue?: boolean | string | number;
22
22
  /**
23
23
  * 选项说明
24
24
  */
@@ -27,6 +27,9 @@ export interface CheckboxControlSchema extends FormBaseControl {
27
27
  * 角标
28
28
  */
29
29
  badge?: BadgeSchema;
30
+ partial?: boolean;
31
+ optionType?: 'default' | 'button';
32
+ checked?: boolean;
30
33
  }
31
34
  export interface CheckboxProps extends FormControlProps, Omit<CheckboxControlSchema, 'type' | 'className' | 'descriptionClassName' | 'inputClassName'> {
32
35
  }
@@ -44,9 +44,9 @@ var CheckboxControl = /** @class */ (function (_super) {
44
44
  };
45
45
  CheckboxControl.prototype.render = function () {
46
46
  var _this = this;
47
- var _a = this.props, className = _a.className, value = _a.value, trueValue = _a.trueValue, falseValue = _a.falseValue, option = _a.option, onChange = _a.onChange, disabled = _a.disabled, render = _a.render, ns = _a.classPrefix;
47
+ var _a = this.props, className = _a.className, value = _a.value, trueValue = _a.trueValue, falseValue = _a.falseValue, option = _a.option, onChange = _a.onChange, disabled = _a.disabled, render = _a.render, partial = _a.partial, optionType = _a.optionType, checked = _a.checked, ns = _a.classPrefix;
48
48
  return (react_1.default.createElement("div", { className: (0, classnames_1.default)("".concat(ns, "CheckboxControl"), className) },
49
- react_1.default.createElement(Checkbox_1.default, { inline: true, value: value || '', trueValue: trueValue, falseValue: falseValue, disabled: disabled, onChange: function (value) { return _this.dispatchChangeEvent(value); } }, option ? render('option', option) : null)));
49
+ react_1.default.createElement(Checkbox_1.default, { inline: true, value: value || '', trueValue: trueValue, falseValue: falseValue, disabled: disabled, onChange: function (value) { return _this.dispatchChangeEvent(value); }, partial: partial, optionType: optionType, checked: checked }, option ? render('option', option) : null)));
50
50
  };
51
51
  CheckboxControl.defaultProps = {
52
52
  trueValue: true,
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Checkbox.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,uEAA4B;AAC5B,oFAAiD;AACjD,gDAA8D;AAC9D,6CAA0D;AAyC1D;IAA6C,gDAG5C;IAHD;;IA+DA,CAAC;IAtDC,kCAAQ,GAAR,UAAS,MAAc,EAAE,IAAY,EAAE,WAAoB;QACnD,IAAA,KAAyB,IAAI,CAAC,KAAK,EAAlC,UAAU,gBAAA,EAAE,QAAQ,cAAc,CAAC;QAC1C,IAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAoB,CAAC;QAEhD,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7C,QAAQ,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC;SAC5B;IACH,CAAC;IAGK,6CAAmB,GAAzB,UAA0B,SAAmB;QAAnB,0BAAA,EAAA,cAAmB;;;;;;wBACrC,KAAkC,IAAI,CAAC,KAAK,EAA3C,aAAa,mBAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,CAAe;wBAC7B,qBAAM,aAAa,CACvC,QAAQ,EACR,IAAA,qBAAY,EAAC,IAAI,EAAE;gCACjB,KAAK,EAAE,SAAS;6BACjB,CAAC,CACH,EAAA;;wBALK,aAAa,GAAG,SAKrB;wBAED,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE;4BAC5B,sBAAO;yBACR;wBAED,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;;;;;KACjC;IAED,gCAAM,GAAN;QAAA,iBA2BC;QA1BO,IAAA,KAUF,IAAI,CAAC,KAAK,EATZ,SAAS,eAAA,EACT,KAAK,WAAA,EACL,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,MAAM,YAAA,EACO,EAAE,iBACH,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,oBAAE,EAAC,UAAG,EAAE,oBAAiB,EAAE,SAAS,CAAC;YACnD,8BAAC,kBAAQ,IACP,MAAM,QACN,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAC,KAAU,IAAK,OAAA,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAA/B,CAA+B,IAExD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAChC,CACP,CACP,CAAC;IACJ,CAAC;IA1DM,4BAAY,GAA2B;QAC5C,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,KAAK;KAClB,CAAC;IAYF;QADC,iBAAQ;;;;8DAeR;IA8BH,sBAAC;CAAA,AA/DD,CAA6C,eAAK,CAAC,SAAS,GA+D3D;kBA/DoB,eAAe;AAuEpC;IAA6C,wDAAe;IAA5D;;IAA8D,CAAC;IAAlD,uBAAuB;QANnC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,aAAa;;QACZ,iBAAS;OACG,uBAAuB,CAA2B;IAAD,8BAAC;CAAA,AAA/D,CAA6C,eAAe,GAAG;AAAlD,0DAAuB",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,uEAA4B;AAC5B,oFAAiD;AACjD,gDAA8D;AAC9D,6CAA0D;AA4C1D;IAA6C,gDAG5C;IAHD;;IAqEA,CAAC;IA5DC,kCAAQ,GAAR,UAAS,MAAc,EAAE,IAAY,EAAE,WAAoB;QACnD,IAAA,KAAyB,IAAI,CAAC,KAAK,EAAlC,UAAU,gBAAA,EAAE,QAAQ,cAAc,CAAC;QAC1C,IAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAoB,CAAC;QAEhD,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7C,QAAQ,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC;SAC5B;IACH,CAAC;IAGK,6CAAmB,GAAzB,UAA0B,SAAmB;QAAnB,0BAAA,EAAA,cAAmB;;;;;;wBACrC,KAAkC,IAAI,CAAC,KAAK,EAA3C,aAAa,mBAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,CAAe;wBAC7B,qBAAM,aAAa,CACvC,QAAQ,EACR,IAAA,qBAAY,EAAC,IAAI,EAAE;gCACjB,KAAK,EAAE,SAAS;6BACjB,CAAC,CACH,EAAA;;wBALK,aAAa,GAAG,SAKrB;wBAED,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE;4BAC5B,sBAAO;yBACR;wBAED,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;;;;;KACjC;IAED,gCAAM,GAAN;QAAA,iBAiCC;QAhCO,IAAA,KAaF,IAAI,CAAC,KAAK,EAZZ,SAAS,eAAA,EACT,KAAK,WAAA,EACL,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,OAAO,aAAA,EACM,EAAE,iBACH,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,oBAAE,EAAC,UAAG,EAAE,oBAAiB,EAAE,SAAS,CAAC;YACnD,8BAAC,kBAAQ,IACP,MAAM,QACN,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAC,KAAU,IAAK,OAAA,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAA/B,CAA+B,EACzD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,IAEf,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAChC,CACP,CACP,CAAC;IACJ,CAAC;IAhEM,4BAAY,GAA2B;QAC5C,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,KAAK;KAClB,CAAC;IAYF;QADC,iBAAQ;;;;8DAeR;IAoCH,sBAAC;CAAA,AArED,CAA6C,eAAK,CAAC,SAAS,GAqE3D;kBArEoB,eAAe;AA6EpC;IAA6C,wDAAe;IAA5D;;IAA8D,CAAC;IAAlD,uBAAuB;QANnC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,aAAa;;QACZ,iBAAS;OACG,uBAAuB,CAA2B;IAAD,8BAAC;CAAA,AAA/D,CAA6C,eAAe,GAAG;AAAlD,0DAAuB",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport Checkbox from '../../components/Checkbox';\nimport {withBadge, BadgeSchema} from '../../components/Badge';\nimport {autobind, createObject} from '../../utils/helper';\nimport {Action} from '../../types';\n\n/**\n * Checkbox 勾选框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/checkbox\n */\nexport interface CheckboxControlSchema extends FormBaseControl {\n /**\n * 指定为多行文本输入框\n */\n type: 'checkbox';\n\n /**\n * 勾选值\n */\n trueValue?: any;\n\n /**\n * 未勾选值\n */\n falseValue?: any;\n\n /**\n * 选项说明\n */\n option?: string;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n}\n\nexport interface CheckboxProps\n extends FormControlProps,\n Omit<\n CheckboxControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class CheckboxControl extends React.Component<\n CheckboxProps,\n any\n> {\n static defaultProps: Partial<CheckboxProps> = {\n trueValue: true,\n falseValue: false\n };\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n onChange(resetValue ?? '');\n }\n }\n\n @autobind\n async dispatchChangeEvent(eventData: any = {}) {\n const {dispatchEvent, data, onChange} = this.props;\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: eventData,\n })\n );\n \n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(eventData);\n }\n\n render() {\n const {\n className,\n value,\n trueValue,\n falseValue,\n option,\n onChange,\n disabled,\n render,\n classPrefix: ns\n } = this.props;\n\n return (\n <div className={cx(`${ns}CheckboxControl`, className)}>\n <Checkbox\n inline\n value={value || ''}\n trueValue={trueValue}\n falseValue={falseValue}\n disabled={disabled}\n onChange={(value: any) => this.dispatchChangeEvent(value)}\n >\n {option ? render('option', option) : null}\n </Checkbox>\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'checkbox',\n sizeMutable: false\n})\n// @ts-ignore\n@withBadge\nexport class CheckboxControlRenderer extends CheckboxControl {}\n"
11
+ "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport Checkbox from '../../components/Checkbox';\nimport {withBadge, BadgeSchema} from '../../components/Badge';\nimport {autobind, createObject} from '../../utils/helper';\nimport {Action} from '../../types';\n\n/**\n * Checkbox 勾选框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/checkbox\n */\nexport interface CheckboxControlSchema extends FormBaseControl {\n /**\n * 指定为多行文本输入框\n */\n type: 'checkbox';\n\n /**\n * 勾选值\n */\n trueValue?: boolean | string | number;\n\n /**\n * 未勾选值\n */\n falseValue?: boolean | string | number;\n\n /**\n * 选项说明\n */\n option?: string;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n partial?: boolean;\n optionType?: 'default' | 'button';\n checked?: boolean;\n}\n\nexport interface CheckboxProps\n extends FormControlProps,\n Omit<\n CheckboxControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class CheckboxControl extends React.Component<\n CheckboxProps,\n any\n> {\n static defaultProps: Partial<CheckboxProps> = {\n trueValue: true,\n falseValue: false\n };\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n onChange(resetValue ?? '');\n }\n }\n\n @autobind\n async dispatchChangeEvent(eventData: any = {}) {\n const {dispatchEvent, data, onChange} = this.props;\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: eventData,\n })\n );\n \n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(eventData);\n }\n\n render() {\n const {\n className,\n value,\n trueValue,\n falseValue,\n option,\n onChange,\n disabled,\n render,\n partial,\n optionType,\n checked,\n classPrefix: ns\n } = this.props;\n\n return (\n <div className={cx(`${ns}CheckboxControl`, className)}>\n <Checkbox\n inline\n value={value || ''}\n trueValue={trueValue}\n falseValue={falseValue}\n disabled={disabled}\n onChange={(value: any) => this.dispatchChangeEvent(value)}\n partial={partial}\n optionType={optionType}\n checked={checked}\n >\n {option ? render('option', option) : null}\n </Checkbox>\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'checkbox',\n sizeMutable: false\n})\n// @ts-ignore\n@withBadge\nexport class CheckboxControlRenderer extends CheckboxControl {}\n"
12
12
  ]
13
13
  }
@@ -18,12 +18,12 @@ export interface CheckboxesControlSchema extends FormOptionsControl {
18
18
  /**
19
19
  * 每行显示多少个
20
20
  */
21
- columnsCount?: number;
21
+ columnsCount?: number | number[];
22
22
  }
23
23
  export interface CheckboxesProps extends OptionsControlProps, Omit<CheckboxesControlSchema, 'options' | 'type' | 'className' | 'descriptionClassName' | 'inputClassName'> {
24
24
  placeholder?: any;
25
25
  itemClassName?: string;
26
- columnsCount?: number;
26
+ columnsCount?: number | number[];
27
27
  labelClassName?: string;
28
28
  onAdd?: () => void;
29
29
  addApi?: Api;
@@ -31,6 +31,7 @@ export interface CheckboxesProps extends OptionsControlProps, Omit<CheckboxesCon
31
31
  createBtnLabel: string;
32
32
  editable?: boolean;
33
33
  removable?: boolean;
34
+ optionType?: 'default' | 'button';
34
35
  }
35
36
  export default class CheckboxesControl extends React.Component<CheckboxesProps, any> {
36
37
  static defaultProps: {
@@ -40,11 +41,15 @@ export default class CheckboxesControl extends React.Component<CheckboxesProps,
40
41
  creatable: boolean;
41
42
  inline: boolean;
42
43
  createBtnLabel: string;
44
+ optionType: string;
43
45
  };
44
46
  reload(): void;
45
47
  handleAddClick(): void;
46
48
  handleEditClick(e: Event, item: any): void;
47
49
  handleDeleteClick(e: Event, item: any): void;
50
+ componentDidMount(): void;
51
+ componentWillMount(): void;
52
+ updateBorderStyle(): void;
48
53
  renderGroup(option: Option, index: number): JSX.Element | null;
49
54
  renderItem(option: Option, index: number): JSX.Element | null;
50
55
  render(): JSX.Element;