amis 1.4.2-beta.1 → 1.4.2-beta.15

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 (449) hide show
  1. package/lib/Schema.d.ts +11 -3
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/AnchorNav.d.ts +22 -21
  4. package/lib/components/AnchorNav.js +7 -3
  5. package/lib/components/AnchorNav.js.map +2 -2
  6. package/lib/components/ArrayInput.d.ts +84 -84
  7. package/lib/components/AssociatedSelection.d.ts +930 -0
  8. package/lib/components/AssociatedSelection.js +89 -0
  9. package/lib/components/AssociatedSelection.js.map +13 -0
  10. package/lib/components/Badge.js +2 -2
  11. package/lib/components/Badge.js.map +2 -2
  12. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  13. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  14. package/lib/components/ChainedSelection.js.map +13 -0
  15. package/lib/components/Checkbox.d.ts +20 -20
  16. package/lib/components/Collapse.d.ts +51 -23
  17. package/lib/components/Collapse.js +69 -11
  18. package/lib/components/Collapse.js.map +2 -2
  19. package/lib/components/CollapseGroup.d.ts +88 -0
  20. package/lib/components/CollapseGroup.js +81 -0
  21. package/lib/components/CollapseGroup.js.map +13 -0
  22. package/lib/components/ColorPicker.d.ts +84 -84
  23. package/lib/components/DatePicker.d.ts +84 -84
  24. package/lib/components/DateRangePicker.d.ts +84 -84
  25. package/lib/components/Editor.d.ts +84 -84
  26. package/lib/components/GridNav.d.ts +52 -0
  27. package/lib/components/GridNav.js +123 -0
  28. package/lib/components/GridNav.js.map +13 -0
  29. package/lib/components/GroupedSelection.d.ts +907 -0
  30. package/lib/components/GroupedSelection.js +48 -0
  31. package/lib/components/GroupedSelection.js.map +13 -0
  32. package/lib/components/InputBox.d.ts +22 -21
  33. package/lib/components/InputBox.js +10 -2
  34. package/lib/components/InputBox.js.map +2 -2
  35. package/lib/components/Link.d.ts +29 -36
  36. package/lib/components/Link.js +14 -15
  37. package/lib/components/Link.js.map +2 -2
  38. package/lib/components/ListGroup.d.ts +21 -21
  39. package/lib/components/ModalManager.js +1 -1
  40. package/lib/components/ModalManager.js.map +2 -2
  41. package/lib/components/MonthRangePicker.d.ts +84 -84
  42. package/lib/components/NumberInput.d.ts +20 -20
  43. package/lib/components/PickerColumn.d.ts +514 -0
  44. package/lib/components/PickerColumn.js +279 -0
  45. package/lib/components/PickerColumn.js.map +13 -0
  46. package/lib/components/PickerContainer.d.ts +513 -0
  47. package/lib/components/PickerContainer.js +96 -0
  48. package/lib/components/PickerContainer.js.map +13 -0
  49. package/lib/components/Radios.d.ts +22 -21
  50. package/lib/components/Radios.js +1 -0
  51. package/lib/components/Radios.js.map +2 -2
  52. package/lib/components/Rating.d.ts +21 -21
  53. package/lib/components/ResultBox.d.ts +84 -84
  54. package/lib/components/ResultBox.js +10 -2
  55. package/lib/components/ResultBox.js.map +2 -2
  56. package/lib/components/SearchBox.d.ts +84 -84
  57. package/lib/components/SearchBox.js +4 -4
  58. package/lib/components/SearchBox.js.map +2 -2
  59. package/lib/components/Select.d.ts +245 -237
  60. package/lib/components/Select.js +25 -4
  61. package/lib/components/Select.js.map +2 -2
  62. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  63. package/lib/components/Selection.js +134 -0
  64. package/lib/components/Selection.js.map +13 -0
  65. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  66. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  67. package/lib/components/TableSelection.js.map +13 -0
  68. package/lib/components/Tabs.d.ts +20 -20
  69. package/lib/components/TabsTransfer.d.ts +84 -84
  70. package/lib/components/TabsTransfer.js +9 -9
  71. package/lib/components/TabsTransfer.js.map +2 -2
  72. package/lib/components/TabsTransferPicker.d.ts +489 -0
  73. package/lib/components/TabsTransferPicker.js +60 -0
  74. package/lib/components/TabsTransferPicker.js.map +13 -0
  75. package/lib/components/Toast.d.ts +86 -85
  76. package/lib/components/Toast.js +6 -3
  77. package/lib/components/Toast.js.map +2 -2
  78. package/lib/components/Transfer.d.ts +908 -274
  79. package/lib/components/Transfer.js +31 -24
  80. package/lib/components/Transfer.js.map +2 -2
  81. package/lib/components/TransferDropDown.d.ts +488 -0
  82. package/lib/components/TransferDropDown.js +59 -0
  83. package/lib/components/TransferDropDown.js.map +13 -0
  84. package/lib/components/TransferPicker.d.ts +493 -0
  85. package/lib/components/TransferPicker.js +60 -0
  86. package/lib/components/TransferPicker.js.map +13 -0
  87. package/lib/components/Tree.d.ts +115 -84
  88. package/lib/components/Tree.js +183 -30
  89. package/lib/components/Tree.js.map +2 -2
  90. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  91. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  92. package/lib/components/TreeSelection.js.map +13 -0
  93. package/lib/components/WithRemoteConfig.js +1 -1
  94. package/lib/components/WithRemoteConfig.js.map +2 -2
  95. package/lib/components/condition-builder/Field.js +5 -2
  96. package/lib/components/condition-builder/Field.js.map +2 -2
  97. package/lib/components/condition-builder/Func.js +2 -2
  98. package/lib/components/condition-builder/Func.js.map +2 -2
  99. package/lib/components/condition-builder/InputSwitch.js +2 -2
  100. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  101. package/lib/components/condition-builder/Item.js +3 -3
  102. package/lib/components/condition-builder/Item.js.map +2 -2
  103. package/lib/components/icons.js +2 -0
  104. package/lib/components/icons.js.map +2 -2
  105. package/lib/components/index.d.ts +8 -8
  106. package/lib/components/index.js +16 -16
  107. package/lib/components/index.js.map +2 -2
  108. package/lib/envOverwrite.d.ts +1 -1
  109. package/lib/envOverwrite.js +24 -9
  110. package/lib/envOverwrite.js.map +2 -2
  111. package/lib/factory.d.ts +15 -1
  112. package/lib/factory.js +35 -6
  113. package/lib/factory.js.map +2 -2
  114. package/lib/helper.css.map +1 -1
  115. package/lib/hooks/index.d.ts +5 -0
  116. package/lib/hooks/index.js +14 -0
  117. package/lib/hooks/index.js.map +13 -0
  118. package/lib/hooks/use-set-state.d.ts +2 -0
  119. package/lib/hooks/use-set-state.js +15 -0
  120. package/lib/hooks/use-set-state.js.map +13 -0
  121. package/lib/hooks/use-touch.d.ts +16 -0
  122. package/lib/hooks/use-touch.js +73 -0
  123. package/lib/hooks/use-touch.js.map +13 -0
  124. package/lib/hooks/use-update-effect.d.ts +3 -0
  125. package/lib/hooks/use-update-effect.js +17 -0
  126. package/lib/hooks/use-update-effect.js.map +13 -0
  127. package/lib/icons/download.js +7 -0
  128. package/lib/icons/drag-bar.js +10 -3
  129. package/lib/index.d.ts +5 -0
  130. package/lib/index.js +6 -1
  131. package/lib/index.js.map +2 -2
  132. package/lib/locale/de-DE.js +2 -0
  133. package/lib/locale/de-DE.js.map +2 -2
  134. package/lib/locale/en-US.js +3 -0
  135. package/lib/locale/en-US.js.map +2 -2
  136. package/lib/locale/zh-CN.js +5 -2
  137. package/lib/locale/zh-CN.js.map +2 -2
  138. package/lib/renderers/Action.d.ts +4 -3
  139. package/lib/renderers/Action.js +17 -4
  140. package/lib/renderers/Action.js.map +2 -2
  141. package/lib/renderers/AnchorNav.d.ts +1 -0
  142. package/lib/renderers/AnchorNav.js +2 -2
  143. package/lib/renderers/AnchorNav.js.map +2 -2
  144. package/lib/renderers/Avatar.js +3 -3
  145. package/lib/renderers/Avatar.js.map +2 -2
  146. package/lib/renderers/Breadcrumb.js +1 -1
  147. package/lib/renderers/Breadcrumb.js.map +2 -2
  148. package/lib/renderers/CRUD.d.ts +9 -0
  149. package/lib/renderers/CRUD.js +24 -4
  150. package/lib/renderers/CRUD.js.map +2 -2
  151. package/lib/renderers/Card.d.ts +4 -0
  152. package/lib/renderers/Card.js +29 -23
  153. package/lib/renderers/Card.js.map +2 -2
  154. package/lib/renderers/Chart.js +1 -1
  155. package/lib/renderers/Chart.js.map +2 -2
  156. package/lib/renderers/Collapse.d.ts +25 -20
  157. package/lib/renderers/Collapse.js +10 -72
  158. package/lib/renderers/Collapse.js.map +2 -2
  159. package/lib/renderers/CollapseGroup.d.ts +42 -0
  160. package/lib/renderers/CollapseGroup.js +33 -0
  161. package/lib/renderers/CollapseGroup.js.map +13 -0
  162. package/lib/renderers/DropDownButton.js +1 -1
  163. package/lib/renderers/DropDownButton.js.map +2 -2
  164. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  165. package/lib/renderers/Form/Editor.d.ts +3 -2
  166. package/lib/renderers/Form/InputCity.d.ts +84 -84
  167. package/lib/renderers/Form/InputCity.js +7 -6
  168. package/lib/renderers/Form/InputCity.js.map +2 -2
  169. package/lib/renderers/Form/InputColor.d.ts +84 -84
  170. package/lib/renderers/Form/InputFile.d.ts +6 -0
  171. package/lib/renderers/Form/InputFile.js +28 -8
  172. package/lib/renderers/Form/InputFile.js.map +2 -2
  173. package/lib/renderers/Form/InputImage.js +11 -4
  174. package/lib/renderers/Form/InputImage.js.map +2 -2
  175. package/lib/renderers/Form/Item.d.ts +1 -1
  176. package/lib/renderers/Form/Item.js +2 -1
  177. package/lib/renderers/Form/Item.js.map +2 -2
  178. package/lib/renderers/Form/Options.js +13 -3
  179. package/lib/renderers/Form/Options.js.map +2 -2
  180. package/lib/renderers/Form/Select.d.ts +42 -4
  181. package/lib/renderers/Form/Select.js +37 -3
  182. package/lib/renderers/Form/Select.js.map +2 -2
  183. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  184. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  185. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  186. package/lib/renderers/Form/Transfer.js +18 -3
  187. package/lib/renderers/Form/Transfer.js.map +2 -2
  188. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  189. package/lib/renderers/Form/TransferPicker.js +43 -0
  190. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  191. package/lib/renderers/Form/TreeSelect.js +2 -2
  192. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  193. package/lib/renderers/Form/index.d.ts +5 -0
  194. package/lib/renderers/Form/index.js +5 -3
  195. package/lib/renderers/Form/index.js.map +2 -2
  196. package/lib/renderers/Form/wrapControl.js +13 -1
  197. package/lib/renderers/Form/wrapControl.js.map +2 -2
  198. package/lib/renderers/GridNav.d.ts +99 -0
  199. package/lib/renderers/GridNav.js +82 -0
  200. package/lib/renderers/GridNav.js.map +13 -0
  201. package/lib/renderers/IFrame.js +1 -3
  202. package/lib/renderers/IFrame.js.map +2 -2
  203. package/lib/renderers/Json.d.ts +4 -0
  204. package/lib/renderers/Json.js +4 -13
  205. package/lib/renderers/Json.js.map +2 -2
  206. package/lib/renderers/Link.d.ts +4 -2
  207. package/lib/renderers/Link.js +15 -6
  208. package/lib/renderers/Link.js.map +2 -2
  209. package/lib/renderers/List.js +1 -1
  210. package/lib/renderers/List.js.map +2 -2
  211. package/lib/renderers/Mapping.d.ts +9 -2
  212. package/lib/renderers/Mapping.js +18 -6
  213. package/lib/renderers/Mapping.js.map +2 -2
  214. package/lib/renderers/Nav.d.ts +21 -21
  215. package/lib/renderers/Nav.js +39 -21
  216. package/lib/renderers/Nav.js.map +2 -2
  217. package/lib/renderers/Portlet.d.ts +125 -0
  218. package/lib/renderers/Portlet.js +156 -0
  219. package/lib/renderers/Portlet.js.map +13 -0
  220. package/lib/renderers/Property.js +2 -1
  221. package/lib/renderers/Property.js.map +2 -2
  222. package/lib/renderers/SearchBox.d.ts +6 -1
  223. package/lib/renderers/SearchBox.js +19 -5
  224. package/lib/renderers/SearchBox.js.map +2 -2
  225. package/lib/renderers/Table/TableContent.d.ts +4 -1
  226. package/lib/renderers/Table/TableContent.js +21 -1
  227. package/lib/renderers/Table/TableContent.js.map +2 -2
  228. package/lib/renderers/Table/index.d.ts +5 -1
  229. package/lib/renderers/Table/index.js +65 -30
  230. package/lib/renderers/Table/index.js.map +2 -2
  231. package/lib/renderers/Tabs.js +9 -1
  232. package/lib/renderers/Tabs.js.map +2 -2
  233. package/lib/renderers/WebComponent.js +1 -1
  234. package/lib/renderers/WebComponent.js.map +2 -2
  235. package/lib/store/combo.d.ts +2 -16
  236. package/lib/store/crud.js +3 -7
  237. package/lib/store/crud.js.map +2 -2
  238. package/lib/store/form.d.ts +1 -1
  239. package/lib/store/form.js +5 -6
  240. package/lib/store/form.js.map +2 -2
  241. package/lib/store/formItem.js +44 -4
  242. package/lib/store/formItem.js.map +2 -2
  243. package/lib/store/service.js +5 -4
  244. package/lib/store/service.js.map +2 -2
  245. package/lib/store/table.d.ts +3 -2
  246. package/lib/store/table.js +35 -12
  247. package/lib/store/table.js.map +2 -2
  248. package/lib/themes/ang-ie11.css +689 -175
  249. package/lib/themes/ang.css +689 -175
  250. package/lib/themes/ang.css.map +1 -1
  251. package/lib/themes/antd-ie11.css +689 -175
  252. package/lib/themes/antd.css +689 -175
  253. package/lib/themes/antd.css.map +1 -1
  254. package/lib/themes/cxd-ie11.css +728 -213
  255. package/lib/themes/cxd.css +728 -213
  256. package/lib/themes/cxd.css.map +1 -1
  257. package/lib/themes/dark-ie11.css +689 -175
  258. package/lib/themes/dark.css +689 -175
  259. package/lib/themes/dark.css.map +1 -1
  260. package/lib/themes/default.css +728 -213
  261. package/lib/themes/default.css.map +1 -1
  262. package/lib/types.d.ts +38 -1
  263. package/lib/types.js +0 -5
  264. package/lib/types.js.map +2 -2
  265. package/lib/utils/api.d.ts +4 -2
  266. package/lib/utils/api.js +104 -17
  267. package/lib/utils/api.js.map +2 -2
  268. package/lib/utils/dom.d.ts +4 -0
  269. package/lib/utils/dom.js +11 -1
  270. package/lib/utils/dom.js.map +2 -2
  271. package/lib/utils/helper.d.ts +8 -0
  272. package/lib/utils/helper.js +28 -2
  273. package/lib/utils/helper.js.map +2 -2
  274. package/lib/utils/icon.js +3 -0
  275. package/lib/utils/icon.js.map +2 -2
  276. package/package.json +1 -1
  277. package/schema.json +3326 -836
  278. package/scss/_mixins.scss +1 -3
  279. package/scss/_properties.scss +25 -1
  280. package/scss/base/_common.scss +3 -0
  281. package/scss/base/_normalize.scss +2 -0
  282. package/scss/components/_anchor-nav.scss +89 -29
  283. package/scss/components/_card.scss +8 -14
  284. package/scss/components/_collapse-group.scss +11 -0
  285. package/scss/components/_collapse.scss +48 -22
  286. package/scss/components/_grid-nav.scss +128 -0
  287. package/scss/components/_input-box.scss +1 -0
  288. package/scss/components/_mapping.scss +6 -0
  289. package/scss/components/_nav.scss +2 -2
  290. package/scss/components/_picker-columns.scss +124 -0
  291. package/scss/components/_popover.scss +13 -0
  292. package/scss/components/_portlet.scss +51 -0
  293. package/scss/components/_result-box.scss +1 -0
  294. package/scss/components/_spinner.scss +5 -4
  295. package/scss/components/_status.scss +1 -1
  296. package/scss/components/_table.scss +32 -0
  297. package/scss/components/form/_checks.scss +0 -351
  298. package/scss/components/form/_combo.scss +4 -0
  299. package/scss/components/form/_fieldset.scss +5 -1
  300. package/scss/components/form/_file.scss +11 -0
  301. package/scss/components/form/_form.scss +48 -0
  302. package/scss/components/form/_selection.scss +354 -0
  303. package/scss/components/form/_transfer.scss +75 -18
  304. package/scss/components/form/_tree.scss +42 -0
  305. package/scss/themes/_common.scss +7 -0
  306. package/scss/themes/_cxd-variables.scss +8 -6
  307. package/scss/themes/cxd.scss +17 -12
  308. package/sdk/ang-ie11.css +786 -196
  309. package/sdk/ang.css +820 -213
  310. package/sdk/antd-ie11.css +786 -196
  311. package/sdk/antd.css +820 -213
  312. package/sdk/charts.js +13 -13
  313. package/sdk/color-picker.js +65 -69
  314. package/sdk/cropperjs.js +2 -2
  315. package/sdk/cxd-ie11.css +825 -236
  316. package/sdk/cxd.css +862 -254
  317. package/sdk/dark-ie11.css +787 -197
  318. package/sdk/dark.css +820 -213
  319. package/sdk/exceljs.js +1 -1
  320. package/sdk/helper.css.map +1 -1
  321. package/sdk/iconfont.svg +2513 -0
  322. package/sdk/iconfont.ttf +0 -0
  323. package/sdk/iconfont.woff +0 -0
  324. package/sdk/locale/de-DE.js +2 -0
  325. package/sdk/markdown.js +69 -69
  326. package/sdk/papaparse.js +1 -1
  327. package/sdk/renderers/Form/CityDB.js +1 -1
  328. package/sdk/rest.js +20 -28
  329. package/sdk/rich-text.js +62 -62
  330. package/sdk/sdk-ie11.css +825 -236
  331. package/sdk/sdk.css +862 -254
  332. package/sdk/sdk.js +1243 -1175
  333. package/sdk/thirds/hls.js/hls.js +1 -1
  334. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  335. package/sdk/tinymce.js +57 -57
  336. package/src/Schema.ts +19 -1
  337. package/src/components/AnchorNav.tsx +15 -4
  338. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
  339. package/src/components/Badge.tsx +3 -3
  340. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  341. package/src/components/Collapse.tsx +144 -20
  342. package/src/components/CollapseGroup.tsx +130 -0
  343. package/src/components/GridNav.tsx +233 -0
  344. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  345. package/src/components/InputBox.tsx +10 -9
  346. package/src/components/Link.tsx +28 -37
  347. package/src/components/ModalManager.ts +1 -1
  348. package/src/components/PickerColumn.tsx +429 -0
  349. package/src/components/PickerContainer.tsx +128 -0
  350. package/src/components/Radios.tsx +3 -8
  351. package/src/components/ResultBox.tsx +9 -9
  352. package/src/components/SearchBox.tsx +4 -5
  353. package/src/components/Select.tsx +57 -5
  354. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  355. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  356. package/src/components/TabsTransfer.tsx +13 -7
  357. package/src/components/TabsTransferPicker.tsx +85 -0
  358. package/src/components/Toast.tsx +23 -16
  359. package/src/components/Transfer.tsx +71 -50
  360. package/src/components/TransferDropDown.tsx +120 -0
  361. package/src/components/TransferPicker.tsx +91 -0
  362. package/src/components/Tree.tsx +194 -8
  363. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  364. package/src/components/WithRemoteConfig.tsx +7 -2
  365. package/src/components/condition-builder/Field.tsx +5 -5
  366. package/src/components/condition-builder/Func.tsx +3 -3
  367. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  368. package/src/components/condition-builder/Item.tsx +5 -12
  369. package/src/components/icons.tsx +2 -0
  370. package/src/components/index.tsx +13 -13
  371. package/src/envOverwrite.ts +20 -8
  372. package/src/factory.tsx +70 -9
  373. package/src/hooks/index.ts +5 -0
  374. package/src/hooks/use-set-state.ts +19 -0
  375. package/src/hooks/use-touch.ts +100 -0
  376. package/src/hooks/use-update-effect.ts +16 -0
  377. package/src/icons/download.svg +4 -0
  378. package/src/icons/drag-bar.svg +12 -6
  379. package/src/index.tsx +5 -0
  380. package/src/locale/de-DE.ts +2 -0
  381. package/src/locale/en-US.ts +3 -0
  382. package/src/locale/zh-CN.ts +5 -2
  383. package/src/renderers/Action.tsx +28 -2
  384. package/src/renderers/AnchorNav.tsx +4 -0
  385. package/src/renderers/Avatar.tsx +8 -4
  386. package/src/renderers/Breadcrumb.tsx +5 -1
  387. package/src/renderers/CRUD.tsx +33 -3
  388. package/src/renderers/Card.tsx +63 -34
  389. package/src/renderers/Chart.tsx +6 -2
  390. package/src/renderers/Collapse.tsx +70 -115
  391. package/src/renderers/CollapseGroup.tsx +80 -0
  392. package/src/renderers/DropDownButton.tsx +1 -1
  393. package/src/renderers/Form/InputCity.tsx +4 -8
  394. package/src/renderers/Form/InputFile.tsx +65 -24
  395. package/src/renderers/Form/InputImage.tsx +11 -3
  396. package/src/renderers/Form/Item.tsx +3 -2
  397. package/src/renderers/Form/Options.tsx +16 -2
  398. package/src/renderers/Form/Select.tsx +162 -21
  399. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  400. package/src/renderers/Form/Transfer.tsx +19 -4
  401. package/src/renderers/Form/TransferPicker.tsx +145 -0
  402. package/src/renderers/Form/TreeSelect.tsx +25 -0
  403. package/src/renderers/Form/index.tsx +15 -2
  404. package/src/renderers/Form/wrapControl.tsx +26 -1
  405. package/src/renderers/GridNav.tsx +204 -0
  406. package/src/renderers/IFrame.tsx +2 -4
  407. package/src/renderers/Json.tsx +9 -9
  408. package/src/renderers/Link.tsx +27 -13
  409. package/src/renderers/List.tsx +1 -1
  410. package/src/renderers/Mapping.tsx +27 -11
  411. package/src/renderers/Nav.tsx +108 -60
  412. package/src/renderers/Portlet.tsx +423 -0
  413. package/src/renderers/Property.tsx +3 -2
  414. package/src/renderers/SearchBox.tsx +23 -4
  415. package/src/renderers/Table/TableContent.tsx +40 -2
  416. package/src/renderers/Table/index.tsx +88 -43
  417. package/src/renderers/Tabs.tsx +9 -1
  418. package/src/renderers/WebComponent.tsx +2 -2
  419. package/src/store/crud.ts +3 -8
  420. package/src/store/form.ts +5 -10
  421. package/src/store/formItem.ts +94 -2
  422. package/src/store/service.ts +5 -4
  423. package/src/store/table.ts +55 -14
  424. package/src/types.ts +58 -1
  425. package/src/utils/api.ts +133 -26
  426. package/src/utils/dom.tsx +12 -0
  427. package/src/utils/helper.ts +27 -0
  428. package/src/utils/icon.tsx +4 -0
  429. package/tsconfig-for-declaration.json +1 -1
  430. package/dump.rdb +0 -0
  431. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  432. package/lib/components/AssociatedCheckboxes.js +0 -90
  433. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  434. package/lib/components/ChainedCheckboxes.js.map +0 -13
  435. package/lib/components/Checkboxes.js +0 -101
  436. package/lib/components/Checkboxes.js.map +0 -13
  437. package/lib/components/ListCheckboxes.d.ts +0 -739
  438. package/lib/components/ListCheckboxes.js +0 -48
  439. package/lib/components/ListCheckboxes.js.map +0 -13
  440. package/lib/components/ListRadios.d.ts +0 -763
  441. package/lib/components/ListRadios.js +0 -86
  442. package/lib/components/ListRadios.js.map +0 -13
  443. package/lib/components/TableCheckboxes.js.map +0 -13
  444. package/lib/components/TreeCheckboxes.js.map +0 -13
  445. package/lib/components/TreeRadios.d.ts +0 -838
  446. package/lib/components/TreeRadios.js +0 -116
  447. package/lib/components/TreeRadios.js.map +0 -13
  448. package/src/components/ListRadios.tsx +0 -159
  449. package/src/components/TreeRadios.tsx +0 -202
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @file GridNav
3
+ * @description 金刚位宫格导航 参考react-vant
4
+ */
5
+ import React from 'react';
6
+ import { ClassNamesFn } from '../theme';
7
+ import { BadgeProps } from './Badge';
8
+ export declare type GridNavDirection = 'horizontal' | 'vertical';
9
+ export interface GridNavProps {
10
+ /** 是否将格子固定为正方形 */
11
+ square?: boolean;
12
+ /** 是否将格子内容居中显示 */
13
+ center?: boolean;
14
+ /** 是否显示边框 */
15
+ border?: boolean;
16
+ /** 格子之间的间距,默认单位为`px` */
17
+ gutter?: number;
18
+ /** 是否调换图标和文本的位置 */
19
+ reverse?: boolean;
20
+ /** 图标占比,默认单位为`%` */
21
+ iconRatio?: number;
22
+ /** 格子内容排列的方向,可选值为 `horizontal` */
23
+ direction?: GridNavDirection;
24
+ /** 列数 */
25
+ columnNum?: number;
26
+ className?: string;
27
+ itemClassName?: string;
28
+ classnames: ClassNamesFn;
29
+ style?: React.CSSProperties;
30
+ }
31
+ export interface GridNavItemProps {
32
+ /** 图标右上角徽标 */
33
+ badge?: BadgeProps;
34
+ /** 文字 */
35
+ text?: string | React.ReactNode;
36
+ /** 图标名称或图片链接 */
37
+ icon?: string | React.ReactNode;
38
+ className?: string;
39
+ style?: React.CSSProperties;
40
+ contentClassName?: string;
41
+ contentStyle?: React.CSSProperties;
42
+ children?: React.ReactNode;
43
+ classnames: ClassNamesFn;
44
+ onClick?: (event: React.MouseEvent) => void;
45
+ }
46
+ declare type InternalProps = {
47
+ parent?: GridNavProps;
48
+ index?: number;
49
+ };
50
+ export declare const GridNavItem: React.FC<GridNavItemProps & InternalProps>;
51
+ declare const GridNav: React.FC<GridNavProps>;
52
+ export default GridNav;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ /**
3
+ * @file GridNav
4
+ * @description 金刚位宫格导航 参考react-vant
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GridNavItem = void 0;
8
+ var tslib_1 = require("tslib");
9
+ var react_1 = tslib_1.__importStar(require("react"));
10
+ var Badge_1 = require("./Badge");
11
+ function addUnit(value) {
12
+ if (value === undefined || value === null) {
13
+ return undefined;
14
+ }
15
+ value = String(value);
16
+ return /^\d+(\.\d+)?$/.test(value) ? value + "px" : value;
17
+ }
18
+ var GridNavItem = function (_a) {
19
+ var _b;
20
+ var children = _a.children, cx = _a.classnames, className = _a.className, style = _a.style, props = (0, tslib_1.__rest)(_a, ["children", "classnames", "className", "style"]);
21
+ var _c = props.index, index = _c === void 0 ? 0 : _c, parent = props.parent;
22
+ if (!parent) {
23
+ if (process.env.NODE_ENV !== 'production') {
24
+ // eslint-disable-next-line no-console
25
+ console.error('[React Vant] <GridNavItem> must be a child component of <GridNav>.');
26
+ }
27
+ return null;
28
+ }
29
+ var rootStyle = (0, react_1.useMemo)(function () {
30
+ var square = parent.square, gutter = parent.gutter, _a = parent.columnNum, columnNum = _a === void 0 ? 4 : _a;
31
+ var percent = 100 / +columnNum + "%";
32
+ var internalStyle = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, style), { flexBasis: percent });
33
+ if (square) {
34
+ internalStyle.paddingTop = percent;
35
+ }
36
+ else if (gutter) {
37
+ var gutterValue = addUnit(gutter);
38
+ internalStyle.paddingRight = gutterValue;
39
+ if (index >= columnNum) {
40
+ internalStyle.marginTop = gutterValue;
41
+ }
42
+ }
43
+ return internalStyle;
44
+ }, [parent.style, parent.gutter, parent.columnNum]);
45
+ var contentStyle = (0, react_1.useMemo)(function () {
46
+ var square = parent.square, gutter = parent.gutter;
47
+ if (square && gutter) {
48
+ var gutterValue = addUnit(gutter);
49
+ return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props.contentStyle), { right: gutterValue, bottom: gutterValue, height: 'auto' });
50
+ }
51
+ return props.contentStyle;
52
+ }, [parent.gutter, parent.columnNum, props.contentStyle]);
53
+ var renderIcon = function () {
54
+ var ratio = parent.iconRatio || 60;
55
+ if (typeof props.icon === 'string') {
56
+ if (props.badge) {
57
+ return (react_1.default.createElement(Badge_1.Badge, (0, tslib_1.__assign)({}, props.badge),
58
+ react_1.default.createElement("div", { className: cx('GridNavItem-image') },
59
+ react_1.default.createElement("img", { src: props.icon, style: { width: ratio + '%' } }))));
60
+ }
61
+ return (react_1.default.createElement("div", { className: cx('GridNavItem-image') },
62
+ react_1.default.createElement("img", { src: props.icon, style: { width: ratio + '%' } })));
63
+ }
64
+ if (react_1.default.isValidElement(props.icon)) {
65
+ return react_1.default.createElement(Badge_1.Badge, (0, tslib_1.__assign)({}, props.badge), props.icon);
66
+ }
67
+ return null;
68
+ };
69
+ var renderText = function () {
70
+ if (react_1.default.isValidElement(props.text)) {
71
+ return props.text;
72
+ }
73
+ if (props.text) {
74
+ return react_1.default.createElement("span", { className: cx('GridNavItem-text') }, props.text);
75
+ }
76
+ return null;
77
+ };
78
+ var renderContent = function () {
79
+ if (children) {
80
+ return children;
81
+ }
82
+ return (react_1.default.createElement(react_1.default.Fragment, null,
83
+ renderIcon(),
84
+ renderText()));
85
+ };
86
+ var center = parent.center, border = parent.border, square = parent.square, gutter = parent.gutter, reverse = parent.reverse, direction = parent.direction;
87
+ var prefix = 'GridNavItem-content';
88
+ var classes = cx(prefix + " " + (props.contentClassName || ''), (_b = {},
89
+ _b[prefix + "--" + direction] = !!direction,
90
+ _b[prefix + "--center"] = center,
91
+ _b[prefix + "--square"] = square,
92
+ _b[prefix + "--reverse"] = reverse,
93
+ _b[prefix + "--clickable"] = !!props.onClick,
94
+ _b[prefix + "--surround"] = border && gutter,
95
+ _b[prefix + "--border u-hairline"] = border,
96
+ _b));
97
+ return (react_1.default.createElement("div", { className: cx(className, { 'GridNavItem--square': square }), style: rootStyle },
98
+ react_1.default.createElement("div", { role: props.onClick ? 'button' : undefined, className: classes, style: contentStyle, onClick: props.onClick }, renderContent())));
99
+ };
100
+ exports.GridNavItem = GridNavItem;
101
+ var GridNav = function (_a) {
102
+ var children = _a.children, className = _a.className, cx = _a.classnames, itemClassName = _a.itemClassName, style = _a.style, props = (0, tslib_1.__rest)(_a, ["children", "className", "classnames", "itemClassName", "style"]);
103
+ return (react_1.default.createElement("div", { style: (0, tslib_1.__assign)({ paddingLeft: addUnit(props.gutter) }, style), className: cx("GridNav " + (className || ''), {
104
+ 'GridNav-top u-hairline': props.border && !props.gutter
105
+ }) }, react_1.default.Children.toArray(children)
106
+ .filter(Boolean)
107
+ .map(function (child, index) {
108
+ return react_1.default.cloneElement(child, {
109
+ index: index,
110
+ parent: props,
111
+ className: itemClassName,
112
+ classnames: cx
113
+ });
114
+ })));
115
+ };
116
+ GridNav.defaultProps = {
117
+ direction: 'vertical',
118
+ center: true,
119
+ border: true,
120
+ columnNum: 4
121
+ };
122
+ exports.default = GridNav;
123
+ //# sourceMappingURL=./components/GridNav.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "GridNav.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/GridNav.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "/**\n * @file GridNav\n * @description 金刚位宫格导航 参考react-vant\n */\n\nimport React, {useMemo} from 'react';\nimport {ClassNamesFn} from '../theme';\nimport {Badge, BadgeProps} from './Badge';\n\nexport type GridNavDirection = 'horizontal' | 'vertical';\n\nexport interface GridNavProps {\n /** 是否将格子固定为正方形\t */\n square?: boolean;\n /** 是否将格子内容居中显示\t */\n center?: boolean;\n /** 是否显示边框\t */\n border?: boolean;\n /** 格子之间的间距,默认单位为`px` */\n gutter?: number;\n /** 是否调换图标和文本的位置\t */\n reverse?: boolean;\n /** 图标占比,默认单位为`%` */\n iconRatio?: number;\n /** 格子内容排列的方向,可选值为 `horizontal`\t */\n direction?: GridNavDirection;\n /** 列数\t */\n columnNum?: number;\n className?: string;\n itemClassName?: string;\n classnames: ClassNamesFn;\n style?: React.CSSProperties;\n}\n\nexport interface GridNavItemProps {\n /** 图标右上角徽标\t */\n badge?: BadgeProps;\n /** 文字 */\n text?: string | React.ReactNode;\n /** 图标名称或图片链接\t */\n icon?: string | React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n contentClassName?: string;\n contentStyle?: React.CSSProperties;\n children?: React.ReactNode;\n classnames: ClassNamesFn;\n onClick?: (event: React.MouseEvent) => void;\n}\n\ntype InternalProps = {\n parent?: GridNavProps;\n index?: number;\n};\n\nfunction addUnit(value?: string | number): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n value = String(value);\n return /^\\d+(\\.\\d+)?$/.test(value) ? `${value}px` : value;\n}\n\nexport const GridNavItem: React.FC<GridNavItemProps & InternalProps> = ({\n children,\n classnames: cx,\n className,\n style,\n ...props\n}) => {\n const {index = 0, parent} = props;\n if (!parent) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(\n '[React Vant] <GridNavItem> must be a child component of <GridNav>.'\n );\n }\n return null;\n }\n\n const rootStyle = useMemo(() => {\n const {square, gutter, columnNum = 4} = parent;\n const percent = `${100 / +columnNum}%`;\n const internalStyle: React.CSSProperties = {\n ...style,\n flexBasis: percent\n };\n\n if (square) {\n internalStyle.paddingTop = percent;\n } else if (gutter) {\n const gutterValue = addUnit(gutter);\n internalStyle.paddingRight = gutterValue;\n\n if (index >= columnNum) {\n internalStyle.marginTop = gutterValue;\n }\n }\n\n return internalStyle;\n }, [parent.style, parent.gutter, parent.columnNum]);\n\n const contentStyle = useMemo(() => {\n const {square, gutter} = parent;\n\n if (square && gutter) {\n const gutterValue = addUnit(gutter);\n return {\n ...props.contentStyle,\n right: gutterValue,\n bottom: gutterValue,\n height: 'auto'\n };\n }\n return props.contentStyle;\n }, [parent.gutter, parent.columnNum, props.contentStyle]);\n\n const renderIcon = () => {\n const ratio = parent.iconRatio || 60;\n if (typeof props.icon === 'string') {\n if (props.badge) {\n return (\n <Badge {...props.badge}>\n <div className={cx('GridNavItem-image')}>\n <img src={props.icon} style={{width: ratio + '%'}} />\n </div>\n </Badge>\n );\n }\n return (\n <div className={cx('GridNavItem-image')}>\n <img src={props.icon} style={{width: ratio + '%'}} />\n </div>\n );\n }\n\n if (React.isValidElement(props.icon)) {\n return <Badge {...(props.badge as BadgeProps)}>{props.icon}</Badge>;\n }\n\n return null;\n };\n\n const renderText = () => {\n if (React.isValidElement(props.text)) {\n return props.text;\n }\n if (props.text) {\n return <span className={cx('GridNavItem-text')}>{props.text}</span>;\n }\n return null;\n };\n\n const renderContent = () => {\n if (children) {\n return children;\n }\n return (\n <>\n {renderIcon()}\n {renderText()}\n </>\n );\n };\n\n const {center, border, square, gutter, reverse, direction} = parent;\n\n const prefix = 'GridNavItem-content';\n const classes = cx(`${prefix} ${props.contentClassName || ''}`, {\n [`${prefix}--${direction}`]: !!direction,\n [`${prefix}--center`]: center,\n [`${prefix}--square`]: square,\n [`${prefix}--reverse`]: reverse,\n [`${prefix}--clickable`]: !!props.onClick,\n [`${prefix}--surround`]: border && gutter,\n [`${prefix}--border u-hairline`]: border\n });\n\n return (\n <div\n className={cx(className, {'GridNavItem--square': square})}\n style={rootStyle}\n >\n <div\n role={props.onClick ? 'button' : undefined}\n className={classes}\n style={contentStyle}\n onClick={props.onClick}\n >\n {renderContent()}\n </div>\n </div>\n );\n};\n\nconst GridNav: React.FC<GridNavProps> = ({\n children,\n className,\n classnames: cx,\n itemClassName,\n style,\n ...props\n}) => {\n return (\n <div\n style={{paddingLeft: addUnit(props.gutter), ...style}}\n className={cx(`GridNav ${className || ''}`, {\n 'GridNav-top u-hairline': props.border && !props.gutter\n })}\n >\n {React.Children.toArray(children)\n .filter(Boolean)\n .map((child: React.ReactElement, index: number) =>\n React.cloneElement(child, {\n index,\n parent: props,\n className: itemClassName,\n classnames: cx\n })\n )}\n </div>\n );\n};\n\nGridNav.defaultProps = {\n direction: 'vertical',\n center: true,\n border: true,\n columnNum: 4\n};\n\nexport default GridNav;\n"
12
+ ]
13
+ }