@luck-design-biz/luckda 0.0.22 → 0.0.24-1

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 (465) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +40 -49
  3. package/es/components/Builder/index.js +4 -4
  4. package/es/components/LdAutoForm/index.js +7 -9
  5. package/es/components/LdCard/index.js +5 -6
  6. package/es/components/LdCard/model.js +1 -1
  7. package/es/components/LdCom/index.js +2 -2
  8. package/es/components/LdFormList/index.js +15 -16
  9. package/es/components/LdFormList/model.js +0 -0
  10. package/es/components/LdGrid/index.js +11 -12
  11. package/es/components/LdGrid/model.js +1 -1
  12. package/es/components/LdGridForm/index.js +10 -10
  13. package/es/components/LdGridForm/index.less +7 -7
  14. package/es/components/LdInfoPanel/index.js +2 -2
  15. package/es/components/LdPop/index.js +0 -0
  16. package/es/components/LdRuntimeCom/index.js +42 -0
  17. package/es/components/LdTree/index.js +3 -4
  18. package/es/components/LdTree/index.less +36 -36
  19. package/es/helper/FromItems.js +1 -1
  20. package/es/helper/action.js +8 -8
  21. package/es/helper/form.js +16 -16
  22. package/es/helper/index.less +7 -7
  23. package/es/helper/ldBuilder.js +1 -1
  24. package/es/helper/ldComBuild.js +4 -4
  25. package/es/index.js +10 -9
  26. package/es/lowcode/constants/api-url.js +3 -0
  27. package/es/lowcode/constants/event-topics.js +36 -0
  28. package/es/lowcode/constants/index.js +12 -0
  29. package/es/lowcode/engine/factory/DataFactory.js +1 -0
  30. package/es/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +60 -0
  31. package/es/lowcode/engine/factory/panel-item-factory/GroupStrategy.js +32 -0
  32. package/es/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +32 -0
  33. package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +50 -0
  34. package/es/lowcode/engine/factory/panel-item-factory/Strategy.js +21 -0
  35. package/es/lowcode/engine/factory/panel-item-factory/StringStrategy.js +50 -0
  36. package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +32 -0
  37. package/es/lowcode/engine/factory/panel-item-factory/index.js +42 -0
  38. package/es/lowcode/engine/meta/box.props.default.json +12 -0
  39. package/es/lowcode/engine/meta/box.props.json +42 -0
  40. package/es/lowcode/engine/meta/button.props.default.json +16 -0
  41. package/es/lowcode/engine/meta/button.props.json +122 -0
  42. package/es/lowcode/engine/meta/cardlist.props.default.json +18 -0
  43. package/es/lowcode/engine/meta/cardlist.props.json +144 -0
  44. package/es/lowcode/engine/meta/components-list.json +128 -0
  45. package/es/lowcode/engine/meta/dialog.props.default.json +19 -0
  46. package/es/lowcode/engine/meta/dialog.props.json +121 -0
  47. package/es/lowcode/engine/meta/drawer.props.default.json +18 -0
  48. package/es/lowcode/engine/meta/drawer.props.json +144 -0
  49. package/es/lowcode/engine/meta/form.props.default.json +13 -0
  50. package/es/lowcode/engine/meta/form.props.json +117 -0
  51. package/es/lowcode/engine/meta/iframe.props.default.json +11 -0
  52. package/es/lowcode/engine/meta/iframe.props.json +32 -0
  53. package/es/lowcode/engine/meta/image.props.default.json +16 -0
  54. package/es/lowcode/engine/meta/image.props.json +114 -0
  55. package/es/lowcode/engine/meta/imex.props.default.json +12 -0
  56. package/es/lowcode/engine/meta/imex.props.json +82 -0
  57. package/es/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
  58. package/es/lowcode/engine/meta/jsx.props.default.json +10 -0
  59. package/es/lowcode/engine/meta/jsx.props.json +25 -0
  60. package/es/lowcode/engine/meta/layout.props.default.json +13 -0
  61. package/es/lowcode/engine/meta/layout.props.json +108 -0
  62. package/es/lowcode/engine/meta/link.props.default.json +14 -0
  63. package/es/lowcode/engine/meta/link.props.json +112 -0
  64. package/es/lowcode/engine/meta/section.props.default.json +17 -0
  65. package/es/lowcode/engine/meta/section.props.json +108 -0
  66. package/es/lowcode/engine/meta/split.props.default.json +13 -0
  67. package/es/lowcode/engine/meta/split.props.json +72 -0
  68. package/es/lowcode/engine/meta/table.props.default.json +12 -0
  69. package/es/lowcode/engine/meta/table.props.json +174 -0
  70. package/es/lowcode/engine/meta/tabs.props.default.json +18 -0
  71. package/es/lowcode/engine/meta/tabs.props.json +141 -0
  72. package/es/lowcode/engine/meta/text.props.default.json +12 -0
  73. package/es/lowcode/engine/meta/text.props.json +66 -0
  74. package/es/lowcode/engine/meta/tree.props.default.json +17 -0
  75. package/es/lowcode/engine/meta/tree.props.json +157 -0
  76. package/es/lowcode/engine/provider/ContextProvider.js +157 -0
  77. package/es/lowcode/engine/provider/EventBusProvider.js +120 -0
  78. package/es/lowcode/engine/tools/dataProcess.js +263 -0
  79. package/es/lowcode/engine/tools/helper.js +4 -0
  80. package/es/lowcode/engine/tools/usePromiseState.js +24 -0
  81. package/es/lowcode/index.js +3 -0
  82. package/es/lowcode/painter/Components.js +104 -0
  83. package/es/lowcode/painter/Design.js +329 -0
  84. package/es/lowcode/painter/I18n.js +205 -0
  85. package/es/lowcode/painter/Outline.js +207 -0
  86. package/es/lowcode/painter/Panel.js +207 -0
  87. package/es/lowcode/painter/Ribbon.js +142 -0
  88. package/es/lowcode/painter/components/Collapse.js +31 -0
  89. package/es/lowcode/painter/components/NumberInput.js +93 -0
  90. package/es/lowcode/painter/components/PanelItem.js +63 -0
  91. package/es/lowcode/painter/components/PopConfirm.js +20 -0
  92. package/es/lowcode/painter/components/PopForm.js +71 -0
  93. package/es/lowcode/painter/components/RuleInput.js +105 -0
  94. package/es/lowcode/painter/components/SortBox.js +92 -0
  95. package/es/lowcode/painter/components/TabEditor.js +88 -0
  96. package/es/lowcode/painter/components/code-editor/BaseEditor.js +118 -0
  97. package/es/lowcode/painter/components/code-editor/CssEditor.js +14 -0
  98. package/es/lowcode/painter/components/code-editor/FullScreenEditor.js +64 -0
  99. package/es/lowcode/painter/components/code-editor/JSEditor.js +84 -0
  100. package/es/lowcode/painter/components/code-editor/index.js +2 -0
  101. package/es/lowcode/painter/index.js +45 -0
  102. package/es/lowcode/painter/panel-section/ButtonType.js +39 -0
  103. package/es/lowcode/painter/panel-section/Icon.js +48 -0
  104. package/es/lowcode/painter/panel-section/IconSelector.js +134 -0
  105. package/es/lowcode/painter/panel-section/LayoutRatio.js +130 -0
  106. package/es/lowcode/painter/panel-section/StylePanel/Display.js +292 -0
  107. package/es/lowcode/painter/panel-section/StylePanel/DisplaySvg.js +543 -0
  108. package/es/lowcode/painter/panel-section/StylePanel/Height.js +48 -0
  109. package/es/lowcode/painter/panel-section/StylePanel/MainPanel.js +64 -0
  110. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +101 -0
  111. package/es/lowcode/painter/panel-section/StylePanel/Width.js +48 -0
  112. package/es/lowcode/painter/panel-section/StylePanel/index.js +12 -0
  113. package/es/lowcode/painter/panel-section/TabItems.js +237 -0
  114. package/es/lowcode/painter/services/I18n.js +85 -0
  115. package/es/lowcode/painter/style/button-type.less +5 -0
  116. package/es/lowcode/painter/style/collapse.less +21 -0
  117. package/es/lowcode/painter/style/components.less +90 -0
  118. package/es/lowcode/painter/style/design.less +142 -0
  119. package/es/lowcode/painter/style/display.less +17 -0
  120. package/es/lowcode/painter/style/fullscreen-editor.less +17 -0
  121. package/es/lowcode/painter/style/icon-selector.less +22 -0
  122. package/es/lowcode/painter/style/icon.less +11 -0
  123. package/es/lowcode/painter/style/index.less +6 -0
  124. package/es/lowcode/painter/style/layout-ratio.less +51 -0
  125. package/es/lowcode/painter/style/number-input.less +17 -0
  126. package/es/lowcode/painter/style/outline.less +28 -0
  127. package/es/lowcode/painter/style/panel-item.less +44 -0
  128. package/es/lowcode/painter/style/panel.less +142 -0
  129. package/es/lowcode/painter/style/pop-confirm.less +10 -0
  130. package/es/lowcode/painter/style/pop-form.less +20 -0
  131. package/es/lowcode/painter/style/radio.less +24 -0
  132. package/es/lowcode/painter/style/ribbon.less +5 -0
  133. package/es/lowcode/painter/style/rule-input.less +13 -0
  134. package/es/lowcode/painter/style/style-panel.less +5 -0
  135. package/es/lowcode/painter/style/tabeditor.less +90 -0
  136. package/es/lowcode/painter/style/tabitems.less +90 -0
  137. package/es/lowcode/view/Canvas.js +143 -0
  138. package/es/lowcode/view/Loading.js +23 -0
  139. package/es/lowcode/view/Page.js +252 -0
  140. package/es/lowcode/view/index.js +18 -0
  141. package/es/lowcode/view/lc-components/Box/FunctionDesign.js +20 -0
  142. package/es/lowcode/view/lc-components/Box/FunctionLive.js +9 -0
  143. package/es/lowcode/view/lc-components/Box/index.js +38 -0
  144. package/es/lowcode/view/lc-components/Box/index.less +15 -0
  145. package/es/lowcode/view/lc-components/Box/meta.json +42 -0
  146. package/es/lowcode/view/lc-components/Button/FunctionDesign.js +21 -0
  147. package/es/lowcode/view/lc-components/Button/FunctionLive.js +9 -0
  148. package/es/lowcode/view/lc-components/Button/index.js +102 -0
  149. package/es/lowcode/view/lc-components/Button/meta.json +122 -0
  150. package/es/lowcode/view/lc-components/CardList/FunctionDesign.js +9 -0
  151. package/es/lowcode/view/lc-components/CardList/FunctionLive.js +9 -0
  152. package/es/lowcode/view/lc-components/CardList/index.js +20 -0
  153. package/es/lowcode/view/lc-components/CardList/meta.json +144 -0
  154. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +9 -0
  155. package/es/lowcode/view/lc-components/Dialog/FunctionLive.js +9 -0
  156. package/es/lowcode/view/lc-components/Dialog/index.js +61 -0
  157. package/es/lowcode/view/lc-components/Dialog/index.less +3 -0
  158. package/es/lowcode/view/lc-components/Dialog/meta.json +121 -0
  159. package/es/lowcode/view/lc-components/Drawer/FunctionDesign.js +9 -0
  160. package/es/lowcode/view/lc-components/Drawer/FunctionLive.js +9 -0
  161. package/es/lowcode/view/lc-components/Drawer/index.js +62 -0
  162. package/es/lowcode/view/lc-components/Drawer/meta.json +144 -0
  163. package/es/lowcode/view/lc-components/Drawer/style.less +7 -0
  164. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +9 -0
  165. package/es/lowcode/view/lc-components/Form/FunctionLive.js +9 -0
  166. package/es/lowcode/view/lc-components/Form/index.js +20 -0
  167. package/es/lowcode/view/lc-components/Form/meta.json +117 -0
  168. package/es/lowcode/view/lc-components/Iframe/FunctionDesign.js +9 -0
  169. package/es/lowcode/view/lc-components/Iframe/FunctionLive.js +9 -0
  170. package/es/lowcode/view/lc-components/Iframe/index.js +20 -0
  171. package/es/lowcode/view/lc-components/Iframe/meta.json +32 -0
  172. package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +9 -0
  173. package/es/lowcode/view/lc-components/ImEx/FunctionLive.js +9 -0
  174. package/es/lowcode/view/lc-components/ImEx/index.js +20 -0
  175. package/es/lowcode/view/lc-components/ImEx/meta.json +82 -0
  176. package/es/lowcode/view/lc-components/Image/FunctionDesign.js +9 -0
  177. package/es/lowcode/view/lc-components/Image/FunctionLive.js +9 -0
  178. package/es/lowcode/view/lc-components/Image/index.js +20 -0
  179. package/es/lowcode/view/lc-components/Image/meta.json +114 -0
  180. package/es/lowcode/view/lc-components/JSX/FunctionDesign.js +9 -0
  181. package/es/lowcode/view/lc-components/JSX/FunctionLive.js +9 -0
  182. package/es/lowcode/view/lc-components/JSX/index.js +20 -0
  183. package/es/lowcode/view/lc-components/JSX/meta.json +25 -0
  184. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +75 -0
  185. package/es/lowcode/view/lc-components/Layout/FunctionLive.js +15 -0
  186. package/es/lowcode/view/lc-components/Layout/index.js +57 -0
  187. package/es/lowcode/view/lc-components/Layout/index.less +5 -0
  188. package/es/lowcode/view/lc-components/Layout/meta.json +108 -0
  189. package/es/lowcode/view/lc-components/Link/FunctionDesign.js +9 -0
  190. package/es/lowcode/view/lc-components/Link/FunctionLive.js +9 -0
  191. package/es/lowcode/view/lc-components/Link/index.js +20 -0
  192. package/es/lowcode/view/lc-components/Link/meta.json +112 -0
  193. package/es/lowcode/view/lc-components/Section/FunctionDesign.js +9 -0
  194. package/es/lowcode/view/lc-components/Section/FunctionLive.js +9 -0
  195. package/es/lowcode/view/lc-components/Section/index.js +34 -0
  196. package/es/lowcode/view/lc-components/Section/meta.json +108 -0
  197. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +9 -0
  198. package/es/lowcode/view/lc-components/Split/FunctionLive.js +9 -0
  199. package/es/lowcode/view/lc-components/Split/index.js +21 -0
  200. package/es/lowcode/view/lc-components/Split/meta.json +72 -0
  201. package/es/lowcode/view/lc-components/Table/FunctionDesign.js +16 -0
  202. package/es/lowcode/view/lc-components/Table/FunctionLive.js +9 -0
  203. package/es/lowcode/view/lc-components/Table/index.js +153 -0
  204. package/es/lowcode/view/lc-components/Table/meta.json +174 -0
  205. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +9 -0
  206. package/es/lowcode/view/lc-components/Tabs/FunctionLive.js +9 -0
  207. package/es/lowcode/view/lc-components/Tabs/index.js +21 -0
  208. package/es/lowcode/view/lc-components/Tabs/meta.json +141 -0
  209. package/es/lowcode/view/lc-components/Text/FunctionDesign.js +9 -0
  210. package/es/lowcode/view/lc-components/Text/FunctionLive.js +9 -0
  211. package/es/lowcode/view/lc-components/Text/index.js +23 -0
  212. package/es/lowcode/view/lc-components/Text/meta.json +66 -0
  213. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +9 -0
  214. package/es/lowcode/view/lc-components/Tree/FunctionLive.js +9 -0
  215. package/es/lowcode/view/lc-components/Tree/index.js +20 -0
  216. package/es/lowcode/view/lc-components/Tree/meta.json +157 -0
  217. package/es/lowcode/view/lc-components/Wrapper.js +54 -0
  218. package/es/lowcode/view/style/canvas.less +5 -0
  219. package/es/lowcode/view/style/loading.less +84 -0
  220. package/es/lowcode/view/style/page.less +5 -0
  221. package/es/services.js +1 -1
  222. package/es/upload/Form/gridForm.js +30 -8
  223. package/es/upload/Form/index.js +1 -1
  224. package/es/upload/Form/index.less +7 -7
  225. package/es/upload/FormItem/index.js +30 -18
  226. package/es/upload/GridCell/index.js +0 -0
  227. package/es/upload/index.js +3 -3
  228. package/es/utils/action.js +1 -1
  229. package/es/utils/form.js +26 -26
  230. package/es/utils/grid.js +26 -29
  231. package/es/utils/index.js +3 -3
  232. package/lib/components/Builder/index.js +3 -5
  233. package/lib/components/LdAutoForm/index.js +5 -8
  234. package/lib/components/LdCard/index.js +5 -7
  235. package/lib/components/LdCard/model.js +0 -0
  236. package/lib/components/LdCom/index.js +6 -11
  237. package/lib/components/LdFormList/index.js +10 -12
  238. package/lib/components/LdFormList/model.js +0 -0
  239. package/lib/components/LdGrid/index.js +10 -12
  240. package/lib/components/LdGrid/model.js +0 -0
  241. package/lib/components/LdGridForm/index.js +6 -7
  242. package/lib/components/LdGridForm/index.less +7 -7
  243. package/lib/components/LdInfoPanel/index.js +2 -3
  244. package/lib/components/LdPop/index.js +2 -4
  245. package/lib/components/LdRuntimeCom/index.js +49 -0
  246. package/lib/components/LdTree/index.js +2 -4
  247. package/lib/components/LdTree/index.less +36 -36
  248. package/lib/helper/FromItems.js +15 -29
  249. package/lib/helper/action.js +9 -11
  250. package/lib/helper/form.js +18 -20
  251. package/lib/helper/index.less +7 -7
  252. package/lib/helper/ldBuilder.js +1 -2
  253. package/lib/helper/ldComBuild.js +7 -11
  254. package/lib/index.js +9 -1
  255. package/lib/lowcode/constants/api-url.js +9 -0
  256. package/lib/lowcode/constants/event-topics.js +42 -0
  257. package/lib/lowcode/constants/index.js +18 -0
  258. package/lib/lowcode/engine/factory/DataFactory.js +3 -0
  259. package/lib/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +73 -0
  260. package/lib/lowcode/engine/factory/panel-item-factory/GroupStrategy.js +38 -0
  261. package/lib/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +38 -0
  262. package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +56 -0
  263. package/lib/lowcode/engine/factory/panel-item-factory/Strategy.js +27 -0
  264. package/lib/lowcode/engine/factory/panel-item-factory/StringStrategy.js +56 -0
  265. package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +38 -0
  266. package/lib/lowcode/engine/factory/panel-item-factory/index.js +48 -0
  267. package/lib/lowcode/engine/meta/box.props.default.json +12 -0
  268. package/lib/lowcode/engine/meta/box.props.json +42 -0
  269. package/lib/lowcode/engine/meta/button.props.default.json +16 -0
  270. package/lib/lowcode/engine/meta/button.props.json +122 -0
  271. package/lib/lowcode/engine/meta/cardlist.props.default.json +18 -0
  272. package/lib/lowcode/engine/meta/cardlist.props.json +144 -0
  273. package/lib/lowcode/engine/meta/components-list.json +128 -0
  274. package/lib/lowcode/engine/meta/dialog.props.default.json +19 -0
  275. package/lib/lowcode/engine/meta/dialog.props.json +121 -0
  276. package/lib/lowcode/engine/meta/drawer.props.default.json +18 -0
  277. package/lib/lowcode/engine/meta/drawer.props.json +144 -0
  278. package/lib/lowcode/engine/meta/form.props.default.json +13 -0
  279. package/lib/lowcode/engine/meta/form.props.json +117 -0
  280. package/lib/lowcode/engine/meta/iframe.props.default.json +11 -0
  281. package/lib/lowcode/engine/meta/iframe.props.json +32 -0
  282. package/lib/lowcode/engine/meta/image.props.default.json +16 -0
  283. package/lib/lowcode/engine/meta/image.props.json +114 -0
  284. package/lib/lowcode/engine/meta/imex.props.default.json +12 -0
  285. package/lib/lowcode/engine/meta/imex.props.json +82 -0
  286. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
  287. package/lib/lowcode/engine/meta/jsx.props.default.json +10 -0
  288. package/lib/lowcode/engine/meta/jsx.props.json +25 -0
  289. package/lib/lowcode/engine/meta/layout.props.default.json +13 -0
  290. package/lib/lowcode/engine/meta/layout.props.json +108 -0
  291. package/lib/lowcode/engine/meta/link.props.default.json +14 -0
  292. package/lib/lowcode/engine/meta/link.props.json +112 -0
  293. package/lib/lowcode/engine/meta/section.props.default.json +17 -0
  294. package/lib/lowcode/engine/meta/section.props.json +108 -0
  295. package/lib/lowcode/engine/meta/split.props.default.json +13 -0
  296. package/lib/lowcode/engine/meta/split.props.json +72 -0
  297. package/lib/lowcode/engine/meta/table.props.default.json +12 -0
  298. package/lib/lowcode/engine/meta/table.props.json +174 -0
  299. package/lib/lowcode/engine/meta/tabs.props.default.json +18 -0
  300. package/lib/lowcode/engine/meta/tabs.props.json +141 -0
  301. package/lib/lowcode/engine/meta/text.props.default.json +12 -0
  302. package/lib/lowcode/engine/meta/text.props.json +66 -0
  303. package/lib/lowcode/engine/meta/tree.props.default.json +17 -0
  304. package/lib/lowcode/engine/meta/tree.props.json +157 -0
  305. package/lib/lowcode/engine/provider/ContextProvider.js +165 -0
  306. package/lib/lowcode/engine/provider/EventBusProvider.js +128 -0
  307. package/lib/lowcode/engine/tools/dataProcess.js +277 -0
  308. package/lib/lowcode/engine/tools/helper.js +11 -0
  309. package/lib/lowcode/engine/tools/usePromiseState.js +31 -0
  310. package/lib/lowcode/index.js +20 -0
  311. package/lib/lowcode/painter/Components.js +112 -0
  312. package/lib/lowcode/painter/Design.js +336 -0
  313. package/lib/lowcode/painter/I18n.js +213 -0
  314. package/lib/lowcode/painter/Outline.js +215 -0
  315. package/lib/lowcode/painter/Panel.js +215 -0
  316. package/lib/lowcode/painter/Ribbon.js +150 -0
  317. package/lib/lowcode/painter/components/Collapse.js +39 -0
  318. package/lib/lowcode/painter/components/NumberInput.js +101 -0
  319. package/lib/lowcode/painter/components/PanelItem.js +70 -0
  320. package/lib/lowcode/painter/components/PopConfirm.js +26 -0
  321. package/lib/lowcode/painter/components/PopForm.js +77 -0
  322. package/lib/lowcode/painter/components/RuleInput.js +112 -0
  323. package/lib/lowcode/painter/components/SortBox.js +99 -0
  324. package/lib/lowcode/painter/components/TabEditor.js +94 -0
  325. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +126 -0
  326. package/lib/lowcode/painter/components/code-editor/CssEditor.js +22 -0
  327. package/lib/lowcode/painter/components/code-editor/FullScreenEditor.js +72 -0
  328. package/lib/lowcode/painter/components/code-editor/JSEditor.js +95 -0
  329. package/lib/lowcode/painter/components/code-editor/index.js +20 -0
  330. package/lib/lowcode/painter/index.js +54 -0
  331. package/lib/lowcode/painter/panel-section/ButtonType.js +46 -0
  332. package/lib/lowcode/painter/panel-section/Icon.js +54 -0
  333. package/lib/lowcode/painter/panel-section/IconSelector.js +141 -0
  334. package/lib/lowcode/painter/panel-section/LayoutRatio.js +138 -0
  335. package/lib/lowcode/painter/panel-section/StylePanel/Display.js +299 -0
  336. package/lib/lowcode/painter/panel-section/StylePanel/DisplaySvg.js +550 -0
  337. package/lib/lowcode/painter/panel-section/StylePanel/Height.js +55 -0
  338. package/lib/lowcode/painter/panel-section/StylePanel/MainPanel.js +72 -0
  339. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +112 -0
  340. package/lib/lowcode/painter/panel-section/StylePanel/Width.js +55 -0
  341. package/lib/lowcode/painter/panel-section/StylePanel/index.js +19 -0
  342. package/lib/lowcode/painter/panel-section/TabItems.js +245 -0
  343. package/lib/lowcode/painter/services/I18n.js +95 -0
  344. package/lib/lowcode/painter/style/button-type.less +5 -0
  345. package/lib/lowcode/painter/style/collapse.less +21 -0
  346. package/lib/lowcode/painter/style/components.less +90 -0
  347. package/lib/lowcode/painter/style/design.less +142 -0
  348. package/lib/lowcode/painter/style/display.less +17 -0
  349. package/lib/lowcode/painter/style/fullscreen-editor.less +17 -0
  350. package/lib/lowcode/painter/style/icon-selector.less +22 -0
  351. package/lib/lowcode/painter/style/icon.less +11 -0
  352. package/lib/lowcode/painter/style/index.less +6 -0
  353. package/lib/lowcode/painter/style/layout-ratio.less +51 -0
  354. package/lib/lowcode/painter/style/number-input.less +17 -0
  355. package/lib/lowcode/painter/style/outline.less +28 -0
  356. package/lib/lowcode/painter/style/panel-item.less +44 -0
  357. package/lib/lowcode/painter/style/panel.less +142 -0
  358. package/lib/lowcode/painter/style/pop-confirm.less +10 -0
  359. package/lib/lowcode/painter/style/pop-form.less +20 -0
  360. package/lib/lowcode/painter/style/radio.less +24 -0
  361. package/lib/lowcode/painter/style/ribbon.less +5 -0
  362. package/lib/lowcode/painter/style/rule-input.less +13 -0
  363. package/lib/lowcode/painter/style/style-panel.less +5 -0
  364. package/lib/lowcode/painter/style/tabeditor.less +90 -0
  365. package/lib/lowcode/painter/style/tabitems.less +90 -0
  366. package/lib/lowcode/view/Canvas.js +158 -0
  367. package/lib/lowcode/view/Loading.js +30 -0
  368. package/lib/lowcode/view/Page.js +260 -0
  369. package/lib/lowcode/view/index.js +25 -0
  370. package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +27 -0
  371. package/lib/lowcode/view/lc-components/Box/FunctionLive.js +16 -0
  372. package/lib/lowcode/view/lc-components/Box/index.js +46 -0
  373. package/lib/lowcode/view/lc-components/Box/index.less +15 -0
  374. package/lib/lowcode/view/lc-components/Box/meta.json +42 -0
  375. package/lib/lowcode/view/lc-components/Button/FunctionDesign.js +28 -0
  376. package/lib/lowcode/view/lc-components/Button/FunctionLive.js +16 -0
  377. package/lib/lowcode/view/lc-components/Button/index.js +110 -0
  378. package/lib/lowcode/view/lc-components/Button/meta.json +122 -0
  379. package/lib/lowcode/view/lc-components/CardList/FunctionDesign.js +16 -0
  380. package/lib/lowcode/view/lc-components/CardList/FunctionLive.js +16 -0
  381. package/lib/lowcode/view/lc-components/CardList/index.js +28 -0
  382. package/lib/lowcode/view/lc-components/CardList/meta.json +144 -0
  383. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +16 -0
  384. package/lib/lowcode/view/lc-components/Dialog/FunctionLive.js +16 -0
  385. package/lib/lowcode/view/lc-components/Dialog/index.js +69 -0
  386. package/lib/lowcode/view/lc-components/Dialog/index.less +3 -0
  387. package/lib/lowcode/view/lc-components/Dialog/meta.json +121 -0
  388. package/lib/lowcode/view/lc-components/Drawer/FunctionDesign.js +16 -0
  389. package/lib/lowcode/view/lc-components/Drawer/FunctionLive.js +16 -0
  390. package/lib/lowcode/view/lc-components/Drawer/index.js +70 -0
  391. package/lib/lowcode/view/lc-components/Drawer/meta.json +144 -0
  392. package/lib/lowcode/view/lc-components/Drawer/style.less +7 -0
  393. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +16 -0
  394. package/lib/lowcode/view/lc-components/Form/FunctionLive.js +16 -0
  395. package/lib/lowcode/view/lc-components/Form/index.js +28 -0
  396. package/lib/lowcode/view/lc-components/Form/meta.json +117 -0
  397. package/lib/lowcode/view/lc-components/Iframe/FunctionDesign.js +16 -0
  398. package/lib/lowcode/view/lc-components/Iframe/FunctionLive.js +16 -0
  399. package/lib/lowcode/view/lc-components/Iframe/index.js +28 -0
  400. package/lib/lowcode/view/lc-components/Iframe/meta.json +32 -0
  401. package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +16 -0
  402. package/lib/lowcode/view/lc-components/ImEx/FunctionLive.js +16 -0
  403. package/lib/lowcode/view/lc-components/ImEx/index.js +28 -0
  404. package/lib/lowcode/view/lc-components/ImEx/meta.json +82 -0
  405. package/lib/lowcode/view/lc-components/Image/FunctionDesign.js +16 -0
  406. package/lib/lowcode/view/lc-components/Image/FunctionLive.js +16 -0
  407. package/lib/lowcode/view/lc-components/Image/index.js +28 -0
  408. package/lib/lowcode/view/lc-components/Image/meta.json +114 -0
  409. package/lib/lowcode/view/lc-components/JSX/FunctionDesign.js +16 -0
  410. package/lib/lowcode/view/lc-components/JSX/FunctionLive.js +16 -0
  411. package/lib/lowcode/view/lc-components/JSX/index.js +28 -0
  412. package/lib/lowcode/view/lc-components/JSX/meta.json +25 -0
  413. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +82 -0
  414. package/lib/lowcode/view/lc-components/Layout/FunctionLive.js +22 -0
  415. package/lib/lowcode/view/lc-components/Layout/index.js +65 -0
  416. package/lib/lowcode/view/lc-components/Layout/index.less +5 -0
  417. package/lib/lowcode/view/lc-components/Layout/meta.json +108 -0
  418. package/lib/lowcode/view/lc-components/Link/FunctionDesign.js +16 -0
  419. package/lib/lowcode/view/lc-components/Link/FunctionLive.js +16 -0
  420. package/lib/lowcode/view/lc-components/Link/index.js +28 -0
  421. package/lib/lowcode/view/lc-components/Link/meta.json +112 -0
  422. package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +16 -0
  423. package/lib/lowcode/view/lc-components/Section/FunctionLive.js +16 -0
  424. package/lib/lowcode/view/lc-components/Section/index.js +42 -0
  425. package/lib/lowcode/view/lc-components/Section/meta.json +108 -0
  426. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +16 -0
  427. package/lib/lowcode/view/lc-components/Split/FunctionLive.js +16 -0
  428. package/lib/lowcode/view/lc-components/Split/index.js +29 -0
  429. package/lib/lowcode/view/lc-components/Split/meta.json +72 -0
  430. package/lib/lowcode/view/lc-components/Table/FunctionDesign.js +23 -0
  431. package/lib/lowcode/view/lc-components/Table/FunctionLive.js +16 -0
  432. package/lib/lowcode/view/lc-components/Table/index.js +161 -0
  433. package/lib/lowcode/view/lc-components/Table/meta.json +174 -0
  434. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +16 -0
  435. package/lib/lowcode/view/lc-components/Tabs/FunctionLive.js +16 -0
  436. package/lib/lowcode/view/lc-components/Tabs/index.js +29 -0
  437. package/lib/lowcode/view/lc-components/Tabs/meta.json +141 -0
  438. package/lib/lowcode/view/lc-components/Text/FunctionDesign.js +16 -0
  439. package/lib/lowcode/view/lc-components/Text/FunctionLive.js +16 -0
  440. package/lib/lowcode/view/lc-components/Text/index.js +31 -0
  441. package/lib/lowcode/view/lc-components/Text/meta.json +66 -0
  442. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +16 -0
  443. package/lib/lowcode/view/lc-components/Tree/FunctionLive.js +16 -0
  444. package/lib/lowcode/view/lc-components/Tree/index.js +28 -0
  445. package/lib/lowcode/view/lc-components/Tree/meta.json +157 -0
  446. package/lib/lowcode/view/lc-components/Wrapper.js +61 -0
  447. package/lib/lowcode/view/style/canvas.less +5 -0
  448. package/lib/lowcode/view/style/loading.less +84 -0
  449. package/lib/lowcode/view/style/page.less +5 -0
  450. package/lib/services.js +0 -0
  451. package/lib/upload/Form/gridForm.js +28 -7
  452. package/lib/upload/Form/index.js +1 -2
  453. package/lib/upload/Form/index.less +7 -7
  454. package/lib/upload/FormItem/index.js +30 -19
  455. package/lib/upload/GridCell/index.js +1 -2
  456. package/lib/upload/index.js +0 -0
  457. package/lib/utils/action.js +0 -0
  458. package/lib/utils/form.js +26 -29
  459. package/lib/utils/grid.js +22 -26
  460. package/lib/utils/index.js +0 -0
  461. package/lowcode.js +1 -0
  462. package/package.json +164 -78
  463. package/upload.js +1 -1
  464. package/utils.js +1 -1
  465. package/README.zh-CN.md +0 -51
@@ -0,0 +1,207 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
+ var _excluded = ["props", "children"];
6
+ import React, { useRef, useState, useEffect } from 'react';
7
+ import { useMemoizedFn, useDeepCompareLayoutEffect, useLatest } from 'ahooks';
8
+ import { uniq, split, reduce } from 'lodash';
9
+ import classNames from 'classnames';
10
+ import { Card, Tree, Icon } from 'luck-design/antd';
11
+ import { formatMessage } from '@luck-design-biz/base/utils';
12
+ import { useLDContext } from "../engine/provider/ContextProvider";
13
+ import { CELL_KEY } from "../constants";
14
+ import { getPathById } from "../engine/tools/dataProcess";
15
+ import styles from "./style/outline.less";
16
+ var TreeNode = Tree.TreeNode;
17
+ var PAGE_CELL = [CELL_KEY.PAGE_HEADER, CELL_KEY.PAGE_CONTENT, CELL_KEY.PAGE_FOOTER];
18
+ var Outline = function Outline(_ref) {
19
+ var open = _ref.open;
20
+ var openModal = useRef(void 0);
21
+ var clickBySelf = useRef(false);
22
+ var context = useLDContext();
23
+ var _useState = useState(null),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ pageAndModal = _useState2[0],
26
+ setPageAndModal = _useState2[1];
27
+ var _useState3 = useState(null),
28
+ _useState4 = _slicedToArray(_useState3, 2),
29
+ selectedKey = _useState4[0],
30
+ setSelectedKey = _useState4[1];
31
+ var _useState5 = useState([]),
32
+ _useState6 = _slicedToArray(_useState5, 2),
33
+ modalExpandedKeys = _useState6[0],
34
+ setModalExpandedKeys = _useState6[1];
35
+ var _useState7 = useState([]),
36
+ _useState8 = _slicedToArray(_useState7, 2),
37
+ pageExpandedKeys = _useState8[0],
38
+ setPageExpandedKeys = _useState8[1];
39
+ var latestModalExpandedKeysRef = useLatest(modalExpandedKeys);
40
+ var lastPageExpandedKeysRef = useLatest(pageExpandedKeys);
41
+ useEffect(function () {
42
+ var _id = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
43
+ setSelectedKey(payload.id);
44
+ if (clickBySelf.current) {
45
+ clickBySelf.current = false;
46
+ return;
47
+ }
48
+ if (openModal.current) {
49
+ setModalExpandedKeys(uniq([].concat(_toConsumableArray(latestModalExpandedKeysRef.current), _toConsumableArray(split(getPathById(context.pageData, payload.id), '/')))));
50
+ } else {
51
+ setPageExpandedKeys(uniq([].concat(_toConsumableArray(lastPageExpandedKeysRef.current), _toConsumableArray(split(getPathById(context.pageData, payload.id), '/')))));
52
+ }
53
+ }).watch();
54
+ return function () {
55
+ context.$unsubscriber(context.topics.COMPONENT_ACTIVE, _id);
56
+ };
57
+ }, [context.pageData]);
58
+ var handleSelect = function handleSelect(_key) {
59
+ clickBySelf.current = true;
60
+ context.$publisher(context.topics.COMPONENT_ACTIVE, _key ? {
61
+ id: _key
62
+ } : null);
63
+ };
64
+ var handleOpenModal = useMemoizedFn(function (_key) {
65
+ var _comp = context.componentMap.get(_key);
66
+ var _prevComp = openModal.current ? context.componentMap.get(openModal.current) : null;
67
+ _prevComp === null || _prevComp === void 0 || _prevComp.api.doClose();
68
+ _comp.api.doOpen();
69
+ openModal.current = _key;
70
+ });
71
+ var render = useMemoizedFn(function (_ref2) {
72
+ var props = _ref2.props,
73
+ children = _ref2.children,
74
+ childrenMap = _objectWithoutProperties(_ref2, _excluded);
75
+ if (props) {
76
+ return /*#__PURE__*/React.createElement(TreeNode, {
77
+ icon: /*#__PURE__*/React.createElement(Icon, {
78
+ type: "layout"
79
+ }),
80
+ title: props.name,
81
+ key: props.id
82
+ }, (children === null || children === void 0 ? void 0 : children.length) && children.map(function (_id) {
83
+ return render(childrenMap[_id]);
84
+ }));
85
+ }
86
+ return (children || []).map(function (_id) {
87
+ return render(childrenMap[_id]);
88
+ });
89
+ });
90
+ useDeepCompareLayoutEffect(function () {
91
+ if (!context.pageData) {
92
+ return;
93
+ }
94
+ var _reduce = reduce(context.pageData.children, function (result, _id) {
95
+ var resultKey = PAGE_CELL.includes(_id) ? 'page' : 'modal';
96
+ result[resultKey][_id] = context.pageData[_id];
97
+ if (!result[resultKey].children) {
98
+ result[resultKey].children = [];
99
+ }
100
+ result[resultKey].children.push(_id);
101
+ return result;
102
+ }, {
103
+ page: {},
104
+ modal: {}
105
+ }),
106
+ page = _reduce.page,
107
+ modal = _reduce.modal;
108
+ setPageAndModal({
109
+ page: render(page),
110
+ modal: render(modal)
111
+ });
112
+ }, [context.pageData]);
113
+ return /*#__PURE__*/React.createElement("div", {
114
+ className: styles['lc-painter-outline']
115
+ }, /*#__PURE__*/React.createElement("div", {
116
+ className: classNames(styles['page-node'], _defineProperty({}, styles['page-node-active'], selectedKey === CELL_KEY.PAGE_ROOT)),
117
+ onClick: function onClick() {
118
+ return handleSelect(CELL_KEY.PAGE_ROOT);
119
+ }
120
+ }, /*#__PURE__*/React.createElement(Icon, {
121
+ type: "layout"
122
+ }), /*#__PURE__*/React.createElement("span", {
123
+ style: {
124
+ marginLeft: 5
125
+ }
126
+ }, formatMessage({
127
+ id: 'luckda.lowcode.page',
128
+ label: '页面'
129
+ }))), /*#__PURE__*/React.createElement(Card, {
130
+ size: "small",
131
+ type: "inner",
132
+ hoverable: true,
133
+ title: formatMessage({
134
+ id: 'luckda.lowcode.model',
135
+ label: '模态视图层'
136
+ }),
137
+ style: {
138
+ margin: 5
139
+ },
140
+ bodyStyle: {
141
+ padding: 0
142
+ }
143
+ }, /*#__PURE__*/React.createElement(Tree, {
144
+ showLine: true,
145
+ showIcon: true,
146
+ blockNode: true,
147
+ switcherIcon: /*#__PURE__*/React.createElement(Icon, {
148
+ type: "down"
149
+ }),
150
+ selectedKeys: [selectedKey],
151
+ onSelect: function onSelect(_ref3, _ref4) {
152
+ var _ref5 = _slicedToArray(_ref3, 1),
153
+ _key = _ref5[0];
154
+ var selected = _ref4.selected,
155
+ node = _ref4.node;
156
+ if (selected && node.props.pos.split('-').length === 2) {
157
+ handleOpenModal(_key);
158
+ handleSelect(_key);
159
+ } else if (!selected && node.props.pos.split('-').length === 2) {
160
+ var _comp = context.componentMap.get(openModal.current);
161
+ _comp.api.doClose();
162
+ openModal.current = void 0;
163
+ handleSelect(null);
164
+ } else {
165
+ handleSelect(node.props.eventKey);
166
+ var _split = split(getPathById(context.pageData, node.props.eventKey), '/'),
167
+ _split2 = _slicedToArray(_split, 1),
168
+ parentModal = _split2[0];
169
+ if (!openModal.current || openModal.current !== parentModal) {
170
+ handleOpenModal(parentModal);
171
+ }
172
+ }
173
+ },
174
+ expandedKeys: modalExpandedKeys,
175
+ onExpand: function onExpand(_keys, _ref6) {
176
+ var expanded = _ref6.expanded,
177
+ node = _ref6.node;
178
+ if (expanded && node.props.pos.split('-').length === 2) {
179
+ handleSelect(null);
180
+ handleOpenModal(node.props.eventKey);
181
+ }
182
+ setModalExpandedKeys(_keys);
183
+ }
184
+ }, pageAndModal === null || pageAndModal === void 0 ? void 0 : pageAndModal.modal)), open && /*#__PURE__*/React.createElement(Tree, {
185
+ showLine: true,
186
+ showIcon: true,
187
+ blockNode: true,
188
+ switcherIcon: /*#__PURE__*/React.createElement(Icon, {
189
+ type: "down"
190
+ }),
191
+ selectedKeys: [selectedKey],
192
+ onSelect: function onSelect(_ref7, _ref8) {
193
+ var _ref9 = _slicedToArray(_ref7, 1),
194
+ _key = _ref9[0];
195
+ var node = _ref8.node;
196
+ if (openModal.current) {
197
+ var _prevComp = context.componentMap.get(openModal.current);
198
+ _prevComp.api.doClose();
199
+ openModal.current = void 0;
200
+ }
201
+ handleSelect(node.props.eventKey);
202
+ },
203
+ expandedKeys: pageExpandedKeys,
204
+ onExpand: setPageExpandedKeys
205
+ }, pageAndModal === null || pageAndModal === void 0 ? void 0 : pageAndModal.page));
206
+ };
207
+ export default Outline;
@@ -0,0 +1,207 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import React, { useRef, useState, useEffect, useLayoutEffect } from 'react';
5
+ import { useBoolean, useCreation, useMemoizedFn } from 'ahooks';
6
+ import { Breadcrumb, Drawer, Icon } from 'luck-design/antd';
7
+ import classNames from 'classnames';
8
+ import { startsWith, takeRight, cloneDeep } from 'lodash';
9
+ import { useLDContext } from "../engine/provider/ContextProvider";
10
+ import PanelItem from "./components/PanelItem";
11
+ import PanelItemFactory from "../engine/factory/panel-item-factory";
12
+ import { modifyById } from "../engine/tools/dataProcess";
13
+ import styles from "./style/panel.less";
14
+ var _TAB_LIST_ = [{
15
+ title: '属性',
16
+ key: 'attrs'
17
+ }, {
18
+ title: '样式',
19
+ key: 'styles'
20
+ }, {
21
+ title: '高级',
22
+ key: 'advance'
23
+ }];
24
+ var Panel = function Panel() {
25
+ var _nextRef$current, _nextRef$current2;
26
+ var activeTabRef = useRef(null);
27
+ var underLineRef = useRef(null);
28
+ var nextRef = useRef(null);
29
+ var factory = useRef(new PanelItemFactory());
30
+ var _useState = useState(null),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ activeNode = _useState2[0],
33
+ setActiveNode = _useState2[1];
34
+ var _useState3 = useState('attrs'),
35
+ _useState4 = _slicedToArray(_useState3, 2),
36
+ activeTabKey = _useState4[0],
37
+ setActiveTabKey = _useState4[1];
38
+ var _useBoolean = useBoolean(false),
39
+ _useBoolean2 = _slicedToArray(_useBoolean, 2),
40
+ open = _useBoolean2[0],
41
+ _useBoolean2$ = _useBoolean2[1],
42
+ setTrue = _useBoolean2$.setTrue,
43
+ setFalse = _useBoolean2$.setFalse;
44
+ var context = useLDContext();
45
+ var handleChange = useMemoizedFn(function (field, value) {
46
+ var component = context.componentMap.get(activeNode.node.id);
47
+ var _component$api$getSel = component.api.getSelfAndParentLCData(),
48
+ node = _component$api$getSel.node;
49
+ var cloneData = cloneDeep(context.pageData);
50
+ modifyById(cloneData, activeNode.node.id, _objectSpread(_objectSpread({}, node.props), {}, _defineProperty({}, field, value)));
51
+ context._setPageData(cloneData).then(function (newData) {
52
+ context.$publisher(context.topics.COMPONENT_MODIFY, {
53
+ id: activeNode.node.id,
54
+ pageData: cloneDeep(newData)
55
+ });
56
+ });
57
+ setFalse();
58
+ });
59
+ var renderPanelItems = useMemoizedFn(function (items) {
60
+ return items.map(function (item) {
61
+ var Comp = factory.current.getPanelItemFor(startsWith(item.type, '_') ? 'dynamic' : item.type, item.type);
62
+ if (item.type === 'group') {
63
+ return /*#__PURE__*/React.createElement(Comp, {
64
+ key: item.key,
65
+ label: item.name,
66
+ defaultCollapsed: true
67
+ }, renderPanelItems(item.props));
68
+ }
69
+ console.log(11111, item.key, activeNode.node);
70
+ return /*#__PURE__*/React.createElement(PanelItem, {
71
+ key: item.key,
72
+ label: item.name
73
+ }, Comp && /*#__PURE__*/React.createElement(Comp, {
74
+ defaultValue: activeNode.node[item.key],
75
+ next: function next() {
76
+ if (!item.next) return;
77
+ nextRef.current = {
78
+ name: item.next.name,
79
+ NextComp: renderPanelItems(item.next.props)
80
+ };
81
+ setTrue();
82
+ },
83
+ options: item.options,
84
+ disabled: item.disabled,
85
+ onChange: function onChange(value) {
86
+ return handleChange(item.key, value);
87
+ },
88
+ size: "small"
89
+ }));
90
+ });
91
+ });
92
+ var PropsComps = useCreation(function () {
93
+ var _meta;
94
+ try {
95
+ _meta = require("../engine/meta/".concat(activeNode.node.component.toLowerCase(), ".props.json"));
96
+ } catch (e) {
97
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
98
+ }
99
+ return renderPanelItems(_meta.props);
100
+ }, [activeNode]);
101
+ useEffect(function () {
102
+ if (!open) {
103
+ nextRef.current = null;
104
+ }
105
+ }, [open]);
106
+ useEffect(function () {
107
+ var _id = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
108
+ if (!payload.id) {
109
+ setActiveNode(null);
110
+ return;
111
+ }
112
+ var component = context.componentMap.get(payload.id);
113
+ var _component$api$getSel2 = component.api.getSelfAndParentLCData(),
114
+ node = _component$api$getSel2.node;
115
+ var levelNodes = takeRight(component.api.getLevelNodes(), 4);
116
+ setActiveNode({
117
+ node: node.props,
118
+ level: levelNodes
119
+ });
120
+ }).watch();
121
+ return function () {
122
+ context.$unsubscriber(context.topics.COMPONENT_ACTIVE, _id);
123
+ };
124
+ }, [context.pageData]);
125
+ useLayoutEffect(function () {
126
+ underLineRef.current.style.left = "".concat(activeTabRef.current.offsetLeft + activeTabRef.current.offsetWidth / 2 - 10, "px");
127
+ }, [activeTabKey, !!activeNode]);
128
+ return /*#__PURE__*/React.createElement("div", {
129
+ className: styles['lc-painter-panel']
130
+ }, /*#__PURE__*/React.createElement("div", {
131
+ className: classNames(styles['lc-painter-panel-topbar'], _defineProperty({}, styles.hidden, !activeNode))
132
+ }, /*#__PURE__*/React.createElement(Breadcrumb, {
133
+ separator: ">",
134
+ style: {
135
+ fontSize: 12
136
+ }
137
+ }, activeNode === null || activeNode === void 0 ? void 0 : activeNode.level.map(function (_ref) {
138
+ var id = _ref.id,
139
+ name = _ref.name;
140
+ return /*#__PURE__*/React.createElement(Breadcrumb.Item, {
141
+ key: id,
142
+ className: classNames(_defineProperty({}, styles['active-node-level'], id !== activeNode.node.id)),
143
+ onMouseEnter: function onMouseEnter() {
144
+ if (id === activeNode.node.id) return;
145
+ context.$publisher(context.topics.COMPONENT_HOVER, {
146
+ id: id
147
+ });
148
+ },
149
+ onMouseLeave: function onMouseLeave() {
150
+ if (id === activeNode.node.id) return;
151
+ context.$publisher(context.topics.COMPONENT_HOVER, null);
152
+ },
153
+ onClick: function onClick() {
154
+ if (id === activeNode.node.id) return;
155
+ context.$publisher(context.topics.COMPONENT_ACTIVE, {
156
+ id: id
157
+ });
158
+ }
159
+ }, name);
160
+ }))), /*#__PURE__*/React.createElement("div", {
161
+ className: classNames(styles['lc-painter-panel-tabbar'], _defineProperty({}, styles.hidden, !activeNode))
162
+ }, /*#__PURE__*/React.createElement("ul", {
163
+ className: styles.headerList
164
+ }, _TAB_LIST_.map(function (_item) {
165
+ return /*#__PURE__*/React.createElement("li", {
166
+ key: _item.key,
167
+ ref: activeTabKey === _item.key ? activeTabRef : null,
168
+ className: classNames(_defineProperty({}, styles.actived, activeTabKey === _item.key)),
169
+ onClick: function onClick() {
170
+ return setActiveTabKey(_item.key);
171
+ }
172
+ }, _item.title);
173
+ })), /*#__PURE__*/React.createElement("div", {
174
+ ref: underLineRef,
175
+ className: styles.underline
176
+ })), activeTabKey === _TAB_LIST_[0].key && /*#__PURE__*/React.createElement("div", {
177
+ className: classNames(styles['lc-painter-panel-content'], _defineProperty({}, styles.hidden, !activeNode))
178
+ }, PropsComps, /*#__PURE__*/React.createElement(Drawer, {
179
+ visible: open,
180
+ width: 320,
181
+ mask: false,
182
+ closable: false,
183
+ getContainer: false,
184
+ destroyOnClose: true,
185
+ style: {
186
+ position: 'absolute'
187
+ },
188
+ bodyStyle: {
189
+ padding: 0,
190
+ height: '100%'
191
+ }
192
+ }, /*#__PURE__*/React.createElement("div", {
193
+ className: styles['next-content']
194
+ }, /*#__PURE__*/React.createElement("div", {
195
+ className: styles['next-content-header'],
196
+ onClick: setFalse
197
+ }, /*#__PURE__*/React.createElement(Icon, {
198
+ type: "left"
199
+ }), (_nextRef$current = nextRef.current) === null || _nextRef$current === void 0 ? void 0 : _nextRef$current.name, /*#__PURE__*/React.createElement(Icon, {
200
+ type: "close"
201
+ })), /*#__PURE__*/React.createElement("div", {
202
+ className: styles['next-content-body']
203
+ }, (_nextRef$current2 = nextRef.current) === null || _nextRef$current2 === void 0 ? void 0 : _nextRef$current2.NextComp)))), activeTabKey === _TAB_LIST_[1].key && /*#__PURE__*/React.createElement("div", null, "\u6837\u5F0F\u9762\u677F"), activeTabKey === _TAB_LIST_[2].key && /*#__PURE__*/React.createElement("div", null, "\u9AD8\u7EA7\u9762\u677F"), /*#__PURE__*/React.createElement("div", {
204
+ className: classNames(styles['lc-painter-panel-empty'], _defineProperty({}, styles.hidden, !!activeNode))
205
+ }, "\u8BF7\u5728\u5DE6\u4FA7\u753B\u5E03\u9009\u4E2D\u8282\u70B9"));
206
+ };
207
+ export default Panel;
@@ -0,0 +1,142 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import React, { useState } from 'react';
5
+ import { Box } from 'luck-design';
6
+ import { Icon, Tooltip, Drawer } from 'luck-design/antd';
7
+ import Outline from "./Outline";
8
+ import Components from "./Components";
9
+ import I18n from "./I18n";
10
+ import { formatMessage } from '@luck-design-biz/base/utils';
11
+ import styles from "./style/ribbon.less";
12
+ var _WIDTH_ = 48;
13
+ var _DRAWER_PROPS = {
14
+ placement: 'left',
15
+ mask: false,
16
+ getContainer: false,
17
+ zIndex: 10000,
18
+ headerStyle: {
19
+ borderBottom: 'none'
20
+ },
21
+ style: {
22
+ position: 'absolute',
23
+ left: _WIDTH_
24
+ },
25
+ bodyStyle: {
26
+ overflowY: 'auto',
27
+ height: 'calc(100% - 55px)',
28
+ padding: 0
29
+ }
30
+ };
31
+ var _DRAWER_OUTLINE_ = {
32
+ width: 300,
33
+ key: 'outline',
34
+ title: '大纲树',
35
+ fix: true
36
+ };
37
+ var _DRAWER_COMPONENTS_ = {
38
+ width: 310,
39
+ key: 'components',
40
+ title: '组件',
41
+ fix: true
42
+ };
43
+ var _DRAWER_I18N_ = {
44
+ width: 450,
45
+ key: 'i18n',
46
+ title: '多语言文案管理',
47
+ fix: false
48
+ };
49
+ var Ribbon = function Ribbon() {
50
+ var _useState = useState(null),
51
+ _useState2 = _slicedToArray(_useState, 2),
52
+ drawer = _useState2[0],
53
+ setDrawer = _useState2[1];
54
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, {
55
+ className: styles['lc-painter-ribbon'],
56
+ width: _WIDTH_,
57
+ heitht: "100%",
58
+ direction: "column",
59
+ align: "center",
60
+ style: {
61
+ marginRight: drawer !== null && drawer !== void 0 && drawer.fix ? drawer.width : 0
62
+ }
63
+ }, /*#__PURE__*/React.createElement(Tooltip, {
64
+ placement: "right",
65
+ title: formatMessage({
66
+ id: 'luckda.lowcode.outline',
67
+ label: _DRAWER_OUTLINE_.title
68
+ })
69
+ }, /*#__PURE__*/React.createElement(Icon, {
70
+ type: "apartment",
71
+ onClick: function onClick() {
72
+ return setDrawer((drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_OUTLINE_.key ? null : _DRAWER_OUTLINE_);
73
+ }
74
+ })), /*#__PURE__*/React.createElement(Tooltip, {
75
+ placement: "right",
76
+ title: formatMessage({
77
+ id: 'luckda.lowcode.components',
78
+ label: _DRAWER_COMPONENTS_.title
79
+ })
80
+ }, /*#__PURE__*/React.createElement(Icon, {
81
+ type: "appstore",
82
+ onClick: function onClick() {
83
+ return setDrawer((drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_COMPONENTS_.key ? null : _DRAWER_COMPONENTS_);
84
+ }
85
+ })), /*#__PURE__*/React.createElement(Tooltip, {
86
+ placement: "right",
87
+ title: formatMessage({
88
+ id: 'luckda.lowcode.i18n',
89
+ label: _DRAWER_I18N_.title
90
+ })
91
+ }, /*#__PURE__*/React.createElement(Icon, {
92
+ type: "global",
93
+ onClick: function onClick() {
94
+ return setDrawer((drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_I18N_.key ? null : _DRAWER_I18N_);
95
+ }
96
+ }))), /*#__PURE__*/React.createElement(Drawer, _extends({
97
+ title: drawer ? formatMessage({
98
+ id: "luckda.lowcode.".concat(drawer.key),
99
+ label: drawer.title
100
+ }) : '',
101
+ width: (drawer === null || drawer === void 0 ? void 0 : drawer.width) || 0,
102
+ visible: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_OUTLINE_.key,
103
+ onClose: function onClose() {
104
+ return setDrawer(null);
105
+ }
106
+ }, _DRAWER_PROPS, {
107
+ style: _objectSpread(_objectSpread({}, _DRAWER_PROPS.style), {}, {
108
+ display: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_OUTLINE_.key ? 'block' : 'none'
109
+ })
110
+ }), /*#__PURE__*/React.createElement(Outline, {
111
+ open: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_OUTLINE_.key
112
+ })), /*#__PURE__*/React.createElement(Drawer, _extends({
113
+ title: drawer ? formatMessage({
114
+ id: "luckda.lowcode.".concat(drawer.key),
115
+ label: drawer.title
116
+ }) : '',
117
+ width: (drawer === null || drawer === void 0 ? void 0 : drawer.width) || 0,
118
+ visible: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_COMPONENTS_.key,
119
+ onClose: function onClose() {
120
+ return setDrawer(null);
121
+ }
122
+ }, _DRAWER_PROPS, {
123
+ style: _objectSpread(_objectSpread({}, _DRAWER_PROPS.style), {}, {
124
+ display: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_COMPONENTS_.key ? 'block' : 'none'
125
+ })
126
+ }), /*#__PURE__*/React.createElement(Components, null)), /*#__PURE__*/React.createElement(Drawer, _extends({
127
+ title: drawer ? formatMessage({
128
+ id: "luckda.lowcode.".concat(drawer.key),
129
+ label: drawer.title
130
+ }) : '',
131
+ width: (drawer === null || drawer === void 0 ? void 0 : drawer.width) || 0,
132
+ visible: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_I18N_.key,
133
+ onClose: function onClose() {
134
+ return setDrawer(null);
135
+ }
136
+ }, _DRAWER_PROPS, {
137
+ style: _objectSpread(_objectSpread({}, _DRAWER_PROPS.style), {}, {
138
+ display: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_I18N_.key ? 'block' : 'none'
139
+ })
140
+ }), /*#__PURE__*/React.createElement(I18n, null)));
141
+ };
142
+ export default Ribbon;
@@ -0,0 +1,31 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useState } from 'react';
3
+ import styles from "../style/collapse.less";
4
+ import { Icon } from 'luck-design/antd';
5
+ export default function (_ref) {
6
+ var children = _ref.children,
7
+ label = _ref.label,
8
+ _ref$defaultCollapsed = _ref.defaultCollapsed,
9
+ defaultCollapsed = _ref$defaultCollapsed === void 0 ? false : _ref$defaultCollapsed;
10
+ var _useState = useState(defaultCollapsed),
11
+ _useState2 = _slicedToArray(_useState, 2),
12
+ collapsed = _useState2[0],
13
+ setCollapsed = _useState2[1];
14
+ var handleClick = function handleClick() {
15
+ setCollapsed(!collapsed);
16
+ };
17
+ return /*#__PURE__*/React.createElement("div", {
18
+ className: styles['lc-painter-components-collapse']
19
+ }, /*#__PURE__*/React.createElement("div", {
20
+ className: styles['head'],
21
+ onClick: handleClick
22
+ }, /*#__PURE__*/React.createElement("span", {
23
+ className: styles['label']
24
+ }, label), /*#__PURE__*/React.createElement("span", {
25
+ className: styles['action']
26
+ }, /*#__PURE__*/React.createElement(Icon, {
27
+ type: collapsed ? 'down' : 'up'
28
+ }))), !collapsed && /*#__PURE__*/React.createElement("div", {
29
+ className: styles['body']
30
+ }, children));
31
+ }
@@ -0,0 +1,93 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ var _excluded = ["value", "options", "onChange", "defaultValue"];
5
+ import React, { useState, useEffect, useRef } from 'react';
6
+ import styles from "../style/number-input.less";
7
+ import { InputNumber, Dropdown, Menu } from 'luck-design/antd';
8
+ export default function (_ref) {
9
+ var value = _ref.value,
10
+ options = _ref.options,
11
+ onChange = _ref.onChange,
12
+ _ref$defaultValue = _ref.defaultValue,
13
+ defaultValue = _ref$defaultValue === void 0 ? 100 : _ref$defaultValue,
14
+ rest = _objectWithoutProperties(_ref, _excluded);
15
+ var _useState = useState(value),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ val = _useState2[0],
18
+ setVal = _useState2[1];
19
+ var initValue;
20
+ useEffect(function () {
21
+ setVal(value);
22
+ }, [value]);
23
+ var _parseValue = parseValue(val),
24
+ number = _parseValue.number,
25
+ unit = _parseValue.unit;
26
+ var handleSelect = function handleSelect(item) {
27
+ var newValue;
28
+ if (item.key == 'auto') newValue = item.key;else if (isNaN(number)) {
29
+ newValue = defaultValue + item.key;
30
+ } else {
31
+ newValue = number + item.key;
32
+ }
33
+ changeValue(newValue);
34
+ };
35
+ var handleChange = function handleChange(value) {
36
+ changeValue(value + (unit !== null && unit !== void 0 ? unit : options[0].value));
37
+ };
38
+ var changeValue = function changeValue(value) {
39
+ console.log('changeValue', value);
40
+ if (onChange) onChange(value);
41
+ setVal(value);
42
+ };
43
+ var optionName = options[0].label;
44
+ var menu = /*#__PURE__*/React.createElement(Menu, {
45
+ onClick: handleSelect
46
+ }, options.map(function (item) {
47
+ if (item.value == unit) optionName = item.label;
48
+ return /*#__PURE__*/React.createElement(Menu.Item, {
49
+ key: item.value
50
+ }, item.label);
51
+ }));
52
+ return /*#__PURE__*/React.createElement("div", _extends({
53
+ className: styles['lc-painter-panel-section-components-number-input']
54
+ }, rest), /*#__PURE__*/React.createElement("div", {
55
+ className: styles['num-input-wrap']
56
+ }, /*#__PURE__*/React.createElement(InputNumber, _extends({
57
+ className: styles['num-input'],
58
+ size: "small"
59
+ }, rest, {
60
+ value: number,
61
+ onChange: handleChange
62
+ })), /*#__PURE__*/React.createElement("div", {
63
+ className: styles['num-option']
64
+ }, /*#__PURE__*/React.createElement(Dropdown, {
65
+ overlay: menu,
66
+ value: unit
67
+ }, /*#__PURE__*/React.createElement("span", null, optionName)))));
68
+ }
69
+
70
+ // 解析value,分离数字和单位
71
+ var parseValue = function parseValue(value) {
72
+ if (!value) {
73
+ return {
74
+ number: null,
75
+ unit: null
76
+ };
77
+ }
78
+ value = String(value);
79
+
80
+ // 调整正则表达式以匹配数字后跟任意非数字字符
81
+ var result = value.match(/^(\d+)(\D*)$/); // \D 匹配任意非数字字符
82
+ if (result) {
83
+ return {
84
+ number: result[1],
85
+ unit: result[2] ? result[2] : null // 如果有非数字字符,则返回该字符,否则返回 null
86
+ };
87
+ } else {
88
+ return {
89
+ number: value,
90
+ unit: value
91
+ }; // 当没有数字时,比如 "auto",这里的逻辑可能需要调整,因为你的描述有点矛盾
92
+ }
93
+ };