@luck-design-biz/luckda 0.0.25-2 → 0.0.25-21

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 (696) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +40 -40
  3. package/es/components/ComplexItem/index.js +92 -0
  4. package/es/components/ComplexItem/service.js +21 -0
  5. package/es/components/LDActions/index.js +8 -10
  6. package/es/components/LDActions/index.less +68 -65
  7. package/es/components/LdAutoForm/index.js +57 -12
  8. package/es/components/LdFormList/index.js +50 -28
  9. package/es/components/LdGrid/index.js +23 -11
  10. package/es/components/LdGridForm/index.js +37 -12
  11. package/es/components/LdGridForm/index.less +7 -7
  12. package/es/components/LdTree/index.js +59 -19
  13. package/es/components/LdTree/index.less +40 -40
  14. package/es/helper/FromItems.js +177 -94
  15. package/es/helper/action.js +6 -6
  16. package/es/helper/form.js +69 -28
  17. package/es/helper/index.less +7 -7
  18. package/es/helper/props_config.js +17 -0
  19. package/es/index.js +0 -1
  20. package/es/locales/zh-CN.js +22 -17
  21. package/es/lowcode/constants/api-url.js +269 -98
  22. package/es/lowcode/constants/event-topics.js +3 -0
  23. package/es/lowcode/constants/index.js +2 -1
  24. package/es/lowcode/engine/factory/panel-item-factory/RadioStrategy.js +53 -0
  25. package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +5 -2
  26. package/es/lowcode/engine/factory/panel-item-factory/StringStrategy.js +2 -2
  27. package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +5 -2
  28. package/es/lowcode/engine/factory/panel-item-factory/index.js +2 -0
  29. package/es/lowcode/engine/launcher.js +7 -0
  30. package/es/lowcode/engine/meta/box.props.default.json +1 -1
  31. package/es/lowcode/engine/meta/box.props.json +4 -4
  32. package/es/lowcode/engine/meta/button.props.json +3 -3
  33. package/es/lowcode/engine/meta/cardlist.props.json +13 -3
  34. package/es/lowcode/engine/meta/components-list.json +116 -8
  35. package/es/lowcode/engine/meta/dialog.props.default.json +11 -5
  36. package/es/lowcode/engine/meta/dialog.props.json +79 -42
  37. package/es/lowcode/engine/meta/drawer.props.json +8 -20
  38. package/es/lowcode/engine/meta/fieldcolor.props.default.json +16 -0
  39. package/es/lowcode/engine/meta/fieldcolor.props.json +146 -0
  40. package/es/lowcode/engine/meta/fieldcomplex.props.default.json +15 -0
  41. package/es/lowcode/engine/meta/fieldcomplex.props.json +122 -0
  42. package/es/lowcode/engine/meta/fielddatadic.props.default.json +16 -0
  43. package/es/lowcode/engine/meta/fielddatadic.props.json +73 -0
  44. package/es/lowcode/engine/meta/fielddate.props.default.json +14 -0
  45. package/es/lowcode/engine/meta/fielddate.props.json +130 -0
  46. package/es/lowcode/engine/meta/fielddict.props.default.json +16 -0
  47. package/es/lowcode/engine/meta/fielddict.props.json +127 -0
  48. package/es/lowcode/engine/meta/fieldeditor.props.default.json +15 -0
  49. package/es/lowcode/engine/meta/fieldeditor.props.json +127 -0
  50. package/es/lowcode/engine/meta/fieldgroup.props.default.json +17 -0
  51. package/es/lowcode/engine/meta/fieldgroup.props.json +156 -0
  52. package/es/lowcode/engine/meta/fieldnumber.props.default.json +16 -0
  53. package/es/lowcode/engine/meta/fieldnumber.props.json +131 -0
  54. package/es/lowcode/engine/meta/fieldradio.props.default.json +14 -0
  55. package/es/lowcode/engine/meta/fieldradio.props.json +104 -0
  56. package/es/lowcode/engine/meta/fieldregion.props.default.json +14 -0
  57. package/es/lowcode/engine/meta/fieldregion.props.json +110 -0
  58. package/es/lowcode/engine/meta/fieldselect.props.default.json +16 -0
  59. package/es/lowcode/engine/meta/fieldselect.props.json +141 -0
  60. package/es/lowcode/engine/meta/fieldstring.props.default.json +14 -0
  61. package/es/lowcode/engine/meta/fieldstring.props.json +141 -0
  62. package/es/lowcode/engine/meta/fieldswitch.props.default.json +14 -0
  63. package/es/lowcode/engine/meta/fieldswitch.props.json +114 -0
  64. package/es/lowcode/engine/meta/fieldtextarea.props.default.json +15 -0
  65. package/es/lowcode/engine/meta/fieldtextarea.props.json +132 -0
  66. package/es/lowcode/engine/meta/fieldupload.props.default.json +17 -0
  67. package/es/lowcode/engine/meta/fieldupload.props.json +154 -0
  68. package/es/lowcode/engine/meta/fielduser.props.default.json +18 -0
  69. package/es/lowcode/engine/meta/fielduser.props.json +165 -0
  70. package/es/lowcode/engine/meta/fieldyear.props.default.json +14 -0
  71. package/es/lowcode/engine/meta/fieldyear.props.json +120 -0
  72. package/es/lowcode/engine/meta/form.props.default.json +2 -2
  73. package/es/lowcode/engine/meta/form.props.json +36 -16
  74. package/es/lowcode/engine/meta/imex.props.default.json +8 -1
  75. package/es/lowcode/engine/meta/imex.props.json +54 -22
  76. package/es/lowcode/engine/meta/js-editor/auto-complete.json +106 -14
  77. package/es/lowcode/engine/meta/layout.props.json +2 -2
  78. package/es/lowcode/engine/meta/page.props.json +12 -6
  79. package/es/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  80. package/es/lowcode/engine/meta/pagelayout.props.json +47 -0
  81. package/es/lowcode/engine/meta/section.props.json +2 -2
  82. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  83. package/es/lowcode/engine/meta/split.props.json +4 -4
  84. package/es/lowcode/engine/meta/table.props.default.json +2 -1
  85. package/es/lowcode/engine/meta/table.props.json +27 -14
  86. package/es/lowcode/engine/meta/tabs.props.json +3 -3
  87. package/es/lowcode/engine/meta/tree.props.default.json +7 -5
  88. package/es/lowcode/engine/meta/tree.props.json +112 -55
  89. package/es/lowcode/engine/provider/ContextProvider/index.js +104 -86
  90. package/es/lowcode/engine/provider/ContextProvider/usePageState.js +21 -0
  91. package/es/lowcode/engine/provider/RemoteSourceProvider.js +96 -49
  92. package/es/lowcode/engine/tools/dataProcess.js +80 -76
  93. package/es/lowcode/engine/tools/diff.js +60 -0
  94. package/es/lowcode/engine/tools/helper.js +92 -7
  95. package/es/lowcode/engine/tools/useCanvasRender.js +3 -2
  96. package/es/lowcode/engine/tools/useCombinedRefs.js +14 -0
  97. package/es/lowcode/engine/tools/usePageDataStore.js +350 -0
  98. package/es/lowcode/engine/tools/usePromiseState.js +12 -23
  99. package/es/lowcode/engine/tools/useTodo.js +20 -10
  100. package/es/lowcode/index.js +1 -4
  101. package/es/lowcode/painter/Components.js +2 -2
  102. package/es/lowcode/painter/Design.js +8 -5
  103. package/es/lowcode/painter/DesignOperator.js +111 -85
  104. package/es/lowcode/painter/DesignToolbar.js +85 -47
  105. package/es/lowcode/painter/Outline.js +12 -10
  106. package/es/lowcode/painter/Panel.js +85 -45
  107. package/es/lowcode/painter/components/ActionBindModal.js +45 -28
  108. package/es/lowcode/painter/components/AdvancePanel.js +37 -21
  109. package/es/lowcode/painter/components/AttrsPanel.js +40 -29
  110. package/es/lowcode/painter/components/Collapse.js +26 -26
  111. package/es/lowcode/painter/components/ColorInput.js +24 -24
  112. package/es/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  113. package/es/lowcode/painter/components/FieldSelector.js +26 -13
  114. package/es/lowcode/painter/components/ListEditor.js +24 -24
  115. package/es/lowcode/painter/components/NumberInput.js +28 -28
  116. package/es/lowcode/painter/components/PanelItem.js +24 -24
  117. package/es/lowcode/painter/components/PopConfirm.js +8 -8
  118. package/es/lowcode/painter/components/PopForm.js +27 -27
  119. package/es/lowcode/painter/components/PreviewIframe.js +19 -0
  120. package/es/lowcode/painter/components/RuleInput.js +30 -31
  121. package/es/lowcode/painter/components/SortBox.js +22 -22
  122. package/es/lowcode/painter/components/code-editor/BaseEditor.js +35 -34
  123. package/es/lowcode/painter/components/code-editor/CssEditor.js +25 -25
  124. package/es/lowcode/painter/components/code-editor/FullScreenEditor.js +23 -23
  125. package/es/lowcode/painter/components/code-editor/JSEditor.js +48 -42
  126. package/es/lowcode/painter/components/code-editor/JsonEditor.js +25 -25
  127. package/es/lowcode/painter/components/field-setting/CheckFrontRules.js +108 -0
  128. package/es/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  129. package/es/lowcode/painter/components/field-setting/FieldRulesModal.js +33 -13
  130. package/es/lowcode/painter/components/field-setting/SettingUI.js +158 -77
  131. package/es/lowcode/painter/components/field-setting/index.js +32 -65
  132. package/es/lowcode/painter/components/field-setting/meta/frontRules.js +53 -0
  133. package/es/lowcode/painter/panel-section/ActionsEditor/index.js +3 -1
  134. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +11 -17
  135. package/es/lowcode/painter/panel-section/ButtonType.js +4 -2
  136. package/es/lowcode/painter/panel-section/ComponentSelector.js +36 -0
  137. package/es/lowcode/painter/panel-section/DataSetSelector.js +33 -7
  138. package/es/lowcode/painter/panel-section/FieldsSetting.js +72 -54
  139. package/es/lowcode/painter/panel-section/I18nInput.js +2 -1
  140. package/es/lowcode/painter/panel-section/Icon.js +23 -23
  141. package/es/lowcode/painter/panel-section/IconSelector.js +16 -16
  142. package/es/lowcode/painter/panel-section/ImpExp.js +131 -37
  143. package/es/lowcode/painter/panel-section/ImpExpAlone.js +124 -0
  144. package/es/lowcode/painter/panel-section/LayoutRatio.js +21 -21
  145. package/es/lowcode/painter/panel-section/PageLayoutDisplay.js +112 -0
  146. package/es/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  147. package/es/lowcode/painter/panel-section/SplitDisplay.js +28 -112
  148. package/es/lowcode/painter/panel-section/StylePanel/BackGround.js +2 -2
  149. package/es/lowcode/painter/panel-section/StylePanel/Border.js +2 -2
  150. package/es/lowcode/painter/panel-section/StylePanel/BorderRadius.js +2 -2
  151. package/es/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +2 -2
  152. package/es/lowcode/painter/panel-section/StylePanel/BorderSelector.js +2 -2
  153. package/es/lowcode/painter/panel-section/StylePanel/Display.js +2 -2
  154. package/es/lowcode/painter/panel-section/StylePanel/Font.js +2 -2
  155. package/es/lowcode/painter/panel-section/StylePanel/FontEditor.js +2 -2
  156. package/es/lowcode/painter/panel-section/StylePanel/GapSelector.js +2 -2
  157. package/es/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +2 -2
  158. package/es/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +2 -2
  159. package/es/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +2 -2
  160. package/es/lowcode/painter/panel-section/StylePanel/MainPanel.js +4 -4
  161. package/es/lowcode/painter/panel-section/StylePanel/Margin.js +2 -2
  162. package/es/lowcode/painter/panel-section/StylePanel/Opacity.js +2 -2
  163. package/es/lowcode/painter/panel-section/StylePanel/Padding.js +2 -2
  164. package/es/lowcode/painter/panel-section/StylePanel/Pointer.js +2 -2
  165. package/es/lowcode/painter/panel-section/StylePanel/Shadow.js +2 -2
  166. package/es/lowcode/painter/panel-section/StylePanel/Size.js +2 -2
  167. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +3 -3
  168. package/es/lowcode/painter/panel-section/StylePanel/StyleRow.js +2 -2
  169. package/es/lowcode/painter/panel-section/StylePanel/WidthHeight.js +2 -2
  170. package/es/lowcode/painter/panel-section/StylePanel/index.js +22 -16
  171. package/es/lowcode/painter/panel-section/TableTopFilter.js +23 -13
  172. package/es/lowcode/painter/panel-section/TreeRootEditor.js +12 -4
  173. package/es/lowcode/painter/style/action-bind-modal.less +102 -102
  174. package/es/lowcode/painter/style/actions-editor.less +15 -15
  175. package/es/lowcode/painter/style/border-editor.less +36 -36
  176. package/es/lowcode/painter/style/border-radius-selector.less +42 -42
  177. package/es/lowcode/painter/style/border-selector.less +39 -39
  178. package/es/lowcode/painter/style/button-type.less +5 -5
  179. package/es/lowcode/painter/style/collapse.less +28 -28
  180. package/es/lowcode/painter/style/color-input.less +19 -19
  181. package/es/lowcode/painter/style/components.less +91 -91
  182. package/es/lowcode/painter/style/design.less +159 -152
  183. package/es/lowcode/painter/style/display.less +17 -17
  184. package/es/lowcode/painter/style/dragdrop.less +10 -10
  185. package/es/lowcode/painter/style/fields-setting.less +25 -25
  186. package/es/lowcode/painter/style/font-editor.less +9 -9
  187. package/es/lowcode/painter/style/fullscreen-editor.less +17 -17
  188. package/es/lowcode/painter/style/icon-selector.less +22 -22
  189. package/es/lowcode/painter/style/icon.less +10 -10
  190. package/es/lowcode/painter/style/impexp.less +7 -7
  191. package/es/lowcode/painter/style/index.less +6 -6
  192. package/es/lowcode/painter/style/layout-ratio.less +51 -51
  193. package/es/lowcode/painter/style/list-editor.less +95 -95
  194. package/es/lowcode/painter/style/number-input.less +17 -17
  195. package/es/lowcode/painter/style/outline.less +28 -28
  196. package/es/lowcode/painter/style/page-layout-display.less +28 -0
  197. package/es/lowcode/painter/style/panel-attrs.less +43 -43
  198. package/es/lowcode/painter/style/panel-item.less +54 -54
  199. package/es/lowcode/painter/style/panel.less +98 -98
  200. package/es/lowcode/painter/style/pop-confirm.less +17 -17
  201. package/es/lowcode/painter/style/pop-form.less +19 -19
  202. package/es/lowcode/painter/style/radio.less +24 -24
  203. package/es/lowcode/painter/style/ribbon.less +5 -5
  204. package/es/lowcode/painter/style/rule-input.less +12 -12
  205. package/es/lowcode/painter/style/split-display.less +18 -27
  206. package/es/lowcode/painter/style/style-panel.less +37 -37
  207. package/es/lowcode/painter/style/tabitems.less +90 -90
  208. package/es/lowcode/painter/style/treedragdrop.less +19 -19
  209. package/es/lowcode/view/Canvas.js +34 -8
  210. package/es/lowcode/view/Page.js +2 -4
  211. package/es/lowcode/view/lc-components/Box/FunctionDesign.js +8 -2
  212. package/es/lowcode/view/lc-components/Box/FunctionLive.js +1 -0
  213. package/es/lowcode/view/lc-components/Box/FunctionPreview.js +1 -0
  214. package/es/lowcode/view/lc-components/Box/index.js +4 -4
  215. package/es/lowcode/view/lc-components/Box/index.less +14 -14
  216. package/es/lowcode/view/lc-components/Box/meta.json +40 -40
  217. package/es/lowcode/view/lc-components/Button/index.js +35 -39
  218. package/es/lowcode/view/lc-components/Button/meta.json +127 -127
  219. package/es/lowcode/view/lc-components/Button/style.less +2 -2
  220. package/es/lowcode/view/lc-components/CardList/FunctionDesign.js +1 -0
  221. package/es/lowcode/view/lc-components/CardList/FunctionLive.js +1 -0
  222. package/es/lowcode/view/lc-components/CardList/FunctionPreview.js +1 -0
  223. package/es/lowcode/view/lc-components/CardList/meta.json +153 -143
  224. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +3 -10
  225. package/es/lowcode/view/lc-components/Dialog/FunctionLive.js +1 -0
  226. package/es/lowcode/view/lc-components/Dialog/FunctionPreview.js +1 -0
  227. package/es/lowcode/view/lc-components/Dialog/index.js +143 -19
  228. package/es/lowcode/view/lc-components/Dialog/index.less +3 -3
  229. package/es/lowcode/view/lc-components/Dialog/meta.json +150 -120
  230. package/es/lowcode/view/lc-components/Drawer/FunctionDesign.js +1 -0
  231. package/es/lowcode/view/lc-components/Drawer/FunctionLive.js +1 -0
  232. package/es/lowcode/view/lc-components/Drawer/FunctionPreview.js +1 -0
  233. package/es/lowcode/view/lc-components/Drawer/index.js +15 -12
  234. package/es/lowcode/view/lc-components/Drawer/index.less +9 -9
  235. package/es/lowcode/view/lc-components/Drawer/meta.json +131 -143
  236. package/es/lowcode/view/lc-components/FieldColor/meta.json +146 -0
  237. package/es/lowcode/view/lc-components/FieldComplex/meta.json +122 -0
  238. package/es/lowcode/view/lc-components/FieldDate/meta.json +128 -0
  239. package/es/lowcode/view/lc-components/FieldDict/meta.json +127 -0
  240. package/es/lowcode/view/lc-components/FieldEditor/meta.json +127 -0
  241. package/es/lowcode/view/lc-components/FieldGroup/meta.json +156 -0
  242. package/es/lowcode/view/lc-components/FieldNumber/meta.json +131 -0
  243. package/es/lowcode/view/lc-components/FieldRadio/meta.json +104 -0
  244. package/es/lowcode/view/lc-components/FieldRegion/meta.json +110 -0
  245. package/es/lowcode/view/lc-components/FieldSelect/meta.json +141 -0
  246. package/es/lowcode/view/lc-components/FieldString/meta.json +141 -0
  247. package/es/lowcode/view/lc-components/FieldSwitch/meta.json +114 -0
  248. package/es/lowcode/view/lc-components/FieldTextarea/meta.json +132 -0
  249. package/es/lowcode/view/lc-components/FieldUpload/meta.json +154 -0
  250. package/es/lowcode/view/lc-components/FieldUser/meta.json +165 -0
  251. package/es/lowcode/view/lc-components/FieldYear/meta.json +118 -0
  252. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +23 -33
  253. package/es/lowcode/view/lc-components/Form/FunctionLive.js +1 -0
  254. package/es/lowcode/view/lc-components/Form/FunctionPreview.js +9 -1
  255. package/es/lowcode/view/lc-components/Form/index.js +345 -80
  256. package/es/lowcode/view/lc-components/Form/index.less +4 -4
  257. package/es/lowcode/view/lc-components/Form/meta.json +610 -599
  258. package/es/lowcode/view/lc-components/Iframe/FunctionDesign.js +1 -0
  259. package/es/lowcode/view/lc-components/Iframe/FunctionLive.js +1 -0
  260. package/es/lowcode/view/lc-components/Iframe/FunctionPreview.js +1 -0
  261. package/es/lowcode/view/lc-components/Iframe/meta.json +32 -32
  262. package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +9 -3
  263. package/es/lowcode/view/lc-components/ImEx/FunctionLive.js +1 -0
  264. package/es/lowcode/view/lc-components/ImEx/FunctionPreview.js +1 -0
  265. package/es/lowcode/view/lc-components/ImEx/index.js +470 -11
  266. package/es/lowcode/view/lc-components/ImEx/index.less +7 -0
  267. package/es/lowcode/view/lc-components/ImEx/meta.json +114 -82
  268. package/es/lowcode/view/lc-components/Image/FunctionDesign.js +1 -0
  269. package/es/lowcode/view/lc-components/Image/FunctionLive.js +1 -0
  270. package/es/lowcode/view/lc-components/Image/FunctionPreview.js +1 -0
  271. package/es/lowcode/view/lc-components/Image/meta.json +114 -114
  272. package/es/lowcode/view/lc-components/JSX/FunctionDesign.js +1 -0
  273. package/es/lowcode/view/lc-components/JSX/FunctionLive.js +1 -0
  274. package/es/lowcode/view/lc-components/JSX/FunctionPreview.js +1 -0
  275. package/es/{components/LdRuntimeCom/index.js → lowcode/view/lc-components/JSX/RuntimeComp.js} +12 -15
  276. package/es/lowcode/view/lc-components/JSX/index.js +5 -6
  277. package/es/lowcode/view/lc-components/JSX/meta.json +28 -28
  278. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +12 -19
  279. package/es/lowcode/view/lc-components/Layout/FunctionPreview.js +1 -0
  280. package/es/lowcode/view/lc-components/Layout/index.js +19 -17
  281. package/es/lowcode/view/lc-components/Layout/index.less +5 -5
  282. package/es/lowcode/view/lc-components/Layout/meta.json +107 -107
  283. package/es/lowcode/view/lc-components/Link/FunctionDesign.js +1 -0
  284. package/es/lowcode/view/lc-components/Link/FunctionLive.js +1 -0
  285. package/es/lowcode/view/lc-components/Link/FunctionPreview.js +1 -0
  286. package/es/lowcode/view/lc-components/Link/index.js +3 -0
  287. package/es/lowcode/view/lc-components/Link/meta.json +112 -112
  288. package/es/lowcode/view/lc-components/Page/meta.json +55 -49
  289. package/es/lowcode/view/lc-components/PageContent/index.js +11 -10
  290. package/es/lowcode/view/lc-components/PageContent/meta.json +9 -9
  291. package/es/lowcode/view/lc-components/PageFooter/index.js +5 -5
  292. package/es/lowcode/view/lc-components/PageFooter/meta.json +9 -9
  293. package/es/lowcode/view/lc-components/PageHeader/index.js +8 -6
  294. package/es/lowcode/view/lc-components/PageHeader/meta.json +9 -9
  295. package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +68 -0
  296. package/es/lowcode/view/lc-components/PageLayout/FunctionLive.js +10 -0
  297. package/es/lowcode/view/lc-components/PageLayout/FunctionPreview.js +10 -0
  298. package/es/lowcode/view/lc-components/PageLayout/index.js +37 -0
  299. package/es/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  300. package/es/lowcode/view/lc-components/PageModal/index.js +12 -15
  301. package/es/lowcode/view/lc-components/Section/FunctionDesign.js +3 -9
  302. package/es/lowcode/view/lc-components/Section/FunctionLive.js +1 -0
  303. package/es/lowcode/view/lc-components/Section/FunctionPreview.js +1 -0
  304. package/es/lowcode/view/lc-components/Section/index.js +6 -3
  305. package/es/lowcode/view/lc-components/Section/index.less +7 -7
  306. package/es/lowcode/view/lc-components/Section/meta.json +107 -107
  307. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +19 -20
  308. package/es/lowcode/view/lc-components/Split/FunctionLive.js +1 -0
  309. package/es/lowcode/view/lc-components/Split/FunctionPreview.js +1 -0
  310. package/es/lowcode/view/lc-components/Split/index.js +8 -9
  311. package/es/lowcode/view/lc-components/Split/meta.json +53 -53
  312. package/es/lowcode/view/lc-components/Table/FunctionLive.js +1 -0
  313. package/es/lowcode/view/lc-components/Table/FunctionPreview.js +1 -0
  314. package/es/lowcode/view/lc-components/Table/components/TopFilter.js +78 -57
  315. package/es/lowcode/view/lc-components/Table/components/TopImex.js +425 -0
  316. package/es/lowcode/view/lc-components/Table/index.js +426 -202
  317. package/es/lowcode/view/lc-components/Table/meta.json +451 -399
  318. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +11 -18
  319. package/es/lowcode/view/lc-components/Tabs/index.js +52 -37
  320. package/es/lowcode/view/lc-components/Tabs/meta.json +113 -113
  321. package/es/lowcode/view/lc-components/Text/FunctionDesign.js +1 -0
  322. package/es/lowcode/view/lc-components/Text/FunctionLive.js +1 -0
  323. package/es/lowcode/view/lc-components/Text/FunctionPreview.js +1 -0
  324. package/es/lowcode/view/lc-components/Text/index.js +3 -0
  325. package/es/lowcode/view/lc-components/Text/meta.json +66 -66
  326. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -3
  327. package/es/lowcode/view/lc-components/Tree/FunctionLive.js +1 -0
  328. package/es/lowcode/view/lc-components/Tree/index.js +173 -119
  329. package/es/lowcode/view/lc-components/Tree/index.less +4 -4
  330. package/es/lowcode/view/lc-components/Tree/meta.json +357 -301
  331. package/es/lowcode/view/lc-components/Wrapper.js +11 -12
  332. package/es/lowcode/view/style/canvas.less +5 -5
  333. package/es/lowcode/view/style/loading.less +84 -84
  334. package/es/lowcode/view/style/page.less +7 -7
  335. package/es/services.js +0 -24
  336. package/es/upload/FilesWall/file.png +0 -0
  337. package/es/upload/FilesWall/index.js +422 -0
  338. package/es/upload/FilesWall/index.less +74 -0
  339. package/es/upload/Form/gridForm.js +3 -2
  340. package/es/upload/Form/index.js +2 -1
  341. package/es/upload/Form/index.less +7 -7
  342. package/es/upload/FormItem/index.js +20 -21
  343. package/es/upload/index.js +2 -1
  344. package/es/utils/action.js +2 -2
  345. package/es/utils/form.js +37 -24
  346. package/es/utils/grid.js +10 -7
  347. package/lib/components/ComplexItem/index.js +100 -0
  348. package/lib/components/ComplexItem/service.js +28 -0
  349. package/lib/components/LDActions/index.js +7 -9
  350. package/lib/components/LDActions/index.less +68 -65
  351. package/lib/components/LdAutoForm/index.js +56 -11
  352. package/lib/components/LdFormList/index.js +49 -27
  353. package/lib/components/LdGrid/index.js +23 -11
  354. package/lib/components/LdGridForm/index.js +35 -10
  355. package/lib/components/LdGridForm/index.less +7 -7
  356. package/lib/components/LdTree/index.js +57 -17
  357. package/lib/components/LdTree/index.less +40 -40
  358. package/lib/helper/FromItems.js +175 -92
  359. package/lib/helper/action.js +6 -6
  360. package/lib/helper/form.js +67 -27
  361. package/lib/helper/index.less +7 -7
  362. package/lib/helper/props_config.js +23 -0
  363. package/lib/index.js +1 -9
  364. package/lib/locales/zh-CN.js +22 -17
  365. package/lib/lowcode/constants/api-url.js +270 -97
  366. package/lib/lowcode/constants/event-topics.js +4 -1
  367. package/lib/lowcode/constants/index.js +3 -2
  368. package/lib/lowcode/engine/factory/panel-item-factory/RadioStrategy.js +59 -0
  369. package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +7 -4
  370. package/lib/lowcode/engine/factory/panel-item-factory/StringStrategy.js +4 -3
  371. package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +6 -3
  372. package/lib/lowcode/engine/factory/panel-item-factory/index.js +2 -0
  373. package/lib/lowcode/engine/launcher.js +13 -0
  374. package/lib/lowcode/engine/meta/box.props.default.json +1 -1
  375. package/lib/lowcode/engine/meta/box.props.json +4 -4
  376. package/lib/lowcode/engine/meta/button.props.json +3 -3
  377. package/lib/lowcode/engine/meta/cardlist.props.json +13 -3
  378. package/lib/lowcode/engine/meta/components-list.json +116 -8
  379. package/lib/lowcode/engine/meta/dialog.props.default.json +11 -5
  380. package/lib/lowcode/engine/meta/dialog.props.json +79 -42
  381. package/lib/lowcode/engine/meta/drawer.props.json +8 -20
  382. package/lib/lowcode/engine/meta/fieldcolor.props.default.json +16 -0
  383. package/lib/lowcode/engine/meta/fieldcolor.props.json +146 -0
  384. package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +15 -0
  385. package/lib/lowcode/engine/meta/fieldcomplex.props.json +122 -0
  386. package/lib/lowcode/engine/meta/fielddatadic.props.default.json +16 -0
  387. package/lib/lowcode/engine/meta/fielddatadic.props.json +73 -0
  388. package/lib/lowcode/engine/meta/fielddate.props.default.json +14 -0
  389. package/lib/lowcode/engine/meta/fielddate.props.json +130 -0
  390. package/lib/lowcode/engine/meta/fielddict.props.default.json +16 -0
  391. package/lib/lowcode/engine/meta/fielddict.props.json +127 -0
  392. package/lib/lowcode/engine/meta/fieldeditor.props.default.json +15 -0
  393. package/lib/lowcode/engine/meta/fieldeditor.props.json +127 -0
  394. package/lib/lowcode/engine/meta/fieldgroup.props.default.json +17 -0
  395. package/lib/lowcode/engine/meta/fieldgroup.props.json +156 -0
  396. package/lib/lowcode/engine/meta/fieldnumber.props.default.json +16 -0
  397. package/lib/lowcode/engine/meta/fieldnumber.props.json +131 -0
  398. package/lib/lowcode/engine/meta/fieldradio.props.default.json +14 -0
  399. package/lib/lowcode/engine/meta/fieldradio.props.json +104 -0
  400. package/lib/lowcode/engine/meta/fieldregion.props.default.json +14 -0
  401. package/lib/lowcode/engine/meta/fieldregion.props.json +110 -0
  402. package/lib/lowcode/engine/meta/fieldselect.props.default.json +16 -0
  403. package/lib/lowcode/engine/meta/fieldselect.props.json +141 -0
  404. package/lib/lowcode/engine/meta/fieldstring.props.default.json +14 -0
  405. package/lib/lowcode/engine/meta/fieldstring.props.json +141 -0
  406. package/lib/lowcode/engine/meta/fieldswitch.props.default.json +14 -0
  407. package/lib/lowcode/engine/meta/fieldswitch.props.json +114 -0
  408. package/lib/lowcode/engine/meta/fieldtextarea.props.default.json +15 -0
  409. package/lib/lowcode/engine/meta/fieldtextarea.props.json +132 -0
  410. package/lib/lowcode/engine/meta/fieldupload.props.default.json +17 -0
  411. package/lib/lowcode/engine/meta/fieldupload.props.json +154 -0
  412. package/lib/lowcode/engine/meta/fielduser.props.default.json +18 -0
  413. package/lib/lowcode/engine/meta/fielduser.props.json +165 -0
  414. package/lib/lowcode/engine/meta/fieldyear.props.default.json +14 -0
  415. package/lib/lowcode/engine/meta/fieldyear.props.json +120 -0
  416. package/lib/lowcode/engine/meta/form.props.default.json +2 -2
  417. package/lib/lowcode/engine/meta/form.props.json +36 -16
  418. package/lib/lowcode/engine/meta/imex.props.default.json +8 -1
  419. package/lib/lowcode/engine/meta/imex.props.json +54 -22
  420. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +106 -14
  421. package/lib/lowcode/engine/meta/layout.props.json +2 -2
  422. package/lib/lowcode/engine/meta/page.props.json +12 -6
  423. package/lib/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  424. package/lib/lowcode/engine/meta/pagelayout.props.json +47 -0
  425. package/lib/lowcode/engine/meta/section.props.json +2 -2
  426. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  427. package/lib/lowcode/engine/meta/split.props.json +4 -4
  428. package/lib/lowcode/engine/meta/table.props.default.json +2 -1
  429. package/lib/lowcode/engine/meta/table.props.json +27 -14
  430. package/lib/lowcode/engine/meta/tabs.props.json +3 -3
  431. package/lib/lowcode/engine/meta/tree.props.default.json +7 -5
  432. package/lib/lowcode/engine/meta/tree.props.json +112 -55
  433. package/lib/lowcode/engine/provider/ContextProvider/index.js +120 -86
  434. package/lib/lowcode/engine/provider/ContextProvider/usePageState.js +28 -0
  435. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +93 -46
  436. package/lib/lowcode/engine/tools/dataProcess.js +80 -76
  437. package/lib/lowcode/engine/tools/diff.js +67 -0
  438. package/lib/lowcode/engine/tools/helper.js +96 -6
  439. package/lib/lowcode/engine/tools/useCanvasRender.js +3 -2
  440. package/lib/lowcode/engine/tools/useCombinedRefs.js +20 -0
  441. package/lib/lowcode/engine/tools/usePageDataStore.js +357 -0
  442. package/lib/lowcode/engine/tools/usePromiseState.js +11 -21
  443. package/lib/lowcode/engine/tools/useTodo.js +19 -9
  444. package/lib/lowcode/index.js +1 -5
  445. package/lib/lowcode/painter/Components.js +2 -2
  446. package/lib/lowcode/painter/Design.js +7 -4
  447. package/lib/lowcode/painter/DesignOperator.js +108 -82
  448. package/lib/lowcode/painter/DesignToolbar.js +83 -45
  449. package/lib/lowcode/painter/Outline.js +10 -8
  450. package/lib/lowcode/painter/Panel.js +83 -43
  451. package/lib/lowcode/painter/components/ActionBindModal.js +42 -25
  452. package/lib/lowcode/painter/components/AdvancePanel.js +36 -20
  453. package/lib/lowcode/painter/components/AttrsPanel.js +39 -28
  454. package/lib/lowcode/painter/components/Collapse.js +26 -26
  455. package/lib/lowcode/painter/components/ColorInput.js +24 -24
  456. package/lib/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  457. package/lib/lowcode/painter/components/FieldSelector.js +26 -13
  458. package/lib/lowcode/painter/components/ListEditor.js +24 -24
  459. package/lib/lowcode/painter/components/NumberInput.js +28 -28
  460. package/lib/lowcode/painter/components/PanelItem.js +24 -24
  461. package/lib/lowcode/painter/components/PopConfirm.js +8 -8
  462. package/lib/lowcode/painter/components/PopForm.js +27 -27
  463. package/lib/lowcode/painter/components/PreviewIframe.js +26 -0
  464. package/lib/lowcode/painter/components/RuleInput.js +30 -31
  465. package/lib/lowcode/painter/components/SortBox.js +22 -22
  466. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +35 -34
  467. package/lib/lowcode/painter/components/code-editor/CssEditor.js +25 -25
  468. package/lib/lowcode/painter/components/code-editor/FullScreenEditor.js +23 -23
  469. package/lib/lowcode/painter/components/code-editor/JSEditor.js +48 -42
  470. package/lib/lowcode/painter/components/code-editor/JsonEditor.js +25 -25
  471. package/lib/lowcode/painter/components/field-setting/CheckFrontRules.js +116 -0
  472. package/lib/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  473. package/lib/lowcode/painter/components/field-setting/FieldRulesModal.js +34 -13
  474. package/lib/lowcode/painter/components/field-setting/SettingUI.js +155 -74
  475. package/lib/lowcode/painter/components/field-setting/index.js +32 -65
  476. package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +59 -0
  477. package/lib/lowcode/painter/panel-section/ActionsEditor/index.js +3 -1
  478. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +10 -16
  479. package/lib/lowcode/painter/panel-section/ButtonType.js +4 -2
  480. package/lib/lowcode/painter/panel-section/ComponentSelector.js +43 -0
  481. package/lib/lowcode/painter/panel-section/DataSetSelector.js +33 -7
  482. package/lib/lowcode/painter/panel-section/FieldsSetting.js +69 -51
  483. package/lib/lowcode/painter/panel-section/I18nInput.js +2 -1
  484. package/lib/lowcode/painter/panel-section/Icon.js +23 -23
  485. package/lib/lowcode/painter/panel-section/IconSelector.js +16 -16
  486. package/lib/lowcode/painter/panel-section/ImpExp.js +131 -36
  487. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +130 -0
  488. package/lib/lowcode/painter/panel-section/LayoutRatio.js +21 -21
  489. package/lib/lowcode/painter/panel-section/PageLayoutDisplay.js +120 -0
  490. package/lib/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  491. package/lib/lowcode/painter/panel-section/SplitDisplay.js +27 -111
  492. package/lib/lowcode/painter/panel-section/StylePanel/BackGround.js +2 -2
  493. package/lib/lowcode/painter/panel-section/StylePanel/Border.js +2 -2
  494. package/lib/lowcode/painter/panel-section/StylePanel/BorderRadius.js +2 -2
  495. package/lib/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +2 -2
  496. package/lib/lowcode/painter/panel-section/StylePanel/BorderSelector.js +2 -2
  497. package/lib/lowcode/painter/panel-section/StylePanel/Display.js +2 -2
  498. package/lib/lowcode/painter/panel-section/StylePanel/Font.js +2 -2
  499. package/lib/lowcode/painter/panel-section/StylePanel/FontEditor.js +2 -2
  500. package/lib/lowcode/painter/panel-section/StylePanel/GapSelector.js +2 -2
  501. package/lib/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +2 -2
  502. package/lib/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +2 -2
  503. package/lib/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +2 -2
  504. package/lib/lowcode/painter/panel-section/StylePanel/MainPanel.js +4 -4
  505. package/lib/lowcode/painter/panel-section/StylePanel/Margin.js +2 -2
  506. package/lib/lowcode/painter/panel-section/StylePanel/Opacity.js +2 -2
  507. package/lib/lowcode/painter/panel-section/StylePanel/Padding.js +2 -2
  508. package/lib/lowcode/painter/panel-section/StylePanel/Pointer.js +2 -2
  509. package/lib/lowcode/painter/panel-section/StylePanel/Shadow.js +2 -2
  510. package/lib/lowcode/painter/panel-section/StylePanel/Size.js +2 -2
  511. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +7 -6
  512. package/lib/lowcode/painter/panel-section/StylePanel/StyleRow.js +2 -2
  513. package/lib/lowcode/painter/panel-section/StylePanel/WidthHeight.js +2 -2
  514. package/lib/lowcode/painter/panel-section/StylePanel/index.js +22 -16
  515. package/lib/lowcode/painter/panel-section/TableTopFilter.js +22 -12
  516. package/lib/lowcode/painter/panel-section/TreeRootEditor.js +12 -4
  517. package/lib/lowcode/painter/style/action-bind-modal.less +102 -102
  518. package/lib/lowcode/painter/style/actions-editor.less +15 -15
  519. package/lib/lowcode/painter/style/border-editor.less +36 -36
  520. package/lib/lowcode/painter/style/border-radius-selector.less +42 -42
  521. package/lib/lowcode/painter/style/border-selector.less +39 -39
  522. package/lib/lowcode/painter/style/button-type.less +5 -5
  523. package/lib/lowcode/painter/style/collapse.less +28 -28
  524. package/lib/lowcode/painter/style/color-input.less +19 -19
  525. package/lib/lowcode/painter/style/components.less +91 -91
  526. package/lib/lowcode/painter/style/design.less +159 -152
  527. package/lib/lowcode/painter/style/display.less +17 -17
  528. package/lib/lowcode/painter/style/dragdrop.less +10 -10
  529. package/lib/lowcode/painter/style/fields-setting.less +25 -25
  530. package/lib/lowcode/painter/style/font-editor.less +9 -9
  531. package/lib/lowcode/painter/style/fullscreen-editor.less +17 -17
  532. package/lib/lowcode/painter/style/icon-selector.less +22 -22
  533. package/lib/lowcode/painter/style/icon.less +10 -10
  534. package/lib/lowcode/painter/style/impexp.less +7 -7
  535. package/lib/lowcode/painter/style/index.less +6 -6
  536. package/lib/lowcode/painter/style/layout-ratio.less +51 -51
  537. package/lib/lowcode/painter/style/list-editor.less +95 -95
  538. package/lib/lowcode/painter/style/number-input.less +17 -17
  539. package/lib/lowcode/painter/style/outline.less +28 -28
  540. package/lib/lowcode/painter/style/page-layout-display.less +28 -0
  541. package/lib/lowcode/painter/style/panel-attrs.less +43 -43
  542. package/lib/lowcode/painter/style/panel-item.less +54 -54
  543. package/lib/lowcode/painter/style/panel.less +98 -98
  544. package/lib/lowcode/painter/style/pop-confirm.less +17 -17
  545. package/lib/lowcode/painter/style/pop-form.less +19 -19
  546. package/lib/lowcode/painter/style/radio.less +24 -24
  547. package/lib/lowcode/painter/style/ribbon.less +5 -5
  548. package/lib/lowcode/painter/style/rule-input.less +12 -12
  549. package/lib/lowcode/painter/style/split-display.less +18 -27
  550. package/lib/lowcode/painter/style/style-panel.less +37 -37
  551. package/lib/lowcode/painter/style/tabitems.less +90 -90
  552. package/lib/lowcode/painter/style/treedragdrop.less +19 -19
  553. package/lib/lowcode/view/Canvas.js +34 -7
  554. package/lib/lowcode/view/Page.js +2 -4
  555. package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +8 -2
  556. package/lib/lowcode/view/lc-components/Box/FunctionLive.js +2 -1
  557. package/lib/lowcode/view/lc-components/Box/FunctionPreview.js +2 -1
  558. package/lib/lowcode/view/lc-components/Box/index.js +4 -4
  559. package/lib/lowcode/view/lc-components/Box/index.less +14 -14
  560. package/lib/lowcode/view/lc-components/Box/meta.json +40 -40
  561. package/lib/lowcode/view/lc-components/Button/index.js +35 -39
  562. package/lib/lowcode/view/lc-components/Button/meta.json +127 -127
  563. package/lib/lowcode/view/lc-components/Button/style.less +2 -2
  564. package/lib/lowcode/view/lc-components/CardList/FunctionDesign.js +2 -1
  565. package/lib/lowcode/view/lc-components/CardList/FunctionLive.js +2 -1
  566. package/lib/lowcode/view/lc-components/CardList/FunctionPreview.js +2 -1
  567. package/lib/lowcode/view/lc-components/CardList/meta.json +153 -143
  568. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +2 -9
  569. package/lib/lowcode/view/lc-components/Dialog/FunctionLive.js +2 -1
  570. package/lib/lowcode/view/lc-components/Dialog/FunctionPreview.js +2 -1
  571. package/lib/lowcode/view/lc-components/Dialog/index.js +143 -19
  572. package/lib/lowcode/view/lc-components/Dialog/index.less +3 -3
  573. package/lib/lowcode/view/lc-components/Dialog/meta.json +150 -120
  574. package/lib/lowcode/view/lc-components/Drawer/FunctionDesign.js +2 -1
  575. package/lib/lowcode/view/lc-components/Drawer/FunctionLive.js +2 -1
  576. package/lib/lowcode/view/lc-components/Drawer/FunctionPreview.js +2 -1
  577. package/lib/lowcode/view/lc-components/Drawer/index.js +15 -12
  578. package/lib/lowcode/view/lc-components/Drawer/index.less +9 -9
  579. package/lib/lowcode/view/lc-components/Drawer/meta.json +131 -143
  580. package/lib/lowcode/view/lc-components/FieldColor/meta.json +146 -0
  581. package/lib/lowcode/view/lc-components/FieldComplex/meta.json +122 -0
  582. package/lib/lowcode/view/lc-components/FieldDate/meta.json +128 -0
  583. package/lib/lowcode/view/lc-components/FieldDict/meta.json +127 -0
  584. package/lib/lowcode/view/lc-components/FieldEditor/meta.json +127 -0
  585. package/lib/lowcode/view/lc-components/FieldGroup/meta.json +156 -0
  586. package/lib/lowcode/view/lc-components/FieldNumber/meta.json +131 -0
  587. package/lib/lowcode/view/lc-components/FieldRadio/meta.json +104 -0
  588. package/lib/lowcode/view/lc-components/FieldRegion/meta.json +110 -0
  589. package/lib/lowcode/view/lc-components/FieldSelect/meta.json +141 -0
  590. package/lib/lowcode/view/lc-components/FieldString/meta.json +141 -0
  591. package/lib/lowcode/view/lc-components/FieldSwitch/meta.json +114 -0
  592. package/lib/lowcode/view/lc-components/FieldTextarea/meta.json +132 -0
  593. package/lib/lowcode/view/lc-components/FieldUpload/meta.json +154 -0
  594. package/lib/lowcode/view/lc-components/FieldUser/meta.json +165 -0
  595. package/lib/lowcode/view/lc-components/FieldYear/meta.json +118 -0
  596. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +20 -31
  597. package/lib/lowcode/view/lc-components/Form/FunctionLive.js +2 -1
  598. package/lib/lowcode/view/lc-components/Form/FunctionPreview.js +9 -1
  599. package/lib/lowcode/view/lc-components/Form/index.js +341 -76
  600. package/lib/lowcode/view/lc-components/Form/index.less +4 -4
  601. package/lib/lowcode/view/lc-components/Form/meta.json +610 -599
  602. package/lib/lowcode/view/lc-components/Iframe/FunctionDesign.js +2 -1
  603. package/lib/lowcode/view/lc-components/Iframe/FunctionLive.js +2 -1
  604. package/lib/lowcode/view/lc-components/Iframe/FunctionPreview.js +2 -1
  605. package/lib/lowcode/view/lc-components/Iframe/meta.json +32 -32
  606. package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +9 -3
  607. package/lib/lowcode/view/lc-components/ImEx/FunctionLive.js +2 -1
  608. package/lib/lowcode/view/lc-components/ImEx/FunctionPreview.js +2 -1
  609. package/lib/lowcode/view/lc-components/ImEx/index.js +468 -9
  610. package/lib/lowcode/view/lc-components/ImEx/index.less +7 -0
  611. package/lib/lowcode/view/lc-components/ImEx/meta.json +114 -82
  612. package/lib/lowcode/view/lc-components/Image/FunctionDesign.js +2 -1
  613. package/lib/lowcode/view/lc-components/Image/FunctionLive.js +2 -1
  614. package/lib/lowcode/view/lc-components/Image/FunctionPreview.js +2 -1
  615. package/lib/lowcode/view/lc-components/Image/meta.json +114 -114
  616. package/lib/lowcode/view/lc-components/JSX/FunctionDesign.js +2 -1
  617. package/lib/lowcode/view/lc-components/JSX/FunctionLive.js +2 -1
  618. package/lib/lowcode/view/lc-components/JSX/FunctionPreview.js +2 -1
  619. package/lib/{components/LdRuntimeCom/index.js → lowcode/view/lc-components/JSX/RuntimeComp.js} +13 -16
  620. package/lib/lowcode/view/lc-components/JSX/index.js +5 -6
  621. package/lib/lowcode/view/lc-components/JSX/meta.json +28 -28
  622. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +11 -18
  623. package/lib/lowcode/view/lc-components/Layout/FunctionPreview.js +2 -1
  624. package/lib/lowcode/view/lc-components/Layout/index.js +19 -17
  625. package/lib/lowcode/view/lc-components/Layout/index.less +5 -5
  626. package/lib/lowcode/view/lc-components/Layout/meta.json +107 -107
  627. package/lib/lowcode/view/lc-components/Link/FunctionDesign.js +2 -1
  628. package/lib/lowcode/view/lc-components/Link/FunctionLive.js +2 -1
  629. package/lib/lowcode/view/lc-components/Link/FunctionPreview.js +2 -1
  630. package/lib/lowcode/view/lc-components/Link/index.js +3 -0
  631. package/lib/lowcode/view/lc-components/Link/meta.json +112 -112
  632. package/lib/lowcode/view/lc-components/Page/meta.json +55 -49
  633. package/lib/lowcode/view/lc-components/PageContent/index.js +9 -8
  634. package/lib/lowcode/view/lc-components/PageContent/meta.json +9 -9
  635. package/lib/lowcode/view/lc-components/PageFooter/index.js +5 -5
  636. package/lib/lowcode/view/lc-components/PageFooter/meta.json +9 -9
  637. package/lib/lowcode/view/lc-components/PageHeader/index.js +7 -5
  638. package/lib/lowcode/view/lc-components/PageHeader/meta.json +9 -9
  639. package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +76 -0
  640. package/lib/lowcode/view/lc-components/PageLayout/FunctionLive.js +17 -0
  641. package/lib/lowcode/view/lc-components/PageLayout/FunctionPreview.js +17 -0
  642. package/lib/lowcode/view/lc-components/PageLayout/index.js +45 -0
  643. package/lib/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  644. package/lib/lowcode/view/lc-components/PageModal/index.js +11 -14
  645. package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +2 -8
  646. package/lib/lowcode/view/lc-components/Section/FunctionLive.js +2 -1
  647. package/lib/lowcode/view/lc-components/Section/FunctionPreview.js +2 -1
  648. package/lib/lowcode/view/lc-components/Section/index.js +6 -3
  649. package/lib/lowcode/view/lc-components/Section/index.less +7 -7
  650. package/lib/lowcode/view/lc-components/Section/meta.json +107 -107
  651. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +19 -20
  652. package/lib/lowcode/view/lc-components/Split/FunctionLive.js +2 -1
  653. package/lib/lowcode/view/lc-components/Split/FunctionPreview.js +2 -1
  654. package/lib/lowcode/view/lc-components/Split/index.js +5 -6
  655. package/lib/lowcode/view/lc-components/Split/meta.json +53 -53
  656. package/lib/lowcode/view/lc-components/Table/FunctionLive.js +2 -1
  657. package/lib/lowcode/view/lc-components/Table/FunctionPreview.js +2 -1
  658. package/lib/lowcode/view/lc-components/Table/components/TopFilter.js +75 -55
  659. package/lib/lowcode/view/lc-components/Table/components/TopImex.js +433 -0
  660. package/lib/lowcode/view/lc-components/Table/index.js +422 -198
  661. package/lib/lowcode/view/lc-components/Table/meta.json +451 -399
  662. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +12 -19
  663. package/lib/lowcode/view/lc-components/Tabs/index.js +51 -36
  664. package/lib/lowcode/view/lc-components/Tabs/meta.json +113 -113
  665. package/lib/lowcode/view/lc-components/Text/FunctionDesign.js +2 -1
  666. package/lib/lowcode/view/lc-components/Text/FunctionLive.js +2 -1
  667. package/lib/lowcode/view/lc-components/Text/FunctionPreview.js +2 -1
  668. package/lib/lowcode/view/lc-components/Text/index.js +3 -0
  669. package/lib/lowcode/view/lc-components/Text/meta.json +66 -66
  670. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -3
  671. package/lib/lowcode/view/lc-components/Tree/FunctionLive.js +2 -1
  672. package/lib/lowcode/view/lc-components/Tree/index.js +170 -116
  673. package/lib/lowcode/view/lc-components/Tree/index.less +4 -4
  674. package/lib/lowcode/view/lc-components/Tree/meta.json +357 -301
  675. package/lib/lowcode/view/lc-components/Wrapper.js +12 -12
  676. package/lib/lowcode/view/style/canvas.less +5 -5
  677. package/lib/lowcode/view/style/loading.less +84 -84
  678. package/lib/lowcode/view/style/page.less +7 -7
  679. package/lib/services.js +0 -25
  680. package/lib/upload/FilesWall/file.png +0 -0
  681. package/lib/upload/FilesWall/index.js +429 -0
  682. package/lib/upload/FilesWall/index.less +74 -0
  683. package/lib/upload/Form/gridForm.js +3 -2
  684. package/lib/upload/Form/index.js +2 -1
  685. package/lib/upload/Form/index.less +7 -7
  686. package/lib/upload/FormItem/index.js +20 -21
  687. package/lib/upload/index.js +8 -1
  688. package/lib/utils/action.js +2 -2
  689. package/lib/utils/form.js +37 -24
  690. package/lib/utils/grid.js +10 -7
  691. package/lowcode.js +1 -1
  692. package/package.json +173 -171
  693. package/upload.js +1 -1
  694. package/utils.js +1 -1
  695. package/es/lowcode/engine/meta/local/local.zh-cn.js +0 -97
  696. package/lib/lowcode/engine/meta/local/local.zh-cn.js +0 -103
@@ -10,36 +10,36 @@ import { Input, Tooltip } from 'luck-design/antd';
10
10
  import classNames from 'classnames';
11
11
  import styles from "../style/rule-input.less";
12
12
 
13
- /**
14
- * 带校验功能的输入组件。
15
- *
16
- * 此组件封装了antd的Input组件,并增加了输入值的校验功能。它允许开发者定义一组校验规则,
17
- * 以确保用户输入符合特定要求。每条规则由一个校验函数和一个错误信息组成。如果用户的输入
18
- * 不满足任何一条规则,将展示相应的错误信息提示。
19
- *
20
- * @component
21
- * @example
22
- * <RuleInput
23
- * value="示例值"
24
- * onValueChange={(e, newValue) => console.log('新值:', newValue)}
25
- * rules={[
26
- * { func: value => !!value, err: '输入不能为空' },
27
- * { func: value => /^\d+$/.test(value), err: '只允许输入数字' }
28
- * ]}
29
- * />
30
- *
31
- * @param {Object} props 组件接收的props
32
- * @param {string} props.value 输入框当前的值,可以由外部控制以实现受控组件。
33
- * @param {Function} props.onValueChange 当输入值改变并通过所有校验时,触发的回调函数。
34
- * 该函数接收原生的事件对象和新的输入值作为参数。
35
- * @param {Array<{func: (value: string) => boolean, err: string}>} props.rules
36
- * 定义输入校验规则的数组。每个元素是一个对象,其中`func`属性是一个函数,用于执行校验逻辑,
37
- * 接收当前输入值作为参数,返回一个布尔值表示校验是否通过;`err`属性是一个字符串,指定当
38
- * 校验失败时要显示的错误信息。
39
- * @param {Object} rest 传递给内部Input组件的其他props,如`placeholder`、`disabled`等。
40
- * @param {React.Ref} ref React ref对象,用于将ref传递给内部的Input DOM元素。
41
- *
42
- * @returns React元素,渲染一个带有校验功能的输入框和校验失败时的错误信息提示。
13
+ /**
14
+ * 带校验功能的输入组件。
15
+ *
16
+ * 此组件封装了antd的Input组件,并增加了输入值的校验功能。它允许开发者定义一组校验规则,
17
+ * 以确保用户输入符合特定要求。每条规则由一个校验函数和一个错误信息组成。如果用户的输入
18
+ * 不满足任何一条规则,将展示相应的错误信息提示。
19
+ *
20
+ * @component
21
+ * @example
22
+ * <RuleInput
23
+ * value="示例值"
24
+ * onValueChange={(e, newValue) => console.log('新值:', newValue)}
25
+ * rules={[
26
+ * { func: value => !!value, err: '输入不能为空' },
27
+ * { func: value => /^\d+$/.test(value), err: '只允许输入数字' }
28
+ * ]}
29
+ * />
30
+ *
31
+ * @param {Object} props 组件接收的props
32
+ * @param {string} props.value 输入框当前的值,可以由外部控制以实现受控组件。
33
+ * @param {Function} props.onValueChange 当输入值改变并通过所有校验时,触发的回调函数。
34
+ * 该函数接收原生的事件对象和新的输入值作为参数。
35
+ * @param {Array<{func: (value: string) => boolean, err: string}>} props.rules
36
+ * 定义输入校验规则的数组。每个元素是一个对象,其中`func`属性是一个函数,用于执行校验逻辑,
37
+ * 接收当前输入值作为参数,返回一个布尔值表示校验是否通过;`err`属性是一个字符串,指定当
38
+ * 校验失败时要显示的错误信息。
39
+ * @param {Object} rest 传递给内部Input组件的其他props,如`placeholder`、`disabled`等。
40
+ * @param {React.Ref} ref React ref对象,用于将ref传递给内部的Input DOM元素。
41
+ *
42
+ * @returns React元素,渲染一个带有校验功能的输入框和校验失败时的错误信息提示。
43
43
  */
44
44
  export default /*#__PURE__*/forwardRef(function (_ref, ref) {
45
45
  var onValueChange = _ref.onValueChange,
@@ -65,7 +65,6 @@ export default /*#__PURE__*/forwardRef(function (_ref, ref) {
65
65
  var value = e.target.value;
66
66
  setInputValue(value); // 更新托管的输入值
67
67
 
68
- if (value == '') onValueChange(e, value);
69
68
  var error = null;
70
69
 
71
70
  // 遍历rules,检查输入值是否满足条件
@@ -7,17 +7,17 @@ import { DndContext } from '@dnd-kit/core';
7
7
  import { SortableContext, arrayMove, useSortable, verticalListSortingStrategy } from '@dnd-kit/sortable';
8
8
  import { CSS } from '@dnd-kit/utilities';
9
9
 
10
- /**
11
- * SortBox 是一个使用 dnd-kit 实现拖拽排序的组件。
12
- * 它允许子元素通过拖拽操作来重新排序,并在排序操作完成后通过 onChange 回调传递新的排序结果。
13
- *
14
- * @param {Object} props 组件的 props。
15
- * @param {Array} props.datas 初始排序的数据数组,通常包含用于排序的唯一标识符。
16
- * @param {ReactNode} props.children 组件的子元素,通常是需要进行排序的元素集合。
17
- * @param {Function} props.onChange 当排序操作完成时触发的回调函数,参数为重新排序后的数据数组。
18
- * @param {Function} [props.strategy=verticalListSortingStrategy] 用于排序的策略。默认为垂直列表排序策略。
19
- *
20
- * @returns {ReactNode} 返回一个配置了 DndContext 和 SortableContext 的 React 组件结构。
10
+ /**
11
+ * SortBox 是一个使用 dnd-kit 实现拖拽排序的组件。
12
+ * 它允许子元素通过拖拽操作来重新排序,并在排序操作完成后通过 onChange 回调传递新的排序结果。
13
+ *
14
+ * @param {Object} props 组件的 props。
15
+ * @param {Array} props.datas 初始排序的数据数组,通常包含用于排序的唯一标识符。
16
+ * @param {ReactNode} props.children 组件的子元素,通常是需要进行排序的元素集合。
17
+ * @param {Function} props.onChange 当排序操作完成时触发的回调函数,参数为重新排序后的数据数组。
18
+ * @param {Function} [props.strategy=verticalListSortingStrategy] 用于排序的策略。默认为垂直列表排序策略。
19
+ *
20
+ * @returns {ReactNode} 返回一个配置了 DndContext 和 SortableContext 的 React 组件结构。
21
21
  */
22
22
  export var SortBox = function SortBox(_ref) {
23
23
  var datas = _ref.datas,
@@ -57,17 +57,17 @@ export var SortBox = function SortBox(_ref) {
57
57
  }, children));
58
58
  };
59
59
 
60
- /**
61
- * SortItem 组件是一个使用 dnd-kit 实现的可排序项。它通过 useSortable 钩子来提供拖拽功能,
62
- * 并将必要的属性和监听器传递给其子元素,使得子元素可拖拽。
63
- *
64
- * @param {Object} props - 组件的 props。
65
- * @param {string} props.id - 该排序项的唯一标识符,用于识别不同的可排序元素。
66
- * @param {ReactNode} props.children - 该组件的子元素。通常是你希望使之可拖拽的元素。
67
- * SortItem 会将拖拽相关的 props 注入到这个子元素中。
68
- *
69
- * @returns {ReactNode} 返回一个增强后的 React 元素,此元素集成了拖拽功能。
70
- * 它基于原 children 元素,附加了用于拖拽的属性和样式。
60
+ /**
61
+ * SortItem 组件是一个使用 dnd-kit 实现的可排序项。它通过 useSortable 钩子来提供拖拽功能,
62
+ * 并将必要的属性和监听器传递给其子元素,使得子元素可拖拽。
63
+ *
64
+ * @param {Object} props - 组件的 props。
65
+ * @param {string} props.id - 该排序项的唯一标识符,用于识别不同的可排序元素。
66
+ * @param {ReactNode} props.children - 该组件的子元素。通常是你希望使之可拖拽的元素。
67
+ * SortItem 会将拖拽相关的 props 注入到这个子元素中。
68
+ *
69
+ * @returns {ReactNode} 返回一个增强后的 React 元素,此元素集成了拖拽功能。
70
+ * 它基于原 children 元素,附加了用于拖拽的属性和样式。
71
71
  */
72
72
  export var SortItem = function SortItem(_ref2) {
73
73
  var id = _ref2.id,
@@ -1,47 +1,48 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["onChange", "isFullscreen"],
4
+ var _excluded = ["onChange", "isFullscreen", "style"],
5
5
  _excluded2 = ["children", "language", "options"];
6
6
  import React, { useEffect, useRef, useImperativeHandle, forwardRef } from 'react';
7
7
  import * as monaco from 'monaco-editor';
8
8
 
9
- /**
10
- * BaseEditor 组件是一个封装了 monaco 编辑器的 React 组件,支持前向 ref 引用。
11
- * 该组件允许用户编辑代码,并在代码发生变更时触发回调函数。
12
- * 它还支持通过 props 控制编辑器的语言、选项以及是否全屏显示。
13
- *
14
- * @component
15
- * @example
16
- * const handleEditorChange = (newValue, event) => {
17
- * console.log('Editor content changed: ', newValue);
18
- * };
19
- * <BaseEditor
20
- * language="javascript"
21
- * onChange={handleEditorChange}
22
- * isFullscreen={false}
23
- * width="600px"
24
- * height="400px"
25
- * >
26
- * {`function sayHello() {\n console.log('Hello, World!');\n}`}
27
- * </BaseEditor>
28
- *
29
- * @param {Object} props - 组件的属性。
30
- * @param {Function} props.onChange - 当编辑器内容变更时调用的函数。接收最新的编辑器内容和事件对象作为参数。
31
- * @param {boolean} props.isFullscreen - 控制编辑器是否全屏显示。
32
- * @param {string} [props.language='javascript'] - 设置编辑器的编程语言,默认为 'javascript'。
33
- * @param {Object} [props.options={}] - 用于自定义编辑器的选项。
34
- * @param {React.ReactNode} children - 子组件,通常是编辑器的初始代码。
35
- * @param {string} [props.width] - 编辑器的宽度,默认为 '100%'。
36
- * @param {string} [props.height] - 编辑器的高度,默认为 '100%'。
37
- * @param {Object} rest - 传递给 div 容器的其它属性。
38
- * @param {React.Ref} ref - React ref 引用,用于外部组件调用编辑器实例的方法。
39
- *
40
- * @returns {ReactElement} 返回一个 React 元素,其中包含了一个配置好的 monaco 编辑器实例。
9
+ /**
10
+ * BaseEditor 组件是一个封装了 monaco 编辑器的 React 组件,支持前向 ref 引用。
11
+ * 该组件允许用户编辑代码,并在代码发生变更时触发回调函数。
12
+ * 它还支持通过 props 控制编辑器的语言、选项以及是否全屏显示。
13
+ *
14
+ * @component
15
+ * @example
16
+ * const handleEditorChange = (newValue, event) => {
17
+ * console.log('Editor content changed: ', newValue);
18
+ * };
19
+ * <BaseEditor
20
+ * language="javascript"
21
+ * onChange={handleEditorChange}
22
+ * isFullscreen={false}
23
+ * width="600px"
24
+ * height="400px"
25
+ * >
26
+ * {`function sayHello() {\n console.log('Hello, World!');\n}`}
27
+ * </BaseEditor>
28
+ *
29
+ * @param {Object} props - 组件的属性。
30
+ * @param {Function} props.onChange - 当编辑器内容变更时调用的函数。接收最新的编辑器内容和事件对象作为参数。
31
+ * @param {boolean} props.isFullscreen - 控制编辑器是否全屏显示。
32
+ * @param {string} [props.language='javascript'] - 设置编辑器的编程语言,默认为 'javascript'。
33
+ * @param {Object} [props.options={}] - 用于自定义编辑器的选项。
34
+ * @param {React.ReactNode} children - 子组件,通常是编辑器的初始代码。
35
+ * @param {string} [props.width] - 编辑器的宽度,默认为 '100%'。
36
+ * @param {string} [props.height] - 编辑器的高度,默认为 '100%'。
37
+ * @param {Object} rest - 传递给 div 容器的其它属性。
38
+ * @param {React.Ref} ref - React ref 引用,用于外部组件调用编辑器实例的方法。
39
+ *
40
+ * @returns {ReactElement} 返回一个 React 元素,其中包含了一个配置好的 monaco 编辑器实例。
41
41
  */
42
42
  var BaseEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
43
43
  var onChange = _ref.onChange,
44
44
  isFullscreen = _ref.isFullscreen,
45
+ style = _ref.style,
45
46
  props = _objectWithoutProperties(_ref, _excluded);
46
47
  var children = props.children,
47
48
  _props$language = props.language,
@@ -102,7 +103,7 @@ var BaseEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
102
103
  };
103
104
  return /*#__PURE__*/React.createElement("div", _extends({
104
105
  ref: editorRef,
105
- style: editorStyle
106
+ style: _objectSpread(_objectSpread({}, editorStyle), style)
106
107
  }, rest));
107
108
  });
108
109
  export default /*#__PURE__*/React.memo(BaseEditor);
@@ -4,31 +4,31 @@ var _excluded = ["children"];
4
4
  import React, { forwardRef } from 'react';
5
5
  import BaseEditor from "./BaseEditor";
6
6
 
7
- /**
8
- * CssEditor 组件是一个专门用于编辑 CSS 代码的 React 组件,它基于 BaseEditor 组件构建。
9
- * 该组件通过将 language 属性固定设置为 "css",确保编辑器环境专门用于 CSS 代码编辑。
10
- * 用户可以传入 CSS 代码作为 children,并通过其他 props 控制 BaseEditor 提供的额外功能。
11
- *
12
- * @component
13
- * @example
14
- * const handleCssChange = (newCss, event) => {
15
- * console.log('CSS changed: ', newCss);
16
- * };
17
- * <CssEditor
18
- * onChange={handleCssChange}
19
- * isFullscreen={false}
20
- * width="600px"
21
- * height="400px"
22
- * >
23
- * {`body { margin: 0; font-family: Arial, sans-serif; }`}
24
- * </CssEditor>
25
- *
26
- * @param {Object} props - 组件的属性。
27
- * @param {React.ReactNode} children - 子组件,通常是编辑器的初始 CSS 代码。
28
- * @param {Object} rest - 传递给 BaseEditor 组件的其他属性。
29
- * @param {React.Ref} ref - React ref 引用,用于外部组件调用编辑器实例的方法。
30
- *
31
- * @returns {ReactElement} 返回一个 React 元素,该元素内部是一个专门用于 CSS 编辑的 BaseEditor 组件实例。
7
+ /**
8
+ * CssEditor 组件是一个专门用于编辑 CSS 代码的 React 组件,它基于 BaseEditor 组件构建。
9
+ * 该组件通过将 language 属性固定设置为 "css",确保编辑器环境专门用于 CSS 代码编辑。
10
+ * 用户可以传入 CSS 代码作为 children,并通过其他 props 控制 BaseEditor 提供的额外功能。
11
+ *
12
+ * @component
13
+ * @example
14
+ * const handleCssChange = (newCss, event) => {
15
+ * console.log('CSS changed: ', newCss);
16
+ * };
17
+ * <CssEditor
18
+ * onChange={handleCssChange}
19
+ * isFullscreen={false}
20
+ * width="600px"
21
+ * height="400px"
22
+ * >
23
+ * {`body { margin: 0; font-family: Arial, sans-serif; }`}
24
+ * </CssEditor>
25
+ *
26
+ * @param {Object} props - 组件的属性。
27
+ * @param {React.ReactNode} children - 子组件,通常是编辑器的初始 CSS 代码。
28
+ * @param {Object} rest - 传递给 BaseEditor 组件的其他属性。
29
+ * @param {React.Ref} ref - React ref 引用,用于外部组件调用编辑器实例的方法。
30
+ *
31
+ * @returns {ReactElement} 返回一个 React 元素,该元素内部是一个专门用于 CSS 编辑的 BaseEditor 组件实例。
32
32
  */
33
33
  var CssEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
34
34
  var children = _ref.children,
@@ -8,29 +8,29 @@ import { formatMessage } from '@luck-design-biz/base/utils';
8
8
  import styles from "../../style/fullscreen-editor.less";
9
9
  import { useFullscreen } from 'ahooks';
10
10
 
11
- /**
12
- * FullScreenEditor 组件是一个支持全屏编辑模式的 React 组件,它利用提供的 EditorComponent 来实现代码编辑功能。
13
- * 该组件使用 ahooks 的 useFullscreen 钩子来实现全屏切换,并在全屏模式下调整编辑器布局。
14
- * 全屏/非全屏模式下编辑器的某些选项可能会有所不同,以适应不同的布局需求。
15
- *
16
- * @component
17
- * @example
18
- * const MyEditor = React.forwardRef((props, ref) => <BaseEditor {...props} ref={ref} />);
19
- * <FullScreenEditor
20
- * EditorComponent={MyEditor}
21
- * onLoad={() => console.log('Editor loaded')}
22
- * >
23
- * {`function sayHello() {\n console.log('Hello, World!');\n}`}
24
- * </FullScreenEditor>
25
- *
26
- * @param {Object} props - 组件的属性。
27
- * @param {Function} props.EditorComponent - 用于编辑的组件,该组件需要支持 ref 引用以调用编辑器的方法。
28
- * @param {Function} [props.onLoad] - 编辑器加载完成时的回调函数。
29
- * @param {React.ReactNode} children - 传递给 EditorComponent 的 children,通常是初始代码或内容。
30
- * @param {Object} rest - 传递给 EditorComponent 的其他属性。
31
- * @param {React.Ref} ref - React ref 引用,用于在外部组件中访问 EditorComponent 实例的方法。
32
- *
33
- * @returns {ReactElement} 返回一个 React 元素,其中包含了一个具有全屏切换功能的编辑器界面。
11
+ /**
12
+ * FullScreenEditor 组件是一个支持全屏编辑模式的 React 组件,它利用提供的 EditorComponent 来实现代码编辑功能。
13
+ * 该组件使用 ahooks 的 useFullscreen 钩子来实现全屏切换,并在全屏模式下调整编辑器布局。
14
+ * 全屏/非全屏模式下编辑器的某些选项可能会有所不同,以适应不同的布局需求。
15
+ *
16
+ * @component
17
+ * @example
18
+ * const MyEditor = React.forwardRef((props, ref) => <BaseEditor {...props} ref={ref} />);
19
+ * <FullScreenEditor
20
+ * EditorComponent={MyEditor}
21
+ * onLoad={() => console.log('Editor loaded')}
22
+ * >
23
+ * {`function sayHello() {\n console.log('Hello, World!');\n}`}
24
+ * </FullScreenEditor>
25
+ *
26
+ * @param {Object} props - 组件的属性。
27
+ * @param {Function} props.EditorComponent - 用于编辑的组件,该组件需要支持 ref 引用以调用编辑器的方法。
28
+ * @param {Function} [props.onLoad] - 编辑器加载完成时的回调函数。
29
+ * @param {React.ReactNode} children - 传递给 EditorComponent 的 children,通常是初始代码或内容。
30
+ * @param {Object} rest - 传递给 EditorComponent 的其他属性。
31
+ * @param {React.Ref} ref - React ref 引用,用于在外部组件中访问 EditorComponent 实例的方法。
32
+ *
33
+ * @returns {ReactElement} 返回一个 React 元素,其中包含了一个具有全屏切换功能的编辑器界面。
34
34
  */
35
35
  var FullScreenEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
36
36
  var EditorComponent = _ref.EditorComponent,
@@ -1,14 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
4
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
5
5
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
6
6
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
7
- var _excluded = ["children"];
7
+ var _excluded = ["children", "keywords"];
8
8
  import React, { useEffect, forwardRef } from 'react';
9
- import BaseEditor from "./BaseEditor";
10
9
  import * as monaco from 'monaco-editor';
11
10
  import { isNil } from 'lodash';
11
+ import BaseEditor from "./BaseEditor";
12
12
  function capitalizeFirstLetter(string) {
13
13
  if (isNil(string)) return null;
14
14
  if (string.length === 0) {
@@ -16,19 +16,24 @@ function capitalizeFirstLetter(string) {
16
16
  }
17
17
  return string.charAt(0).toUpperCase() + string.slice(1);
18
18
  }
19
- var _provideCompletionItems = function provideCompletionItems(monaco, model, position, module) {
19
+ var _provideCompletionItems = function provideCompletionItems(monaco, model, position, module, ctx) {
20
20
  var textUntilPosition = model.getValueInRange({
21
21
  startLineNumber: 1,
22
22
  startColumn: 1,
23
23
  endLineNumber: position.lineNumber,
24
24
  endColumn: position.column
25
25
  });
26
-
27
- // 正则表达式匹配以 triggerWord 开头的任何单词
28
- var pattern = new RegExp('\\b' + module.triggerWord + '[\\w.]*', 'i');
29
- var match = textUntilPosition.match(pattern);
30
- // console.log('match',match)
26
+ var match;
27
+ if (module.triggerWord) {
28
+ // 正则表达式匹配以 triggerWord 开头的任何单词
29
+ var pattern = new RegExp('\\b' + module.triggerWord + '[\\w.]*', 'i');
30
+ match = textUntilPosition.match(pattern);
31
+ } else {
32
+ var _pattern = new RegExp('\\b[a-zA-Z][\\w.]*', 'i');
33
+ match = ["'", '"'].includes(ctx.triggerCharacter) && textUntilPosition.match(_pattern);
34
+ }
31
35
  if (match) {
36
+ var _module$completions;
32
37
  var word = model.getWordUntilPosition(position);
33
38
  var range = {
34
39
  startLineNumber: position.lineNumber,
@@ -36,7 +41,7 @@ var _provideCompletionItems = function provideCompletionItems(monaco, model, pos
36
41
  startColumn: word.startColumn,
37
42
  endColumn: word.endColumn
38
43
  };
39
- return module.completions.map(function (completion) {
44
+ return (_module$completions = module.completions) === null || _module$completions === void 0 ? void 0 : _module$completions.map(function (completion) {
40
45
  return _objectSpread(_objectSpread({}, completion), {}, {
41
46
  range: range,
42
47
  kind: monaco.languages.CompletionItemKind[capitalizeFirstLetter(completion.kind)]
@@ -46,7 +51,7 @@ var _provideCompletionItems = function provideCompletionItems(monaco, model, pos
46
51
  return [];
47
52
  };
48
53
  var setupAutocomplete = /*#__PURE__*/function () {
49
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(monaco) {
54
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(monaco, keywords) {
50
55
  var autoCompleteModules;
51
56
  return _regeneratorRuntime().wrap(function _callee$(_context) {
52
57
  while (1) switch (_context.prev = _context.next) {
@@ -55,60 +60,61 @@ var setupAutocomplete = /*#__PURE__*/function () {
55
60
  return import("../../../engine/meta/js-editor/auto-complete.json");
56
61
  case 2:
57
62
  autoCompleteModules = _context.sent;
58
- // console.log('autoCompleteModules', autoCompleteModules);
59
-
60
- monaco.languages.registerCompletionItemProvider('javascript', _defineProperty({
61
- triggerCharacters: ['.'],
62
- provideCompletionItems: function provideCompletionItems(model, position) {
63
+ monaco.languages.registerCompletionItemProvider('javascript', {
64
+ provideCompletionItems: function provideCompletionItems(model, position, ctx) {
63
65
  var allCompletionItems = [];
64
66
 
65
67
  // 从所有模块收集补全项
66
- autoCompleteModules.default.forEach(function (module) {
67
- var items = _provideCompletionItems(monaco, model, position, module);
68
+ [{
69
+ completions: keywords
70
+ }].concat(_toConsumableArray(autoCompleteModules.default)).forEach(function (module) {
71
+ var items = _provideCompletionItems(monaco, model, position, module, ctx);
68
72
  allCompletionItems = allCompletionItems.concat(items);
69
73
  });
70
74
  return {
71
75
  suggestions: allCompletionItems
72
76
  };
73
- }
74
- }, "triggerCharacters", ['.']));
77
+ },
78
+ triggerCharacters: ['.', "'", '"'] // 当用户输入点号时触发补全
79
+ });
75
80
  case 4:
76
81
  case "end":
77
82
  return _context.stop();
78
83
  }
79
84
  }, _callee);
80
85
  }));
81
- return function setupAutocomplete(_x) {
86
+ return function setupAutocomplete(_x, _x2) {
82
87
  return _ref.apply(this, arguments);
83
88
  };
84
89
  }();
85
90
 
86
- /**
87
- * JSEditor 组件是一个专为 JavaScript 编辑设计的 React 组件,它基于 BaseEditor 组件构建,并集成了自动完成功能。
88
- * 该组件利用 monaco-editor 提供的 API,通过 setupAutocomplete 函数设置自动完成项,从而增强代码编辑体验。
89
- * 自动完成逻辑包括从预定义的自动完成模块中加载补全项,以及在编辑器中键入特定字符(如".")时触发补全建议。
90
- *
91
- * @component
92
- * @example
93
- * <JSEditor
94
- * language="javascript"
95
- * options={{ fontSize: 14 }}
96
- * >
97
- * {`function sayHello() {\n console.log('Hello, World!');\n}`}
98
- * </JSEditor>
99
- *
100
- * @param {Object} props - 组件的属性。
101
- * @param {React.ReactNode} children - 传递给 BaseEditor 的 children,通常是初始代码或内容。
102
- * @param {Object} rest - 传递给 BaseEditor 组件的其他属性。
103
- * @param {React.Ref} ref - React ref 引用,用于在外部组件中访问 BaseEditor 实例的方法。
104
- *
105
- * @returns {ReactElement} 返回一个 React 元素,其中包含了一个具有自动完成功能的 JavaScript 编辑器实例。
91
+ /**
92
+ * JSEditor 组件是一个专为 JavaScript 编辑设计的 React 组件,它基于 BaseEditor 组件构建,并集成了自动完成功能。
93
+ * 该组件利用 monaco-editor 提供的 API,通过 setupAutocomplete 函数设置自动完成项,从而增强代码编辑体验。
94
+ * 自动完成逻辑包括从预定义的自动完成模块中加载补全项,以及在编辑器中键入特定字符(如".")时触发补全建议。
95
+ *
96
+ * @component
97
+ * @example
98
+ * <JSEditor
99
+ * language="javascript"
100
+ * options={{ fontSize: 14 }}
101
+ * >
102
+ * {`function sayHello() {\n console.log('Hello, World!');\n}`}
103
+ * </JSEditor>
104
+ *
105
+ * @param {Object} props - 组件的属性。
106
+ * @param {React.ReactNode} children - 传递给 BaseEditor 的 children,通常是初始代码或内容。
107
+ * @param {Object} rest - 传递给 BaseEditor 组件的其他属性。
108
+ * @param {React.Ref} ref - React ref 引用,用于在外部组件中访问 BaseEditor 实例的方法。
109
+ *
110
+ * @returns {ReactElement} 返回一个 React 元素,其中包含了一个具有自动完成功能的 JavaScript 编辑器实例。
106
111
  */
107
112
  var JSEditor = /*#__PURE__*/forwardRef(function (_ref2, ref) {
108
113
  var children = _ref2.children,
114
+ keywords = _ref2.keywords,
109
115
  rest = _objectWithoutProperties(_ref2, _excluded);
110
116
  useEffect(function () {
111
- setupAutocomplete(monaco);
117
+ setupAutocomplete(monaco, keywords);
112
118
  }, []);
113
119
  return /*#__PURE__*/React.createElement(BaseEditor, _extends({
114
120
  ref: ref
@@ -4,31 +4,31 @@ var _excluded = ["children"];
4
4
  import React, { forwardRef } from 'react';
5
5
  import BaseEditor from "./BaseEditor";
6
6
 
7
- /**
8
- * JsonEditor 组件是一个专门用于编辑 CSS 代码的 React 组件,它基于 BaseEditor 组件构建。
9
- * 该组件通过将 language 属性固定设置为 "css",确保编辑器环境专门用于 CSS 代码编辑。
10
- * 用户可以传入 CSS 代码作为 children,并通过其他 props 控制 BaseEditor 提供的额外功能。
11
- *
12
- * @component
13
- * @example
14
- * const handleCssChange = (newCss, event) => {
15
- * console.log('CSS changed: ', newCss);
16
- * };
17
- * <JsonEditor
18
- * onChange={handleCssChange}
19
- * isFullscreen={false}
20
- * width="600px"
21
- * height="400px"
22
- * >
23
- * {`body { margin: 0; font-family: Arial, sans-serif; }`}
24
- * </JsonEditor>
25
- *
26
- * @param {Object} props - 组件的属性。
27
- * @param {React.ReactNode} children - 子组件,通常是编辑器的初始 CSS 代码。
28
- * @param {Object} rest - 传递给 BaseEditor 组件的其他属性。
29
- * @param {React.Ref} ref - React ref 引用,用于外部组件调用编辑器实例的方法。
30
- *
31
- * @returns {ReactElement} 返回一个 React 元素,该元素内部是一个专门用于 CSS 编辑的 BaseEditor 组件实例。
7
+ /**
8
+ * JsonEditor 组件是一个专门用于编辑 CSS 代码的 React 组件,它基于 BaseEditor 组件构建。
9
+ * 该组件通过将 language 属性固定设置为 "css",确保编辑器环境专门用于 CSS 代码编辑。
10
+ * 用户可以传入 CSS 代码作为 children,并通过其他 props 控制 BaseEditor 提供的额外功能。
11
+ *
12
+ * @component
13
+ * @example
14
+ * const handleCssChange = (newCss, event) => {
15
+ * console.log('CSS changed: ', newCss);
16
+ * };
17
+ * <JsonEditor
18
+ * onChange={handleCssChange}
19
+ * isFullscreen={false}
20
+ * width="600px"
21
+ * height="400px"
22
+ * >
23
+ * {`body { margin: 0; font-family: Arial, sans-serif; }`}
24
+ * </JsonEditor>
25
+ *
26
+ * @param {Object} props - 组件的属性。
27
+ * @param {React.ReactNode} children - 子组件,通常是编辑器的初始 CSS 代码。
28
+ * @param {Object} rest - 传递给 BaseEditor 组件的其他属性。
29
+ * @param {React.Ref} ref - React ref 引用,用于外部组件调用编辑器实例的方法。
30
+ *
31
+ * @returns {ReactElement} 返回一个 React 元素,该元素内部是一个专门用于 CSS 编辑的 BaseEditor 组件实例。
32
32
  */
33
33
  var JsonEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
34
34
  var children = _ref.children,