@luck-design-biz/luckda 1.0.1 → 1.0.2-2

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 (474) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +40 -40
  3. package/es/components/LDActions/index.less +70 -68
  4. package/es/components/LdAutoForm/index.js +2 -1
  5. package/es/components/LdCard/index.js +154 -67
  6. package/es/components/LdFormList/index.js +20 -6
  7. package/es/components/LdGrid/index.js +4 -4
  8. package/es/components/LdGridForm/index.js +40 -24
  9. package/es/components/LdGridForm/index.less +7 -7
  10. package/es/components/LdTree/index.js +14 -8
  11. package/es/components/LdTree/index.less +42 -40
  12. package/es/helper/action.js +6 -6
  13. package/es/helper/form.js +14 -14
  14. package/es/helper/index.less +7 -7
  15. package/es/helper/ldBuilder.js +1 -1
  16. package/es/locales/zh-CN.js +13 -4
  17. package/es/lowcode/constants/api-url.js +87 -87
  18. package/es/lowcode/constants/index.js +1 -1
  19. package/es/lowcode/engine/meta/cardlist.props.default.json +27 -6
  20. package/es/lowcode/engine/meta/cardlist.props.json +254 -72
  21. package/es/lowcode/engine/meta/components-list.json +12 -108
  22. package/es/lowcode/engine/meta/dialog.props.default.json +4 -2
  23. package/es/lowcode/engine/meta/dialog.props.json +74 -18
  24. package/es/lowcode/engine/meta/drawer.props.default.json +15 -4
  25. package/es/lowcode/engine/meta/drawer.props.json +144 -24
  26. package/es/lowcode/engine/meta/form.props.default.json +14 -3
  27. package/es/lowcode/engine/meta/form.props.json +49 -9
  28. package/es/lowcode/engine/meta/grouptree.props.default.json +16 -0
  29. package/es/lowcode/engine/meta/grouptree.props.json +83 -0
  30. package/es/lowcode/engine/meta/iframe.props.default.json +1 -1
  31. package/es/lowcode/engine/meta/iframe.props.json +3 -4
  32. package/es/lowcode/engine/meta/image.props.default.json +3 -2
  33. package/es/lowcode/engine/meta/image.props.json +51 -16
  34. package/es/lowcode/engine/meta/imex.props.json +1 -1
  35. package/es/lowcode/engine/meta/js-editor/auto-complete.json +49 -31
  36. package/es/lowcode/engine/meta/link.props.default.json +1 -1
  37. package/es/lowcode/engine/meta/link.props.json +9 -9
  38. package/es/lowcode/engine/meta/table.props.json +1 -1
  39. package/es/lowcode/engine/meta/tabs.props.default.json +1 -1
  40. package/es/lowcode/engine/meta/tabs.props.json +1 -1
  41. package/es/lowcode/engine/meta/tree.props.json +2 -2
  42. package/es/lowcode/engine/provider/ContextProvider/index.js +50 -46
  43. package/es/lowcode/engine/provider/ContextProvider/usePageDataStore.js +82 -2
  44. package/es/lowcode/engine/tools/dataProcess.js +76 -76
  45. package/es/lowcode/engine/tools/helper.js +21 -0
  46. package/es/lowcode/engine/tools/useCanvasRender.js +13 -1
  47. package/es/lowcode/painter/Components.js +8 -3
  48. package/es/lowcode/painter/Design.js +1 -0
  49. package/es/lowcode/painter/DesignOperator.js +25 -15
  50. package/es/lowcode/painter/DesignToolbar.js +78 -47
  51. package/es/lowcode/painter/Ribbon.js +14 -1
  52. package/es/lowcode/painter/components/ActionBindModal.js +3 -7
  53. package/es/lowcode/painter/components/AdvancePanel.js +11 -4
  54. package/es/lowcode/painter/components/Collapse.js +26 -26
  55. package/es/lowcode/painter/components/ColorInput.js +24 -24
  56. package/es/lowcode/painter/components/DragDrop/DragDropContext.js +144 -37
  57. package/es/lowcode/painter/components/DragDrop/DragDropWrapper.js +29 -6
  58. package/es/lowcode/painter/components/DragDrop/Overlay.js +5 -2
  59. package/es/lowcode/painter/components/DragDrop/TreeDragDropWrapper.js +7 -4
  60. package/es/lowcode/painter/components/ListEditor.js +24 -24
  61. package/es/lowcode/painter/components/NumberInput.js +29 -29
  62. package/es/lowcode/painter/components/PanelItem.js +24 -24
  63. package/es/lowcode/painter/components/PopConfirm.js +8 -8
  64. package/es/lowcode/painter/components/PopForm.js +27 -27
  65. package/es/lowcode/painter/components/RuleInput.js +30 -30
  66. package/es/lowcode/painter/components/SortBox.js +22 -22
  67. package/es/lowcode/painter/components/code-editor/BaseEditor.js +38 -33
  68. package/es/lowcode/painter/components/code-editor/CssEditor.js +25 -25
  69. package/es/lowcode/painter/components/code-editor/FullScreenEditor.js +23 -23
  70. package/es/lowcode/painter/components/code-editor/JSEditor.js +20 -20
  71. package/es/lowcode/painter/components/code-editor/JsonEditor.js +25 -25
  72. package/es/lowcode/painter/components/field-setting/FieldAttrs.js +2 -2
  73. package/es/lowcode/painter/components/field-setting/SettingUI.js +30 -2
  74. package/es/lowcode/painter/components/field-setting/index.js +26 -12
  75. package/es/lowcode/painter/expect.js +27 -0
  76. package/es/lowcode/painter/panel-section/ActionsEditor/ActionEditor.js +20 -2
  77. package/es/lowcode/painter/panel-section/ActionsEditor/index.js +18 -3
  78. package/es/lowcode/painter/panel-section/ComplexPop.js +1 -1
  79. package/es/lowcode/painter/panel-section/DataSetSelector.js +14 -3
  80. package/es/lowcode/painter/panel-section/FieldState.js +11 -2
  81. package/es/lowcode/painter/panel-section/FieldsSetting.js +2 -2
  82. package/es/lowcode/painter/panel-section/GroupClassSelector.js +55 -0
  83. package/es/lowcode/painter/panel-section/Icon.js +23 -23
  84. package/es/lowcode/painter/panel-section/IconSelector.js +16 -16
  85. package/es/lowcode/painter/panel-section/LayoutRatio.js +21 -21
  86. package/es/lowcode/painter/panel-section/PageVars.js +1 -1
  87. package/es/lowcode/painter/panel-section/StylePanel/BackGround.js +2 -2
  88. package/es/lowcode/painter/panel-section/StylePanel/Border.js +2 -2
  89. package/es/lowcode/painter/panel-section/StylePanel/BorderRadius.js +2 -2
  90. package/es/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +2 -2
  91. package/es/lowcode/painter/panel-section/StylePanel/BorderSelector.js +2 -2
  92. package/es/lowcode/painter/panel-section/StylePanel/Display.js +2 -2
  93. package/es/lowcode/painter/panel-section/StylePanel/Font.js +2 -2
  94. package/es/lowcode/painter/panel-section/StylePanel/FontEditor.js +2 -2
  95. package/es/lowcode/painter/panel-section/StylePanel/GapSelector.js +2 -2
  96. package/es/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +2 -2
  97. package/es/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +2 -2
  98. package/es/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +2 -2
  99. package/es/lowcode/painter/panel-section/StylePanel/MainPanel.js +10 -2
  100. package/es/lowcode/painter/panel-section/StylePanel/Margin.js +2 -2
  101. package/es/lowcode/painter/panel-section/StylePanel/Opacity.js +2 -2
  102. package/es/lowcode/painter/panel-section/StylePanel/Padding.js +2 -2
  103. package/es/lowcode/painter/panel-section/StylePanel/Pointer.js +2 -2
  104. package/es/lowcode/painter/panel-section/StylePanel/Shadow.js +2 -2
  105. package/es/lowcode/painter/panel-section/StylePanel/Size.js +2 -2
  106. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +2 -2
  107. package/es/lowcode/painter/panel-section/StylePanel/StyleRow.js +2 -2
  108. package/es/lowcode/painter/panel-section/StylePanel/WidthHeight.js +2 -2
  109. package/es/lowcode/painter/panel-section/StylePanel/index.js +15 -15
  110. package/es/lowcode/painter/panel-section/TabItems.js +1 -1
  111. package/es/lowcode/painter/panel-section/TableTopFilter.js +3 -3
  112. package/es/lowcode/painter/panel-section/TableZebra.js +5 -1
  113. package/es/lowcode/painter/panel-section/TextContent.js +10 -2
  114. package/es/lowcode/painter/style/action-bind-modal.less +104 -102
  115. package/es/lowcode/painter/style/actions-editor.less +15 -15
  116. package/es/lowcode/painter/style/border-editor.less +36 -36
  117. package/es/lowcode/painter/style/border-radius-selector.less +42 -42
  118. package/es/lowcode/painter/style/border-selector.less +39 -39
  119. package/es/lowcode/painter/style/button-type.less +5 -5
  120. package/es/lowcode/painter/style/collapse.less +28 -28
  121. package/es/lowcode/painter/style/color-input.less +19 -19
  122. package/es/lowcode/painter/style/components.less +91 -91
  123. package/es/lowcode/painter/style/design.less +179 -160
  124. package/es/lowcode/painter/style/display.less +17 -17
  125. package/es/lowcode/painter/style/dragdrop.less +56 -10
  126. package/es/lowcode/painter/style/fields-setting.less +25 -25
  127. package/es/lowcode/painter/style/font-editor.less +9 -9
  128. package/es/lowcode/painter/style/fullscreen-editor.less +17 -17
  129. package/es/lowcode/painter/style/icon-selector.less +22 -22
  130. package/es/lowcode/painter/style/icon.less +10 -10
  131. package/es/lowcode/painter/style/impexp.less +7 -7
  132. package/es/lowcode/painter/style/index.less +6 -6
  133. package/es/lowcode/painter/style/layout-ratio.less +51 -51
  134. package/es/lowcode/painter/style/list-editor.less +97 -95
  135. package/es/lowcode/painter/style/number-input.less +19 -17
  136. package/es/lowcode/painter/style/outline.less +30 -28
  137. package/es/lowcode/painter/style/page-layout-display.less +27 -27
  138. package/es/lowcode/painter/style/page-vars.less +25 -25
  139. package/es/lowcode/painter/style/panel-attrs.less +47 -43
  140. package/es/lowcode/painter/style/panel-item.less +54 -54
  141. package/es/lowcode/painter/style/panel.less +100 -98
  142. package/es/lowcode/painter/style/pop-confirm.less +17 -17
  143. package/es/lowcode/painter/style/pop-form.less +19 -19
  144. package/es/lowcode/painter/style/radio.less +24 -24
  145. package/es/lowcode/painter/style/ribbon.less +7 -5
  146. package/es/lowcode/painter/style/rule-input.less +12 -12
  147. package/es/lowcode/painter/style/split-display.less +18 -18
  148. package/es/lowcode/painter/style/style-panel.less +37 -37
  149. package/es/lowcode/painter/style/tabitems.less +90 -90
  150. package/es/lowcode/painter/svg/code.svg +3 -0
  151. package/es/lowcode/painter/svg/expect.svg +9 -0
  152. package/es/lowcode/view/lc-components/Box/index.js +4 -4
  153. package/es/lowcode/view/lc-components/Box/index.less +14 -14
  154. package/es/lowcode/view/lc-components/Box/meta.json +40 -40
  155. package/es/lowcode/view/lc-components/Button/index.js +33 -33
  156. package/es/lowcode/view/lc-components/Button/meta.json +127 -127
  157. package/es/lowcode/view/lc-components/Button/style.less +2 -2
  158. package/es/lowcode/view/lc-components/CardList/index.js +481 -12
  159. package/es/lowcode/view/lc-components/CardList/meta.json +335 -153
  160. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +14 -6
  161. package/es/lowcode/view/lc-components/Dialog/index.js +28 -18
  162. package/es/lowcode/view/lc-components/Dialog/index.less +12 -8
  163. package/es/lowcode/view/lc-components/Dialog/meta.json +204 -150
  164. package/es/lowcode/view/lc-components/Drawer/FunctionDesign.js +51 -8
  165. package/es/lowcode/view/lc-components/Drawer/index.js +149 -34
  166. package/es/lowcode/view/lc-components/Drawer/index.less +13 -10
  167. package/es/lowcode/view/lc-components/Drawer/meta.json +242 -131
  168. package/es/lowcode/view/lc-components/FieldColor/meta.json +157 -157
  169. package/es/lowcode/view/lc-components/FieldComplex/meta.json +140 -140
  170. package/es/lowcode/view/lc-components/FieldDate/meta.json +141 -141
  171. package/es/lowcode/view/lc-components/FieldDict/meta.json +138 -138
  172. package/es/lowcode/view/lc-components/FieldEditor/meta.json +138 -138
  173. package/es/lowcode/view/lc-components/FieldGroup/meta.json +167 -167
  174. package/es/lowcode/view/lc-components/FieldNumber/meta.json +143 -143
  175. package/es/lowcode/view/lc-components/FieldRadio/meta.json +115 -115
  176. package/es/lowcode/view/lc-components/FieldRegion/meta.json +121 -121
  177. package/es/lowcode/view/lc-components/FieldSelect/meta.json +152 -152
  178. package/es/lowcode/view/lc-components/FieldString/meta.json +152 -152
  179. package/es/lowcode/view/lc-components/FieldSwitch/meta.json +125 -125
  180. package/es/lowcode/view/lc-components/FieldTextarea/meta.json +143 -143
  181. package/es/lowcode/view/lc-components/FieldUpload/meta.json +165 -165
  182. package/es/lowcode/view/lc-components/FieldUser/meta.json +176 -176
  183. package/es/lowcode/view/lc-components/FieldYear/meta.json +129 -129
  184. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +2 -1
  185. package/es/lowcode/view/lc-components/Form/index.js +65 -48
  186. package/es/lowcode/view/lc-components/Form/meta.json +645 -609
  187. package/es/lowcode/view/lc-components/GroupTree/FunctionDesign.js +10 -0
  188. package/es/lowcode/view/lc-components/GroupTree/FunctionLive.js +10 -0
  189. package/es/lowcode/view/lc-components/GroupTree/FunctionPreview.js +10 -0
  190. package/es/lowcode/view/lc-components/GroupTree/index.js +212 -0
  191. package/es/lowcode/view/lc-components/GroupTree/index.less +12 -0
  192. package/es/lowcode/view/lc-components/GroupTree/meta.json +83 -0
  193. package/es/lowcode/view/lc-components/Iframe/index.js +57 -7
  194. package/es/lowcode/view/lc-components/Iframe/meta.json +31 -32
  195. package/es/lowcode/view/lc-components/ImEx/index.js +25 -25
  196. package/es/lowcode/view/lc-components/ImEx/index.less +7 -7
  197. package/es/lowcode/view/lc-components/ImEx/meta.json +134 -134
  198. package/es/lowcode/view/lc-components/Image/index.js +82 -6
  199. package/es/lowcode/view/lc-components/Image/index.less +27 -0
  200. package/es/lowcode/view/lc-components/Image/meta.json +149 -114
  201. package/es/lowcode/view/lc-components/JSX/RuntimeComp.js +4 -4
  202. package/es/lowcode/view/lc-components/JSX/meta.json +28 -28
  203. package/es/lowcode/view/lc-components/Layout/index.js +16 -16
  204. package/es/lowcode/view/lc-components/Layout/index.less +5 -5
  205. package/es/lowcode/view/lc-components/Layout/meta.json +107 -107
  206. package/es/lowcode/view/lc-components/Link/index.js +53 -5
  207. package/es/lowcode/view/lc-components/Link/index.less +15 -0
  208. package/es/lowcode/view/lc-components/Link/meta.json +112 -112
  209. package/es/lowcode/view/lc-components/Page/meta.json +61 -61
  210. package/es/lowcode/view/lc-components/PageContent/meta.json +9 -9
  211. package/es/lowcode/view/lc-components/PageFooter/meta.json +9 -9
  212. package/es/lowcode/view/lc-components/PageHeader/meta.json +9 -9
  213. package/es/lowcode/view/lc-components/PageLayout/meta.json +59 -59
  214. package/es/lowcode/view/lc-components/Section/index.less +7 -7
  215. package/es/lowcode/view/lc-components/Section/meta.json +108 -108
  216. package/es/lowcode/view/lc-components/Split/meta.json +53 -53
  217. package/es/lowcode/view/lc-components/Table/index.js +152 -153
  218. package/es/lowcode/view/lc-components/Table/meta.json +450 -450
  219. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +40 -4
  220. package/es/lowcode/view/lc-components/Tabs/index.js +24 -24
  221. package/es/lowcode/view/lc-components/Tabs/meta.json +113 -113
  222. package/es/lowcode/view/lc-components/Text/meta.json +56 -56
  223. package/es/lowcode/view/lc-components/Tree/index.js +117 -115
  224. package/es/lowcode/view/lc-components/Tree/index.less +4 -4
  225. package/es/lowcode/view/lc-components/Tree/meta.json +357 -357
  226. package/es/lowcode/view/style/canvas.less +5 -5
  227. package/es/lowcode/view/style/loading.less +98 -98
  228. package/es/lowcode/view/style/page.less +7 -7
  229. package/es/upload/FilesWall/index.js +13 -13
  230. package/es/upload/FilesWall/index.less +74 -74
  231. package/es/upload/Form/index.less +7 -7
  232. package/es/upload/FormItem/index.js +15 -15
  233. package/es/utils/form.js +21 -21
  234. package/es/utils/grid.js +3 -3
  235. package/lib/components/LDActions/index.less +70 -68
  236. package/lib/components/LdAutoForm/index.js +2 -1
  237. package/lib/components/LdCard/index.js +153 -66
  238. package/lib/components/LdFormList/index.js +19 -5
  239. package/lib/components/LdGrid/index.js +4 -4
  240. package/lib/components/LdGridForm/index.js +40 -24
  241. package/lib/components/LdGridForm/index.less +7 -7
  242. package/lib/components/LdTree/index.js +14 -8
  243. package/lib/components/LdTree/index.less +42 -40
  244. package/lib/helper/action.js +6 -6
  245. package/lib/helper/form.js +14 -14
  246. package/lib/helper/index.less +7 -7
  247. package/lib/helper/ldBuilder.js +2 -2
  248. package/lib/locales/zh-CN.js +13 -4
  249. package/lib/lowcode/constants/api-url.js +87 -87
  250. package/lib/lowcode/constants/index.js +1 -1
  251. package/lib/lowcode/engine/meta/cardlist.props.default.json +27 -6
  252. package/lib/lowcode/engine/meta/cardlist.props.json +254 -72
  253. package/lib/lowcode/engine/meta/components-list.json +12 -108
  254. package/lib/lowcode/engine/meta/dialog.props.default.json +4 -2
  255. package/lib/lowcode/engine/meta/dialog.props.json +74 -18
  256. package/lib/lowcode/engine/meta/drawer.props.default.json +15 -4
  257. package/lib/lowcode/engine/meta/drawer.props.json +144 -24
  258. package/lib/lowcode/engine/meta/form.props.default.json +14 -3
  259. package/lib/lowcode/engine/meta/form.props.json +49 -9
  260. package/lib/lowcode/engine/meta/grouptree.props.default.json +16 -0
  261. package/lib/lowcode/engine/meta/grouptree.props.json +83 -0
  262. package/lib/lowcode/engine/meta/iframe.props.default.json +1 -1
  263. package/lib/lowcode/engine/meta/iframe.props.json +3 -4
  264. package/lib/lowcode/engine/meta/image.props.default.json +3 -2
  265. package/lib/lowcode/engine/meta/image.props.json +51 -16
  266. package/lib/lowcode/engine/meta/imex.props.json +1 -1
  267. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +49 -31
  268. package/lib/lowcode/engine/meta/link.props.default.json +1 -1
  269. package/lib/lowcode/engine/meta/link.props.json +9 -9
  270. package/lib/lowcode/engine/meta/table.props.json +1 -1
  271. package/lib/lowcode/engine/meta/tabs.props.default.json +1 -1
  272. package/lib/lowcode/engine/meta/tabs.props.json +1 -1
  273. package/lib/lowcode/engine/meta/tree.props.json +2 -2
  274. package/lib/lowcode/engine/provider/ContextProvider/index.js +50 -46
  275. package/lib/lowcode/engine/provider/ContextProvider/usePageDataStore.js +83 -3
  276. package/lib/lowcode/engine/tools/dataProcess.js +76 -76
  277. package/lib/lowcode/engine/tools/helper.js +22 -0
  278. package/lib/lowcode/engine/tools/useCanvasRender.js +13 -1
  279. package/lib/lowcode/painter/Components.js +8 -3
  280. package/lib/lowcode/painter/Design.js +1 -0
  281. package/lib/lowcode/painter/DesignOperator.js +25 -15
  282. package/lib/lowcode/painter/DesignToolbar.js +78 -47
  283. package/lib/lowcode/painter/Ribbon.js +14 -1
  284. package/lib/lowcode/painter/components/ActionBindModal.js +3 -7
  285. package/lib/lowcode/painter/components/AdvancePanel.js +10 -3
  286. package/lib/lowcode/painter/components/Collapse.js +26 -26
  287. package/lib/lowcode/painter/components/ColorInput.js +24 -24
  288. package/lib/lowcode/painter/components/DragDrop/DragDropContext.js +142 -35
  289. package/lib/lowcode/painter/components/DragDrop/DragDropWrapper.js +27 -4
  290. package/lib/lowcode/painter/components/DragDrop/Overlay.js +5 -2
  291. package/lib/lowcode/painter/components/DragDrop/TreeDragDropWrapper.js +7 -4
  292. package/lib/lowcode/painter/components/ListEditor.js +24 -24
  293. package/lib/lowcode/painter/components/NumberInput.js +29 -29
  294. package/lib/lowcode/painter/components/PanelItem.js +24 -24
  295. package/lib/lowcode/painter/components/PopConfirm.js +8 -8
  296. package/lib/lowcode/painter/components/PopForm.js +27 -27
  297. package/lib/lowcode/painter/components/RuleInput.js +30 -30
  298. package/lib/lowcode/painter/components/SortBox.js +22 -22
  299. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +38 -33
  300. package/lib/lowcode/painter/components/code-editor/CssEditor.js +25 -25
  301. package/lib/lowcode/painter/components/code-editor/FullScreenEditor.js +23 -23
  302. package/lib/lowcode/painter/components/code-editor/JSEditor.js +20 -20
  303. package/lib/lowcode/painter/components/code-editor/JsonEditor.js +25 -25
  304. package/lib/lowcode/painter/components/field-setting/FieldAttrs.js +2 -2
  305. package/lib/lowcode/painter/components/field-setting/SettingUI.js +29 -1
  306. package/lib/lowcode/painter/components/field-setting/index.js +26 -12
  307. package/lib/lowcode/painter/expect.js +34 -0
  308. package/lib/lowcode/painter/panel-section/ActionsEditor/ActionEditor.js +19 -1
  309. package/lib/lowcode/painter/panel-section/ActionsEditor/index.js +18 -3
  310. package/lib/lowcode/painter/panel-section/ComplexPop.js +1 -1
  311. package/lib/lowcode/painter/panel-section/DataSetSelector.js +14 -3
  312. package/lib/lowcode/painter/panel-section/FieldState.js +11 -2
  313. package/lib/lowcode/painter/panel-section/FieldsSetting.js +2 -2
  314. package/lib/lowcode/painter/panel-section/GroupClassSelector.js +63 -0
  315. package/lib/lowcode/painter/panel-section/Icon.js +23 -23
  316. package/lib/lowcode/painter/panel-section/IconSelector.js +16 -16
  317. package/lib/lowcode/painter/panel-section/LayoutRatio.js +21 -21
  318. package/lib/lowcode/painter/panel-section/PageVars.js +1 -1
  319. package/lib/lowcode/painter/panel-section/StylePanel/BackGround.js +2 -2
  320. package/lib/lowcode/painter/panel-section/StylePanel/Border.js +2 -2
  321. package/lib/lowcode/painter/panel-section/StylePanel/BorderRadius.js +2 -2
  322. package/lib/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +2 -2
  323. package/lib/lowcode/painter/panel-section/StylePanel/BorderSelector.js +2 -2
  324. package/lib/lowcode/painter/panel-section/StylePanel/Display.js +2 -2
  325. package/lib/lowcode/painter/panel-section/StylePanel/Font.js +2 -2
  326. package/lib/lowcode/painter/panel-section/StylePanel/FontEditor.js +2 -2
  327. package/lib/lowcode/painter/panel-section/StylePanel/GapSelector.js +2 -2
  328. package/lib/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +2 -2
  329. package/lib/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +2 -2
  330. package/lib/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +2 -2
  331. package/lib/lowcode/painter/panel-section/StylePanel/MainPanel.js +10 -2
  332. package/lib/lowcode/painter/panel-section/StylePanel/Margin.js +2 -2
  333. package/lib/lowcode/painter/panel-section/StylePanel/Opacity.js +2 -2
  334. package/lib/lowcode/painter/panel-section/StylePanel/Padding.js +2 -2
  335. package/lib/lowcode/painter/panel-section/StylePanel/Pointer.js +2 -2
  336. package/lib/lowcode/painter/panel-section/StylePanel/Shadow.js +2 -2
  337. package/lib/lowcode/painter/panel-section/StylePanel/Size.js +2 -2
  338. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +2 -2
  339. package/lib/lowcode/painter/panel-section/StylePanel/StyleRow.js +2 -2
  340. package/lib/lowcode/painter/panel-section/StylePanel/WidthHeight.js +2 -2
  341. package/lib/lowcode/painter/panel-section/StylePanel/index.js +15 -15
  342. package/lib/lowcode/painter/panel-section/TabItems.js +1 -1
  343. package/lib/lowcode/painter/panel-section/TableTopFilter.js +3 -3
  344. package/lib/lowcode/painter/panel-section/TableZebra.js +5 -1
  345. package/lib/lowcode/painter/panel-section/TextContent.js +9 -1
  346. package/lib/lowcode/painter/style/action-bind-modal.less +104 -102
  347. package/lib/lowcode/painter/style/actions-editor.less +15 -15
  348. package/lib/lowcode/painter/style/border-editor.less +36 -36
  349. package/lib/lowcode/painter/style/border-radius-selector.less +42 -42
  350. package/lib/lowcode/painter/style/border-selector.less +39 -39
  351. package/lib/lowcode/painter/style/button-type.less +5 -5
  352. package/lib/lowcode/painter/style/collapse.less +28 -28
  353. package/lib/lowcode/painter/style/color-input.less +19 -19
  354. package/lib/lowcode/painter/style/components.less +91 -91
  355. package/lib/lowcode/painter/style/design.less +179 -160
  356. package/lib/lowcode/painter/style/display.less +17 -17
  357. package/lib/lowcode/painter/style/dragdrop.less +56 -10
  358. package/lib/lowcode/painter/style/fields-setting.less +25 -25
  359. package/lib/lowcode/painter/style/font-editor.less +9 -9
  360. package/lib/lowcode/painter/style/fullscreen-editor.less +17 -17
  361. package/lib/lowcode/painter/style/icon-selector.less +22 -22
  362. package/lib/lowcode/painter/style/icon.less +10 -10
  363. package/lib/lowcode/painter/style/impexp.less +7 -7
  364. package/lib/lowcode/painter/style/index.less +6 -6
  365. package/lib/lowcode/painter/style/layout-ratio.less +51 -51
  366. package/lib/lowcode/painter/style/list-editor.less +97 -95
  367. package/lib/lowcode/painter/style/number-input.less +19 -17
  368. package/lib/lowcode/painter/style/outline.less +30 -28
  369. package/lib/lowcode/painter/style/page-layout-display.less +27 -27
  370. package/lib/lowcode/painter/style/page-vars.less +25 -25
  371. package/lib/lowcode/painter/style/panel-attrs.less +47 -43
  372. package/lib/lowcode/painter/style/panel-item.less +54 -54
  373. package/lib/lowcode/painter/style/panel.less +100 -98
  374. package/lib/lowcode/painter/style/pop-confirm.less +17 -17
  375. package/lib/lowcode/painter/style/pop-form.less +19 -19
  376. package/lib/lowcode/painter/style/radio.less +24 -24
  377. package/lib/lowcode/painter/style/ribbon.less +7 -5
  378. package/lib/lowcode/painter/style/rule-input.less +12 -12
  379. package/lib/lowcode/painter/style/split-display.less +18 -18
  380. package/lib/lowcode/painter/style/style-panel.less +37 -37
  381. package/lib/lowcode/painter/style/tabitems.less +90 -90
  382. package/lib/lowcode/painter/svg/code.svg +3 -0
  383. package/lib/lowcode/painter/svg/expect.svg +9 -0
  384. package/lib/lowcode/view/lc-components/Box/index.js +4 -4
  385. package/lib/lowcode/view/lc-components/Box/index.less +14 -14
  386. package/lib/lowcode/view/lc-components/Box/meta.json +40 -40
  387. package/lib/lowcode/view/lc-components/Button/index.js +33 -33
  388. package/lib/lowcode/view/lc-components/Button/meta.json +127 -127
  389. package/lib/lowcode/view/lc-components/Button/style.less +2 -2
  390. package/lib/lowcode/view/lc-components/CardList/index.js +480 -11
  391. package/lib/lowcode/view/lc-components/CardList/meta.json +335 -153
  392. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +13 -5
  393. package/lib/lowcode/view/lc-components/Dialog/index.js +28 -18
  394. package/lib/lowcode/view/lc-components/Dialog/index.less +12 -8
  395. package/lib/lowcode/view/lc-components/Dialog/meta.json +204 -150
  396. package/lib/lowcode/view/lc-components/Drawer/FunctionDesign.js +52 -8
  397. package/lib/lowcode/view/lc-components/Drawer/index.js +148 -33
  398. package/lib/lowcode/view/lc-components/Drawer/index.less +13 -10
  399. package/lib/lowcode/view/lc-components/Drawer/meta.json +242 -131
  400. package/lib/lowcode/view/lc-components/FieldColor/meta.json +157 -157
  401. package/lib/lowcode/view/lc-components/FieldComplex/meta.json +140 -140
  402. package/lib/lowcode/view/lc-components/FieldDate/meta.json +141 -141
  403. package/lib/lowcode/view/lc-components/FieldDict/meta.json +138 -138
  404. package/lib/lowcode/view/lc-components/FieldEditor/meta.json +138 -138
  405. package/lib/lowcode/view/lc-components/FieldGroup/meta.json +167 -167
  406. package/lib/lowcode/view/lc-components/FieldNumber/meta.json +143 -143
  407. package/lib/lowcode/view/lc-components/FieldRadio/meta.json +115 -115
  408. package/lib/lowcode/view/lc-components/FieldRegion/meta.json +121 -121
  409. package/lib/lowcode/view/lc-components/FieldSelect/meta.json +152 -152
  410. package/lib/lowcode/view/lc-components/FieldString/meta.json +152 -152
  411. package/lib/lowcode/view/lc-components/FieldSwitch/meta.json +125 -125
  412. package/lib/lowcode/view/lc-components/FieldTextarea/meta.json +143 -143
  413. package/lib/lowcode/view/lc-components/FieldUpload/meta.json +165 -165
  414. package/lib/lowcode/view/lc-components/FieldUser/meta.json +176 -176
  415. package/lib/lowcode/view/lc-components/FieldYear/meta.json +129 -129
  416. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +2 -1
  417. package/lib/lowcode/view/lc-components/Form/index.js +64 -47
  418. package/lib/lowcode/view/lc-components/Form/meta.json +645 -609
  419. package/lib/lowcode/view/lc-components/GroupTree/FunctionDesign.js +17 -0
  420. package/lib/lowcode/view/lc-components/GroupTree/FunctionLive.js +17 -0
  421. package/lib/lowcode/view/lc-components/GroupTree/FunctionPreview.js +17 -0
  422. package/lib/lowcode/view/lc-components/GroupTree/index.js +220 -0
  423. package/lib/lowcode/view/lc-components/GroupTree/index.less +12 -0
  424. package/lib/lowcode/view/lc-components/GroupTree/meta.json +83 -0
  425. package/lib/lowcode/view/lc-components/Iframe/index.js +55 -5
  426. package/lib/lowcode/view/lc-components/Iframe/meta.json +31 -32
  427. package/lib/lowcode/view/lc-components/ImEx/index.js +25 -25
  428. package/lib/lowcode/view/lc-components/ImEx/index.less +7 -7
  429. package/lib/lowcode/view/lc-components/ImEx/meta.json +134 -134
  430. package/lib/lowcode/view/lc-components/Image/index.js +80 -4
  431. package/lib/lowcode/view/lc-components/Image/index.less +27 -0
  432. package/lib/lowcode/view/lc-components/Image/meta.json +149 -114
  433. package/lib/lowcode/view/lc-components/JSX/RuntimeComp.js +4 -4
  434. package/lib/lowcode/view/lc-components/JSX/meta.json +28 -28
  435. package/lib/lowcode/view/lc-components/Layout/index.js +16 -16
  436. package/lib/lowcode/view/lc-components/Layout/index.less +5 -5
  437. package/lib/lowcode/view/lc-components/Layout/meta.json +107 -107
  438. package/lib/lowcode/view/lc-components/Link/index.js +52 -4
  439. package/lib/lowcode/view/lc-components/Link/index.less +15 -0
  440. package/lib/lowcode/view/lc-components/Link/meta.json +112 -112
  441. package/lib/lowcode/view/lc-components/Page/meta.json +61 -61
  442. package/lib/lowcode/view/lc-components/PageContent/meta.json +9 -9
  443. package/lib/lowcode/view/lc-components/PageFooter/meta.json +9 -9
  444. package/lib/lowcode/view/lc-components/PageHeader/meta.json +9 -9
  445. package/lib/lowcode/view/lc-components/PageLayout/meta.json +59 -59
  446. package/lib/lowcode/view/lc-components/Section/index.less +7 -7
  447. package/lib/lowcode/view/lc-components/Section/meta.json +108 -108
  448. package/lib/lowcode/view/lc-components/Split/meta.json +53 -53
  449. package/lib/lowcode/view/lc-components/Table/index.js +152 -153
  450. package/lib/lowcode/view/lc-components/Table/meta.json +450 -450
  451. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +38 -2
  452. package/lib/lowcode/view/lc-components/Tabs/index.js +24 -24
  453. package/lib/lowcode/view/lc-components/Tabs/meta.json +113 -113
  454. package/lib/lowcode/view/lc-components/Text/meta.json +56 -56
  455. package/lib/lowcode/view/lc-components/Tree/index.js +116 -114
  456. package/lib/lowcode/view/lc-components/Tree/index.less +4 -4
  457. package/lib/lowcode/view/lc-components/Tree/meta.json +357 -357
  458. package/lib/lowcode/view/style/canvas.less +5 -5
  459. package/lib/lowcode/view/style/loading.less +98 -98
  460. package/lib/lowcode/view/style/page.less +7 -7
  461. package/lib/upload/FilesWall/index.js +13 -13
  462. package/lib/upload/FilesWall/index.less +74 -74
  463. package/lib/upload/Form/index.less +7 -7
  464. package/lib/upload/FormItem/index.js +15 -15
  465. package/lib/utils/form.js +21 -21
  466. package/lib/utils/grid.js +2 -2
  467. package/lowcode.js +1 -1
  468. package/package.json +176 -175
  469. package/upload.js +1 -1
  470. package/utils.js +1 -1
  471. package/es/lowcode/painter/style/treedragdrop.less +0 -19
  472. package/es/lowcode/view/lc-components/Form/index.less +0 -5
  473. package/lib/lowcode/painter/style/treedragdrop.less +0 -19
  474. package/lib/lowcode/view/lc-components/Form/index.less +0 -5
@@ -18,13 +18,9 @@ var _ACTION_CATEGORY_ = [{
18
18
  id: "".concat(_I18N_PREFIX_, ".pageActions"),
19
19
  label: '页面行为'
20
20
  })
21
- }, {
22
- key: 'trigger',
23
- label: formatMessage({
24
- id: "".concat(_I18N_PREFIX_, ".trigger"),
25
- label: '触发器'
26
- })
27
- }, {
21
+ },
22
+ // { key: 'trigger', label: formatMessage({ id: `${_I18N_PREFIX_}.trigger`, label: '触发器' }) },
23
+ {
28
24
  key: 'custom',
29
25
  label: formatMessage({
30
26
  id: "".concat(_I18N_PREFIX_, ".custom"),
@@ -6,7 +6,7 @@ var _excluded = ["events"],
6
6
  _excluded2 = ["events"],
7
7
  _excluded3 = ["render"],
8
8
  _excluded4 = ["render"];
9
- import React, { useState, useRef } from 'react';
9
+ import React, { useState, useRef, useCallback } from 'react';
10
10
  import { useCreation, useMemoizedFn } from 'ahooks';
11
11
  import { Menu, Dropdown, Button, Tooltip, Icon, Switch } from 'luck-design/antd';
12
12
  import styled from 'styled-components';
@@ -26,7 +26,7 @@ var EventItem = styled.div.withConfig({
26
26
  })(["display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border:1px solid #e5e6e8;border-radius:6px;margin-bottom:6px;font-size:12px;i{color:rgba(0,0,0,0.4);cursor:pointer;}i:not(:last-child){margin-right:6px;}"]);
27
27
  var _DEFAULT_FUNC_ = 'function isTrue() {\n return true; \n}';
28
28
  var AdvancePanel = function AdvancePanel(_ref) {
29
- var _value$render2;
29
+ var _value$render, _value$render2;
30
30
  var meta = _ref.meta,
31
31
  nodeId = _ref.nodeId,
32
32
  target = _ref.target,
@@ -51,6 +51,10 @@ var AdvancePanel = function AdvancePanel(_ref) {
51
51
  var _meta$advance;
52
52
  return keyBy((meta === null || meta === void 0 || (_meta$advance = meta.advance) === null || _meta$advance === void 0 ? void 0 : _meta$advance.events) || [], 'key');
53
53
  }, [meta]);
54
+ var _useState5 = useState((value === null || value === void 0 || (_value$render = value.render) === null || _value$render === void 0 ? void 0 : _value$render.code) || _DEFAULT_FUNC_),
55
+ _useState6 = _slicedToArray(_useState5, 2),
56
+ editorValue = _useState6[0],
57
+ setEditorValue = _useState6[1];
54
58
  var handleEventClick = useMemoizedFn(function (e) {
55
59
  var payload = e.item.props.payload;
56
60
  setEvent(_objectSpread(_objectSpread({}, payload), {}, {
@@ -100,6 +104,9 @@ var AdvancePanel = function AdvancePanel(_ref) {
100
104
  }
101
105
  }));
102
106
  });
107
+ var handleEditorLayoutChange = function handleEditorLayoutChange(code) {
108
+ setEditorValue(code);
109
+ };
103
110
  var eventsMenu = useCreation(function () {
104
111
  var _meta$advance2;
105
112
  return /*#__PURE__*/React.createElement(Menu, {
@@ -140,15 +147,15 @@ var AdvancePanel = function AdvancePanel(_ref) {
140
147
  },
141
148
  suppressIcon: true,
142
149
  extraRender: function extraRender() {
143
- var _value$render;
144
150
  return /*#__PURE__*/React.createElement(PopConfirm, {
145
151
  placement: "left",
146
152
  title: /*#__PURE__*/React.createElement(FullScreenEditor, {
147
153
  ref: editorRef,
148
154
  EditorComponent: JSEditor,
155
+ onLayoutChange: handleEditorLayoutChange,
149
156
  width: "600px",
150
157
  height: "400px"
151
- }, (value === null || value === void 0 || (_value$render = value.render) === null || _value$render === void 0 ? void 0 : _value$render.code) || _DEFAULT_FUNC_),
158
+ }, editorValue),
152
159
  showBtn: true,
153
160
  onConfirm: handleRenderComfirm
154
161
  }, /*#__PURE__*/React.createElement(Icon, {
@@ -5,32 +5,32 @@ import { useMemoizedFn, useCreation } from 'ahooks';
5
5
  import styles from "../style/collapse.less";
6
6
  import { Icon, Tooltip } from 'luck-design/antd';
7
7
 
8
- /**
9
- * Collapse 组件是一个可折叠区域的实现,用于显示或隐藏内容。它支持自定义标签、描述以及默认的折叠状态。
10
- * 该组件还可以通过 `next` 函数来自定义点击操作,而不是简单地切换折叠状态。
11
- * 提供的工具提示可以显示额外信息,如字段名和描述,以帮助用户更好地理解折叠内容的作用。
12
- *
13
- * @component
14
- * @example
15
- * <Collapse
16
- * field="exampleField"
17
- * label="示例标签"
18
- * desc="这是一个用于演示的折叠组件"
19
- * defaultCollapsed={true}
20
- * next={() => console.log('Custom next function executed')}
21
- * >
22
- * <p>这里是可折叠的内容</p>
23
- * </Collapse>
24
- *
25
- * @param {Object} props - 组件的属性。
26
- * @param {React.ReactNode} children - 折叠区域展开时显示的内容。
27
- * @param {string} [props.field] - 与折叠内容相关联的字段名。
28
- * @param {string} props.label - 折叠区域的标签名称。
29
- * @param {string} [props.desc] - 关于折叠内容的描述信息。
30
- * @param {boolean} [props.defaultCollapsed=false] - 折叠区域的默认状态。如果为 true,则默认为折叠状态。
31
- * @param {Function} [props.next] - 点击操作的自定义函数。如果提供,点击时将执行此函数,而不是切换折叠状态。
32
- *
33
- * @returns {ReactElement} 返回一个 React 元素,表示一个具有可折叠功能的容器。
8
+ /**
9
+ * Collapse 组件是一个可折叠区域的实现,用于显示或隐藏内容。它支持自定义标签、描述以及默认的折叠状态。
10
+ * 该组件还可以通过 `next` 函数来自定义点击操作,而不是简单地切换折叠状态。
11
+ * 提供的工具提示可以显示额外信息,如字段名和描述,以帮助用户更好地理解折叠内容的作用。
12
+ *
13
+ * @component
14
+ * @example
15
+ * <Collapse
16
+ * field="exampleField"
17
+ * label="示例标签"
18
+ * desc="这是一个用于演示的折叠组件"
19
+ * defaultCollapsed={true}
20
+ * next={() => console.log('Custom next function executed')}
21
+ * >
22
+ * <p>这里是可折叠的内容</p>
23
+ * </Collapse>
24
+ *
25
+ * @param {Object} props - 组件的属性。
26
+ * @param {React.ReactNode} children - 折叠区域展开时显示的内容。
27
+ * @param {string} [props.field] - 与折叠内容相关联的字段名。
28
+ * @param {string} props.label - 折叠区域的标签名称。
29
+ * @param {string} [props.desc] - 关于折叠内容的描述信息。
30
+ * @param {boolean} [props.defaultCollapsed=false] - 折叠区域的默认状态。如果为 true,则默认为折叠状态。
31
+ * @param {Function} [props.next] - 点击操作的自定义函数。如果提供,点击时将执行此函数,而不是切换折叠状态。
32
+ *
33
+ * @returns {ReactElement} 返回一个 React 元素,表示一个具有可折叠功能的容器。
34
34
  */
35
35
  export default function (_ref) {
36
36
  var children = _ref.children,
@@ -10,30 +10,30 @@ import { Input } from 'luck-design/antd';
10
10
  import styles from "../style/color-input.less";
11
11
  import { SketchPicker } from 'react-color';
12
12
 
13
- /**
14
- * ColorInput 组件是一个集成颜色选择器的输入框组件,允许用户以 RGBA 或十六进制格式输入颜色值。
15
- * 组件内部通过 PopConfirm 弹出一个 SketchPicker 颜色选择器,以提供一个直观的颜色选择界面。
16
- * 用户输入的颜色值在内部转换为适当的格式,并通过 onChange 回调暴露给外部使用。
17
- * 此组件还支持通过传入的 value 属性初始化颜色值,并响应其后续更改。
18
- *
19
- * @component
20
- * @example
21
- * const handleColorChange = (newColor) => {
22
- * console.log('Selected color:', newColor);
23
- * };
24
- * <ColorInput
25
- * value="rgba(255, 0, 0, 0.5)"
26
- * onChange={handleColorChange}
27
- * wrapperStyle={{ margin: '20px' }}
28
- * />
29
- *
30
- * @param {Object} props - 组件的属性。
31
- * @param {string} props.value - 初始化颜色值,支持 RGBA 字符串或十六进制格式。
32
- * @param {Function} props.onChange - 当颜色值变更时触发的回调函数。传递新的颜色值作为参数。
33
- * @param {Object} [props.wrapperStyle] - 自定义包装器 div 的样式对象。
34
- * @param {Object} rest - 传递给 Input 组件的其他属性。
35
- *
36
- * @returns {ReactElement} 返回一个 React 元素,表示一个带有颜色选择器的输入框组件。
13
+ /**
14
+ * ColorInput 组件是一个集成颜色选择器的输入框组件,允许用户以 RGBA 或十六进制格式输入颜色值。
15
+ * 组件内部通过 PopConfirm 弹出一个 SketchPicker 颜色选择器,以提供一个直观的颜色选择界面。
16
+ * 用户输入的颜色值在内部转换为适当的格式,并通过 onChange 回调暴露给外部使用。
17
+ * 此组件还支持通过传入的 value 属性初始化颜色值,并响应其后续更改。
18
+ *
19
+ * @component
20
+ * @example
21
+ * const handleColorChange = (newColor) => {
22
+ * console.log('Selected color:', newColor);
23
+ * };
24
+ * <ColorInput
25
+ * value="rgba(255, 0, 0, 0.5)"
26
+ * onChange={handleColorChange}
27
+ * wrapperStyle={{ margin: '20px' }}
28
+ * />
29
+ *
30
+ * @param {Object} props - 组件的属性。
31
+ * @param {string} props.value - 初始化颜色值,支持 RGBA 字符串或十六进制格式。
32
+ * @param {Function} props.onChange - 当颜色值变更时触发的回调函数。传递新的颜色值作为参数。
33
+ * @param {Object} [props.wrapperStyle] - 自定义包装器 div 的样式对象。
34
+ * @param {Object} rest - 传递给 Input 组件的其他属性。
35
+ *
36
+ * @returns {ReactElement} 返回一个 React 元素,表示一个带有颜色选择器的输入框组件。
37
37
  */
38
38
  var ColorInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
39
39
  var value = _ref.value,
@@ -2,12 +2,13 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
3
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
- import React, { useState } from 'react';
5
+ import React, { useState, useEffect, useCallback } from 'react';
6
6
  import { DndContext, DragOverlay, useSensor, MouseSensor, useSensors } from '@dnd-kit/core';
7
7
  import Overlay from "./Overlay";
8
8
  import { CONTAINER_UNITS } from "../../../constants";
9
- import { useContext } from "../../../engine/provider/ContextProvider";
9
+ import { useContext, moveNode } from "../../../engine/provider/ContextProvider";
10
10
  import { isNil } from 'lodash';
11
+ import { suid } from '@luck-design-biz/base/utils';
11
12
  var SIDE_DiSTANCE = 20;
12
13
  var SIDE_DiSTANCE_TREENODE = 10;
13
14
  export var Action = /*#__PURE__*/_createClass(function Action() {
@@ -26,15 +27,50 @@ export default function (_ref) {
26
27
  var _active$component;
27
28
  var children = _ref.children;
28
29
  var ctx = useContext();
30
+ useEffect(function () {
31
+ var event_drag = ctx.$subscriber(ctx.topics.COMPONENT_DRAG_END).on(function (_ref2) {
32
+ var id = _ref2.id,
33
+ fromId = _ref2.fromId,
34
+ fromComp = _ref2.fromComp,
35
+ action = _ref2.action,
36
+ actionSide = _ref2.actionSide,
37
+ vaild = _ref2.vaild;
38
+ // console.log('onDargEnd', id, fromId, fromComp, action, actionSide);
39
+ if (vaild) {
40
+ switch (action) {
41
+ case 'move':
42
+ {
43
+ moveNode(fromId, id, actionSide);
44
+ }
45
+ break;
46
+ case 'add':
47
+ {
48
+ var compName = fromComp.component.toLowerCase();
49
+ var json = require("../../../engine/meta/".concat(compName, ".props.default.json"));
50
+ moveNode(null, id, actionSide, "".concat(compName, "_").concat(suid()), json);
51
+ }
52
+ break;
53
+ }
54
+ }
55
+ }).watch();
56
+ return function () {
57
+ ctx.$unsubscriber(ctx.topics.COMPONENT_DRAG_END, event_drag);
58
+ };
59
+ }, []);
29
60
  var _useState = useState(null),
30
61
  _useState2 = _slicedToArray(_useState, 2),
31
62
  active = _useState2[0],
32
63
  setActive = _useState2[1];
64
+ var _useState3 = useState(null),
65
+ _useState4 = _slicedToArray(_useState3, 2),
66
+ noDrag = _useState4[0],
67
+ setNoDrag = _useState4[1];
33
68
  function handleDragStart(event) {
34
69
  setActive(event.active.data.current);
35
70
  }
36
71
  function handleDragEnd(event) {
37
72
  setActive(null);
73
+ setNoDrag(null);
38
74
  pubEvent(event, ctx.topics.COMPONENT_DRAG_END, ctx);
39
75
  }
40
76
  function handleDragMove(event) {
@@ -47,34 +83,65 @@ export default function (_ref) {
47
83
  }
48
84
  });
49
85
  var sensors = useSensors(mouseSensor);
50
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DndContext, {
51
- sensors: sensors,
52
- onDragStart: handleDragStart,
53
- onDragEnd: handleDragEnd,
54
- onDragMove: handleDragMove
55
- }, children, /*#__PURE__*/React.createElement(DragOverlay, {
56
- style: {
57
- zIndex: 21
58
- },
59
- dropAnimation: null
60
- }, active && /*#__PURE__*/React.createElement(Overlay, null, active === null || active === void 0 || (_active$component = active.component) === null || _active$component === void 0 ? void 0 : _active$component.name))));
61
- }
62
- function pubEvent(event, eventName, ctx) {
63
- if (event.active && event.over && event.active.data.current.id !== event.over.data.current.id) {
64
- var parentNode = ctx.componentMap.get(event.over.data.current.id).api.getSelfAndParentData().parent;
65
-
66
- // console.log('event.over.data.current.type', event.over.data.current.type)
67
- var actionSide = getAction(event.over.data.current.type, event.over.data.current.component.component, event.active.rect.current.translated, event.over.rect, parentNode);
68
- console.log({
69
- eventName: eventName,
70
- id: event.over.data.current.id,
71
- fromId: event.active.data.current.id,
72
- fromComp: event.active.data.current.component,
73
- action: event.active.data.current.action,
74
- actionSide: actionSide
75
- });
76
- if (actionSide) {
86
+ var pubEvent = useCallback(function (event, eventName, ctx) {
87
+ if (event.active && event.over && event.active.data.current.id !== event.over.data.current.id) {
88
+ var vaild = true;
89
+ var dropperId = event.over.data.current.id;
90
+ var dropNodeData = ctx.$(dropperId).api.getSelfAndParentData();
91
+ var dropNode = dropNodeData === null || dropNodeData === void 0 ? void 0 : dropNodeData.node;
92
+ var dropParentNode = dropNodeData === null || dropNodeData === void 0 ? void 0 : dropNodeData.parent;
93
+
94
+ // console.log('dropperId', dropperId)
95
+
96
+ var actionSide = getAction(event.over.data.current.type, event.over.data.current.component.component, event.active.rect.current.translated, event.over.rect, dropNode, dropParentNode);
97
+
98
+ // console.log('actionSide', actionSide)
99
+
100
+ if (event.active.data.current.action === 'move') {
101
+ var draggerId = event.active.data.current.id;
102
+ // console.log('draggerId', draggerId, event.active.data.current)
103
+
104
+ var dragNodeData = ctx.$(draggerId).api.getSelfAndParentData();
105
+ var dragNode = dragNodeData === null || dragNodeData === void 0 ? void 0 : dragNodeData.node;
106
+ var dragParentNode = dragNodeData === null || dragNodeData === void 0 ? void 0 : dragNodeData.parent;
107
+
108
+ // 如果是拖拽到父容器上则不进行处理
109
+ if (dragParentNode && dragParentNode.props.id === event.over.data.current.id) {
110
+ vaild = false;
111
+ }
112
+
113
+ // 父结构不容许拖入子结构
114
+ if (findParent(ctx, dropperId, draggerId)) {
115
+ vaild = false;
116
+ }
117
+
118
+ // 如果是build类型的组件,不容许跨节点拖拽
119
+ if (dragNode.props.buildIn == true && (dragNode.props.parentId != dropNode.props.parentId || actionSide == ActionSide.INSIDE)) {
120
+ vaild = false;
121
+ }
122
+ ;
123
+ } else if (event.active.data.current.action === 'add') {
124
+ vaild = true;
125
+ }
126
+ if (!actionSide) {
127
+ vaild = false;
128
+ }
129
+
130
+ // console.log('vaild', vaild, actionSide)
131
+
132
+ setNoDrag(!vaild);
133
+
134
+ // console.log({
135
+ // eventName,
136
+ // id: event.over.data.current.id,
137
+ // fromId: event.active.data.current.id,
138
+ // fromComp: event.active.data.current.component,
139
+ // action: event.active.data.current.action,
140
+ // actionSide,
141
+ // });
142
+
77
143
  ctx.$publisher(eventName, {
144
+ vaild: vaild,
78
145
  id: event.over.data.current.id,
79
146
  // 拖拽目标组件id
80
147
  fromId: event.active.data.current.id,
@@ -85,18 +152,57 @@ function pubEvent(event, eventName, ctx) {
85
152
  // 行为 add move delete
86
153
  actionSide: actionSide // 目标位置 left inside right
87
154
  });
155
+ } else {
156
+ setNoDrag(true);
157
+ ctx.$publisher(eventName, {
158
+ vaild: false
159
+ });
88
160
  }
89
- }
161
+ }, []);
162
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DndContext, {
163
+ sensors: sensors,
164
+ onDragStart: handleDragStart,
165
+ onDragEnd: handleDragEnd,
166
+ onDragMove: handleDragMove
167
+ }, children, /*#__PURE__*/React.createElement(DragOverlay, {
168
+ style: {
169
+ zIndex: 21
170
+ },
171
+ dropAnimation: null
172
+ }, active && /*#__PURE__*/React.createElement(Overlay, {
173
+ noDrag: noDrag
174
+ }, active === null || active === void 0 || (_active$component = active.component) === null || _active$component === void 0 ? void 0 : _active$component.name))));
175
+ }
176
+
177
+ // 查找id是否属于parentid的子层级
178
+ function findParent(ctx, id, parentid) {
179
+ // 安全地获取节点数据
180
+ var nodeData = ctx.componentMap.get(id).api.getSelfAndParentData();
181
+ var node = nodeData === null || nodeData === void 0 ? void 0 : nodeData.node; // 确保这里是 'node' 而非 'nodel'
182
+
183
+ // 检查当前节点的parentId是否为目标parentid
184
+ if (node && node.props.parentId === parentid) return true;
185
+
186
+ // 检查是否已经到达页面根节点
187
+ if (!node.props.parentId || node.props.parentId === 'page_root') return false;
188
+
189
+ // 递归调用,检查上一级父节点
190
+ return findParent(ctx, node.props.parentId, parentid);
90
191
  }
91
192
  function isContainerUnit(node) {
92
193
  if (isNil(node)) return false;
93
194
  return CONTAINER_UNITS.includes(node.props.component);
94
195
  }
95
- function getAction(type, overComponentName, activeRect, overRect, parentNode) {
196
+ function getAction(type, overComponentName, activeRect, overRect, dropNode, dropParentNode) {
96
197
  var action = null;
97
- var parentIsContainer = isContainerUnit(parentNode);
198
+ var dropNodeParent = dropParentNode;
199
+ var parentIsContainer = isContainerUnit(dropNodeParent);
200
+ var buildIn = dropNode.props.buildIn;
201
+ // console.log('buildIn', buildIn, dropNode, dropNodeParent)
202
+
98
203
  if (type == 'comp') {
99
204
  if (CONTAINER_UNITS.includes(overComponentName)) {
205
+ // console.log('parentIsContainer', parentIsContainer, parentNode)
100
206
  // 如果是最小单元容器
101
207
  if (Math.abs(activeRect.left - overRect.left) <= SIDE_DiSTANCE) {
102
208
  if (parentIsContainer) action = ActionSide.LEFT;
@@ -107,20 +213,21 @@ function getAction(type, overComponentName, activeRect, overRect, parentNode) {
107
213
  }
108
214
  } else {
109
215
  // 独立组件
110
- if (activeRect.left >= overRect.left && activeRect.left <= overRect.left + overRect.width / 2) {
216
+ // console.log('pos:',activeRect.left, overRect.left)
217
+ if (activeRect.left <= overRect.left + overRect.width / 2) {
111
218
  if (parentIsContainer) action = ActionSide.LEFT;
112
- } else if (activeRect.left > overRect.left + overRect.width / 2 && activeRect.left <= overRect.right) {
219
+ } else if (activeRect.left > overRect.left + overRect.width / 2) {
113
220
  if (parentIsContainer) action = ActionSide.RIGHT;
114
221
  }
115
222
  }
116
223
  } else {
117
- // console.log('position', activeRect.top, overRect.bottom)
224
+ // 大纲树处理
118
225
  if (CONTAINER_UNITS.includes(overComponentName)) {
119
226
  // 如果是最小单元容器
120
227
  if (Math.abs(activeRect.top - overRect.top) <= SIDE_DiSTANCE_TREENODE) {
121
- if (parentIsContainer) action = ActionSide.LEFT;
228
+ if (parentIsContainer || buildIn) action = ActionSide.LEFT;
122
229
  } else if (Math.abs(activeRect.top - overRect.bottom) <= SIDE_DiSTANCE_TREENODE) {
123
- if (parentIsContainer) action = ActionSide.RIGHT;
230
+ if (parentIsContainer || buildIn) action = ActionSide.RIGHT;
124
231
  } else {
125
232
  action = ActionSide.INSIDE;
126
233
  }
@@ -1,9 +1,9 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import { cloneElement, useEffect } from 'react';
3
3
  import { useCreation } from 'ahooks';
4
- import { useDraggable, useDroppable } from '@dnd-kit/core';
4
+ import { useDraggable, useDroppable, useDndMonitor } from '@dnd-kit/core';
5
5
  import { useContext } from "../../../engine/provider/ContextProvider";
6
- import { Action } from "./DragDropContext";
6
+ import { Action, ActionSide } from "./DragDropContext";
7
7
  import { NO_DRAGABLE, NO_DROPABLE } from "../../../constants";
8
8
  export default function (_ref) {
9
9
  var id = _ref.id,
@@ -38,13 +38,36 @@ export default function (_ref) {
38
38
  }, []);
39
39
  useEffect(function () {
40
40
  var dom = getTargetDom();
41
- if (dom) {
42
- if (!NO_DRAGABLE.includes(itemInfo.component)) setDragRef(dom);
43
- if (!NO_DROPABLE.includes(itemInfo.component)) setDropRef(dom);
44
- }
41
+ if (!dom || !itemInfo.component) return;
42
+ if (!NO_DRAGABLE.includes(itemInfo.component)) setDragRef(dom);
43
+ if (!NO_DROPABLE.includes(itemInfo.component)) setDropRef(dom);
45
44
  }, []);
46
45
  var comp = useCreation(function () {
47
46
  return /*#__PURE__*/cloneElement(children, _objectSpread(_objectSpread(_objectSpread({}, children.props), _memoListeners), attributes));
48
47
  }, [id, children]);
48
+ useEffect(function () {
49
+ var event_drag = ctx.$subscriber(ctx.topics.COMPONENT_DRAG_OVER).on(function (_ref2) {
50
+ var itemId = _ref2.id,
51
+ actionSide = _ref2.actionSide;
52
+ if (actionSide === ActionSide.INSIDE) {
53
+ ctx.$publisher(ctx.topics.COMPONENT_HOVER, {
54
+ target: itemId
55
+ });
56
+ } else if (actionSide === ActionSide.LEFT || actionSide === ActionSide.RIGHT) {
57
+ ctx.$publisher(ctx.topics.COMPONENT_HOVER, {
58
+ target: itemId,
59
+ side: actionSide
60
+ });
61
+ }
62
+ }).watch();
63
+ return function () {
64
+ ctx.$unsubscriber(ctx.topics.COMPONENT_DRAG_OVER, event_drag);
65
+ };
66
+ }, []);
67
+ useDndMonitor({
68
+ onDragEnd: function onDragEnd() {
69
+ ctx.$publisher(ctx.topics.COMPONENT_HOVER, null);
70
+ }
71
+ });
49
72
  return comp;
50
73
  }
@@ -1,8 +1,11 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
2
  import React from 'react';
3
+ import classNames from 'classnames';
2
4
  import styles from "../../style/dragdrop.less";
3
5
  export default function (_ref) {
4
- var children = _ref.children;
6
+ var children = _ref.children,
7
+ noDrag = _ref.noDrag;
5
8
  return /*#__PURE__*/React.createElement("div", {
6
- className: styles['dragdrop-overlay']
9
+ className: classNames([styles['dragdrop-overlay'], _defineProperty({}, styles['no-drag'], noDrag)])
7
10
  }, children);
8
11
  }
@@ -1,10 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
4
  import React, { useEffect, useState } from 'react';
5
+ import classNames from 'classnames';
4
6
  import { useDraggable, useDroppable, useDndMonitor } from '@dnd-kit/core';
5
7
  import { Action } from "./DragDropContext";
6
8
  import { useContext } from "../../../engine/provider/ContextProvider";
7
- import styles from "../../style/treedragdrop.less";
9
+ import styles from "../../style/dragdrop.less";
8
10
  import { NO_DRAGABLE, NO_DROPABLE } from "../../../constants";
9
11
  export default function (_ref) {
10
12
  var item = _ref.item,
@@ -19,8 +21,9 @@ export default function (_ref) {
19
21
  var event_drag = context.$subscriber(context.topics.COMPONENT_DRAG_OVER).on(function (_ref2) {
20
22
  var itemId = _ref2.id,
21
23
  fromId = _ref2.fromId,
22
- actionSide = _ref2.actionSide;
23
- if (itemId === id) {
24
+ actionSide = _ref2.actionSide,
25
+ vaild = _ref2.vaild;
26
+ if (vaild && itemId === id) {
24
27
  setSide(actionSide);
25
28
  } else {
26
29
  setSide(null);
@@ -58,7 +61,7 @@ export default function (_ref) {
58
61
  }),
59
62
  setDropRef = _useDroppable.setNodeRef;
60
63
  return /*#__PURE__*/React.createElement("div", _extends({
61
- className: "".concat(styles['lc-painter-components-treedragdrop'], " ").concat(side ? "".concat(side, "-side") : '', " ").concat(isDragging ? "ondrag" : ''),
64
+ className: classNames([styles['lc-painter-components-treedragdrop'], _defineProperty(_defineProperty({}, styles["".concat(side, "-side")], side), styles['ondrag'], isDragging)]),
62
65
  ref: function ref(node) {
63
66
  if (!NO_DRAGABLE.includes(item.component)) setDragRef(node);
64
67
  if (!NO_DROPABLE.includes(item.component)) setDropRef(node);
@@ -4,14 +4,14 @@ import { Icon, Button } from 'luck-design/antd';
4
4
  import { formatMessage } from '@luck-design-biz/base/utils';
5
5
  import styles from "../style/list-editor.less";
6
6
 
7
- /**
8
- * ListEditor 是一个用于管理和展示一组可编辑标签项的容器组件。
9
- * 它提供了一个添加新标签项的操作按钮,并通过 children 属性接收一组 ListEditorItem 组件。
10
- *
11
- * @param {Object} props - 组件接收的属性。
12
- * @param {ReactNode} props.children - ListEditorItem 组件的实例,表示可编辑的标签项。
13
- * @param {Function} props.handleAdd - 一个回调函数,当用户点击添加按钮时被触发,用于添加新的标签项。
14
- * @returns {ReactNode} 渲染一个带有操作按钮和标签项的容器。
7
+ /**
8
+ * ListEditor 是一个用于管理和展示一组可编辑标签项的容器组件。
9
+ * 它提供了一个添加新标签项的操作按钮,并通过 children 属性接收一组 ListEditorItem 组件。
10
+ *
11
+ * @param {Object} props - 组件接收的属性。
12
+ * @param {ReactNode} props.children - ListEditorItem 组件的实例,表示可编辑的标签项。
13
+ * @param {Function} props.handleAdd - 一个回调函数,当用户点击添加按钮时被触发,用于添加新的标签项。
14
+ * @returns {ReactNode} 渲染一个带有操作按钮和标签项的容器。
15
15
  */
16
16
  export var ListEditor = function ListEditor(_ref) {
17
17
  var children = _ref.children,
@@ -41,22 +41,22 @@ export var ListEditor = function ListEditor(_ref) {
41
41
  }))));
42
42
  };
43
43
 
44
- /**
45
- * ListEditorItem 是一个可编辑的标签项组件,用于在 ListEditor 容器内展示。
46
- * 它支持拖拽排序,并可以通过左侧和右侧的插槽来自定义内容。
47
- *
48
- * @param {Object} props - 组件接收的属性。
49
- * @param {Object} props.item - 表示标签项数据的对象。
50
- * @param {ReactNode} props.left - 放置在标签项左侧的内容,通常用于展示标签名称或其他信息。
51
- * @param {ReactNode} props.right - 放置在标签项右侧的内容,通常用于展示操作按钮如编辑或删除。
52
- * @param {Function} props.setNodeRef - 用于设置拖拽组件根节点的引用。
53
- * @param {Function} props.setActivatorNodeRef - 用于设置激活拖拽操作的节点引用。
54
- * @param {Object} props.style - 应用于标签项的样式对象,通常包含拖拽过程中的动态变化样式。
55
- * @param {Object} props.attributes - 包含与拖拽相关的HTML属性。
56
- * @param {Object} props.listeners - 包含处理拖拽事件的监听器。
57
- * @param {CSSProperties} props.transform - 应用于组件的CSS变换属性,用于实现拖拽效果。
58
- * @param {string} props.transition - 定义拖拽动画的CSS过渡属性。
59
- * @returns {ReactNode} 渲染一个可编辑的标签项,支持拖拽排序。
44
+ /**
45
+ * ListEditorItem 是一个可编辑的标签项组件,用于在 ListEditor 容器内展示。
46
+ * 它支持拖拽排序,并可以通过左侧和右侧的插槽来自定义内容。
47
+ *
48
+ * @param {Object} props - 组件接收的属性。
49
+ * @param {Object} props.item - 表示标签项数据的对象。
50
+ * @param {ReactNode} props.left - 放置在标签项左侧的内容,通常用于展示标签名称或其他信息。
51
+ * @param {ReactNode} props.right - 放置在标签项右侧的内容,通常用于展示操作按钮如编辑或删除。
52
+ * @param {Function} props.setNodeRef - 用于设置拖拽组件根节点的引用。
53
+ * @param {Function} props.setActivatorNodeRef - 用于设置激活拖拽操作的节点引用。
54
+ * @param {Object} props.style - 应用于标签项的样式对象,通常包含拖拽过程中的动态变化样式。
55
+ * @param {Object} props.attributes - 包含与拖拽相关的HTML属性。
56
+ * @param {Object} props.listeners - 包含处理拖拽事件的监听器。
57
+ * @param {CSSProperties} props.transform - 应用于组件的CSS变换属性,用于实现拖拽效果。
58
+ * @param {string} props.transition - 定义拖拽动画的CSS过渡属性。
59
+ * @returns {ReactNode} 渲染一个可编辑的标签项,支持拖拽排序。
60
60
  */
61
61
  export var ListEditorItem = function ListEditorItem(_ref2) {
62
62
  var item = _ref2.item,