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
@@ -0,0 +1,138 @@
1
+ // 代码修改自 https://github.com/dalisc/color-scales-js
2
+ // 主要是将校验功能改成修正而不是报错,比如 min 和 max 相等的时候自动给 max + 1
3
+
4
+ class Color {
5
+ public r: number;
6
+ public g: number;
7
+ public b: number;
8
+ public a: number;
9
+
10
+ constructor(r: number, g: number, b: number, a: number = 1) {
11
+ this.r = r;
12
+ this.g = g;
13
+ this.b = b;
14
+ this.a = a;
15
+ }
16
+
17
+ toRGBString() {
18
+ return `rgb(${Math.floor(this.r * this.a)},${Math.floor(
19
+ this.g * this.a
20
+ )},${Math.floor(this.b * this.a)})`;
21
+ }
22
+
23
+ toRGBAString() {
24
+ return `rgba(${this.r},${this.g},${this.b},${this.a})`;
25
+ }
26
+
27
+ toHexString() {
28
+ return rgbaToHex(this);
29
+ }
30
+ }
31
+
32
+ function hexToColor(hex: string, alpha: number) {
33
+ if (isValid3DigitHexColor(hex)) {
34
+ hex = convertTo6DigitHexColor(hex);
35
+ }
36
+
37
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
38
+ if (result) {
39
+ return new Color(
40
+ parseInt(result[1], 16),
41
+ parseInt(result[2], 16),
42
+ parseInt(result[3], 16),
43
+ alpha
44
+ );
45
+ } else {
46
+ throw new Error(`${hex} is not a valid hex color.`);
47
+ }
48
+ }
49
+
50
+ function isValidHexColor(colorString: string) {
51
+ return (
52
+ isValid3DigitHexColor(colorString) || isValid6DigitHexColor(colorString)
53
+ );
54
+ }
55
+
56
+ function isValid3DigitHexColor(colorString: string) {
57
+ const hexColorRegex = /^#(?:[0-9a-fA-F]{3})$/;
58
+ return colorString.match(hexColorRegex);
59
+ }
60
+
61
+ function isValid6DigitHexColor(colorString: string) {
62
+ const hexColorRegex = /^#(?:[0-9a-fA-F]{6})$/;
63
+ return colorString.match(hexColorRegex);
64
+ }
65
+
66
+ function convertTo6DigitHexColor(threeDigitHex: string) {
67
+ return threeDigitHex
68
+ .substring(1)
69
+ .split('')
70
+ .map(char => {
71
+ return char + char;
72
+ })
73
+ .join('');
74
+ }
75
+
76
+ function componentToHex(c: number) {
77
+ const hex = c.toString(16);
78
+ return hex.length === 1 ? '0' + hex : hex;
79
+ }
80
+
81
+ function rgbaToHex(color: Color) {
82
+ const r = Math.floor(color.r * color.a);
83
+ const g = Math.floor(color.g * color.a);
84
+ const b = Math.floor(color.b * color.a);
85
+ return `#${componentToHex(r)}${componentToHex(g)}${componentToHex(b)}`;
86
+ }
87
+
88
+ export default class ColorScale {
89
+ private min: number;
90
+ private max: number;
91
+ private alpha: number;
92
+ private colorStops: Color[];
93
+
94
+ constructor(
95
+ min: number,
96
+ max: number,
97
+ colorStops: string[],
98
+ alpha: number = 1
99
+ ) {
100
+ this.min = isNaN(min) ? 0 : min;
101
+ this.max = isNaN(max) ? 0 : max;
102
+ if (this.min === this.max) {
103
+ this.max = this.min + 1;
104
+ }
105
+ if (this.max < this.min) {
106
+ [this.max, this.min] = [this.min, this.max];
107
+ }
108
+ if (colorStops.length < 2) {
109
+ colorStops = ['#FFEF9C', '#FF7127'];
110
+ }
111
+ this.alpha = alpha;
112
+ this.colorStops = colorStops.map(colorStop => hexToColor(colorStop, alpha));
113
+ }
114
+
115
+ getColor(value: number) {
116
+ const numOfColorStops = this.colorStops.length;
117
+ if (value < this.min) return this.colorStops[0];
118
+ if (value > this.max) return this.colorStops[numOfColorStops - 1];
119
+
120
+ const range = this.max - this.min;
121
+ let weight = (value - this.min) / range;
122
+ const colorStopIndex = Math.max(
123
+ Math.ceil(weight * (numOfColorStops - 1)),
124
+ 1
125
+ );
126
+
127
+ const minColor = this.colorStops[colorStopIndex - 1];
128
+ const maxColor = this.colorStops[colorStopIndex];
129
+
130
+ weight = weight * (numOfColorStops - 1) - (colorStopIndex - 1);
131
+
132
+ const r = Math.floor(weight * maxColor.r + (1 - weight) * minColor.r);
133
+ const g = Math.floor(weight * maxColor.g + (1 - weight) * minColor.g);
134
+ const b = Math.floor(weight * maxColor.b + (1 - weight) * minColor.b);
135
+
136
+ return new Color(r, g, b, this.alpha);
137
+ }
138
+ }
package/src/utils/api.ts CHANGED
@@ -125,19 +125,25 @@ export function buildApi(
125
125
  undefined,
126
126
  api.convertKeyToPath
127
127
  );
128
- } else if (api.method === 'post' || api.method === 'put') {
128
+ } else if (
129
+ api.method === 'post' ||
130
+ api.method === 'put' ||
131
+ api.method === 'patch'
132
+ ) {
129
133
  api.body = api.data = cloneObject(data);
130
134
  }
131
135
 
132
136
  // get 类请求,把 data 附带到 url 上。
133
137
  if (api.method === 'get' || api.method === 'jsonp') {
134
- if (!~raw.indexOf('$') && !api.data && autoAppend) {
138
+ if (
139
+ !api.data &&
140
+ ((!~raw.indexOf('$') && autoAppend) || api.forceAppendDataToQuery)
141
+ ) {
135
142
  api.query = api.data = data;
136
143
  } else if (
137
144
  api.attachDataToQuery === false &&
138
145
  api.data &&
139
- !~raw.indexOf('$') &&
140
- autoAppend
146
+ ((!~raw.indexOf('$') && autoAppend) || api.forceAppendDataToQuery)
141
147
  ) {
142
148
  const idx = api.url.indexOf('?');
143
149
  if (~idx) {
@@ -168,6 +174,22 @@ export function buildApi(
168
174
  }
169
175
  }
170
176
 
177
+ if (api.graphql) {
178
+ if (api.method === 'get') {
179
+ api.query = api.data = {...api.query, query: api.graphql};
180
+ } else if (
181
+ api.method === 'post' ||
182
+ api.method === 'put' ||
183
+ api.method === 'patch'
184
+ ) {
185
+ api.body = api.data = {
186
+ query: api.graphql,
187
+ operationName: api.operationName,
188
+ variables: cloneObject(api.data)
189
+ };
190
+ }
191
+ }
192
+
171
193
  return api;
172
194
  }
173
195
 
@@ -0,0 +1,57 @@
1
+ /**
2
+ * columnsCount 支持数字和数组两种格式
3
+ */
4
+ import React from 'react';
5
+ import chunk from 'lodash/chunk';
6
+
7
+ export function columnsSplit(
8
+ body: any[],
9
+ cx: any,
10
+ columnsCount?: number | number[]
11
+ ) {
12
+ if (Array.isArray(columnsCount) && columnsCount.length) {
13
+ let bodyIndex = 0;
14
+ const bodyList: JSX.Element[] = [];
15
+ const maxSize = Math.max(Math.round(12 / Math.max(...columnsCount)), 1);
16
+ let cellClassName = `Grid-col--sm${maxSize}`;
17
+ columnsCount.forEach((columnSize, groupIndex) => {
18
+ if (columnSize) {
19
+ bodyList.push(
20
+ <div className={cx('Grid')} key={groupIndex}>
21
+ {Array.from({length: columnSize}).map((_, index) => {
22
+ if (bodyIndex + index < body.length) {
23
+ // 避免溢出
24
+ return (
25
+ <div key={index} className={cx(cellClassName)}>
26
+ {body[bodyIndex + index]}
27
+ </div>
28
+ );
29
+ } else {
30
+ return null;
31
+ }
32
+ })}
33
+ </div>
34
+ );
35
+ bodyIndex = bodyIndex + columnSize;
36
+ }
37
+ });
38
+
39
+ body = bodyList;
40
+ } else if (typeof columnsCount === 'number' && columnsCount > 1) {
41
+ let weight = 12 / (columnsCount as number);
42
+ let cellClassName = `Grid-col--sm${
43
+ weight === Math.round(weight) ? weight : ''
44
+ }`;
45
+ body = chunk(body, columnsCount).map((group, groupIndex) => (
46
+ <div className={cx('Grid')} key={groupIndex}>
47
+ {Array.from({length: columnsCount as number}).map((_, index) => (
48
+ <div key={index} className={cx(cellClassName)}>
49
+ {group[index]}
50
+ </div>
51
+ ))}
52
+ </div>
53
+ ));
54
+ }
55
+
56
+ return body;
57
+ }
@@ -182,6 +182,7 @@ const AMISDebug = observer(({store}: {store: AMISDebugStore}) => {
182
182
  >
183
183
  <div
184
184
  className="AMISDebug-toggle"
185
+ title="open debug"
185
186
  onClick={() => {
186
187
  store.isExpanded = true;
187
188
  }}
@@ -284,24 +285,6 @@ const AMISDebug = observer(({store}: {store: AMISDebugStore}) => {
284
285
  );
285
286
  });
286
287
 
287
- export let enableAMISDebug = false;
288
-
289
- // 开启 debug 有两种方法,一个是设置 enableAMISDebug 全局变量,另一个是通过 amisDebug=1 query
290
- if (
291
- (window as any).enableAMISDebug ||
292
- location.search.indexOf('amisDebug=1') !== -1
293
- ) {
294
- enableAMISDebug = true;
295
- // 页面只有一个
296
- if (!(window as any).amisDebugElement) {
297
- const amisDebugElement = document.createElement('div');
298
- document.body.appendChild(amisDebugElement);
299
- const element = <AMISDebug store={store} />;
300
- render(element, amisDebugElement);
301
- (window as any).amisDebugElement = true;
302
- }
303
- }
304
-
305
288
  /**
306
289
  * 鼠标移动到某个组件的效果
307
290
  */
@@ -365,7 +348,20 @@ autorun(() => {
365
348
  }
366
349
  });
367
350
 
368
- if (enableAMISDebug) {
351
+ // 页面中只能有一个实例
352
+ let isEnabled = false;
353
+
354
+ export function enableDebug() {
355
+ if (isEnabled) {
356
+ return;
357
+ }
358
+ isEnabled = true;
359
+
360
+ const amisDebugElement = document.createElement('div');
361
+ document.body.appendChild(amisDebugElement);
362
+ const element = <AMISDebug store={store} />;
363
+ render(element, amisDebugElement);
364
+
369
365
  document.body.appendChild(amisHoverBox);
370
366
  document.body.appendChild(amisActiveBox);
371
367
  document.addEventListener('mousemove', handleMouseMove);
@@ -378,9 +374,6 @@ interface DebugWrapperProps {
378
374
 
379
375
  export class DebugWrapper extends Component<DebugWrapperProps> {
380
376
  componentDidMount() {
381
- if (!enableAMISDebug) {
382
- return;
383
- }
384
377
  const root = findDOMNode(this) as HTMLElement;
385
378
  if (!root) {
386
379
  return;
@@ -407,7 +400,7 @@ type Category = 'api' | 'event';
407
400
  * @param ext 扩展信息
408
401
  */
409
402
  export function debug(cat: Category, msg: string, ext?: object) {
410
- if (!enableAMISDebug) {
403
+ if (!isEnabled) {
411
404
  return;
412
405
  }
413
406
  const log = {
@@ -426,7 +419,7 @@ export function debug(cat: Category, msg: string, ext?: object) {
426
419
  * @param ext 扩展信息
427
420
  */
428
421
  export function warning(cat: Category, msg: string, ext?: object) {
429
- if (!enableAMISDebug) {
422
+ if (!isEnabled) {
430
423
  return;
431
424
  }
432
425
  store.logs.push({
package/src/utils/dom.tsx CHANGED
@@ -82,7 +82,8 @@ export function calculatePosition(
82
82
  overlayNode: any,
83
83
  target: HTMLElement,
84
84
  container: any,
85
- padding: any = 0
85
+ padding: any = 0,
86
+ customOffset: [number, number] = [0, 0]
86
87
  ) {
87
88
  const childOffset: any =
88
89
  container.tagName === 'BODY'
@@ -215,12 +216,12 @@ export function calculatePosition(
215
216
  `calcOverlayPosition(): No such placement of "${placement}" found.`
216
217
  );
217
218
  }
218
-
219
+ const [offSetX = 0, offSetY = 0] = customOffset;
219
220
  return {
220
- positionLeft: positionLeft / scaleX,
221
- positionTop: positionTop / scaleY,
222
- arrowOffsetLeft: arrowOffsetLeft / scaleX,
223
- arrowOffsetTop: arrowOffsetTop / scaleY,
221
+ positionLeft: (positionLeft + offSetX) / scaleX,
222
+ positionTop: (positionTop + offSetY) / scaleY,
223
+ arrowOffsetLeft: (arrowOffsetLeft + offSetX) / scaleX,
224
+ arrowOffsetTop: (arrowOffsetTop + offSetY) / scaleY,
224
225
  activePlacement
225
226
  };
226
227
  }
@@ -20,7 +20,6 @@ export default function position(
20
20
  ) {
21
21
  let parentOffset = {top: 0, left: 0};
22
22
  let offset;
23
- getComputedStyle;
24
23
  // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
25
24
  // because it is its only offset parent
26
25
  if (getComputedStyle(node).getPropertyValue('position') === 'fixed') {
@@ -0,0 +1,29 @@
1
+ import position from './position';
2
+
3
+ function getScrollParent(element: HTMLElement | null, includeHidden?: boolean) {
4
+ if (!element) {
5
+ return document.body;
6
+ }
7
+
8
+ let style = getComputedStyle(element);
9
+ const excludeStaticParent = style.position === 'absolute';
10
+ const overflowRegex = includeHidden
11
+ ? /(auto|scroll|hidden)/
12
+ : /(auto|scroll)/;
13
+
14
+ if (style.position === 'fixed') return document.body;
15
+ for (let parent = element; (parent = parent.parentElement!); ) {
16
+ style = getComputedStyle(parent);
17
+ if (excludeStaticParent && style.position === 'static') {
18
+ continue;
19
+ }
20
+ if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX))
21
+ return parent;
22
+ }
23
+
24
+ return document.body;
25
+ }
26
+
27
+ export function scrollPosition(dom: HTMLElement) {
28
+ return position(dom, getScrollParent(dom));
29
+ }