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