amis-editor 5.2.0-beta.2 → 5.2.1-beta.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (895) hide show
  1. package/esm/component/BaseControl.d.ts +5 -810
  2. package/esm/component/BaseControl.js +33 -43
  3. package/esm/component/InputComponentName.js +1 -1
  4. package/esm/component/TableViewEditor.js +547 -454
  5. package/esm/icons/btn/btn-group.svg.js +1 -3
  6. package/esm/icons/btn/btn-select.svg.js +1 -3
  7. package/esm/icons/btn/btn-toolbar.svg.js +1 -3
  8. package/esm/icons/btn/button.svg.js +1 -3
  9. package/esm/icons/btn/dropdown-btn.svg.js +1 -3
  10. package/esm/icons/container/anchor-nav.svg.js +1 -3
  11. package/esm/icons/container/collapse.svg.js +1 -3
  12. package/esm/icons/container/container.svg.js +1 -3
  13. package/esm/icons/container/flex-container.svg.js +1 -3
  14. package/esm/icons/container/form-group.svg.js +1 -3
  15. package/esm/icons/container/grid.svg.js +1 -3
  16. package/esm/icons/container/iframe.svg.js +1 -3
  17. package/esm/icons/container/panel.svg.js +1 -3
  18. package/esm/icons/container/table-view.svg.js +1 -3
  19. package/esm/icons/container/tabs.svg.js +1 -3
  20. package/esm/icons/container/tooltip-wrapper.svg.js +1 -3
  21. package/esm/icons/container/web-component.svg.js +1 -3
  22. package/esm/icons/feat/audio.svg.js +1 -3
  23. package/esm/icons/feat/custom.svg.js +1 -3
  24. package/esm/icons/feat/each.svg.js +1 -3
  25. package/esm/icons/feat/form.svg.js +1 -3
  26. package/esm/icons/feat/nav.svg.js +1 -3
  27. package/esm/icons/feat/qrcode.svg.js +1 -3
  28. package/esm/icons/feat/service.svg.js +1 -3
  29. package/esm/icons/feat/table.svg.js +1 -3
  30. package/esm/icons/feat/tasks.svg.js +1 -3
  31. package/esm/icons/feat/video.svg.js +1 -3
  32. package/esm/icons/feat/wizard.svg.js +1 -3
  33. package/esm/icons/form/chained-select.svg.js +1 -3
  34. package/esm/icons/form/checkbox.svg.js +1 -3
  35. package/esm/icons/form/checkboxes.svg.js +1 -3
  36. package/esm/icons/form/combo.svg.js +1 -3
  37. package/esm/icons/form/condition-builder.svg.js +1 -3
  38. package/esm/icons/form/diff-editor.svg.js +1 -3
  39. package/esm/icons/form/editor.svg.js +1 -3
  40. package/esm/icons/form/formula.svg.js +1 -3
  41. package/esm/icons/form/hidden.svg.js +1 -3
  42. package/esm/icons/form/input-city.svg.js +1 -3
  43. package/esm/icons/form/input-color.svg.js +1 -3
  44. package/esm/icons/form/input-date-range.svg.js +1 -3
  45. package/esm/icons/form/input-date.svg.js +1 -3
  46. package/esm/icons/form/input-datetime.svg.js +1 -3
  47. package/esm/icons/form/input-email.svg.js +1 -3
  48. package/esm/icons/form/input-excel.svg.js +1 -3
  49. package/esm/icons/form/input-file.svg.js +1 -3
  50. package/esm/icons/form/input-group.svg.js +1 -3
  51. package/esm/icons/form/input-image.svg.js +1 -3
  52. package/esm/icons/form/input-kv.svg.js +1 -3
  53. package/esm/icons/form/input-month-range.svg.js +1 -3
  54. package/esm/icons/form/input-number.svg.js +1 -3
  55. package/esm/icons/form/input-password.svg.js +1 -3
  56. package/esm/icons/form/input-quarter-range.svg.js +1 -3
  57. package/esm/icons/form/input-range.svg.js +1 -3
  58. package/esm/icons/form/input-rating.svg.js +1 -3
  59. package/esm/icons/form/input-repeat.svg.js +1 -3
  60. package/esm/icons/form/input-rich-text.svg.js +1 -3
  61. package/esm/icons/form/input-tag.svg.js +1 -3
  62. package/esm/icons/form/input-text.svg.js +1 -3
  63. package/esm/icons/form/input-time-range.svg.js +1 -3
  64. package/esm/icons/form/input-time.svg.js +1 -3
  65. package/esm/icons/form/input-tree.svg.js +1 -3
  66. package/esm/icons/form/input-url.svg.js +1 -3
  67. package/esm/icons/form/input-year.svg.js +1 -3
  68. package/esm/icons/form/inputArray.svg.js +1 -3
  69. package/esm/icons/form/list-select.svg.js +1 -3
  70. package/esm/icons/form/location-picker.svg.js +1 -3
  71. package/esm/icons/form/matrix-checkboxes.svg.js +1 -3
  72. package/esm/icons/form/month.svg.js +1 -3
  73. package/esm/icons/form/nested-select.svg.js +1 -3
  74. package/esm/icons/form/picker.svg.js +1 -3
  75. package/esm/icons/form/quarter.svg.js +1 -3
  76. package/esm/icons/form/radios.svg.js +1 -3
  77. package/esm/icons/form/select.svg.js +1 -3
  78. package/esm/icons/form/static.svg.js +1 -3
  79. package/esm/icons/form/sub-form.svg.js +1 -3
  80. package/esm/icons/form/switch.svg.js +1 -3
  81. package/esm/icons/form/tabs-transfer.svg.js +1 -3
  82. package/esm/icons/form/textarea.svg.js +1 -3
  83. package/esm/icons/form/transfer.svg.js +1 -3
  84. package/esm/icons/form/tree-select.svg.js +1 -3
  85. package/esm/icons/form/uuid.svg.js +1 -3
  86. package/esm/icons/index.js +28 -1
  87. package/esm/icons/layout/layout-1with2.svg.js +32 -0
  88. package/esm/icons/layout/layout-2cols.svg.js +32 -0
  89. package/esm/icons/layout/layout-2row.svg.js +32 -0
  90. package/esm/icons/layout/layout-2with1.svg.js +33 -0
  91. package/esm/icons/layout/layout-3cols.svg.js +32 -0
  92. package/esm/icons/layout/layout-3row.svg.js +33 -0
  93. package/esm/icons/layout/layout-absolute.svg.js +27 -0
  94. package/esm/icons/layout/layout-fixed.svg.js +27 -0
  95. package/esm/icons/layout/layout-full.svg.js +49 -0
  96. package/esm/icons/layout/layout1-2.svg.js +33 -0
  97. package/esm/icons/layout/layout2-1.svg.js +33 -0
  98. package/esm/icons/layout/layout3-1.svg.js +33 -0
  99. package/esm/icons/layout/layout3-2.svg.js +33 -0
  100. package/esm/icons/other/divider.svg.js +1 -3
  101. package/esm/icons/other/property-sheet.svg.js +1 -3
  102. package/esm/icons/other/tooltip.svg.js +1 -3
  103. package/esm/icons/show/URL.svg.js +1 -3
  104. package/esm/icons/show/avatar.svg.js +1 -3
  105. package/esm/icons/show/breadcrumb.svg.js +1 -3
  106. package/esm/icons/show/card.svg.js +1 -3
  107. package/esm/icons/show/cards.svg.js +1 -3
  108. package/esm/icons/show/carousel.svg.js +1 -3
  109. package/esm/icons/show/chart.svg.js +1 -3
  110. package/esm/icons/show/code.svg.js +1 -3
  111. package/esm/icons/show/date.svg.js +1 -3
  112. package/esm/icons/show/datetime.svg.js +1 -3
  113. package/esm/icons/show/image.svg.js +1 -3
  114. package/esm/icons/show/images.svg.js +1 -3
  115. package/esm/icons/show/json-view.svg.js +1 -3
  116. package/esm/icons/show/list.svg.js +1 -3
  117. package/esm/icons/show/log.svg.js +1 -3
  118. package/esm/icons/show/mapping.svg.js +1 -3
  119. package/esm/icons/show/markdown.svg.js +1 -3
  120. package/esm/icons/show/plain.svg.js +1 -3
  121. package/esm/icons/show/progress.svg.js +1 -3
  122. package/esm/icons/show/sparkline.svg.js +1 -3
  123. package/esm/icons/show/status.svg.js +1 -3
  124. package/esm/icons/show/steps.svg.js +1 -3
  125. package/esm/icons/show/time.svg.js +1 -3
  126. package/esm/index.d.ts +11 -2
  127. package/esm/index.js +13 -3
  128. package/esm/locale/en-US.js +315 -102
  129. package/esm/locale/zh-CN.js +218 -3
  130. package/esm/plugin/Alert.d.ts +1 -1
  131. package/esm/plugin/Alert.js +157 -89
  132. package/esm/plugin/AnchorNav.js +337 -263
  133. package/esm/plugin/Audio.d.ts +1 -1
  134. package/esm/plugin/Audio.js +165 -112
  135. package/esm/plugin/Avatar.d.ts +1 -1
  136. package/esm/plugin/Avatar.js +301 -238
  137. package/esm/plugin/Breadcrumb.js +138 -75
  138. package/esm/plugin/Button.d.ts +1 -1
  139. package/esm/plugin/Button.js +310 -228
  140. package/esm/plugin/ButtonGroup.d.ts +1 -1
  141. package/esm/plugin/ButtonGroup.js +174 -106
  142. package/esm/plugin/CRUD.d.ts +1 -1
  143. package/esm/plugin/CRUD.js +1426 -1351
  144. package/esm/plugin/CRUD2.d.ts +2 -3
  145. package/esm/plugin/CRUD2.js +1146 -1075
  146. package/esm/plugin/Card.d.ts +1 -1
  147. package/esm/plugin/Card.js +284 -208
  148. package/esm/plugin/Card2.d.ts +2 -1
  149. package/esm/plugin/Card2.js +139 -74
  150. package/esm/plugin/Cards.js +302 -234
  151. package/esm/plugin/Carousel.d.ts +2 -2
  152. package/esm/plugin/Carousel.js +344 -281
  153. package/esm/plugin/Chart.d.ts +2 -1
  154. package/esm/plugin/Chart.js +326 -158
  155. package/esm/plugin/CodeView.js +104 -44
  156. package/esm/plugin/Collapse.d.ts +1 -1
  157. package/esm/plugin/Collapse.js +168 -101
  158. package/esm/plugin/CollapseGroup.d.ts +1 -1
  159. package/esm/plugin/CollapseGroup.js +249 -187
  160. package/esm/plugin/ColumnToggler.d.ts +1 -1
  161. package/esm/plugin/ColumnToggler.js +140 -87
  162. package/esm/plugin/Container.d.ts +11 -9
  163. package/esm/plugin/Container.js +190 -68
  164. package/esm/plugin/Custom.js +144 -82
  165. package/esm/plugin/CustomRegion.js +173 -110
  166. package/esm/plugin/Date.d.ts +1 -1
  167. package/esm/plugin/Date.js +112 -59
  168. package/esm/plugin/Datetime.d.ts +0 -1
  169. package/esm/plugin/Datetime.js +81 -53
  170. package/esm/plugin/Dialog.d.ts +2 -2
  171. package/esm/plugin/Dialog.js +230 -179
  172. package/esm/plugin/Divider.js +82 -32
  173. package/esm/plugin/Drawer.d.ts +11 -2
  174. package/esm/plugin/Drawer.js +260 -194
  175. package/esm/plugin/DropDownButton.js +261 -182
  176. package/esm/plugin/Each.js +180 -115
  177. package/esm/plugin/Flex.d.ts +2 -27
  178. package/esm/plugin/Flex.js +25 -159
  179. package/esm/plugin/Form/ButtonGroupSelect.d.ts +2 -1
  180. package/esm/plugin/Form/ButtonGroupSelect.js +205 -126
  181. package/esm/plugin/Form/ButtonToolbar.d.ts +1 -1
  182. package/esm/plugin/Form/ButtonToolbar.js +168 -94
  183. package/esm/plugin/Form/ChainedSelect.d.ts +1 -1
  184. package/esm/plugin/Form/ChainedSelect.js +209 -130
  185. package/esm/plugin/Form/Checkbox.d.ts +1 -1
  186. package/esm/plugin/Form/Checkbox.js +208 -131
  187. package/esm/plugin/Form/Checkboxes.d.ts +1 -1
  188. package/esm/plugin/Form/Checkboxes.js +236 -153
  189. package/esm/plugin/Form/CodeEditor.d.ts +0 -1
  190. package/esm/plugin/Form/CodeEditor.js +245 -146
  191. package/esm/plugin/Form/Combo.js +532 -423
  192. package/esm/plugin/Form/ConditionBuilder.d.ts +1 -1
  193. package/esm/plugin/Form/ConditionBuilder.js +287 -221
  194. package/esm/plugin/Form/Control.d.ts +1 -1
  195. package/esm/plugin/Form/Control.js +130 -63
  196. package/esm/plugin/Form/DiffEditor.d.ts +0 -1
  197. package/esm/plugin/Form/DiffEditor.js +253 -151
  198. package/esm/plugin/Form/FieldSet.d.ts +1 -1
  199. package/esm/plugin/Form/FieldSet.js +174 -112
  200. package/esm/plugin/Form/Form.d.ts +1 -1
  201. package/esm/plugin/Form/Form.js +750 -705
  202. package/esm/plugin/Form/Formula.d.ts +1 -9
  203. package/esm/plugin/Form/Formula.js +126 -62
  204. package/esm/plugin/Form/Group.js +250 -183
  205. package/esm/plugin/Form/Hidden.js +106 -42
  206. package/esm/plugin/Form/InputArray.js +233 -157
  207. package/esm/plugin/Form/InputCity.d.ts +1 -1
  208. package/esm/plugin/Form/InputCity.js +181 -104
  209. package/esm/plugin/Form/InputColor.d.ts +1 -1
  210. package/esm/plugin/Form/InputColor.js +296 -224
  211. package/esm/plugin/Form/InputDate.d.ts +1 -1
  212. package/esm/plugin/Form/InputDate.js +299 -189
  213. package/esm/plugin/Form/InputDateRange.d.ts +1 -1
  214. package/esm/plugin/Form/InputDateRange.js +386 -265
  215. package/esm/plugin/Form/InputDateTime.js +93 -33
  216. package/esm/plugin/Form/InputDateTimeRange.js +99 -34
  217. package/esm/plugin/Form/InputEmail.js +80 -30
  218. package/esm/plugin/Form/InputExcel.d.ts +1 -1
  219. package/esm/plugin/Form/InputExcel.js +164 -91
  220. package/esm/plugin/Form/InputFile.d.ts +4 -1
  221. package/esm/plugin/Form/InputFile.js +352 -271
  222. package/esm/plugin/Form/InputGroup.js +132 -73
  223. package/esm/plugin/Form/InputImage.d.ts +4 -1
  224. package/esm/plugin/Form/InputImage.js +385 -303
  225. package/esm/plugin/Form/InputKV.d.ts +1 -1
  226. package/esm/plugin/Form/InputKV.js +168 -94
  227. package/esm/plugin/Form/InputMonth.js +91 -31
  228. package/esm/plugin/Form/InputMonthRange.js +99 -34
  229. package/esm/plugin/Form/InputNumber.d.ts +2 -1
  230. package/esm/plugin/Form/InputNumber.js +288 -201
  231. package/esm/plugin/Form/InputPassword.js +80 -30
  232. package/esm/plugin/Form/InputQuarter.js +91 -31
  233. package/esm/plugin/Form/InputQuarterRange.js +99 -34
  234. package/esm/plugin/Form/InputRange.d.ts +1 -1
  235. package/esm/plugin/Form/InputRange.js +316 -237
  236. package/esm/plugin/Form/InputRating.d.ts +1 -1
  237. package/esm/plugin/Form/InputRating.js +361 -293
  238. package/esm/plugin/Form/InputRepeat.js +105 -45
  239. package/esm/plugin/Form/InputRichText.d.ts +2 -1
  240. package/esm/plugin/Form/InputRichText.js +211 -152
  241. package/esm/plugin/Form/InputSubForm.js +225 -157
  242. package/esm/plugin/Form/InputTable.d.ts +1 -1
  243. package/esm/plugin/Form/InputTable.js +385 -320
  244. package/esm/plugin/Form/InputTag.d.ts +1 -1
  245. package/esm/plugin/Form/InputTag.js +208 -119
  246. package/esm/plugin/Form/InputText.d.ts +1 -1
  247. package/esm/plugin/Form/InputText.js +348 -263
  248. package/esm/plugin/Form/InputTime.js +93 -33
  249. package/esm/plugin/Form/InputTimeRange.js +99 -34
  250. package/esm/plugin/Form/InputTree.d.ts +1 -1
  251. package/esm/plugin/Form/InputTree.js +460 -367
  252. package/esm/plugin/Form/InputURL.js +86 -31
  253. package/esm/plugin/Form/InputYear.js +91 -31
  254. package/esm/plugin/Form/InputYearRange.js +99 -34
  255. package/esm/plugin/Form/Item.d.ts +1 -1
  256. package/esm/plugin/Form/Item.js +214 -190
  257. package/esm/plugin/Form/ListSelect.d.ts +1 -1
  258. package/esm/plugin/Form/ListSelect.js +174 -96
  259. package/esm/plugin/Form/LocationPicker.d.ts +1 -1
  260. package/esm/plugin/Form/LocationPicker.js +115 -57
  261. package/esm/plugin/Form/MatrixCheckboxes.d.ts +1 -1
  262. package/esm/plugin/Form/MatrixCheckboxes.js +247 -170
  263. package/esm/plugin/Form/NestedSelect.d.ts +1 -1
  264. package/esm/plugin/Form/NestedSelect.js +329 -246
  265. package/esm/plugin/Form/Picker.js +260 -178
  266. package/esm/plugin/Form/Radios.d.ts +1 -1
  267. package/esm/plugin/Form/Radios.js +228 -136
  268. package/esm/plugin/Form/Select.d.ts +1 -1
  269. package/esm/plugin/Form/Select.js +333 -228
  270. package/esm/plugin/Form/Static.d.ts +1 -1
  271. package/esm/plugin/Form/Static.js +358 -280
  272. package/esm/plugin/Form/Switch.d.ts +2 -1
  273. package/esm/plugin/Form/Switch.js +257 -172
  274. package/esm/plugin/Form/TabsTransfer.d.ts +1 -1
  275. package/esm/plugin/Form/TabsTransfer.js +316 -238
  276. package/esm/plugin/Form/Textarea.d.ts +0 -1
  277. package/esm/plugin/Form/Textarea.js +219 -130
  278. package/esm/plugin/Form/Transfer.d.ts +1 -1
  279. package/esm/plugin/Form/Transfer.js +349 -259
  280. package/esm/plugin/Form/TreeSelect.d.ts +2 -1
  281. package/esm/plugin/Form/TreeSelect.js +451 -363
  282. package/esm/plugin/Form/UUID.js +106 -42
  283. package/esm/plugin/Grid.d.ts +1 -1
  284. package/esm/plugin/Grid.js +629 -556
  285. package/esm/plugin/HBox.d.ts +1 -1
  286. package/esm/plugin/HBox.js +578 -508
  287. package/esm/plugin/IFrame.d.ts +2 -10
  288. package/esm/plugin/IFrame.js +127 -64
  289. package/esm/plugin/Image.d.ts +2 -2
  290. package/esm/plugin/Image.js +277 -218
  291. package/esm/plugin/Images.d.ts +3 -3
  292. package/esm/plugin/Images.js +214 -160
  293. package/esm/plugin/Json.d.ts +1 -1
  294. package/esm/plugin/Json.js +111 -53
  295. package/esm/plugin/Layout/FlexPluginBase.d.ts +40 -0
  296. package/esm/plugin/Layout/FlexPluginBase.js +327 -0
  297. package/esm/plugin/Layout/Layout1_2_v4.d.ts +10 -0
  298. package/esm/plugin/Layout/Layout1_2_v4.js +144 -0
  299. package/esm/plugin/Layout/Layout_fixed.d.ts +10 -0
  300. package/esm/plugin/Layout/Layout_fixed.js +76 -0
  301. package/esm/plugin/Layout/Layout_fixed_bottom.d.ts +10 -0
  302. package/esm/plugin/Layout/Layout_fixed_bottom.js +83 -0
  303. package/esm/plugin/Layout/Layout_fixed_top.d.ts +10 -0
  304. package/esm/plugin/Layout/Layout_fixed_top.js +82 -0
  305. package/esm/plugin/Layout/Layout_scroll_x.d.ts +10 -0
  306. package/esm/plugin/Layout/Layout_scroll_x.js +166 -0
  307. package/esm/plugin/Layout/Layout_scroll_y.d.ts +10 -0
  308. package/esm/plugin/Layout/Layout_scroll_y.js +154 -0
  309. package/esm/plugin/Link.js +132 -86
  310. package/esm/plugin/List.js +279 -208
  311. package/esm/plugin/ListItem.js +217 -176
  312. package/esm/plugin/Log.d.ts +1 -1
  313. package/esm/plugin/Log.js +102 -44
  314. package/esm/plugin/Mapping.d.ts +1 -1
  315. package/esm/plugin/Mapping.js +168 -115
  316. package/esm/plugin/Markdown.d.ts +1 -1
  317. package/esm/plugin/Markdown.js +98 -40
  318. package/esm/plugin/Nav.js +202 -139
  319. package/esm/plugin/Operation.d.ts +1 -1
  320. package/esm/plugin/Operation.js +116 -59
  321. package/esm/plugin/Others/Action.js +329 -317
  322. package/esm/plugin/Others/TableCell.d.ts +1 -1
  323. package/esm/plugin/Others/TableCell.js +341 -329
  324. package/esm/plugin/Page.d.ts +2 -3
  325. package/esm/plugin/Page.js +374 -283
  326. package/esm/plugin/Pagination.d.ts +2 -1
  327. package/esm/plugin/Pagination.js +299 -219
  328. package/esm/plugin/Panel.d.ts +1 -1
  329. package/esm/plugin/Panel.js +256 -190
  330. package/esm/plugin/Plain.d.ts +1 -1
  331. package/esm/plugin/Plain.js +126 -64
  332. package/esm/plugin/Progress.d.ts +3 -1
  333. package/esm/plugin/Progress.js +280 -202
  334. package/esm/plugin/Property.js +163 -103
  335. package/esm/plugin/QRCode.js +130 -70
  336. package/esm/plugin/Reset.js +61 -22
  337. package/esm/plugin/Service.d.ts +1 -1
  338. package/esm/plugin/Service.js +254 -167
  339. package/esm/plugin/Sparkline.js +91 -32
  340. package/esm/plugin/Status.d.ts +1 -1
  341. package/esm/plugin/Status.js +116 -58
  342. package/esm/plugin/Steps.js +153 -93
  343. package/esm/plugin/Submit.js +56 -22
  344. package/esm/plugin/Table.d.ts +1 -1
  345. package/esm/plugin/Table.js +595 -522
  346. package/esm/plugin/{Table-v2.d.ts → Table2.d.ts} +2 -2
  347. package/esm/plugin/Table2.js +887 -0
  348. package/{lib/plugin/TableCell-v2.d.ts → esm/plugin/TableCell2.d.ts} +1 -1
  349. package/esm/plugin/TableCell2.js +485 -0
  350. package/esm/plugin/TableView.js +648 -599
  351. package/esm/plugin/Tabs.d.ts +1 -1
  352. package/esm/plugin/Tabs.js +470 -360
  353. package/esm/plugin/Tasks.js +246 -186
  354. package/esm/plugin/Time.d.ts +0 -1
  355. package/esm/plugin/Time.js +81 -53
  356. package/esm/plugin/Timeline.d.ts +1 -1
  357. package/esm/plugin/Timeline.js +165 -92
  358. package/esm/plugin/TooltipWrapper.d.ts +1 -1
  359. package/esm/plugin/TooltipWrapper.js +265 -195
  360. package/esm/plugin/Tpl.d.ts +1 -1
  361. package/esm/plugin/Tpl.js +127 -62
  362. package/esm/plugin/Video.d.ts +2 -2
  363. package/esm/plugin/Video.js +173 -103
  364. package/esm/plugin/WebComponent.d.ts +1 -1
  365. package/esm/plugin/WebComponent.js +128 -62
  366. package/esm/plugin/Wizard.js +751 -659
  367. package/esm/plugin/Wrapper.d.ts +2 -1
  368. package/esm/plugin/Wrapper.js +198 -91
  369. package/esm/renderer/APIControl.d.ts +278 -5068
  370. package/esm/renderer/APIControl.js +662 -687
  371. package/esm/renderer/ActionApiControl.d.ts +8 -6384
  372. package/esm/renderer/BadgeControl.d.ts +2 -2
  373. package/esm/renderer/BadgeControl.js +263 -250
  374. package/esm/renderer/DataBindingControl.js +196 -211
  375. package/esm/renderer/DataMappingControl.js +39 -29
  376. package/esm/renderer/DataPickerControl.js +50 -35
  377. package/esm/renderer/DateShortCutControl.d.ts +26 -25
  378. package/esm/renderer/DateShortCutControl.js +420 -286
  379. package/esm/renderer/ExpressionFormulaControl.d.ts +45 -0
  380. package/esm/renderer/ExpressionFormulaControl.js +245 -0
  381. package/esm/renderer/FeatureControl.d.ts +1 -1
  382. package/esm/renderer/FeatureControl.js +228 -212
  383. package/esm/renderer/FormulaControl.d.ts +33 -16
  384. package/esm/renderer/FormulaControl.js +431 -355
  385. package/esm/renderer/GoConfigControl.js +30 -34
  386. package/esm/renderer/OptionControl.d.ts +2 -2
  387. package/esm/renderer/OptionControl.js +750 -688
  388. package/esm/renderer/RangePartsControl.d.ts +2 -2
  389. package/esm/renderer/RangePartsControl.js +320 -326
  390. package/esm/renderer/StatusControl.d.ts +1 -1
  391. package/esm/renderer/StatusControl.js +145 -136
  392. package/esm/renderer/SwitchMoreControl.d.ts +47 -31
  393. package/esm/renderer/SwitchMoreControl.js +366 -318
  394. package/esm/renderer/TimelineItemControl.d.ts +3 -83
  395. package/esm/renderer/TimelineItemControl.js +531 -464
  396. package/esm/renderer/TransferTableControl.d.ts +2 -4
  397. package/esm/renderer/TransferTableControl.js +394 -369
  398. package/esm/renderer/TreeOptionControl.d.ts +1 -1
  399. package/esm/renderer/TreeOptionControl.js +588 -563
  400. package/esm/renderer/ValidationControl.d.ts +1 -1
  401. package/esm/renderer/ValidationControl.js +277 -269
  402. package/esm/renderer/ValidationItem.d.ts +1 -1
  403. package/esm/renderer/ValidationItem.js +145 -134
  404. package/esm/renderer/event-control/action-config-dialog.js +214 -207
  405. package/esm/renderer/event-control/action-config-panel.js +37 -44
  406. package/esm/renderer/event-control/actions.js +466 -145
  407. package/esm/renderer/event-control/comp-action-select.js +37 -27
  408. package/esm/renderer/event-control/helper.d.ts +19 -19
  409. package/esm/renderer/event-control/helper.js +231 -221
  410. package/esm/renderer/event-control/index.d.ts +1 -1
  411. package/esm/renderer/event-control/index.js +641 -631
  412. package/esm/renderer/event-control/types.d.ts +1 -0
  413. package/esm/renderer/style-control/Background.js +64 -116
  414. package/esm/renderer/style-control/Border.js +27 -38
  415. package/esm/renderer/style-control/BoxModel.d.ts +1 -1
  416. package/esm/renderer/style-control/BoxModel.js +11 -4
  417. package/esm/renderer/style-control/BoxShadow.js +17 -19
  418. package/esm/renderer/style-control/Display.js +13 -17
  419. package/esm/renderer/style-control/Font.js +14 -17
  420. package/esm/renderer/style-control/InsetBoxModel.d.ts +17 -0
  421. package/esm/renderer/style-control/InsetBoxModel.js +69 -0
  422. package/esm/renderer/style-control/font-family.js +2 -3
  423. package/esm/renderer/style-control/transformation.js +1 -1
  424. package/esm/renderer/style-control/types.d.ts +4 -4
  425. package/esm/renderer/textarea-formula/FormulaPicker.d.ts +12 -0
  426. package/esm/renderer/textarea-formula/FormulaPicker.js +37 -0
  427. package/esm/renderer/textarea-formula/TextareaFormulaControl.d.ts +67 -0
  428. package/esm/renderer/textarea-formula/TextareaFormulaControl.js +334 -0
  429. package/esm/renderer/textarea-formula/plugin.d.ts +32 -0
  430. package/esm/renderer/textarea-formula/plugin.js +273 -0
  431. package/esm/renderer/textarea-formula/utils.d.ts +12 -0
  432. package/esm/renderer/textarea-formula/utils.js +76 -0
  433. package/esm/tpl/api.js +26 -37
  434. package/esm/tpl/common.js +192 -114
  435. package/esm/tpl/horizontal.js +4 -6
  436. package/esm/tpl/index.d.ts +1 -0
  437. package/esm/tpl/layout.d.ts +1 -0
  438. package/esm/tpl/layout.js +708 -0
  439. package/esm/tpl/options.js +5 -22
  440. package/esm/tpl/style.js +18 -18
  441. package/esm/tpl/validations.js +9 -24
  442. package/esm/util.d.ts +47 -0
  443. package/esm/util.js +22 -0
  444. package/esm/validator.d.ts +1 -2
  445. package/esm/validator.js +11 -24
  446. package/lib/component/BaseControl.d.ts +5 -810
  447. package/lib/component/BaseControl.js +32 -42
  448. package/lib/component/InputComponentName.js +1 -1
  449. package/lib/component/TableViewEditor.js +547 -454
  450. package/lib/icons/btn/btn-group.svg.js +1 -3
  451. package/lib/icons/btn/btn-select.svg.js +1 -3
  452. package/lib/icons/btn/btn-toolbar.svg.js +1 -3
  453. package/lib/icons/btn/button.svg.js +1 -3
  454. package/lib/icons/btn/dropdown-btn.svg.js +1 -3
  455. package/lib/icons/container/anchor-nav.svg.js +1 -3
  456. package/lib/icons/container/collapse.svg.js +1 -3
  457. package/lib/icons/container/container.svg.js +1 -3
  458. package/lib/icons/container/flex-container.svg.js +1 -3
  459. package/lib/icons/container/form-group.svg.js +1 -3
  460. package/lib/icons/container/grid.svg.js +1 -3
  461. package/lib/icons/container/iframe.svg.js +1 -3
  462. package/lib/icons/container/panel.svg.js +1 -3
  463. package/lib/icons/container/table-view.svg.js +1 -3
  464. package/lib/icons/container/tabs.svg.js +1 -3
  465. package/lib/icons/container/tooltip-wrapper.svg.js +1 -3
  466. package/lib/icons/container/web-component.svg.js +1 -3
  467. package/lib/icons/feat/audio.svg.js +1 -3
  468. package/lib/icons/feat/custom.svg.js +1 -3
  469. package/lib/icons/feat/each.svg.js +1 -3
  470. package/lib/icons/feat/form.svg.js +1 -3
  471. package/lib/icons/feat/nav.svg.js +1 -3
  472. package/lib/icons/feat/qrcode.svg.js +1 -3
  473. package/lib/icons/feat/service.svg.js +1 -3
  474. package/lib/icons/feat/table.svg.js +1 -3
  475. package/lib/icons/feat/tasks.svg.js +1 -3
  476. package/lib/icons/feat/video.svg.js +1 -3
  477. package/lib/icons/feat/wizard.svg.js +1 -3
  478. package/lib/icons/form/chained-select.svg.js +1 -3
  479. package/lib/icons/form/checkbox.svg.js +1 -3
  480. package/lib/icons/form/checkboxes.svg.js +1 -3
  481. package/lib/icons/form/combo.svg.js +1 -3
  482. package/lib/icons/form/condition-builder.svg.js +1 -3
  483. package/lib/icons/form/diff-editor.svg.js +1 -3
  484. package/lib/icons/form/editor.svg.js +1 -3
  485. package/lib/icons/form/formula.svg.js +1 -3
  486. package/lib/icons/form/hidden.svg.js +1 -3
  487. package/lib/icons/form/input-city.svg.js +1 -3
  488. package/lib/icons/form/input-color.svg.js +1 -3
  489. package/lib/icons/form/input-date-range.svg.js +1 -3
  490. package/lib/icons/form/input-date.svg.js +1 -3
  491. package/lib/icons/form/input-datetime.svg.js +1 -3
  492. package/lib/icons/form/input-email.svg.js +1 -3
  493. package/lib/icons/form/input-excel.svg.js +1 -3
  494. package/lib/icons/form/input-file.svg.js +1 -3
  495. package/lib/icons/form/input-group.svg.js +1 -3
  496. package/lib/icons/form/input-image.svg.js +1 -3
  497. package/lib/icons/form/input-kv.svg.js +1 -3
  498. package/lib/icons/form/input-month-range.svg.js +1 -3
  499. package/lib/icons/form/input-number.svg.js +1 -3
  500. package/lib/icons/form/input-password.svg.js +1 -3
  501. package/lib/icons/form/input-quarter-range.svg.js +1 -3
  502. package/lib/icons/form/input-range.svg.js +1 -3
  503. package/lib/icons/form/input-rating.svg.js +1 -3
  504. package/lib/icons/form/input-repeat.svg.js +1 -3
  505. package/lib/icons/form/input-rich-text.svg.js +1 -3
  506. package/lib/icons/form/input-tag.svg.js +1 -3
  507. package/lib/icons/form/input-text.svg.js +1 -3
  508. package/lib/icons/form/input-time-range.svg.js +1 -3
  509. package/lib/icons/form/input-time.svg.js +1 -3
  510. package/lib/icons/form/input-tree.svg.js +1 -3
  511. package/lib/icons/form/input-url.svg.js +1 -3
  512. package/lib/icons/form/input-year.svg.js +1 -3
  513. package/lib/icons/form/inputArray.svg.js +1 -3
  514. package/lib/icons/form/list-select.svg.js +1 -3
  515. package/lib/icons/form/location-picker.svg.js +1 -3
  516. package/lib/icons/form/matrix-checkboxes.svg.js +1 -3
  517. package/lib/icons/form/month.svg.js +1 -3
  518. package/lib/icons/form/nested-select.svg.js +1 -3
  519. package/lib/icons/form/picker.svg.js +1 -3
  520. package/lib/icons/form/quarter.svg.js +1 -3
  521. package/lib/icons/form/radios.svg.js +1 -3
  522. package/lib/icons/form/select.svg.js +1 -3
  523. package/lib/icons/form/static.svg.js +1 -3
  524. package/lib/icons/form/sub-form.svg.js +1 -3
  525. package/lib/icons/form/switch.svg.js +1 -3
  526. package/lib/icons/form/tabs-transfer.svg.js +1 -3
  527. package/lib/icons/form/textarea.svg.js +1 -3
  528. package/lib/icons/form/transfer.svg.js +1 -3
  529. package/lib/icons/form/tree-select.svg.js +1 -3
  530. package/lib/icons/form/uuid.svg.js +1 -3
  531. package/lib/icons/index.js +28 -1
  532. package/lib/icons/layout/layout-1with2.svg.js +56 -0
  533. package/lib/icons/layout/layout-2cols.svg.js +56 -0
  534. package/lib/icons/layout/layout-2row.svg.js +56 -0
  535. package/lib/icons/layout/layout-2with1.svg.js +57 -0
  536. package/lib/icons/layout/layout-3cols.svg.js +56 -0
  537. package/lib/icons/layout/layout-3row.svg.js +57 -0
  538. package/lib/icons/layout/layout-absolute.svg.js +51 -0
  539. package/lib/icons/layout/layout-fixed.svg.js +51 -0
  540. package/lib/icons/layout/layout-full.svg.js +73 -0
  541. package/lib/icons/layout/layout1-2.svg.js +57 -0
  542. package/lib/icons/layout/layout2-1.svg.js +57 -0
  543. package/lib/icons/layout/layout3-1.svg.js +57 -0
  544. package/lib/icons/layout/layout3-2.svg.js +57 -0
  545. package/lib/icons/other/divider.svg.js +1 -3
  546. package/lib/icons/other/property-sheet.svg.js +1 -3
  547. package/lib/icons/other/tooltip.svg.js +1 -3
  548. package/lib/icons/show/URL.svg.js +1 -3
  549. package/lib/icons/show/avatar.svg.js +1 -3
  550. package/lib/icons/show/breadcrumb.svg.js +1 -3
  551. package/lib/icons/show/card.svg.js +1 -3
  552. package/lib/icons/show/cards.svg.js +1 -3
  553. package/lib/icons/show/carousel.svg.js +1 -3
  554. package/lib/icons/show/chart.svg.js +1 -3
  555. package/lib/icons/show/code.svg.js +1 -3
  556. package/lib/icons/show/date.svg.js +1 -3
  557. package/lib/icons/show/datetime.svg.js +1 -3
  558. package/lib/icons/show/image.svg.js +1 -3
  559. package/lib/icons/show/images.svg.js +1 -3
  560. package/lib/icons/show/json-view.svg.js +1 -3
  561. package/lib/icons/show/list.svg.js +1 -3
  562. package/lib/icons/show/log.svg.js +1 -3
  563. package/lib/icons/show/mapping.svg.js +1 -3
  564. package/lib/icons/show/markdown.svg.js +1 -3
  565. package/lib/icons/show/plain.svg.js +1 -3
  566. package/lib/icons/show/progress.svg.js +1 -3
  567. package/lib/icons/show/sparkline.svg.js +1 -3
  568. package/lib/icons/show/status.svg.js +1 -3
  569. package/lib/icons/show/steps.svg.js +1 -3
  570. package/lib/icons/show/time.svg.js +1 -3
  571. package/lib/index.d.ts +11 -2
  572. package/lib/index.js +13 -3
  573. package/lib/locale/en-US.js +315 -102
  574. package/lib/locale/zh-CN.js +218 -3
  575. package/lib/plugin/Alert.d.ts +1 -1
  576. package/lib/plugin/Alert.js +157 -89
  577. package/lib/plugin/AnchorNav.js +337 -263
  578. package/lib/plugin/Audio.d.ts +1 -1
  579. package/lib/plugin/Audio.js +165 -112
  580. package/lib/plugin/Avatar.d.ts +1 -1
  581. package/lib/plugin/Avatar.js +301 -238
  582. package/lib/plugin/Breadcrumb.js +138 -75
  583. package/lib/plugin/Button.d.ts +1 -1
  584. package/lib/plugin/Button.js +310 -228
  585. package/lib/plugin/ButtonGroup.d.ts +1 -1
  586. package/lib/plugin/ButtonGroup.js +174 -106
  587. package/lib/plugin/CRUD.d.ts +1 -1
  588. package/lib/plugin/CRUD.js +1426 -1351
  589. package/lib/plugin/CRUD2.d.ts +2 -3
  590. package/lib/plugin/CRUD2.js +1152 -1081
  591. package/lib/plugin/Card.d.ts +1 -1
  592. package/lib/plugin/Card.js +284 -208
  593. package/lib/plugin/Card2.d.ts +2 -1
  594. package/lib/plugin/Card2.js +139 -74
  595. package/lib/plugin/Cards.js +302 -234
  596. package/lib/plugin/Carousel.d.ts +2 -2
  597. package/lib/plugin/Carousel.js +344 -281
  598. package/lib/plugin/Chart.d.ts +2 -1
  599. package/lib/plugin/Chart.js +326 -158
  600. package/lib/plugin/CodeView.js +104 -44
  601. package/lib/plugin/Collapse.d.ts +1 -1
  602. package/lib/plugin/Collapse.js +168 -101
  603. package/lib/plugin/CollapseGroup.d.ts +1 -1
  604. package/lib/plugin/CollapseGroup.js +249 -187
  605. package/lib/plugin/ColumnToggler.d.ts +1 -1
  606. package/lib/plugin/ColumnToggler.js +140 -87
  607. package/lib/plugin/Container.d.ts +11 -9
  608. package/lib/plugin/Container.js +190 -68
  609. package/lib/plugin/Custom.js +144 -82
  610. package/lib/plugin/CustomRegion.js +173 -110
  611. package/lib/plugin/Date.d.ts +1 -1
  612. package/lib/plugin/Date.js +112 -59
  613. package/lib/plugin/Datetime.d.ts +0 -1
  614. package/lib/plugin/Datetime.js +81 -53
  615. package/lib/plugin/Dialog.d.ts +2 -2
  616. package/lib/plugin/Dialog.js +230 -179
  617. package/lib/plugin/Divider.js +82 -32
  618. package/lib/plugin/Drawer.d.ts +11 -2
  619. package/lib/plugin/Drawer.js +260 -194
  620. package/lib/plugin/DropDownButton.js +261 -182
  621. package/lib/plugin/Each.js +180 -115
  622. package/lib/plugin/Flex.d.ts +2 -27
  623. package/lib/plugin/Flex.js +23 -157
  624. package/lib/plugin/Form/ButtonGroupSelect.d.ts +2 -1
  625. package/lib/plugin/Form/ButtonGroupSelect.js +205 -126
  626. package/lib/plugin/Form/ButtonToolbar.d.ts +1 -1
  627. package/lib/plugin/Form/ButtonToolbar.js +168 -94
  628. package/lib/plugin/Form/ChainedSelect.d.ts +1 -1
  629. package/lib/plugin/Form/ChainedSelect.js +209 -130
  630. package/lib/plugin/Form/Checkbox.d.ts +1 -1
  631. package/lib/plugin/Form/Checkbox.js +208 -131
  632. package/lib/plugin/Form/Checkboxes.d.ts +1 -1
  633. package/lib/plugin/Form/Checkboxes.js +236 -153
  634. package/lib/plugin/Form/CodeEditor.d.ts +0 -1
  635. package/lib/plugin/Form/CodeEditor.js +245 -146
  636. package/lib/plugin/Form/Combo.js +532 -423
  637. package/lib/plugin/Form/ConditionBuilder.d.ts +1 -1
  638. package/lib/plugin/Form/ConditionBuilder.js +288 -222
  639. package/lib/plugin/Form/Control.d.ts +1 -1
  640. package/lib/plugin/Form/Control.js +130 -63
  641. package/lib/plugin/Form/DiffEditor.d.ts +0 -1
  642. package/lib/plugin/Form/DiffEditor.js +252 -150
  643. package/lib/plugin/Form/FieldSet.d.ts +1 -1
  644. package/lib/plugin/Form/FieldSet.js +174 -112
  645. package/lib/plugin/Form/Form.d.ts +1 -1
  646. package/lib/plugin/Form/Form.js +750 -705
  647. package/lib/plugin/Form/Formula.d.ts +1 -9
  648. package/lib/plugin/Form/Formula.js +126 -62
  649. package/lib/plugin/Form/Group.js +250 -183
  650. package/lib/plugin/Form/Hidden.js +106 -42
  651. package/lib/plugin/Form/InputArray.js +233 -157
  652. package/lib/plugin/Form/InputCity.d.ts +1 -1
  653. package/lib/plugin/Form/InputCity.js +181 -104
  654. package/lib/plugin/Form/InputColor.d.ts +1 -1
  655. package/lib/plugin/Form/InputColor.js +296 -224
  656. package/lib/plugin/Form/InputDate.d.ts +1 -1
  657. package/lib/plugin/Form/InputDate.js +299 -189
  658. package/lib/plugin/Form/InputDateRange.d.ts +1 -1
  659. package/lib/plugin/Form/InputDateRange.js +385 -264
  660. package/lib/plugin/Form/InputDateTime.js +93 -33
  661. package/lib/plugin/Form/InputDateTimeRange.js +99 -34
  662. package/lib/plugin/Form/InputEmail.js +80 -30
  663. package/lib/plugin/Form/InputExcel.d.ts +1 -1
  664. package/lib/plugin/Form/InputExcel.js +164 -91
  665. package/lib/plugin/Form/InputFile.d.ts +4 -1
  666. package/lib/plugin/Form/InputFile.js +352 -271
  667. package/lib/plugin/Form/InputGroup.js +132 -73
  668. package/lib/plugin/Form/InputImage.d.ts +4 -1
  669. package/lib/plugin/Form/InputImage.js +385 -303
  670. package/lib/plugin/Form/InputKV.d.ts +1 -1
  671. package/lib/plugin/Form/InputKV.js +168 -94
  672. package/lib/plugin/Form/InputMonth.js +91 -31
  673. package/lib/plugin/Form/InputMonthRange.js +99 -34
  674. package/lib/plugin/Form/InputNumber.d.ts +2 -1
  675. package/lib/plugin/Form/InputNumber.js +287 -200
  676. package/lib/plugin/Form/InputPassword.js +80 -30
  677. package/lib/plugin/Form/InputQuarter.js +91 -31
  678. package/lib/plugin/Form/InputQuarterRange.js +99 -34
  679. package/lib/plugin/Form/InputRange.d.ts +1 -1
  680. package/lib/plugin/Form/InputRange.js +315 -236
  681. package/lib/plugin/Form/InputRating.d.ts +1 -1
  682. package/lib/plugin/Form/InputRating.js +361 -293
  683. package/lib/plugin/Form/InputRepeat.js +105 -45
  684. package/lib/plugin/Form/InputRichText.d.ts +2 -1
  685. package/lib/plugin/Form/InputRichText.js +211 -152
  686. package/lib/plugin/Form/InputSubForm.js +225 -157
  687. package/lib/plugin/Form/InputTable.d.ts +1 -1
  688. package/lib/plugin/Form/InputTable.js +385 -320
  689. package/lib/plugin/Form/InputTag.d.ts +1 -1
  690. package/lib/plugin/Form/InputTag.js +208 -119
  691. package/lib/plugin/Form/InputText.d.ts +1 -1
  692. package/lib/plugin/Form/InputText.js +348 -263
  693. package/lib/plugin/Form/InputTime.js +93 -33
  694. package/lib/plugin/Form/InputTimeRange.js +99 -34
  695. package/lib/plugin/Form/InputTree.d.ts +1 -1
  696. package/lib/plugin/Form/InputTree.js +460 -367
  697. package/lib/plugin/Form/InputURL.js +86 -31
  698. package/lib/plugin/Form/InputYear.js +91 -31
  699. package/lib/plugin/Form/InputYearRange.js +99 -34
  700. package/lib/plugin/Form/Item.d.ts +1 -1
  701. package/lib/plugin/Form/Item.js +213 -189
  702. package/lib/plugin/Form/ListSelect.d.ts +1 -1
  703. package/lib/plugin/Form/ListSelect.js +174 -96
  704. package/lib/plugin/Form/LocationPicker.d.ts +1 -1
  705. package/lib/plugin/Form/LocationPicker.js +115 -57
  706. package/lib/plugin/Form/MatrixCheckboxes.d.ts +1 -1
  707. package/lib/plugin/Form/MatrixCheckboxes.js +247 -170
  708. package/lib/plugin/Form/NestedSelect.d.ts +1 -1
  709. package/lib/plugin/Form/NestedSelect.js +329 -246
  710. package/lib/plugin/Form/Picker.js +260 -178
  711. package/lib/plugin/Form/Radios.d.ts +1 -1
  712. package/lib/plugin/Form/Radios.js +228 -136
  713. package/lib/plugin/Form/Select.d.ts +1 -1
  714. package/lib/plugin/Form/Select.js +333 -228
  715. package/lib/plugin/Form/Static.d.ts +1 -1
  716. package/lib/plugin/Form/Static.js +358 -280
  717. package/lib/plugin/Form/Switch.d.ts +2 -1
  718. package/lib/plugin/Form/Switch.js +257 -172
  719. package/lib/plugin/Form/TabsTransfer.d.ts +1 -1
  720. package/lib/plugin/Form/TabsTransfer.js +316 -238
  721. package/lib/plugin/Form/Textarea.d.ts +0 -1
  722. package/lib/plugin/Form/Textarea.js +219 -130
  723. package/lib/plugin/Form/Transfer.d.ts +1 -1
  724. package/lib/plugin/Form/Transfer.js +349 -259
  725. package/lib/plugin/Form/TreeSelect.d.ts +2 -1
  726. package/lib/plugin/Form/TreeSelect.js +451 -363
  727. package/lib/plugin/Form/UUID.js +106 -42
  728. package/lib/plugin/Grid.d.ts +1 -1
  729. package/lib/plugin/Grid.js +629 -556
  730. package/lib/plugin/HBox.d.ts +1 -1
  731. package/lib/plugin/HBox.js +578 -508
  732. package/lib/plugin/IFrame.d.ts +2 -10
  733. package/lib/plugin/IFrame.js +127 -64
  734. package/lib/plugin/Image.d.ts +2 -2
  735. package/lib/plugin/Image.js +277 -218
  736. package/lib/plugin/Images.d.ts +3 -3
  737. package/lib/plugin/Images.js +214 -160
  738. package/lib/plugin/Json.d.ts +1 -1
  739. package/lib/plugin/Json.js +111 -53
  740. package/lib/plugin/Layout/FlexPluginBase.d.ts +40 -0
  741. package/lib/plugin/Layout/FlexPluginBase.js +332 -0
  742. package/lib/plugin/Layout/Layout1_2_v4.d.ts +10 -0
  743. package/lib/plugin/Layout/Layout1_2_v4.js +148 -0
  744. package/lib/plugin/Layout/Layout_fixed.d.ts +10 -0
  745. package/lib/plugin/Layout/Layout_fixed.js +80 -0
  746. package/lib/plugin/Layout/Layout_fixed_bottom.d.ts +10 -0
  747. package/lib/plugin/Layout/Layout_fixed_bottom.js +87 -0
  748. package/lib/plugin/Layout/Layout_fixed_top.d.ts +10 -0
  749. package/lib/plugin/Layout/Layout_fixed_top.js +86 -0
  750. package/lib/plugin/Layout/Layout_scroll_x.d.ts +10 -0
  751. package/lib/plugin/Layout/Layout_scroll_x.js +170 -0
  752. package/lib/plugin/Layout/Layout_scroll_y.d.ts +10 -0
  753. package/lib/plugin/Layout/Layout_scroll_y.js +158 -0
  754. package/lib/plugin/Link.js +131 -85
  755. package/lib/plugin/List.js +279 -208
  756. package/lib/plugin/ListItem.js +217 -176
  757. package/lib/plugin/Log.d.ts +1 -1
  758. package/lib/plugin/Log.js +102 -44
  759. package/lib/plugin/Mapping.d.ts +1 -1
  760. package/lib/plugin/Mapping.js +168 -115
  761. package/lib/plugin/Markdown.d.ts +1 -1
  762. package/lib/plugin/Markdown.js +98 -40
  763. package/lib/plugin/Nav.js +202 -139
  764. package/lib/plugin/Operation.d.ts +1 -1
  765. package/lib/plugin/Operation.js +116 -59
  766. package/lib/plugin/Others/Action.js +329 -317
  767. package/lib/plugin/Others/TableCell.d.ts +1 -1
  768. package/lib/plugin/Others/TableCell.js +341 -329
  769. package/lib/plugin/Page.d.ts +2 -3
  770. package/lib/plugin/Page.js +374 -283
  771. package/lib/plugin/Pagination.d.ts +2 -1
  772. package/lib/plugin/Pagination.js +299 -219
  773. package/lib/plugin/Panel.d.ts +1 -1
  774. package/lib/plugin/Panel.js +256 -190
  775. package/lib/plugin/Plain.d.ts +1 -1
  776. package/lib/plugin/Plain.js +126 -64
  777. package/lib/plugin/Progress.d.ts +3 -1
  778. package/lib/plugin/Progress.js +280 -202
  779. package/lib/plugin/Property.js +163 -103
  780. package/lib/plugin/QRCode.js +130 -70
  781. package/lib/plugin/Reset.js +61 -22
  782. package/lib/plugin/Service.d.ts +1 -1
  783. package/lib/plugin/Service.js +254 -167
  784. package/lib/plugin/Sparkline.js +91 -32
  785. package/lib/plugin/Status.d.ts +1 -1
  786. package/lib/plugin/Status.js +116 -58
  787. package/lib/plugin/Steps.js +153 -93
  788. package/lib/plugin/Submit.js +56 -22
  789. package/lib/plugin/Table.d.ts +1 -1
  790. package/lib/plugin/Table.js +595 -522
  791. package/lib/plugin/{Table-v2.d.ts → Table2.d.ts} +2 -2
  792. package/lib/plugin/Table2.js +891 -0
  793. package/{esm/plugin/TableCell-v2.d.ts → lib/plugin/TableCell2.d.ts} +1 -1
  794. package/lib/plugin/TableCell2.js +493 -0
  795. package/lib/plugin/TableView.js +648 -599
  796. package/lib/plugin/Tabs.d.ts +1 -1
  797. package/lib/plugin/Tabs.js +470 -360
  798. package/lib/plugin/Tasks.js +246 -186
  799. package/lib/plugin/Time.d.ts +0 -1
  800. package/lib/plugin/Time.js +81 -53
  801. package/lib/plugin/Timeline.d.ts +1 -1
  802. package/lib/plugin/Timeline.js +165 -92
  803. package/lib/plugin/TooltipWrapper.d.ts +1 -1
  804. package/lib/plugin/TooltipWrapper.js +265 -195
  805. package/lib/plugin/Tpl.d.ts +1 -1
  806. package/lib/plugin/Tpl.js +126 -61
  807. package/lib/plugin/Video.d.ts +2 -2
  808. package/lib/plugin/Video.js +173 -103
  809. package/lib/plugin/WebComponent.d.ts +1 -1
  810. package/lib/plugin/WebComponent.js +128 -62
  811. package/lib/plugin/Wizard.js +751 -659
  812. package/lib/plugin/Wrapper.d.ts +2 -1
  813. package/lib/plugin/Wrapper.js +198 -91
  814. package/lib/renderer/APIControl.d.ts +278 -5068
  815. package/lib/renderer/APIControl.js +663 -688
  816. package/lib/renderer/ActionApiControl.d.ts +8 -6384
  817. package/lib/renderer/BadgeControl.d.ts +6 -6
  818. package/lib/renderer/BadgeControl.js +263 -250
  819. package/lib/renderer/DataBindingControl.js +197 -212
  820. package/lib/renderer/DataMappingControl.js +39 -29
  821. package/lib/renderer/DataPickerControl.js +50 -35
  822. package/lib/renderer/DateShortCutControl.d.ts +26 -25
  823. package/lib/renderer/DateShortCutControl.js +418 -284
  824. package/lib/renderer/ExpressionFormulaControl.d.ts +45 -0
  825. package/lib/renderer/ExpressionFormulaControl.js +254 -0
  826. package/lib/renderer/FeatureControl.d.ts +1 -1
  827. package/lib/renderer/FeatureControl.js +229 -213
  828. package/lib/renderer/FormulaControl.d.ts +33 -16
  829. package/lib/renderer/FormulaControl.js +429 -356
  830. package/lib/renderer/GoConfigControl.js +30 -34
  831. package/lib/renderer/OptionControl.d.ts +2 -2
  832. package/lib/renderer/OptionControl.js +750 -688
  833. package/lib/renderer/RangePartsControl.d.ts +2 -2
  834. package/lib/renderer/RangePartsControl.js +320 -326
  835. package/lib/renderer/StatusControl.d.ts +1 -1
  836. package/lib/renderer/StatusControl.js +145 -136
  837. package/lib/renderer/SwitchMoreControl.d.ts +67 -51
  838. package/lib/renderer/SwitchMoreControl.js +367 -319
  839. package/lib/renderer/TimelineItemControl.d.ts +3 -83
  840. package/lib/renderer/TimelineItemControl.js +531 -464
  841. package/lib/renderer/TransferTableControl.d.ts +2 -4
  842. package/lib/renderer/TransferTableControl.js +394 -369
  843. package/lib/renderer/TreeOptionControl.d.ts +1 -1
  844. package/lib/renderer/TreeOptionControl.js +588 -563
  845. package/lib/renderer/ValidationControl.d.ts +1 -1
  846. package/lib/renderer/ValidationControl.js +277 -269
  847. package/lib/renderer/ValidationItem.d.ts +1 -1
  848. package/lib/renderer/ValidationItem.js +145 -134
  849. package/lib/renderer/event-control/action-config-dialog.js +214 -207
  850. package/lib/renderer/event-control/action-config-panel.js +37 -44
  851. package/lib/renderer/event-control/actions.js +465 -144
  852. package/lib/renderer/event-control/comp-action-select.js +37 -27
  853. package/lib/renderer/event-control/helper.d.ts +19 -19
  854. package/lib/renderer/event-control/helper.js +232 -220
  855. package/lib/renderer/event-control/index.d.ts +1 -1
  856. package/lib/renderer/event-control/index.js +641 -630
  857. package/lib/renderer/event-control/types.d.ts +1 -0
  858. package/lib/renderer/style-control/Background.js +64 -116
  859. package/lib/renderer/style-control/Border.js +27 -38
  860. package/lib/renderer/style-control/BoxModel.d.ts +1 -1
  861. package/lib/renderer/style-control/BoxModel.js +11 -4
  862. package/lib/renderer/style-control/BoxShadow.js +17 -19
  863. package/lib/renderer/style-control/Display.js +13 -17
  864. package/lib/renderer/style-control/Font.js +14 -17
  865. package/lib/renderer/style-control/InsetBoxModel.d.ts +17 -0
  866. package/lib/renderer/style-control/InsetBoxModel.js +77 -0
  867. package/lib/renderer/style-control/font-family.js +2 -3
  868. package/lib/renderer/style-control/transformation.js +1 -1
  869. package/lib/renderer/style-control/types.d.ts +4 -4
  870. package/lib/renderer/textarea-formula/FormulaPicker.d.ts +12 -0
  871. package/lib/renderer/textarea-formula/FormulaPicker.js +47 -0
  872. package/lib/renderer/textarea-formula/TextareaFormulaControl.d.ts +67 -0
  873. package/lib/renderer/textarea-formula/TextareaFormulaControl.js +345 -0
  874. package/lib/renderer/textarea-formula/plugin.d.ts +32 -0
  875. package/lib/renderer/textarea-formula/plugin.js +278 -0
  876. package/lib/renderer/textarea-formula/utils.d.ts +12 -0
  877. package/lib/renderer/textarea-formula/utils.js +81 -0
  878. package/lib/tpl/api.js +30 -41
  879. package/lib/tpl/common.js +192 -113
  880. package/lib/tpl/horizontal.js +6 -8
  881. package/lib/tpl/index.d.ts +1 -0
  882. package/lib/tpl/layout.d.ts +1 -0
  883. package/lib/tpl/layout.js +715 -0
  884. package/lib/tpl/options.js +5 -22
  885. package/lib/tpl/style.js +18 -18
  886. package/lib/tpl/validations.js +9 -24
  887. package/lib/util.d.ts +47 -0
  888. package/lib/util.js +30 -0
  889. package/lib/validator.d.ts +1 -2
  890. package/lib/validator.js +11 -24
  891. package/package.json +10 -28
  892. package/esm/plugin/Table-v2.js +0 -819
  893. package/esm/plugin/TableCell-v2.js +0 -499
  894. package/lib/plugin/Table-v2.js +0 -823
  895. package/lib/plugin/TableCell-v2.js +0 -507
@@ -0,0 +1,334 @@
1
+ /**
2
+ * amis-editor v5.2.1-beta.15
3
+ * Copyright 2018-2022 @fex
4
+ */
5
+
6
+ import { __extends, __awaiter, __generator, __assign, __rest, __decorate, __metadata } from 'tslib';
7
+ import React__default from 'react';
8
+ import cx from 'classnames';
9
+ import { Icon, FormItem } from 'amis';
10
+ import { autobind } from 'amis-core';
11
+ import CodeMirrorEditor from 'amis-ui/lib/components/CodeMirror';
12
+ import { editorFactory, FormulaPlugin } from './plugin.js';
13
+ import FormulaPicker from './FormulaPicker.js';
14
+ import debounce from 'lodash/debounce';
15
+ import { getVariables } from './utils.js';
16
+ import { i18n } from 'i18n-runtime';
17
+
18
+ /**
19
+ * @file 长文本公式输入框
20
+ */
21
+ var TextareaFormulaControl = /** @class */function (_super) {
22
+ __extends(TextareaFormulaControl, _super);
23
+ function TextareaFormulaControl(props) {
24
+ var _this = _super.call(this, props) || this;
25
+ Object.defineProperty(_this, "isUnmount", {
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ Object.defineProperty(_this, "editorPlugin", {
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true,
35
+ value: void 0
36
+ });
37
+ Object.defineProperty(_this, "handleOnChange", {
38
+ enumerable: true,
39
+ configurable: true,
40
+ writable: true,
41
+ value: debounce(function (value) {
42
+ var _a, _b;
43
+ (_b = (_a = _this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value);
44
+ }, 200)
45
+ });
46
+ _this.state = {
47
+ value: '',
48
+ variables: [],
49
+ formulaPickerOpen: false,
50
+ formulaPickerValue: '',
51
+ isFullscreen: false
52
+ };
53
+ return _this;
54
+ }
55
+ Object.defineProperty(TextareaFormulaControl.prototype, "componentDidMount", {
56
+ enumerable: false,
57
+ configurable: true,
58
+ writable: true,
59
+ value: function () {
60
+ return __awaiter(this, void 0, void 0, function () {
61
+ var variablesArr;
62
+ return __generator(this, function (_a) {
63
+ switch (_a.label) {
64
+ case 0:
65
+ return [4 /*yield*/, getVariables(this)];
66
+ case 1:
67
+ variablesArr = _a.sent();
68
+ this.setState({
69
+ variables: variablesArr
70
+ });
71
+ return [2 /*return*/];
72
+ }
73
+ });
74
+ });
75
+ }
76
+ });
77
+
78
+ Object.defineProperty(TextareaFormulaControl.prototype, "componentDidUpdate", {
79
+ enumerable: false,
80
+ configurable: true,
81
+ writable: true,
82
+ value: function (prevProps) {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var variablesArr;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0:
88
+ if (!(this.props.data !== prevProps.data)) return [3 /*break*/, 2];
89
+ return [4 /*yield*/, getVariables(this)];
90
+ case 1:
91
+ variablesArr = _a.sent();
92
+ this.setState({
93
+ variables: variablesArr
94
+ });
95
+ _a.label = 2;
96
+ case 2:
97
+ return [2 /*return*/];
98
+ }
99
+ });
100
+ });
101
+ }
102
+ });
103
+
104
+ Object.defineProperty(TextareaFormulaControl.prototype, "componentWillUnmount", {
105
+ enumerable: false,
106
+ configurable: true,
107
+ writable: true,
108
+ value: function () {
109
+ this.isUnmount = true;
110
+ }
111
+ });
112
+ Object.defineProperty(TextareaFormulaControl.prototype, "onExpressionClick", {
113
+ enumerable: false,
114
+ configurable: true,
115
+ writable: true,
116
+ value: function (expression, brace) {
117
+ this.setState({
118
+ formulaPickerValue: expression,
119
+ formulaPickerOpen: true,
120
+ expressionBrace: brace
121
+ });
122
+ }
123
+ });
124
+ Object.defineProperty(TextareaFormulaControl.prototype, "closeFormulaPicker", {
125
+ enumerable: false,
126
+ configurable: true,
127
+ writable: true,
128
+ value: function () {
129
+ this.setState({
130
+ formulaPickerOpen: false
131
+ });
132
+ }
133
+ });
134
+ Object.defineProperty(TextareaFormulaControl.prototype, "handleConfirm", {
135
+ enumerable: false,
136
+ configurable: true,
137
+ writable: true,
138
+ value: function (value) {
139
+ var _a;
140
+ var expressionBrace = this.state.expressionBrace;
141
+ // 去除可能包裹的最外层的${}
142
+ value = value.replace(/^\$\{(.*)\}$/, function (match, p1) {
143
+ return p1;
144
+ });
145
+ value = value ? "${".concat(value, "}") : value;
146
+ (_a = this.editorPlugin) === null || _a === void 0 ? void 0 : _a.insertContent(value, 'expression', expressionBrace);
147
+ this.setState({
148
+ formulaPickerOpen: false,
149
+ expressionBrace: undefined
150
+ });
151
+ this.closeFormulaPicker();
152
+ }
153
+ });
154
+ Object.defineProperty(TextareaFormulaControl.prototype, "editorFactory", {
155
+ enumerable: false,
156
+ configurable: true,
157
+ writable: true,
158
+ value: function (dom, cm) {
159
+ var variables = this.props.variables || this.state.variables;
160
+ return editorFactory(dom, cm, __assign(__assign({}, this.props), {
161
+ variables: variables
162
+ }));
163
+ }
164
+ });
165
+ Object.defineProperty(TextareaFormulaControl.prototype, "handleEditorMounted", {
166
+ enumerable: false,
167
+ configurable: true,
168
+ writable: true,
169
+ value: function (cm, editor) {
170
+ var _this = this;
171
+ var variables = this.props.variables || this.state.variables;
172
+ this.editorPlugin = new FormulaPlugin(editor, cm, function () {
173
+ return __assign(__assign({}, _this.props), {
174
+ variables: variables
175
+ });
176
+ }, this.onExpressionClick);
177
+ }
178
+ });
179
+ Object.defineProperty(TextareaFormulaControl.prototype, "handleFullscreenModeChange", {
180
+ enumerable: false,
181
+ configurable: true,
182
+ writable: true,
183
+ value: function () {
184
+ this.setState({
185
+ isFullscreen: !this.state.isFullscreen
186
+ });
187
+ }
188
+ });
189
+ Object.defineProperty(TextareaFormulaControl.prototype, "handleFormulaClick", {
190
+ enumerable: false,
191
+ configurable: true,
192
+ writable: true,
193
+ value: function () {
194
+ this.setState({
195
+ formulaPickerOpen: true,
196
+ formulaPickerValue: '',
197
+ expressionBrace: undefined
198
+ });
199
+ }
200
+ });
201
+ Object.defineProperty(TextareaFormulaControl.prototype, "editorAutoMark", {
202
+ enumerable: false,
203
+ configurable: true,
204
+ writable: true,
205
+ value: function () {
206
+ var _a;
207
+ (_a = this.editorPlugin) === null || _a === void 0 ? void 0 : _a.autoMark();
208
+ }
209
+ });
210
+ Object.defineProperty(TextareaFormulaControl.prototype, "render", {
211
+ enumerable: false,
212
+ configurable: true,
213
+ writable: true,
214
+ value: function () {
215
+ var _this = this;
216
+ var _a = this.props,
217
+ className = _a.className;
218
+ _a.header;
219
+ _a.label;
220
+ _a.placeholder;
221
+ var height = _a.height,
222
+ additionalMenus = _a.additionalMenus,
223
+ rest = __rest(_a, ["className", "header", "label", "placeholder", "height", "additionalMenus"]);
224
+ var _b = this.state,
225
+ value = _b.value,
226
+ formulaPickerOpen = _b.formulaPickerOpen,
227
+ formulaPickerValue = _b.formulaPickerValue,
228
+ isFullscreen = _b.isFullscreen,
229
+ variables = _b.variables;
230
+ // 输入框样式
231
+ var resultBoxStyle = {};
232
+ if (height) {
233
+ resultBoxStyle.height = "".concat(height, "px");
234
+ }
235
+ return React__default.createElement("div", {
236
+ className: cx('ae-TextareaFormulaControl', {
237
+ 'is-fullscreen': this.state.isFullscreen
238
+ }, className)
239
+ }, React__default.createElement("div", {
240
+ className: cx('ae-TextareaResultBox'),
241
+ style: resultBoxStyle
242
+ }, React__default.createElement(CodeMirrorEditor, {
243
+ className: "ae-TextareaResultBox-editor",
244
+ value: value,
245
+ onChange: this.handleOnChange,
246
+ editorFactory: this.editorFactory,
247
+ editorDidMount: this.handleEditorMounted,
248
+ onBlur: this.editorAutoMark
249
+ }), React__default.createElement("ul", {
250
+ className: "ae-TextareaResultBox-footer"
251
+ }, React__default.createElement("li", {
252
+ className: "ae-TextareaResultBox-footer-fullscreen"
253
+ }, React__default.createElement("a", {
254
+ className: cx('Modal-fullscreen'),
255
+ "data-tooltip": isFullscreen ? i18n("49041f245018a6d799fee3c6f177c782") : i18n("185926bf986c784d03a9a73102da6542"),
256
+ "data-position": "top",
257
+ onClick: this.handleFullscreenModeChange
258
+ }, React__default.createElement(Icon, {
259
+ icon: isFullscreen ? 'compress-alt' : 'expand-alt',
260
+ className: "icon"
261
+ }))), React__default.createElement("li", {
262
+ className: "ae-TextareaResultBox-footer-fxIcon"
263
+ }, React__default.createElement("a", {
264
+ "data-tooltip": "\u8868\u8FBE\u5F0F",
265
+ "data-position": "top",
266
+ onClick: this.handleFormulaClick
267
+ }, React__default.createElement(Icon, {
268
+ icon: "function",
269
+ className: "icon"
270
+ }))), (additionalMenus === null || additionalMenus === void 0 ? void 0 : additionalMenus.length) && (additionalMenus === null || additionalMenus === void 0 ? void 0 : additionalMenus.map(function (item, i) {
271
+ return React__default.createElement("li", {
272
+ key: i,
273
+ className: (item === null || item === void 0 ? void 0 : item.className) || ''
274
+ }, item.icon ? React__default.createElement("a", {
275
+ "data-tooltip": item.label,
276
+ "data-position": "top",
277
+ onClick: function () {
278
+ return item.onClick();
279
+ }
280
+ }, React__default.createElement(Icon, {
281
+ icon: item.icon,
282
+ className: "icon"
283
+ })) : React__default.createElement("a", {
284
+ onClick: function () {
285
+ return item === null || item === void 0 ? void 0 : item.onClick();
286
+ }
287
+ }, item.label));
288
+ })))), formulaPickerOpen ? React__default.createElement(FormulaPicker, {
289
+ value: formulaPickerValue,
290
+ initable: true,
291
+ variables: variables,
292
+ variableMode: rest.variableMode,
293
+ evalMode: true,
294
+ onClose: function () {
295
+ return _this.setState({
296
+ formulaPickerOpen: false
297
+ });
298
+ },
299
+ onConfirm: this.handleConfirm
300
+ }) : null);
301
+ }
302
+ });
303
+ Object.defineProperty(TextareaFormulaControl, "defaultProps", {
304
+ enumerable: true,
305
+ configurable: true,
306
+ writable: true,
307
+ value: {
308
+ variableMode: 'tabs',
309
+ requiredDataPropsVariables: false,
310
+ height: 100
311
+ }
312
+ });
313
+ __decorate([autobind, __metadata("design:type", Function), __metadata("design:paramtypes", [String, Array]), __metadata("design:returntype", void 0)], TextareaFormulaControl.prototype, "onExpressionClick", null);
314
+ __decorate([autobind, __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0)], TextareaFormulaControl.prototype, "closeFormulaPicker", null);
315
+ __decorate([autobind, __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0)], TextareaFormulaControl.prototype, "handleConfirm", null);
316
+ __decorate([autobind, __metadata("design:type", Function), __metadata("design:paramtypes", [HTMLElement, Object]), __metadata("design:returntype", void 0)], TextareaFormulaControl.prototype, "editorFactory", null);
317
+ __decorate([autobind, __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object]), __metadata("design:returntype", void 0)], TextareaFormulaControl.prototype, "handleEditorMounted", null);
318
+ __decorate([autobind, __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0)], TextareaFormulaControl.prototype, "handleFullscreenModeChange", null);
319
+ __decorate([autobind, __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0)], TextareaFormulaControl.prototype, "handleFormulaClick", null);
320
+ __decorate([autobind, __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0)], TextareaFormulaControl.prototype, "editorAutoMark", null);
321
+ return TextareaFormulaControl;
322
+ }(React__default.Component);
323
+ /** @class */(function (_super) {
324
+ __extends(TextareaFormulaControlRenderer, _super);
325
+ function TextareaFormulaControlRenderer() {
326
+ return _super !== null && _super.apply(this, arguments) || this;
327
+ }
328
+ TextareaFormulaControlRenderer = __decorate([FormItem({
329
+ type: 'ae-textareaFormulaControl'
330
+ })], TextareaFormulaControlRenderer);
331
+ return TextareaFormulaControlRenderer;
332
+ })(TextareaFormulaControl);
333
+
334
+ export { TextareaFormulaControl };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @file 扩展 codemirror
3
+ */
4
+ import type CodeMirror from 'codemirror';
5
+ import { TextareaFormulaControlProps } from './TextareaFormulaControl';
6
+ export declare function editorFactory(dom: HTMLElement, cm: typeof CodeMirror, props: any): CodeMirror.Editor;
7
+ export declare class FormulaPlugin {
8
+ readonly editor: CodeMirror.Editor;
9
+ readonly cm: typeof CodeMirror;
10
+ readonly getProps: () => TextareaFormulaControlProps;
11
+ readonly onExpressionClick: (expression: string, brace?: Array<CodeMirror.Position>) => any;
12
+ constructor(editor: CodeMirror.Editor, cm: typeof CodeMirror, getProps: () => TextareaFormulaControlProps, onExpressionClick: (expression: string, brace?: Array<CodeMirror.Position>) => any);
13
+ autoMark(): void;
14
+ getExpressionBrace(expression: string): {
15
+ line: number;
16
+ ch: number;
17
+ }[] | undefined;
18
+ computedBracesPosition(exp: string): {
19
+ begin: number;
20
+ end: number;
21
+ }[];
22
+ checkStrIsInBraces([from, to]: number[], braces: {
23
+ begin: number;
24
+ end: number;
25
+ }[]): boolean;
26
+ insertBraces(originFrom: CodeMirror.Position, originTo: CodeMirror.Position): void;
27
+ insertContent(value: any, type?: 'expression', brace?: Array<CodeMirror.Position>): void;
28
+ markExpression(from: CodeMirror.Position, to: CodeMirror.Position, expression?: string, className?: string): void;
29
+ focus(value: string): void;
30
+ dispose(): void;
31
+ validate(): void;
32
+ }
@@ -0,0 +1,273 @@
1
+ /**
2
+ * amis-editor v5.2.1-beta.15
3
+ * Copyright 2018-2022 @fex
4
+ */
5
+
6
+ import { FormulaEditor } from 'amis-ui/lib/components/formula/Editor';
7
+
8
+ /**
9
+ * @file 扩展 codemirror
10
+ */
11
+ function editorFactory(dom, cm, props) {
12
+ return cm(dom, {
13
+ value: props.value || '',
14
+ autofocus: false,
15
+ lineWrapping: true
16
+ });
17
+ }
18
+ var FormulaPlugin = /** @class */ (function () {
19
+ function FormulaPlugin(editor, cm, getProps, onExpressionClick) {
20
+ Object.defineProperty(this, "editor", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: editor
25
+ });
26
+ Object.defineProperty(this, "cm", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: cm
31
+ });
32
+ Object.defineProperty(this, "getProps", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: getProps
37
+ });
38
+ Object.defineProperty(this, "onExpressionClick", {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true,
42
+ value: onExpressionClick
43
+ });
44
+ var value = this.getProps().value;
45
+ if (value) {
46
+ this.autoMark();
47
+ this.focus(value);
48
+ }
49
+ }
50
+ Object.defineProperty(FormulaPlugin.prototype, "autoMark", {
51
+ enumerable: false,
52
+ configurable: true,
53
+ writable: true,
54
+ value: function () {
55
+ var editor = this.editor;
56
+ var lines = editor.lineCount();
57
+ for (var line = 0; line < lines; line++) {
58
+ var content = editor.getLine(line);
59
+ var braces = this.computedBracesPosition(content);
60
+ for (var i = 0; i < braces.length; i++) {
61
+ // 替换每个公式表达式中的内容
62
+ var start = braces[i].begin;
63
+ var end = braces[i].end;
64
+ var expression = content.slice(start, end);
65
+ this.markExpression({
66
+ line: line,
67
+ ch: start - 2
68
+ }, {
69
+ line: line,
70
+ ch: end + 1
71
+ }, expression);
72
+ }
73
+ }
74
+ }
75
+ });
76
+ // 找到表达式所在的位置
77
+ Object.defineProperty(FormulaPlugin.prototype, "getExpressionBrace", {
78
+ enumerable: false,
79
+ configurable: true,
80
+ writable: true,
81
+ value: function (expression) {
82
+ var editor = this.editor;
83
+ var lines = editor.lineCount();
84
+ for (var line = 0; line < lines; line++) {
85
+ var content = editor.getLine(line);
86
+ var braces = this.computedBracesPosition(content);
87
+ for (var i = 0; i < braces.length; i++) {
88
+ // 替换每个公式表达式中的内容
89
+ var start = braces[i].begin;
90
+ var end = braces[i].end;
91
+ if (expression === content.slice(start, end)) {
92
+ return [
93
+ {
94
+ line: line,
95
+ ch: start - 2
96
+ },
97
+ {
98
+ line: line,
99
+ ch: end + 1
100
+ }
101
+ ];
102
+ }
103
+ }
104
+ }
105
+ return undefined;
106
+ }
107
+ });
108
+ // 计算 `${`、`}` 括号的位置,如 ${a}+${b}, 结果是 [ { from: 0, to: 3 }, { from: 5, to: 8 } ]
109
+ Object.defineProperty(FormulaPlugin.prototype, "computedBracesPosition", {
110
+ enumerable: false,
111
+ configurable: true,
112
+ writable: true,
113
+ value: function (exp) {
114
+ var braces = [];
115
+ exp === null || exp === void 0 ? void 0 : exp.replace(/\$\{/g, function (val, offset) {
116
+ if (val) {
117
+ var charArr = exp.slice(offset + val.length).split('');
118
+ var cache = ['${'];
119
+ for (var index = 0; index < charArr.length; index++) {
120
+ var char = charArr[index];
121
+ if (char === '$' && charArr[index + 1] === '{') {
122
+ cache.push('${');
123
+ }
124
+ else if (char === '}') {
125
+ cache.pop();
126
+ }
127
+ if (cache.length === 0) {
128
+ braces.push({ begin: offset + 2, end: index + offset + 2 });
129
+ break;
130
+ }
131
+ }
132
+ }
133
+ return '';
134
+ });
135
+ return braces;
136
+ }
137
+ });
138
+ // 判断字符串是否在 ${} 中
139
+ Object.defineProperty(FormulaPlugin.prototype, "checkStrIsInBraces", {
140
+ enumerable: false,
141
+ configurable: true,
142
+ writable: true,
143
+ value: function (_a, braces) {
144
+ var from = _a[0], to = _a[1];
145
+ var isIn = false;
146
+ if (braces.length) {
147
+ for (var index = 0; index < braces.length; index++) {
148
+ var brace = braces[index];
149
+ if (from >= brace.begin && to <= brace.end) {
150
+ isIn = true;
151
+ break;
152
+ }
153
+ }
154
+ }
155
+ return isIn;
156
+ }
157
+ });
158
+ Object.defineProperty(FormulaPlugin.prototype, "insertBraces", {
159
+ enumerable: false,
160
+ configurable: true,
161
+ writable: true,
162
+ value: function (originFrom, originTo) {
163
+ var str = this.editor.getValue();
164
+ var braces = this.computedBracesPosition(str);
165
+ if (!this.checkStrIsInBraces([originFrom.ch, originTo.ch], braces)) {
166
+ this.editor.setCursor({
167
+ line: originFrom.line,
168
+ ch: originFrom.ch
169
+ });
170
+ this.editor.replaceSelection('${');
171
+ this.editor.setCursor({
172
+ line: originTo.line,
173
+ ch: originTo.ch + 2
174
+ });
175
+ this.editor.replaceSelection('}');
176
+ }
177
+ }
178
+ });
179
+ Object.defineProperty(FormulaPlugin.prototype, "insertContent", {
180
+ enumerable: false,
181
+ configurable: true,
182
+ writable: true,
183
+ value: function (value, type, brace) {
184
+ if (brace) {
185
+ // 替换
186
+ var from = brace[0], to = brace[1];
187
+ if (type === 'expression') {
188
+ this.editor.replaceRange(value, from, to);
189
+ this.autoMark();
190
+ }
191
+ else if (typeof value === 'string') {
192
+ this.editor.replaceRange(value, from, to);
193
+ }
194
+ }
195
+ else {
196
+ // 新增
197
+ if (type === 'expression') {
198
+ this.editor.replaceSelection(value);
199
+ this.autoMark();
200
+ }
201
+ else if (typeof value === 'string') {
202
+ this.editor.replaceSelection(value);
203
+ }
204
+ this.editor.focus();
205
+ }
206
+ }
207
+ });
208
+ Object.defineProperty(FormulaPlugin.prototype, "markExpression", {
209
+ enumerable: false,
210
+ configurable: true,
211
+ writable: true,
212
+ value: function (from, to, expression, className) {
213
+ var _this = this;
214
+ if (expression === void 0) { expression = ''; }
215
+ if (className === void 0) { className = 'cm-expression'; }
216
+ var wrap = document.createElement('span');
217
+ wrap.className = className;
218
+ var text = document.createElement('span');
219
+ text.className = "".concat(className, "-text");
220
+ text.innerText = expression;
221
+ text.setAttribute('data-expression', expression);
222
+ text.onclick = function () {
223
+ var brace = _this.getExpressionBrace(expression);
224
+ _this.onExpressionClick(expression, brace);
225
+ };
226
+ var variables = this.getProps().variables;
227
+ var highlightValue = FormulaEditor.highlightValue(expression, variables) || {
228
+ html: expression
229
+ };
230
+ // 添加popover
231
+ var popoverEl = document.createElement('div');
232
+ // bca-disable-next-line
233
+ popoverEl.innerHTML = highlightValue.html;
234
+ popoverEl.classList.add('expression-popover');
235
+ var arrow = document.createElement('div');
236
+ arrow.classList.add('expression-popover-arrow');
237
+ popoverEl.appendChild(arrow);
238
+ wrap.appendChild(text);
239
+ wrap.appendChild(popoverEl);
240
+ this.editor.markText(from, to, {
241
+ atomic: true,
242
+ replacedWith: wrap
243
+ });
244
+ }
245
+ });
246
+ // 焦点放在最后
247
+ Object.defineProperty(FormulaPlugin.prototype, "focus", {
248
+ enumerable: false,
249
+ configurable: true,
250
+ writable: true,
251
+ value: function (value) {
252
+ this.editor.setCursor({
253
+ line: 0,
254
+ ch: (value === null || value === void 0 ? void 0 : value.length) || 0
255
+ });
256
+ }
257
+ });
258
+ Object.defineProperty(FormulaPlugin.prototype, "dispose", {
259
+ enumerable: false,
260
+ configurable: true,
261
+ writable: true,
262
+ value: function () { }
263
+ });
264
+ Object.defineProperty(FormulaPlugin.prototype, "validate", {
265
+ enumerable: false,
266
+ configurable: true,
267
+ writable: true,
268
+ value: function () { }
269
+ });
270
+ return FormulaPlugin;
271
+ }());
272
+
273
+ export { FormulaPlugin, editorFactory };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 从amis数据域中取变量数据
3
+ * @param node
4
+ * @param manager
5
+ * @returns
6
+ */
7
+ export declare function resolveVariablesFromScope(node: any, manager: any): Promise<any>;
8
+ /**
9
+ * 整合 props & amis数据域 中的 variables
10
+ * @param that 为组件的实例 this
11
+ **/
12
+ export declare function getVariables(that: any): Promise<any[]>;