amis 1.4.2-beta.6 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/lib/Schema.d.ts +11 -3
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/Alert2.d.ts +26 -21
  4. package/lib/components/Alert2.js +11 -4
  5. package/lib/components/Alert2.js.map +2 -2
  6. package/lib/components/AnchorNav.d.ts +22 -21
  7. package/lib/components/AnchorNav.js +7 -3
  8. package/lib/components/AnchorNav.js.map +2 -2
  9. package/lib/components/ArrayInput.d.ts +84 -84
  10. package/lib/components/AssociatedSelection.d.ts +930 -0
  11. package/lib/components/AssociatedSelection.js +89 -0
  12. package/lib/components/AssociatedSelection.js.map +13 -0
  13. package/lib/components/Badge.js +2 -2
  14. package/lib/components/Badge.js.map +2 -2
  15. package/lib/components/Button.js +1 -1
  16. package/lib/components/Button.js.map +2 -2
  17. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  18. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  19. package/lib/components/ChainedSelection.js.map +13 -0
  20. package/lib/components/Checkbox.d.ts +20 -20
  21. package/lib/components/Collapse.d.ts +51 -23
  22. package/lib/components/Collapse.js +70 -11
  23. package/lib/components/Collapse.js.map +2 -2
  24. package/lib/components/CollapseGroup.d.ts +88 -0
  25. package/lib/components/CollapseGroup.js +81 -0
  26. package/lib/components/CollapseGroup.js.map +13 -0
  27. package/lib/components/ColorPicker.d.ts +89 -85
  28. package/lib/components/ColorPicker.js +17 -4
  29. package/lib/components/ColorPicker.js.map +2 -2
  30. package/lib/components/DatePicker.d.ts +84 -84
  31. package/lib/components/DateRangePicker.d.ts +84 -84
  32. package/lib/components/Drawer.js +2 -2
  33. package/lib/components/Drawer.js.map +2 -2
  34. package/lib/components/Editor.d.ts +84 -84
  35. package/lib/components/GridNav.d.ts +52 -0
  36. package/lib/components/GridNav.js +123 -0
  37. package/lib/components/GridNav.js.map +13 -0
  38. package/lib/components/GroupedSelection.d.ts +907 -0
  39. package/lib/components/GroupedSelection.js +48 -0
  40. package/lib/components/GroupedSelection.js.map +13 -0
  41. package/lib/components/InputBox.d.ts +22 -21
  42. package/lib/components/InputBox.js +10 -2
  43. package/lib/components/InputBox.js.map +2 -2
  44. package/lib/components/Link.d.ts +29 -36
  45. package/lib/components/Link.js +14 -15
  46. package/lib/components/Link.js.map +2 -2
  47. package/lib/components/ListGroup.d.ts +21 -21
  48. package/lib/components/ModalManager.js +1 -1
  49. package/lib/components/ModalManager.js.map +2 -2
  50. package/lib/components/MonthRangePicker.d.ts +84 -84
  51. package/lib/components/NumberInput.d.ts +20 -20
  52. package/lib/components/Overlay.js +5 -0
  53. package/lib/components/Overlay.js.map +2 -2
  54. package/lib/components/PickerColumn.d.ts +514 -0
  55. package/lib/components/PickerColumn.js +279 -0
  56. package/lib/components/PickerColumn.js.map +13 -0
  57. package/lib/components/PickerContainer.d.ts +513 -0
  58. package/lib/components/PickerContainer.js +96 -0
  59. package/lib/components/PickerContainer.js.map +13 -0
  60. package/lib/components/PopOver.d.ts +1 -0
  61. package/lib/components/PopOver.js +12 -1
  62. package/lib/components/PopOver.js.map +2 -2
  63. package/lib/components/Progress.d.ts +85 -0
  64. package/lib/components/Progress.js +81 -0
  65. package/lib/components/Progress.js.map +13 -0
  66. package/lib/components/Radios.d.ts +22 -21
  67. package/lib/components/Radios.js +1 -0
  68. package/lib/components/Radios.js.map +2 -2
  69. package/lib/components/Rating.d.ts +21 -21
  70. package/lib/components/ResultBox.d.ts +84 -84
  71. package/lib/components/ResultBox.js +10 -2
  72. package/lib/components/ResultBox.js.map +2 -2
  73. package/lib/components/SearchBox.d.ts +84 -84
  74. package/lib/components/Select.d.ts +245 -237
  75. package/lib/components/Select.js +25 -4
  76. package/lib/components/Select.js.map +2 -2
  77. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  78. package/lib/components/Selection.js +134 -0
  79. package/lib/components/Selection.js.map +13 -0
  80. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  81. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  82. package/lib/components/TableSelection.js.map +13 -0
  83. package/lib/components/Tabs.d.ts +20 -20
  84. package/lib/components/TabsTransfer.d.ts +84 -84
  85. package/lib/components/TabsTransfer.js +9 -9
  86. package/lib/components/TabsTransfer.js.map +2 -2
  87. package/lib/components/TabsTransferPicker.d.ts +489 -0
  88. package/lib/components/TabsTransferPicker.js +60 -0
  89. package/lib/components/TabsTransferPicker.js.map +13 -0
  90. package/lib/components/Toast.d.ts +90 -87
  91. package/lib/components/Toast.js +15 -5
  92. package/lib/components/Toast.js.map +2 -2
  93. package/lib/components/Transfer.d.ts +908 -274
  94. package/lib/components/Transfer.js +31 -24
  95. package/lib/components/Transfer.js.map +2 -2
  96. package/lib/components/TransferDropDown.d.ts +488 -0
  97. package/lib/components/TransferDropDown.js +59 -0
  98. package/lib/components/TransferDropDown.js.map +13 -0
  99. package/lib/components/TransferPicker.d.ts +493 -0
  100. package/lib/components/TransferPicker.js +60 -0
  101. package/lib/components/TransferPicker.js.map +13 -0
  102. package/lib/components/Tree.d.ts +115 -84
  103. package/lib/components/Tree.js +183 -30
  104. package/lib/components/Tree.js.map +2 -2
  105. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  106. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  107. package/lib/components/TreeSelection.js.map +13 -0
  108. package/lib/components/condition-builder/Field.js +4 -2
  109. package/lib/components/condition-builder/Field.js.map +2 -2
  110. package/lib/components/condition-builder/Func.js +2 -2
  111. package/lib/components/condition-builder/Func.js.map +2 -2
  112. package/lib/components/condition-builder/InputSwitch.js +2 -2
  113. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  114. package/lib/components/condition-builder/Item.js +3 -3
  115. package/lib/components/condition-builder/Item.js.map +2 -2
  116. package/lib/components/icons.js +10 -0
  117. package/lib/components/icons.js.map +2 -2
  118. package/lib/components/index.d.ts +8 -8
  119. package/lib/components/index.js +16 -16
  120. package/lib/components/index.js.map +2 -2
  121. package/lib/envOverwrite.d.ts +1 -1
  122. package/lib/envOverwrite.js +24 -9
  123. package/lib/envOverwrite.js.map +2 -2
  124. package/lib/factory.d.ts +15 -1
  125. package/lib/factory.js +35 -6
  126. package/lib/factory.js.map +2 -2
  127. package/lib/helper.css.map +1 -1
  128. package/lib/hooks/index.d.ts +5 -0
  129. package/lib/hooks/index.js +14 -0
  130. package/lib/hooks/index.js.map +13 -0
  131. package/lib/hooks/use-set-state.d.ts +2 -0
  132. package/lib/hooks/use-set-state.js +15 -0
  133. package/lib/hooks/use-set-state.js.map +13 -0
  134. package/lib/hooks/use-touch.d.ts +16 -0
  135. package/lib/hooks/use-touch.js +73 -0
  136. package/lib/hooks/use-touch.js.map +13 -0
  137. package/lib/hooks/use-update-effect.d.ts +3 -0
  138. package/lib/hooks/use-update-effect.js +17 -0
  139. package/lib/hooks/use-update-effect.js.map +13 -0
  140. package/lib/icons/alert-danger.js +7 -0
  141. package/lib/icons/alert-info.js +7 -0
  142. package/lib/icons/alert-success.js +7 -0
  143. package/lib/icons/alert-warning.js +7 -0
  144. package/lib/icons/download.js +7 -0
  145. package/lib/icons/drag-bar.js +10 -3
  146. package/lib/index.d.ts +5 -0
  147. package/lib/index.js +6 -1
  148. package/lib/index.js.map +2 -2
  149. package/lib/locale/de-DE.js +2 -0
  150. package/lib/locale/de-DE.js.map +2 -2
  151. package/lib/locale/en-US.js +3 -0
  152. package/lib/locale/en-US.js.map +2 -2
  153. package/lib/locale/zh-CN.js +5 -2
  154. package/lib/locale/zh-CN.js.map +2 -2
  155. package/lib/renderers/Action.d.ts +10 -5
  156. package/lib/renderers/Action.js +23 -5
  157. package/lib/renderers/Action.js.map +2 -2
  158. package/lib/renderers/Alert.d.ts +21 -1
  159. package/lib/renderers/Alert.js.map +2 -2
  160. package/lib/renderers/AnchorNav.d.ts +1 -0
  161. package/lib/renderers/AnchorNav.js +2 -2
  162. package/lib/renderers/AnchorNav.js.map +2 -2
  163. package/lib/renderers/Avatar.js +3 -3
  164. package/lib/renderers/Avatar.js.map +2 -2
  165. package/lib/renderers/Breadcrumb.js +1 -1
  166. package/lib/renderers/Breadcrumb.js.map +2 -2
  167. package/lib/renderers/CRUD.d.ts +5 -0
  168. package/lib/renderers/CRUD.js +25 -4
  169. package/lib/renderers/CRUD.js.map +2 -2
  170. package/lib/renderers/Card.d.ts +5 -0
  171. package/lib/renderers/Card.js +34 -23
  172. package/lib/renderers/Card.js.map +2 -2
  173. package/lib/renderers/Collapse.d.ts +25 -20
  174. package/lib/renderers/Collapse.js +10 -72
  175. package/lib/renderers/Collapse.js.map +2 -2
  176. package/lib/renderers/CollapseGroup.d.ts +42 -0
  177. package/lib/renderers/CollapseGroup.js +33 -0
  178. package/lib/renderers/CollapseGroup.js.map +13 -0
  179. package/lib/renderers/Form/ConditionBuilder.js +2 -2
  180. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  181. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  182. package/lib/renderers/Form/Editor.d.ts +3 -2
  183. package/lib/renderers/Form/InputCity.d.ts +84 -84
  184. package/lib/renderers/Form/InputCity.js +7 -6
  185. package/lib/renderers/Form/InputCity.js.map +2 -2
  186. package/lib/renderers/Form/InputColor.d.ts +86 -85
  187. package/lib/renderers/Form/InputColor.js +1 -1
  188. package/lib/renderers/Form/InputColor.js.map +2 -2
  189. package/lib/renderers/Form/InputFile.d.ts +6 -0
  190. package/lib/renderers/Form/InputFile.js +28 -8
  191. package/lib/renderers/Form/InputFile.js.map +2 -2
  192. package/lib/renderers/Form/InputImage.js +11 -4
  193. package/lib/renderers/Form/InputImage.js.map +2 -2
  194. package/lib/renderers/Form/Item.d.ts +1 -1
  195. package/lib/renderers/Form/Item.js +2 -1
  196. package/lib/renderers/Form/Item.js.map +2 -2
  197. package/lib/renderers/Form/Options.js +25 -4
  198. package/lib/renderers/Form/Options.js.map +2 -2
  199. package/lib/renderers/Form/Select.d.ts +42 -4
  200. package/lib/renderers/Form/Select.js +37 -3
  201. package/lib/renderers/Form/Select.js.map +2 -2
  202. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  203. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  204. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  205. package/lib/renderers/Form/Transfer.js +18 -3
  206. package/lib/renderers/Form/Transfer.js.map +2 -2
  207. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  208. package/lib/renderers/Form/TransferPicker.js +43 -0
  209. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  210. package/lib/renderers/Form/TreeSelect.js +2 -2
  211. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  212. package/lib/renderers/Form/index.d.ts +5 -0
  213. package/lib/renderers/Form/index.js +5 -3
  214. package/lib/renderers/Form/index.js.map +2 -2
  215. package/lib/renderers/Form/wrapControl.js +13 -1
  216. package/lib/renderers/Form/wrapControl.js.map +2 -2
  217. package/lib/renderers/GridNav.d.ts +99 -0
  218. package/lib/renderers/GridNav.js +82 -0
  219. package/lib/renderers/GridNav.js.map +13 -0
  220. package/lib/renderers/IFrame.js +1 -3
  221. package/lib/renderers/IFrame.js.map +2 -2
  222. package/lib/renderers/Image.js +7 -5
  223. package/lib/renderers/Image.js.map +2 -2
  224. package/lib/renderers/Json.d.ts +4 -0
  225. package/lib/renderers/Json.js +4 -13
  226. package/lib/renderers/Json.js.map +2 -2
  227. package/lib/renderers/Link.d.ts +4 -2
  228. package/lib/renderers/Link.js +15 -8
  229. package/lib/renderers/Link.js.map +2 -2
  230. package/lib/renderers/List.js +1 -1
  231. package/lib/renderers/List.js.map +2 -2
  232. package/lib/renderers/Nav.d.ts +21 -21
  233. package/lib/renderers/Nav.js +37 -19
  234. package/lib/renderers/Nav.js.map +2 -2
  235. package/lib/renderers/Page.d.ts +18 -0
  236. package/lib/renderers/Page.js +53 -9
  237. package/lib/renderers/Page.js.map +2 -2
  238. package/lib/renderers/Portlet.d.ts +125 -0
  239. package/lib/renderers/Portlet.js +156 -0
  240. package/lib/renderers/Portlet.js.map +13 -0
  241. package/lib/renderers/Progress.d.ts +23 -3
  242. package/lib/renderers/Progress.js +15 -19
  243. package/lib/renderers/Progress.js.map +2 -2
  244. package/lib/renderers/Property.js +1 -1
  245. package/lib/renderers/Property.js.map +2 -2
  246. package/lib/renderers/Table/ColumnToggler.js +1 -1
  247. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  248. package/lib/renderers/Table/TableContent.d.ts +4 -1
  249. package/lib/renderers/Table/TableContent.js +21 -1
  250. package/lib/renderers/Table/TableContent.js.map +2 -2
  251. package/lib/renderers/Table/index.d.ts +5 -1
  252. package/lib/renderers/Table/index.js +65 -30
  253. package/lib/renderers/Table/index.js.map +2 -2
  254. package/lib/renderers/Tabs.js +9 -1
  255. package/lib/renderers/Tabs.js.map +2 -2
  256. package/lib/renderers/WebComponent.js +1 -1
  257. package/lib/renderers/WebComponent.js.map +2 -2
  258. package/lib/store/combo.d.ts +2 -2
  259. package/lib/store/form.d.ts +1 -1
  260. package/lib/store/form.js +3 -5
  261. package/lib/store/form.js.map +2 -2
  262. package/lib/store/formItem.js +44 -4
  263. package/lib/store/formItem.js.map +2 -2
  264. package/lib/store/table.d.ts +3 -2
  265. package/lib/store/table.js +35 -12
  266. package/lib/store/table.js.map +2 -2
  267. package/lib/themes/ang-ie11.css +934 -222
  268. package/lib/themes/ang.css +934 -222
  269. package/lib/themes/ang.css.map +1 -1
  270. package/lib/themes/antd-ie11.css +934 -222
  271. package/lib/themes/antd.css +934 -222
  272. package/lib/themes/antd.css.map +1 -1
  273. package/lib/themes/cxd-ie11.css +970 -260
  274. package/lib/themes/cxd.css +970 -260
  275. package/lib/themes/cxd.css.map +1 -1
  276. package/lib/themes/dark-ie11.css +934 -222
  277. package/lib/themes/dark.css +934 -222
  278. package/lib/themes/dark.css.map +1 -1
  279. package/lib/themes/default.css +970 -260
  280. package/lib/themes/default.css.map +1 -1
  281. package/lib/types.d.ts +38 -1
  282. package/lib/types.js +0 -5
  283. package/lib/types.js.map +2 -2
  284. package/lib/utils/api.d.ts +3 -2
  285. package/lib/utils/api.js +90 -17
  286. package/lib/utils/api.js.map +2 -2
  287. package/lib/utils/dom.d.ts +4 -0
  288. package/lib/utils/dom.js +11 -1
  289. package/lib/utils/dom.js.map +2 -2
  290. package/lib/utils/helper.d.ts +12 -23
  291. package/lib/utils/helper.js +62 -166
  292. package/lib/utils/helper.js.map +2 -2
  293. package/lib/utils/tpl-builtin.d.ts +2 -20
  294. package/lib/utils/tpl-builtin.js +25 -743
  295. package/lib/utils/tpl-builtin.js.map +2 -2
  296. package/lib/utils/tpl.js +24 -0
  297. package/lib/utils/tpl.js.map +2 -2
  298. package/package.json +5 -2
  299. package/schema.json +3966 -1263
  300. package/scss/_mixins.scss +1 -3
  301. package/scss/_properties.scss +42 -13
  302. package/scss/base/_common.scss +3 -0
  303. package/scss/base/_normalize.scss +2 -0
  304. package/scss/components/_alert.scss +28 -5
  305. package/scss/components/_anchor-nav.scss +89 -29
  306. package/scss/components/_button.scss +12 -0
  307. package/scss/components/_card.scss +9 -15
  308. package/scss/components/_collapse-group.scss +15 -0
  309. package/scss/components/_collapse.scss +48 -23
  310. package/scss/components/_grid-nav.scss +128 -0
  311. package/scss/components/_images.scss +1 -0
  312. package/scss/components/_input-box.scss +1 -0
  313. package/scss/components/_nav.scss +2 -7
  314. package/scss/components/_page.scss +35 -2
  315. package/scss/components/_picker-columns.scss +124 -0
  316. package/scss/components/_popover.scss +13 -0
  317. package/scss/components/_portlet.scss +51 -0
  318. package/scss/components/_progress.scss +141 -33
  319. package/scss/components/_result-box.scss +1 -0
  320. package/scss/components/_spinner.scss +5 -4
  321. package/scss/components/_status.scss +1 -1
  322. package/scss/components/_table.scss +32 -0
  323. package/scss/components/_toast.scss +41 -11
  324. package/scss/components/form/_checks.scss +0 -351
  325. package/scss/components/form/_color.scss +32 -3
  326. package/scss/components/form/_combo.scss +4 -0
  327. package/scss/components/form/_fieldset.scss +6 -1
  328. package/scss/components/form/_file.scss +11 -0
  329. package/scss/components/form/_form.scss +48 -0
  330. package/scss/components/form/_selection.scss +354 -0
  331. package/scss/components/form/_transfer.scss +76 -18
  332. package/scss/components/form/_tree.scss +42 -0
  333. package/scss/themes/_common.scss +6 -0
  334. package/scss/themes/_cxd-variables.scss +13 -6
  335. package/scss/themes/cxd.scss +19 -20
  336. package/sdk/ang-ie11.css +1065 -246
  337. package/sdk/ang.css +1069 -230
  338. package/sdk/antd-ie11.css +1068 -249
  339. package/sdk/antd.css +1069 -230
  340. package/sdk/charts.js +17 -17
  341. package/sdk/color-picker.js +65 -69
  342. package/sdk/cropperjs.js +3 -3
  343. package/sdk/cxd-ie11.css +1081 -268
  344. package/sdk/cxd.css +1116 -279
  345. package/sdk/dark-ie11.css +1069 -250
  346. package/sdk/dark.css +1069 -230
  347. package/sdk/exceljs.js +1 -1
  348. package/sdk/helper.css.map +1 -1
  349. package/sdk/iconfont.svg +2513 -0
  350. package/sdk/iconfont.ttf +0 -0
  351. package/sdk/iconfont.woff +0 -0
  352. package/sdk/locale/de-DE.js +2 -0
  353. package/sdk/markdown.js +69 -69
  354. package/sdk/papaparse.js +1 -1
  355. package/sdk/renderers/Form/CityDB.js +1 -1
  356. package/sdk/rest.js +20 -28
  357. package/sdk/rich-text.js +62 -62
  358. package/sdk/sdk-ie11.css +1081 -268
  359. package/sdk/sdk.css +1116 -279
  360. package/sdk/sdk.js +1371 -1189
  361. package/sdk/thirds/hls.js/hls.js +18 -18
  362. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  363. package/sdk/tinymce.js +57 -57
  364. package/src/Schema.ts +19 -1
  365. package/src/components/Alert2.tsx +32 -4
  366. package/src/components/AnchorNav.tsx +15 -4
  367. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
  368. package/src/components/Badge.tsx +3 -3
  369. package/src/components/Button.tsx +1 -0
  370. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  371. package/src/components/Collapse.tsx +139 -20
  372. package/src/components/CollapseGroup.tsx +130 -0
  373. package/src/components/ColorPicker.tsx +32 -10
  374. package/src/components/Drawer.tsx +8 -6
  375. package/src/components/GridNav.tsx +233 -0
  376. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  377. package/src/components/InputBox.tsx +10 -9
  378. package/src/components/Link.tsx +28 -37
  379. package/src/components/ModalManager.ts +1 -1
  380. package/src/components/Overlay.tsx +6 -0
  381. package/src/components/PickerColumn.tsx +429 -0
  382. package/src/components/PickerContainer.tsx +128 -0
  383. package/src/components/PopOver.tsx +15 -1
  384. package/src/components/Progress.tsx +140 -0
  385. package/src/components/Radios.tsx +3 -8
  386. package/src/components/ResultBox.tsx +9 -9
  387. package/src/components/Select.tsx +57 -5
  388. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  389. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  390. package/src/components/TabsTransfer.tsx +13 -7
  391. package/src/components/TabsTransferPicker.tsx +85 -0
  392. package/src/components/Toast.tsx +48 -21
  393. package/src/components/Transfer.tsx +71 -50
  394. package/src/components/TransferDropDown.tsx +120 -0
  395. package/src/components/TransferPicker.tsx +91 -0
  396. package/src/components/Tree.tsx +194 -8
  397. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  398. package/src/components/condition-builder/Field.tsx +7 -5
  399. package/src/components/condition-builder/Func.tsx +3 -3
  400. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  401. package/src/components/condition-builder/Item.tsx +5 -12
  402. package/src/components/icons.tsx +10 -0
  403. package/src/components/index.tsx +13 -13
  404. package/src/envOverwrite.ts +20 -8
  405. package/src/factory.tsx +70 -9
  406. package/src/hooks/index.ts +5 -0
  407. package/src/hooks/use-set-state.ts +19 -0
  408. package/src/hooks/use-touch.ts +100 -0
  409. package/src/hooks/use-update-effect.ts +16 -0
  410. package/src/icons/alert-danger.svg +1 -0
  411. package/src/icons/alert-info.svg +1 -0
  412. package/src/icons/alert-success.svg +1 -0
  413. package/src/icons/alert-warning.svg +1 -0
  414. package/src/icons/download.svg +4 -0
  415. package/src/icons/drag-bar.svg +12 -6
  416. package/src/index.tsx +5 -0
  417. package/src/locale/de-DE.ts +2 -0
  418. package/src/locale/en-US.ts +3 -0
  419. package/src/locale/zh-CN.ts +5 -2
  420. package/src/renderers/Action.tsx +58 -3
  421. package/src/renderers/Alert.tsx +31 -1
  422. package/src/renderers/AnchorNav.tsx +4 -0
  423. package/src/renderers/Avatar.tsx +8 -4
  424. package/src/renderers/Breadcrumb.tsx +5 -1
  425. package/src/renderers/CRUD.tsx +29 -3
  426. package/src/renderers/Card.tsx +76 -36
  427. package/src/renderers/Collapse.tsx +70 -115
  428. package/src/renderers/CollapseGroup.tsx +80 -0
  429. package/src/renderers/Form/ConditionBuilder.tsx +2 -2
  430. package/src/renderers/Form/InputCity.tsx +4 -8
  431. package/src/renderers/Form/InputColor.tsx +4 -2
  432. package/src/renderers/Form/InputFile.tsx +65 -24
  433. package/src/renderers/Form/InputImage.tsx +11 -3
  434. package/src/renderers/Form/Item.tsx +3 -2
  435. package/src/renderers/Form/Options.tsx +29 -3
  436. package/src/renderers/Form/Select.tsx +162 -21
  437. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  438. package/src/renderers/Form/Transfer.tsx +19 -4
  439. package/src/renderers/Form/TransferPicker.tsx +145 -0
  440. package/src/renderers/Form/TreeSelect.tsx +25 -0
  441. package/src/renderers/Form/index.tsx +15 -2
  442. package/src/renderers/Form/wrapControl.tsx +26 -1
  443. package/src/renderers/GridNav.tsx +204 -0
  444. package/src/renderers/IFrame.tsx +2 -4
  445. package/src/renderers/Image.tsx +19 -15
  446. package/src/renderers/Json.tsx +9 -9
  447. package/src/renderers/Link.tsx +29 -16
  448. package/src/renderers/List.tsx +1 -1
  449. package/src/renderers/Nav.tsx +105 -56
  450. package/src/renderers/Page.tsx +62 -1
  451. package/src/renderers/Portlet.tsx +423 -0
  452. package/src/renderers/Progress.tsx +56 -38
  453. package/src/renderers/Property.tsx +6 -4
  454. package/src/renderers/Table/ColumnToggler.tsx +1 -1
  455. package/src/renderers/Table/TableContent.tsx +40 -2
  456. package/src/renderers/Table/index.tsx +88 -43
  457. package/src/renderers/Tabs.tsx +9 -1
  458. package/src/renderers/WebComponent.tsx +2 -2
  459. package/src/store/form.ts +3 -9
  460. package/src/store/formItem.ts +94 -2
  461. package/src/store/table.ts +55 -14
  462. package/src/types.ts +58 -1
  463. package/src/utils/api.ts +120 -26
  464. package/src/utils/dom.tsx +12 -0
  465. package/src/utils/helper.ts +55 -185
  466. package/src/utils/tpl-builtin.ts +40 -866
  467. package/src/utils/tpl.ts +33 -0
  468. package/tsconfig-for-declaration.json +1 -1
  469. package/dump.rdb +0 -0
  470. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  471. package/lib/components/AssociatedCheckboxes.js +0 -90
  472. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  473. package/lib/components/ChainedCheckboxes.js.map +0 -13
  474. package/lib/components/Checkboxes.js +0 -101
  475. package/lib/components/Checkboxes.js.map +0 -13
  476. package/lib/components/ListCheckboxes.d.ts +0 -739
  477. package/lib/components/ListCheckboxes.js +0 -48
  478. package/lib/components/ListCheckboxes.js.map +0 -13
  479. package/lib/components/ListRadios.d.ts +0 -763
  480. package/lib/components/ListRadios.js +0 -86
  481. package/lib/components/ListRadios.js.map +0 -13
  482. package/lib/components/TableCheckboxes.js.map +0 -13
  483. package/lib/components/TreeCheckboxes.js.map +0 -13
  484. package/lib/components/TreeRadios.d.ts +0 -838
  485. package/lib/components/TreeRadios.js +0 -116
  486. package/lib/components/TreeRadios.js.map +0 -13
  487. package/src/components/ListRadios.tsx +0 -159
  488. package/src/components/TreeRadios.tsx +0 -202
@@ -17,7 +17,13 @@ import {
17
17
  import {ScopedContext, IScopedContext} from '../Scoped';
18
18
  import {themeable, ThemeProps} from '../theme';
19
19
  import {Icon} from '../components/icons';
20
- import {BaseSchema, SchemaApi, SchemaIcon, SchemaUrlPath, SchemaCollection} from '../Schema';
20
+ import {
21
+ BaseSchema,
22
+ SchemaApi,
23
+ SchemaIcon,
24
+ SchemaUrlPath,
25
+ SchemaCollection
26
+ } from '../Schema';
21
27
  import {generateIcon} from '../utils/icon';
22
28
  import {
23
29
  RemoteOptionsProps,
@@ -90,27 +96,27 @@ export interface NavSchema extends BaseSchema {
90
96
  /**
91
97
  * 更多操作菜单列表
92
98
  */
93
- itemActions?: SchemaCollection;
99
+ itemActions?: SchemaCollection;
94
100
 
95
101
  /**
96
102
  * 可拖拽
97
103
  */
98
- draggable?: boolean;
104
+ draggable?: boolean;
99
105
 
100
- /**
101
- * 保存排序的 api
102
- */
106
+ /**
107
+ * 保存排序的 api
108
+ */
103
109
  saveOrderApi?: SchemaApi;
104
110
 
105
111
  /**
106
112
  * 角标
107
113
  */
108
- itemBadge?: BadgeSchema;
114
+ itemBadge?: BadgeSchema;
109
115
 
110
116
  /**
111
117
  * 仅允许同层级拖拽
112
118
  */
113
- dragOnSameLevel?: boolean;
119
+ dragOnSameLevel?: boolean;
114
120
  }
115
121
 
116
122
  export interface Link {
@@ -191,7 +197,19 @@ export class Navigation extends React.Component<
191
197
 
192
198
  @autobind
193
199
  handleClick(link: Link) {
194
- this.props.onSelect?.(link);
200
+ const {env, onSelect} = this.props;
201
+ // 和 action 里命名一致方便分析
202
+ if (link && link.to) {
203
+ env?.tracker({
204
+ eventType: 'link',
205
+ eventData: {
206
+ label: link.label,
207
+ link: link.to
208
+ }
209
+ });
210
+ }
211
+
212
+ onSelect?.(link);
195
213
  }
196
214
 
197
215
  @autobind
@@ -207,14 +225,18 @@ export class Navigation extends React.Component<
207
225
  const {top, height, width} = rect;
208
226
  let {clientY, clientX} = e;
209
227
  const left = depth * (parseInt(indentSize as any, 10) ?? 24);
210
- const deltaX = left + width * .2;
228
+ const deltaX = left + width * 0.2;
211
229
  let position;
212
- if (clientY >= top + height / 2 ) {
230
+ if (clientY >= top + height / 2) {
213
231
  position = 'bottom';
214
232
  } else {
215
233
  position = 'top';
216
234
  }
217
- if (!dragOnSameLevel && position === 'bottom' && clientX >= this.startPoint.x + deltaX) {
235
+ if (
236
+ !dragOnSameLevel &&
237
+ position === 'bottom' &&
238
+ clientX >= this.startPoint.x + deltaX
239
+ ) {
218
240
  position = 'self';
219
241
  }
220
242
  return {
@@ -232,8 +254,9 @@ export class Navigation extends React.Component<
232
254
  const target = e.target as HTMLElement; // a标签
233
255
  const targetId = target.getAttribute('data-id') as string;
234
256
  const targetDepth = Number(target.getAttribute('data-depth'));
235
- if (dragOnSameLevel
236
- && this.dragNode?.node.parentElement !== target.parentElement?.parentElement
257
+ if (
258
+ dragOnSameLevel &&
259
+ this.dragNode?.node.parentElement !== target.parentElement?.parentElement
237
260
  ) {
238
261
  this.setState({dropIndicator: undefined});
239
262
  this.dropInfo = null;
@@ -254,13 +277,15 @@ export class Navigation extends React.Component<
254
277
  left,
255
278
  width: ul.getBoundingClientRect().width - left,
256
279
  height,
257
- opacity: .2
280
+ opacity: 0.2
258
281
  }
259
282
  });
260
283
  } else {
261
284
  this.setState({
262
285
  dropIndicator: {
263
- top: (position === 'bottom' ? rect.top + rect.height : rect.top) - ul.getBoundingClientRect().top,
286
+ top:
287
+ (position === 'bottom' ? rect.top + rect.height : rect.top) -
288
+ ul.getBoundingClientRect().top,
264
289
  left,
265
290
  width: ul.getBoundingClientRect().width - left
266
291
  }
@@ -356,21 +381,31 @@ export class Navigation extends React.Component<
356
381
  })}
357
382
  onDragStart={this.handleDragStart(link)}
358
383
  >
359
- <Badge classnames={cx} badge={itemBadge} data={createObject(defaultData, link)}>
384
+ <Badge
385
+ classnames={cx}
386
+ badge={itemBadge}
387
+ data={createObject(defaultData, link)}
388
+ >
360
389
  <a
361
390
  data-id={link.__id}
362
391
  data-depth={depth}
363
392
  onClick={this.handleClick.bind(this, link)}
364
- style={{paddingLeft: depth * (parseInt(indentSize as any, 10) ?? 24)}}
393
+ style={{
394
+ paddingLeft: depth * (parseInt(indentSize as any, 10) ?? 24)
395
+ }}
365
396
  >
366
397
  {!disabled && draggable ? (
367
- <div className={cx('Nav-itemDrager')}
368
- draggable
369
- onMouseDown={e => {this.toggleLink(link, true); e.stopPropagation()}}
370
- >
371
- <Icon icon="drag-bar" className="icon" />
372
- </div>
373
- ) : null}
398
+ <div
399
+ className={cx('Nav-itemDrager')}
400
+ draggable
401
+ onMouseDown={e => {
402
+ this.toggleLink(link, true);
403
+ e.stopPropagation();
404
+ }}
405
+ >
406
+ <Icon icon="drag-bar" className="icon" />
407
+ </div>
408
+ ) : null}
374
409
  {link.loading ? (
375
410
  <Spinner
376
411
  size="sm"
@@ -387,20 +422,20 @@ export class Navigation extends React.Component<
387
422
  </span>
388
423
  ) : null}
389
424
  {generateIcon(cx, link.icon, 'Nav-itemIcon')}
390
- {
391
- link.label && (typeof link.label === 'string'
392
- ? link.label
393
- : render('inline', link.label as SchemaCollection))
394
- }
425
+ {link.label &&
426
+ (typeof link.label === 'string'
427
+ ? link.label
428
+ : render('inline', link.label as SchemaCollection))}
395
429
  </a>
396
430
  {
397
431
  // 更多操作
398
- itemActions
399
- ? <div className={cx('Nav-item-atcions')}>
400
- {
401
- render('inline', itemActions, {data: createObject(defaultData, link)})
402
- }
403
- </div> : null
432
+ itemActions ? (
433
+ <div className={cx('Nav-item-atcions')}>
434
+ {render('inline', itemActions, {
435
+ data: createObject(defaultData, link)
436
+ })}
437
+ </div>
438
+ ) : null
404
439
  }
405
440
  {Array.isArray(link.children) && link.children.length ? (
406
441
  <ul className={cx('Nav-subItems')}>
@@ -419,17 +454,22 @@ export class Navigation extends React.Component<
419
454
  const {dropIndicator} = this.state;
420
455
  return (
421
456
  <div className={cx('Nav')}>
422
- <ul className={cx('Nav-list', className, stacked ? 'Nav-list--stacked' : 'Nav-list--tabs')}>
457
+ <ul
458
+ className={cx(
459
+ 'Nav-list',
460
+ className,
461
+ stacked ? 'Nav-list--stacked' : 'Nav-list--tabs'
462
+ )}
463
+ >
423
464
  {Array.isArray(links)
424
465
  ? links.map((item, index) => this.renderItem(item, index))
425
466
  : null}
426
467
 
427
468
  <Spinner show={!!loading} overlay icon="reload" />
428
469
  </ul>
429
- {(dropIndicator
430
- ? <div className={cx('Nav-dropIndicator')} style={dropIndicator} />
431
- : null
432
- )}
470
+ {dropIndicator ? (
471
+ <div className={cx('Nav-dropIndicator')} style={dropIndicator} />
472
+ ) : null}
433
473
  </div>
434
474
  );
435
475
  }
@@ -444,7 +484,7 @@ const ConditionBuilderWithRemoteOptions = withRemoteConfig({
444
484
  : config.links || config.options || config.items || config.rows;
445
485
 
446
486
  if (!Array.isArray(links)) {
447
- throw new Error('payload.data.options is not array.');
487
+ throw new Error('payload.data.options is not array.');
448
488
  }
449
489
 
450
490
  return links;
@@ -586,12 +626,15 @@ const ConditionBuilderWithRemoteOptions = withRemoteConfig({
586
626
  const {nodeId, dragLink, position} = dropInfo;
587
627
  if (dragLink) {
588
628
  // 删除原节点
589
- const sourceIdx = findTreeIndex(links, link => link.__id === dragLink.__id) as number[];
629
+ const sourceIdx = findTreeIndex(
630
+ links,
631
+ link => link.__id === dragLink.__id
632
+ ) as number[];
590
633
  links = spliceTree(links, sourceIdx, 1);
591
634
 
592
635
  if (position === 'self') {
593
636
  // 插入到对应节点的children中
594
- mapTree(links, (link) => {
637
+ mapTree(links, link => {
595
638
  if (link.__id === nodeId) {
596
639
  if (!link.children) {
597
640
  link.children = [];
@@ -599,33 +642,39 @@ const ConditionBuilderWithRemoteOptions = withRemoteConfig({
599
642
  link.children.push(dragLink);
600
643
  }
601
644
  return link;
602
- })
645
+ });
603
646
  } else {
604
647
  // 找到需要插入的节点
605
- const idx = findTreeIndex(links, link => link.__id === nodeId) as number[];
648
+ const idx = findTreeIndex(
649
+ links,
650
+ link => link.__id === nodeId
651
+ ) as number[];
606
652
  // 插入节点之后
607
653
  if (position === 'bottom') {
608
- idx.push(idx.pop() as number + 1);
654
+ idx.push((idx.pop() as number) + 1);
609
655
  }
610
656
  links = spliceTree(links, idx, 0, dragLink);
611
657
  }
612
658
  }
613
659
  this.props.updateConfig(links, 'update');
614
- await this.saveOrder(mapTree(links, (link: Link) => {
615
- // 清除内部加的字段
616
- for (let key in link) {
617
- if (/^__.*$/.test(key)) {
618
- delete link[key];
660
+ await this.saveOrder(
661
+ mapTree(links, (link: Link) => {
662
+ // 清除内部加的字段
663
+ for (let key in link) {
664
+ if (/^__.*$/.test(key)) {
665
+ delete link[key];
666
+ }
619
667
  }
620
- }
621
- return link;
622
- }));
668
+ return link;
669
+ })
670
+ );
623
671
  }
624
672
 
625
673
  async saveOrder(links: Links) {
626
674
  const {saveOrderApi, env, data, reload} = this.props;
627
675
  if (saveOrderApi && isEffectiveApi(saveOrderApi)) {
628
- await env.fetcher(saveOrderApi as SchemaApi,
676
+ await env.fetcher(
677
+ saveOrderApi as SchemaApi,
629
678
  createObject(data, {data: links}),
630
679
  {method: 'post'}
631
680
  );
@@ -85,6 +85,21 @@ export interface PageSchema extends BaseSchema {
85
85
  */
86
86
  aside?: SchemaCollection;
87
87
 
88
+ /**
89
+ * 边栏是否允许拖动
90
+ */
91
+ asideResizor?: boolean;
92
+
93
+ /**
94
+ * 边栏最小宽度
95
+ */
96
+ asideMinWidth?: number;
97
+
98
+ /**
99
+ * 边栏最小宽度
100
+ */
101
+ asideMaxWidth?: number;
102
+
88
103
  /**
89
104
  * 边栏区 css 类名
90
105
  */
@@ -199,6 +214,9 @@ export default class Page extends React.Component<PageProps> {
199
214
  mounted: boolean;
200
215
  style: HTMLStyleElement;
201
216
  varStyle: HTMLStyleElement;
217
+ startX: number;
218
+ startWidth: number;
219
+ codeWrap: HTMLElement;
202
220
 
203
221
  static defaultProps = {
204
222
  asideClassName: '',
@@ -499,6 +517,37 @@ export default class Page extends React.Component<PageProps> {
499
517
  }
500
518
  }
501
519
 
520
+ @autobind
521
+ handleResizeMouseDown(e: React.MouseEvent) {
522
+ // todo 可能 ie 不正确
523
+ let isRightMB = e.nativeEvent.which == 3;
524
+
525
+ if (isRightMB) {
526
+ return;
527
+ }
528
+
529
+ this.codeWrap = e.currentTarget.parentElement as HTMLElement;
530
+ document.addEventListener('mousemove', this.handleResizeMouseMove);
531
+ document.addEventListener('mouseup', this.handleResizeMouseUp);
532
+ this.startX = e.clientX;
533
+ this.startWidth = this.codeWrap.offsetWidth;
534
+ }
535
+
536
+ @autobind
537
+ handleResizeMouseMove(e: MouseEvent) {
538
+ const {asideMinWidth = 160, asideMaxWidth = 350} = this.props;
539
+ const dx = e.clientX - this.startX;
540
+ const mx = this.startWidth + dx;
541
+ const width = Math.min(Math.max(mx, asideMinWidth), asideMaxWidth);
542
+ this.codeWrap.style.cssText += `width: ${width}px`;
543
+ }
544
+
545
+ @autobind
546
+ handleResizeMouseUp() {
547
+ document.removeEventListener('mousemove', this.handleResizeMouseMove);
548
+ document.removeEventListener('mouseup', this.handleResizeMouseUp);
549
+ }
550
+
502
551
  openFeedback(dialog: any, ctx: any) {
503
552
  return new Promise(resolve => {
504
553
  const {store} = this.props;
@@ -658,6 +707,7 @@ export default class Page extends React.Component<PageProps> {
658
707
  regions,
659
708
  style,
660
709
  data,
710
+ asideResizor,
661
711
  translate: __
662
712
  } = this.props;
663
713
 
@@ -684,7 +734,11 @@ export default class Page extends React.Component<PageProps> {
684
734
  style={styleVar}
685
735
  >
686
736
  {hasAside ? (
687
- <div className={cx(`Page-aside`, asideClassName)}>
737
+ <div className={cx(
738
+ `Page-aside`,
739
+ asideResizor ? 'relative' : 'Page-aside--withWidth',
740
+ asideClassName
741
+ )}>
688
742
  {render('aside', aside || '', {
689
743
  ...subProps,
690
744
  ...(typeof aside === 'string'
@@ -694,6 +748,13 @@ export default class Page extends React.Component<PageProps> {
694
748
  }
695
749
  : null)
696
750
  })}
751
+ {asideResizor ? (
752
+ <div
753
+ onMouseDown={this.handleResizeMouseDown}
754
+ className={cx(`Page-asideResizor`)}
755
+ ></div>
756
+ ) : null}
757
+
697
758
  </div>
698
759
  ) : null}
699
760