@luck-design-biz/luckda 0.0.23 → 0.0.24-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 (433) hide show
  1. package/es/components/Builder/index.js +6 -4
  2. package/es/components/LdFormList/index.js +1 -4
  3. package/es/components/LdGrid/index.js +12 -3
  4. package/es/lowcode/constants/api-url.js +292 -1
  5. package/es/lowcode/constants/event-topics.js +14 -1
  6. package/es/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +60 -0
  7. package/es/lowcode/engine/factory/panel-item-factory/GroupStrategy.js +32 -0
  8. package/es/lowcode/engine/factory/panel-item-factory/NumberStrategy.js +32 -0
  9. package/es/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +32 -0
  10. package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +53 -0
  11. package/es/lowcode/engine/factory/panel-item-factory/Strategy.js +21 -0
  12. package/es/lowcode/engine/factory/panel-item-factory/StringStrategy.js +51 -0
  13. package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +42 -0
  14. package/es/lowcode/engine/factory/panel-item-factory/index.js +44 -0
  15. package/es/lowcode/engine/meta/box.props.default.json +12 -0
  16. package/es/lowcode/engine/meta/box.props.json +42 -0
  17. package/es/lowcode/engine/meta/button.props.default.json +15 -7
  18. package/es/lowcode/engine/meta/{components/button.json → button.props.json} +126 -103
  19. package/es/lowcode/engine/meta/cardlist.props.default.json +17 -9
  20. package/es/lowcode/engine/meta/{components/card-list.json → cardlist.props.json} +143 -142
  21. package/es/lowcode/engine/meta/components-list.json +127 -121
  22. package/es/lowcode/engine/meta/dialog.props.default.json +19 -0
  23. package/{lib/lowcode/engine/meta/components/modal.json → es/lowcode/engine/meta/dialog.props.json} +120 -119
  24. package/es/lowcode/engine/meta/drawer.props.default.json +17 -9
  25. package/{lib/lowcode/engine/meta/components/drawer.json → es/lowcode/engine/meta/drawer.props.json} +143 -142
  26. package/es/lowcode/engine/meta/form.props.default.json +12 -4
  27. package/{lib/lowcode/engine/meta/components/form.json → es/lowcode/engine/meta/form.props.json} +116 -115
  28. package/es/lowcode/engine/meta/iframe.props.default.json +10 -2
  29. package/es/lowcode/engine/meta/{components/iframe.json → iframe.props.json} +31 -30
  30. package/es/lowcode/engine/meta/image.props.default.json +15 -7
  31. package/es/lowcode/engine/meta/{components/image.json → image.props.json} +113 -112
  32. package/es/lowcode/engine/meta/imex.props.default.json +11 -3
  33. package/{lib/lowcode/engine/meta/components/imex.json → es/lowcode/engine/meta/imex.props.json} +81 -80
  34. package/es/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
  35. package/es/lowcode/engine/meta/jsx.props.default.json +10 -1
  36. package/es/lowcode/engine/meta/{components/jsx.json → jsx.props.json} +24 -23
  37. package/es/lowcode/engine/meta/layout.props.default.json +12 -4
  38. package/{lib/lowcode/engine/meta/components/layout.json → es/lowcode/engine/meta/layout.props.json} +107 -106
  39. package/es/lowcode/engine/meta/link.props.default.json +13 -5
  40. package/{lib/lowcode/engine/meta/components/link.json → es/lowcode/engine/meta/link.props.json} +111 -110
  41. package/es/lowcode/engine/meta/section.props.default.json +16 -8
  42. package/{lib/lowcode/engine/meta/components/section.json → es/lowcode/engine/meta/section.props.json} +107 -106
  43. package/es/lowcode/engine/meta/split.props.default.json +12 -4
  44. package/es/lowcode/engine/meta/{components/split.json → split.props.json} +71 -70
  45. package/es/lowcode/engine/meta/table.props.default.json +29 -9
  46. package/es/lowcode/engine/meta/table.props.json +236 -0
  47. package/es/lowcode/engine/meta/tabs.props.default.json +17 -9
  48. package/es/lowcode/engine/meta/{components/tabs.json → tabs.props.json} +140 -139
  49. package/es/lowcode/engine/meta/text.props.default.json +11 -3
  50. package/{lib/lowcode/engine/meta/components/text.json → es/lowcode/engine/meta/text.props.json} +65 -64
  51. package/es/lowcode/engine/meta/tree.props.default.json +16 -8
  52. package/es/lowcode/engine/meta/{components/tree.json → tree.props.json} +156 -155
  53. package/es/lowcode/engine/provider/ContextProvider.js +46 -41
  54. package/es/lowcode/engine/provider/EventBusProvider.js +2 -2
  55. package/es/lowcode/engine/tools/dataProcess.js +85 -8
  56. package/es/lowcode/engine/tools/helper.js +68 -0
  57. package/es/lowcode/engine/tools/usePromiseState.js +24 -0
  58. package/es/lowcode/index.js +3 -1
  59. package/es/lowcode/painter/Design.js +40 -85
  60. package/es/lowcode/painter/DesignOperator.js +271 -0
  61. package/es/lowcode/painter/DesignToolbar.js +91 -0
  62. package/es/lowcode/painter/I18n.js +202 -2
  63. package/es/lowcode/painter/Outline.js +63 -54
  64. package/es/lowcode/painter/Panel.js +239 -2
  65. package/es/lowcode/painter/Ribbon.js +61 -55
  66. package/es/lowcode/painter/components/Collapse.js +90 -0
  67. package/es/lowcode/painter/components/ColorInput.js +125 -0
  68. package/es/lowcode/painter/components/ListEditor.js +89 -0
  69. package/es/lowcode/painter/components/NumberInput.js +148 -0
  70. package/es/lowcode/painter/components/PanelItem.js +83 -11
  71. package/es/lowcode/painter/components/PopConfirm.js +23 -0
  72. package/es/lowcode/painter/components/PopForm.js +71 -0
  73. package/es/lowcode/painter/components/RuleInput.js +9 -7
  74. package/es/lowcode/painter/components/SortBox.js +92 -0
  75. package/es/lowcode/painter/components/actions-editor/ActionEditor.js +147 -0
  76. package/es/lowcode/painter/components/actions-editor/index.js +170 -0
  77. package/es/lowcode/painter/components/code-editor/BaseEditor.js +96 -0
  78. package/es/lowcode/painter/components/code-editor/CssEditor.js +41 -0
  79. package/es/lowcode/painter/components/code-editor/FullScreenEditor.js +87 -0
  80. package/es/lowcode/painter/components/code-editor/JSEditor.js +106 -0
  81. package/es/lowcode/painter/components/code-editor/index.js +2 -0
  82. package/es/lowcode/painter/index.js +33 -3
  83. package/es/lowcode/painter/panel-section/ButtonType.js +39 -0
  84. package/es/lowcode/painter/panel-section/DataSetSelector.js +61 -0
  85. package/es/lowcode/painter/panel-section/Icon.js +48 -0
  86. package/es/lowcode/painter/panel-section/IconSelector.js +134 -0
  87. package/es/lowcode/painter/panel-section/LayoutRatio.js +57 -49
  88. package/es/lowcode/painter/panel-section/StylePanel/BackGround.js +61 -0
  89. package/es/lowcode/painter/panel-section/StylePanel/Border.js +150 -0
  90. package/es/lowcode/painter/panel-section/StylePanel/BorderRadius.js +87 -0
  91. package/es/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +66 -0
  92. package/es/lowcode/painter/panel-section/StylePanel/BorderSelector.js +66 -0
  93. package/es/lowcode/painter/panel-section/StylePanel/Display.js +296 -0
  94. package/es/lowcode/painter/panel-section/StylePanel/DisplaySvg.js +543 -0
  95. package/es/lowcode/painter/panel-section/StylePanel/Font.js +162 -0
  96. package/es/lowcode/painter/panel-section/StylePanel/FontEditor.js +386 -0
  97. package/es/lowcode/painter/panel-section/StylePanel/GapSelector.js +78 -0
  98. package/es/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +23 -0
  99. package/es/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +20 -0
  100. package/es/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +23 -0
  101. package/es/lowcode/painter/panel-section/StylePanel/MainPanel.js +96 -0
  102. package/es/lowcode/painter/panel-section/StylePanel/Margin.js +60 -0
  103. package/es/lowcode/painter/panel-section/StylePanel/Opacity.js +50 -0
  104. package/es/lowcode/painter/panel-section/StylePanel/Padding.js +61 -0
  105. package/es/lowcode/painter/panel-section/StylePanel/Pointer.js +41 -0
  106. package/es/lowcode/painter/panel-section/StylePanel/Shadow.js +216 -0
  107. package/es/lowcode/painter/panel-section/StylePanel/Size.js +53 -0
  108. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +148 -0
  109. package/es/lowcode/painter/panel-section/StylePanel/StyleRow.js +16 -0
  110. package/es/lowcode/painter/panel-section/StylePanel/WidthHeight.js +51 -0
  111. package/es/lowcode/painter/panel-section/StylePanel/index.js +29 -0
  112. package/es/lowcode/painter/panel-section/TabItems.js +207 -0
  113. package/es/lowcode/painter/panel-section/TableActions.js +19 -0
  114. package/es/lowcode/painter/panel-section/TableZebra.js +14 -0
  115. package/es/lowcode/painter/panel-section/WidthHeight.js +39 -0
  116. package/es/lowcode/painter/services/I18n.js +85 -0
  117. package/es/lowcode/painter/style/actions-editor.less +16 -0
  118. package/es/lowcode/painter/style/border-editor.less +36 -0
  119. package/es/lowcode/painter/style/border-radius-selector.less +43 -0
  120. package/es/lowcode/painter/style/border-selector.less +40 -0
  121. package/es/lowcode/painter/style/button-type.less +5 -0
  122. package/es/lowcode/painter/style/collapse.less +22 -0
  123. package/es/lowcode/painter/style/color-input.less +19 -0
  124. package/es/lowcode/painter/style/design.less +116 -5
  125. package/es/lowcode/painter/style/display.less +17 -0
  126. package/es/lowcode/painter/style/font-editor.less +9 -0
  127. package/es/lowcode/painter/style/fullscreen-editor.less +17 -0
  128. package/es/lowcode/painter/style/icon-selector.less +22 -0
  129. package/es/lowcode/painter/style/icon.less +11 -0
  130. package/es/lowcode/painter/style/index.less +0 -1
  131. package/es/lowcode/painter/style/layout-ratio.less +1 -1
  132. package/es/lowcode/painter/style/list-editor.less +59 -0
  133. package/es/lowcode/painter/style/number-input.less +17 -0
  134. package/es/lowcode/painter/style/outline.less +2 -0
  135. package/es/lowcode/painter/style/panel-item.less +45 -12
  136. package/es/lowcode/painter/style/panel.less +124 -0
  137. package/es/lowcode/painter/style/pop-confirm.less +10 -0
  138. package/es/lowcode/painter/style/pop-form.less +20 -0
  139. package/es/lowcode/painter/style/ribbon.less +1 -0
  140. package/es/lowcode/painter/style/style-panel.less +37 -0
  141. package/es/lowcode/painter/style/tabitems.less +90 -0
  142. package/es/lowcode/view/Canvas.js +79 -70
  143. package/es/lowcode/view/Page.js +10 -28
  144. package/es/lowcode/view/index.js +5 -6
  145. package/es/lowcode/view/lc-components/Box/FunctionDesign.js +20 -0
  146. package/es/lowcode/view/lc-components/Box/FunctionLive.js +9 -0
  147. package/es/lowcode/view/lc-components/Box/index.js +22 -5
  148. package/es/lowcode/view/lc-components/Box/index.less +15 -0
  149. package/es/lowcode/view/lc-components/Box/meta.json +42 -0
  150. package/es/lowcode/view/lc-components/Button/FunctionDesign.js +21 -0
  151. package/es/lowcode/view/lc-components/Button/FunctionLive.js +9 -0
  152. package/es/lowcode/view/lc-components/Button/index.js +75 -7
  153. package/es/lowcode/view/lc-components/Button/meta.json +127 -0
  154. package/es/lowcode/view/lc-components/Button/style.less +3 -0
  155. package/es/lowcode/view/lc-components/CardList/FunctionDesign.js +9 -0
  156. package/es/lowcode/view/lc-components/CardList/FunctionLive.js +9 -0
  157. package/{lib/lowcode/engine/meta/components/table.json → es/lowcode/view/lc-components/CardList/meta.json} +11 -28
  158. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +54 -0
  159. package/es/lowcode/view/lc-components/Dialog/FunctionLive.js +9 -0
  160. package/es/lowcode/view/lc-components/Dialog/index.js +20 -11
  161. package/es/lowcode/view/lc-components/Dialog/index.less +1 -1
  162. package/es/lowcode/view/lc-components/Dialog/meta.json +121 -0
  163. package/es/lowcode/view/lc-components/Drawer/FunctionDesign.js +20 -0
  164. package/es/lowcode/view/lc-components/Drawer/FunctionLive.js +9 -0
  165. package/es/lowcode/view/lc-components/Drawer/index.js +22 -9
  166. package/es/lowcode/view/lc-components/Drawer/index.less +7 -0
  167. package/es/lowcode/view/lc-components/Drawer/meta.json +144 -0
  168. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +9 -0
  169. package/es/lowcode/view/lc-components/Form/FunctionLive.js +9 -0
  170. package/es/lowcode/view/lc-components/Form/meta.json +117 -0
  171. package/es/lowcode/view/lc-components/Iframe/FunctionDesign.js +9 -0
  172. package/es/lowcode/view/lc-components/Iframe/FunctionLive.js +9 -0
  173. package/es/lowcode/view/lc-components/Iframe/meta.json +32 -0
  174. package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +9 -0
  175. package/es/lowcode/view/lc-components/ImEx/FunctionLive.js +9 -0
  176. package/es/lowcode/view/lc-components/ImEx/meta.json +82 -0
  177. package/es/lowcode/view/lc-components/Image/FunctionDesign.js +9 -0
  178. package/es/lowcode/view/lc-components/Image/FunctionLive.js +9 -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/meta.json +25 -0
  183. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +75 -0
  184. package/es/lowcode/view/lc-components/Layout/FunctionLive.js +15 -0
  185. package/es/lowcode/view/lc-components/Layout/index.js +40 -7
  186. package/es/lowcode/view/lc-components/Layout/index.less +5 -0
  187. package/es/lowcode/view/lc-components/Layout/meta.json +108 -0
  188. package/es/lowcode/view/lc-components/Link/FunctionDesign.js +9 -0
  189. package/es/lowcode/view/lc-components/Link/FunctionLive.js +9 -0
  190. package/es/lowcode/view/lc-components/Link/meta.json +112 -0
  191. package/es/lowcode/view/lc-components/Section/FunctionDesign.js +9 -0
  192. package/es/lowcode/view/lc-components/Section/FunctionLive.js +9 -0
  193. package/es/lowcode/view/lc-components/Section/meta.json +108 -0
  194. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +9 -0
  195. package/es/lowcode/view/lc-components/Split/FunctionLive.js +9 -0
  196. package/es/lowcode/view/lc-components/Split/meta.json +72 -0
  197. package/es/lowcode/view/lc-components/Table/FunctionDesign.js +18 -0
  198. package/es/lowcode/view/lc-components/Table/FunctionLive.js +9 -0
  199. package/es/lowcode/view/lc-components/Table/index.js +229 -9
  200. package/es/lowcode/view/lc-components/Table/meta.json +225 -0
  201. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +9 -0
  202. package/es/lowcode/view/lc-components/Tabs/FunctionLive.js +9 -0
  203. package/es/lowcode/view/lc-components/Tabs/meta.json +141 -0
  204. package/es/lowcode/view/lc-components/Text/FunctionDesign.js +9 -0
  205. package/es/lowcode/view/lc-components/Text/FunctionLive.js +9 -0
  206. package/es/lowcode/view/lc-components/Text/meta.json +66 -0
  207. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +9 -0
  208. package/es/lowcode/view/lc-components/Tree/FunctionLive.js +9 -0
  209. package/es/lowcode/view/lc-components/Tree/meta.json +157 -0
  210. package/es/lowcode/view/lc-components/Wrapper.js +32 -23
  211. package/es/lowcode/view/style/page.less +0 -1
  212. package/es/upload/Form/gridForm.js +1 -1
  213. package/es/utils/grid.js +4 -3
  214. package/lib/components/Builder/index.js +5 -3
  215. package/lib/components/LdFormList/index.js +1 -5
  216. package/lib/components/LdGrid/index.js +12 -3
  217. package/lib/lowcode/constants/api-url.js +294 -2
  218. package/lib/lowcode/constants/event-topics.js +15 -2
  219. package/lib/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +73 -0
  220. package/lib/lowcode/engine/factory/panel-item-factory/GroupStrategy.js +38 -0
  221. package/lib/lowcode/engine/factory/panel-item-factory/NumberStrategy.js +38 -0
  222. package/lib/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +38 -0
  223. package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +59 -0
  224. package/lib/lowcode/engine/factory/panel-item-factory/Strategy.js +27 -0
  225. package/lib/lowcode/engine/factory/panel-item-factory/StringStrategy.js +57 -0
  226. package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +48 -0
  227. package/lib/lowcode/engine/factory/panel-item-factory/index.js +50 -0
  228. package/lib/lowcode/engine/meta/box.props.default.json +12 -0
  229. package/lib/lowcode/engine/meta/box.props.json +42 -0
  230. package/lib/lowcode/engine/meta/button.props.default.json +15 -7
  231. package/lib/lowcode/engine/meta/{components/button.json → button.props.json} +126 -103
  232. package/lib/lowcode/engine/meta/cardlist.props.default.json +17 -9
  233. package/lib/lowcode/engine/meta/{components/card-list.json → cardlist.props.json} +143 -142
  234. package/lib/lowcode/engine/meta/components-list.json +127 -121
  235. package/lib/lowcode/engine/meta/dialog.props.default.json +19 -0
  236. package/{es/lowcode/engine/meta/components/modal.json → lib/lowcode/engine/meta/dialog.props.json} +120 -119
  237. package/lib/lowcode/engine/meta/drawer.props.default.json +17 -9
  238. package/{es/lowcode/engine/meta/components/drawer.json → lib/lowcode/engine/meta/drawer.props.json} +143 -142
  239. package/lib/lowcode/engine/meta/form.props.default.json +12 -4
  240. package/{es/lowcode/engine/meta/components/form.json → lib/lowcode/engine/meta/form.props.json} +116 -115
  241. package/lib/lowcode/engine/meta/iframe.props.default.json +10 -2
  242. package/lib/lowcode/engine/meta/{components/iframe.json → iframe.props.json} +31 -30
  243. package/lib/lowcode/engine/meta/image.props.default.json +15 -7
  244. package/lib/lowcode/engine/meta/{components/image.json → image.props.json} +113 -112
  245. package/lib/lowcode/engine/meta/imex.props.default.json +11 -3
  246. package/{es/lowcode/engine/meta/components/imex.json → lib/lowcode/engine/meta/imex.props.json} +81 -80
  247. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
  248. package/lib/lowcode/engine/meta/jsx.props.default.json +10 -1
  249. package/lib/lowcode/engine/meta/{components/jsx.json → jsx.props.json} +24 -23
  250. package/lib/lowcode/engine/meta/layout.props.default.json +12 -4
  251. package/{es/lowcode/engine/meta/components/layout.json → lib/lowcode/engine/meta/layout.props.json} +107 -106
  252. package/lib/lowcode/engine/meta/link.props.default.json +13 -5
  253. package/{es/lowcode/engine/meta/components/link.json → lib/lowcode/engine/meta/link.props.json} +111 -110
  254. package/lib/lowcode/engine/meta/section.props.default.json +16 -8
  255. package/{es/lowcode/engine/meta/components/section.json → lib/lowcode/engine/meta/section.props.json} +107 -106
  256. package/lib/lowcode/engine/meta/split.props.default.json +12 -4
  257. package/lib/lowcode/engine/meta/{components/split.json → split.props.json} +71 -70
  258. package/lib/lowcode/engine/meta/table.props.default.json +29 -9
  259. package/lib/lowcode/engine/meta/table.props.json +236 -0
  260. package/lib/lowcode/engine/meta/tabs.props.default.json +17 -9
  261. package/lib/lowcode/engine/meta/{components/tabs.json → tabs.props.json} +140 -139
  262. package/lib/lowcode/engine/meta/text.props.default.json +11 -3
  263. package/{es/lowcode/engine/meta/components/text.json → lib/lowcode/engine/meta/text.props.json} +65 -64
  264. package/lib/lowcode/engine/meta/tree.props.default.json +16 -8
  265. package/lib/lowcode/engine/meta/{components/tree.json → tree.props.json} +156 -155
  266. package/lib/lowcode/engine/provider/ContextProvider.js +46 -41
  267. package/lib/lowcode/engine/provider/EventBusProvider.js +2 -2
  268. package/lib/lowcode/engine/tools/dataProcess.js +86 -8
  269. package/lib/lowcode/engine/tools/helper.js +70 -0
  270. package/lib/lowcode/engine/tools/usePromiseState.js +31 -0
  271. package/lib/lowcode/index.js +5 -1
  272. package/lib/lowcode/painter/Design.js +39 -84
  273. package/lib/lowcode/painter/DesignOperator.js +278 -0
  274. package/lib/lowcode/painter/DesignToolbar.js +99 -0
  275. package/lib/lowcode/painter/I18n.js +203 -2
  276. package/lib/lowcode/painter/Outline.js +62 -53
  277. package/lib/lowcode/painter/Panel.js +238 -1
  278. package/lib/lowcode/painter/Ribbon.js +63 -64
  279. package/lib/lowcode/painter/components/Collapse.js +97 -0
  280. package/lib/lowcode/painter/components/ColorInput.js +132 -0
  281. package/lib/lowcode/painter/components/ListEditor.js +95 -0
  282. package/lib/lowcode/painter/components/NumberInput.js +155 -0
  283. package/lib/lowcode/painter/components/PanelItem.js +84 -11
  284. package/lib/lowcode/painter/components/PopConfirm.js +29 -0
  285. package/lib/lowcode/painter/components/PopForm.js +77 -0
  286. package/lib/lowcode/painter/components/RuleInput.js +9 -7
  287. package/lib/lowcode/painter/components/SortBox.js +99 -0
  288. package/lib/lowcode/painter/components/actions-editor/ActionEditor.js +155 -0
  289. package/lib/lowcode/painter/components/actions-editor/index.js +178 -0
  290. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +103 -0
  291. package/lib/lowcode/painter/components/code-editor/CssEditor.js +48 -0
  292. package/lib/lowcode/painter/components/code-editor/FullScreenEditor.js +94 -0
  293. package/lib/lowcode/painter/components/code-editor/JSEditor.js +117 -0
  294. package/lib/lowcode/painter/components/code-editor/index.js +20 -0
  295. package/lib/lowcode/painter/index.js +35 -3
  296. package/lib/lowcode/painter/panel-section/ButtonType.js +46 -0
  297. package/lib/lowcode/painter/panel-section/DataSetSelector.js +69 -0
  298. package/lib/lowcode/painter/panel-section/Icon.js +54 -0
  299. package/lib/lowcode/painter/panel-section/IconSelector.js +141 -0
  300. package/lib/lowcode/painter/panel-section/LayoutRatio.js +56 -48
  301. package/lib/lowcode/painter/panel-section/StylePanel/BackGround.js +68 -0
  302. package/lib/lowcode/painter/panel-section/StylePanel/Border.js +158 -0
  303. package/lib/lowcode/painter/panel-section/StylePanel/BorderRadius.js +95 -0
  304. package/lib/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +73 -0
  305. package/lib/lowcode/painter/panel-section/StylePanel/BorderSelector.js +73 -0
  306. package/lib/lowcode/painter/panel-section/StylePanel/Display.js +303 -0
  307. package/lib/lowcode/painter/panel-section/StylePanel/DisplaySvg.js +550 -0
  308. package/lib/lowcode/painter/panel-section/StylePanel/Font.js +170 -0
  309. package/lib/lowcode/painter/panel-section/StylePanel/FontEditor.js +392 -0
  310. package/lib/lowcode/painter/panel-section/StylePanel/GapSelector.js +85 -0
  311. package/lib/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +29 -0
  312. package/lib/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +26 -0
  313. package/lib/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +29 -0
  314. package/lib/lowcode/painter/panel-section/StylePanel/MainPanel.js +103 -0
  315. package/lib/lowcode/painter/panel-section/StylePanel/Margin.js +67 -0
  316. package/lib/lowcode/painter/panel-section/StylePanel/Opacity.js +57 -0
  317. package/lib/lowcode/painter/panel-section/StylePanel/Padding.js +68 -0
  318. package/lib/lowcode/painter/panel-section/StylePanel/Pointer.js +48 -0
  319. package/lib/lowcode/painter/panel-section/StylePanel/Shadow.js +224 -0
  320. package/lib/lowcode/painter/panel-section/StylePanel/Size.js +59 -0
  321. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +159 -0
  322. package/lib/lowcode/painter/panel-section/StylePanel/StyleRow.js +22 -0
  323. package/lib/lowcode/painter/panel-section/StylePanel/WidthHeight.js +58 -0
  324. package/lib/lowcode/painter/panel-section/StylePanel/index.js +35 -0
  325. package/lib/lowcode/painter/panel-section/TabItems.js +215 -0
  326. package/lib/lowcode/painter/panel-section/TableActions.js +26 -0
  327. package/lib/lowcode/painter/panel-section/TableZebra.js +21 -0
  328. package/lib/lowcode/painter/panel-section/WidthHeight.js +46 -0
  329. package/lib/lowcode/painter/services/I18n.js +95 -0
  330. package/lib/lowcode/painter/style/actions-editor.less +16 -0
  331. package/lib/lowcode/painter/style/border-editor.less +36 -0
  332. package/lib/lowcode/painter/style/border-radius-selector.less +43 -0
  333. package/lib/lowcode/painter/style/border-selector.less +40 -0
  334. package/lib/lowcode/painter/style/button-type.less +5 -0
  335. package/lib/lowcode/painter/style/collapse.less +22 -0
  336. package/lib/lowcode/painter/style/color-input.less +19 -0
  337. package/lib/lowcode/painter/style/design.less +116 -5
  338. package/lib/lowcode/painter/style/display.less +17 -0
  339. package/lib/lowcode/painter/style/font-editor.less +9 -0
  340. package/lib/lowcode/painter/style/fullscreen-editor.less +17 -0
  341. package/lib/lowcode/painter/style/icon-selector.less +22 -0
  342. package/lib/lowcode/painter/style/icon.less +11 -0
  343. package/lib/lowcode/painter/style/index.less +0 -1
  344. package/lib/lowcode/painter/style/layout-ratio.less +1 -1
  345. package/lib/lowcode/painter/style/list-editor.less +59 -0
  346. package/lib/lowcode/painter/style/number-input.less +17 -0
  347. package/lib/lowcode/painter/style/outline.less +2 -0
  348. package/lib/lowcode/painter/style/panel-item.less +45 -12
  349. package/lib/lowcode/painter/style/panel.less +124 -0
  350. package/lib/lowcode/painter/style/pop-confirm.less +10 -0
  351. package/lib/lowcode/painter/style/pop-form.less +20 -0
  352. package/lib/lowcode/painter/style/ribbon.less +1 -0
  353. package/lib/lowcode/painter/style/style-panel.less +37 -0
  354. package/lib/lowcode/painter/style/tabitems.less +90 -0
  355. package/lib/lowcode/view/Canvas.js +84 -75
  356. package/lib/lowcode/view/Page.js +9 -27
  357. package/lib/lowcode/view/index.js +5 -6
  358. package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +27 -0
  359. package/lib/lowcode/view/lc-components/Box/FunctionLive.js +16 -0
  360. package/lib/lowcode/view/lc-components/Box/index.js +23 -6
  361. package/lib/lowcode/view/lc-components/Box/index.less +15 -0
  362. package/lib/lowcode/view/lc-components/Box/meta.json +42 -0
  363. package/lib/lowcode/view/lc-components/Button/FunctionDesign.js +28 -0
  364. package/lib/lowcode/view/lc-components/Button/FunctionLive.js +16 -0
  365. package/lib/lowcode/view/lc-components/Button/index.js +76 -8
  366. package/lib/lowcode/view/lc-components/Button/meta.json +127 -0
  367. package/lib/lowcode/view/lc-components/Button/style.less +3 -0
  368. package/lib/lowcode/view/lc-components/CardList/FunctionDesign.js +16 -0
  369. package/lib/lowcode/view/lc-components/CardList/FunctionLive.js +16 -0
  370. package/{es/lowcode/engine/meta/components/table.json → lib/lowcode/view/lc-components/CardList/meta.json} +11 -28
  371. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +62 -0
  372. package/lib/lowcode/view/lc-components/Dialog/FunctionLive.js +16 -0
  373. package/lib/lowcode/view/lc-components/Dialog/index.js +20 -11
  374. package/lib/lowcode/view/lc-components/Dialog/index.less +1 -1
  375. package/lib/lowcode/view/lc-components/Dialog/meta.json +121 -0
  376. package/lib/lowcode/view/lc-components/Drawer/FunctionDesign.js +27 -0
  377. package/lib/lowcode/view/lc-components/Drawer/FunctionLive.js +16 -0
  378. package/lib/lowcode/view/lc-components/Drawer/index.js +22 -9
  379. package/lib/lowcode/view/lc-components/Drawer/index.less +7 -0
  380. package/lib/lowcode/view/lc-components/Drawer/meta.json +144 -0
  381. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +16 -0
  382. package/lib/lowcode/view/lc-components/Form/FunctionLive.js +16 -0
  383. package/lib/lowcode/view/lc-components/Form/meta.json +117 -0
  384. package/lib/lowcode/view/lc-components/Iframe/FunctionDesign.js +16 -0
  385. package/lib/lowcode/view/lc-components/Iframe/FunctionLive.js +16 -0
  386. package/lib/lowcode/view/lc-components/Iframe/meta.json +32 -0
  387. package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +16 -0
  388. package/lib/lowcode/view/lc-components/ImEx/FunctionLive.js +16 -0
  389. package/lib/lowcode/view/lc-components/ImEx/meta.json +82 -0
  390. package/lib/lowcode/view/lc-components/Image/FunctionDesign.js +16 -0
  391. package/lib/lowcode/view/lc-components/Image/FunctionLive.js +16 -0
  392. package/lib/lowcode/view/lc-components/Image/meta.json +114 -0
  393. package/lib/lowcode/view/lc-components/JSX/FunctionDesign.js +16 -0
  394. package/lib/lowcode/view/lc-components/JSX/FunctionLive.js +16 -0
  395. package/lib/lowcode/view/lc-components/JSX/meta.json +25 -0
  396. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +82 -0
  397. package/lib/lowcode/view/lc-components/Layout/FunctionLive.js +22 -0
  398. package/lib/lowcode/view/lc-components/Layout/index.js +41 -8
  399. package/lib/lowcode/view/lc-components/Layout/index.less +5 -0
  400. package/lib/lowcode/view/lc-components/Layout/meta.json +108 -0
  401. package/lib/lowcode/view/lc-components/Link/FunctionDesign.js +16 -0
  402. package/lib/lowcode/view/lc-components/Link/FunctionLive.js +16 -0
  403. package/lib/lowcode/view/lc-components/Link/meta.json +112 -0
  404. package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +16 -0
  405. package/lib/lowcode/view/lc-components/Section/FunctionLive.js +16 -0
  406. package/lib/lowcode/view/lc-components/Section/meta.json +108 -0
  407. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +16 -0
  408. package/lib/lowcode/view/lc-components/Split/FunctionLive.js +16 -0
  409. package/lib/lowcode/view/lc-components/Split/meta.json +72 -0
  410. package/lib/lowcode/view/lc-components/Table/FunctionDesign.js +25 -0
  411. package/lib/lowcode/view/lc-components/Table/FunctionLive.js +16 -0
  412. package/lib/lowcode/view/lc-components/Table/index.js +228 -8
  413. package/lib/lowcode/view/lc-components/Table/meta.json +225 -0
  414. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +16 -0
  415. package/lib/lowcode/view/lc-components/Tabs/FunctionLive.js +16 -0
  416. package/lib/lowcode/view/lc-components/Tabs/meta.json +141 -0
  417. package/lib/lowcode/view/lc-components/Text/FunctionDesign.js +16 -0
  418. package/lib/lowcode/view/lc-components/Text/FunctionLive.js +16 -0
  419. package/lib/lowcode/view/lc-components/Text/meta.json +66 -0
  420. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +16 -0
  421. package/lib/lowcode/view/lc-components/Tree/FunctionLive.js +16 -0
  422. package/lib/lowcode/view/lc-components/Tree/meta.json +157 -0
  423. package/lib/lowcode/view/lc-components/Wrapper.js +30 -21
  424. package/lib/lowcode/view/style/page.less +0 -1
  425. package/lib/upload/Form/gridForm.js +1 -1
  426. package/lib/utils/grid.js +6 -5
  427. package/package.json +15 -6
  428. package/es/lowcode/engine/meta/modal.props.default.json +0 -11
  429. package/es/lowcode/engine/tools/lcid.js +0 -16
  430. package/es/lowcode/painter/panel-section/Radio.js +0 -58
  431. package/lib/lowcode/engine/meta/modal.props.default.json +0 -11
  432. package/lib/lowcode/engine/tools/lcid.js +0 -22
  433. package/lib/lowcode/painter/panel-section/Radio.js +0 -65
@@ -1,8 +1,245 @@
1
- import React, { useState, useEffect, useRef } from 'react';
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
5
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
6
+ var _excluded = ["type", "key", "name", "desc", "default", "props", "panelItem", "next", "repositioning"];
7
+ import React, { useRef, useState, useEffect, useLayoutEffect } from 'react';
8
+ import { useBoolean, useCreation, useMemoizedFn } from 'ahooks';
9
+ import { Breadcrumb, Drawer, Icon } from 'luck-design/antd';
10
+ import classNames from 'classnames';
11
+ import { startsWith, takeRight, cloneDeep, isNil } from 'lodash';
12
+ import { useLDContext } from "../engine/provider/ContextProvider";
13
+ import PanelItem from "./components/PanelItem";
14
+ import PanelItemFactory from "../engine/factory/panel-item-factory";
15
+ import { modifyById } from "../engine/tools/dataProcess";
2
16
  import styles from "./style/panel.less";
17
+ import StylePanel from "./panel-section/StylePanel";
18
+ var _TAB_LIST_ = [{
19
+ title: '属性',
20
+ key: 'attrs'
21
+ }, {
22
+ title: '样式',
23
+ key: 'styles'
24
+ }, {
25
+ title: '高级',
26
+ key: 'advance'
27
+ }];
3
28
  var Panel = function Panel() {
29
+ var _nextRef$current, _nextRef$current2;
30
+ var activeTabRef = useRef(null);
31
+ var underLineRef = useRef(null);
32
+ var nextRef = useRef(null);
33
+ var factory = useRef(new PanelItemFactory());
34
+ var _useState = useState(null),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ activeNode = _useState2[0],
37
+ setActiveNode = _useState2[1];
38
+ var _useState3 = useState('attrs'),
39
+ _useState4 = _slicedToArray(_useState3, 2),
40
+ activeTabKey = _useState4[0],
41
+ setActiveTabKey = _useState4[1];
42
+ var _useBoolean = useBoolean(false),
43
+ _useBoolean2 = _slicedToArray(_useBoolean, 2),
44
+ open = _useBoolean2[0],
45
+ _useBoolean2$ = _useBoolean2[1],
46
+ setTrue = _useBoolean2$.setTrue,
47
+ setFalse = _useBoolean2$.setFalse;
48
+ var context = useLDContext();
49
+ var handleChange = useMemoizedFn(function (field, value, repositioning) {
50
+ var component = context.componentMap.get(activeNode.node.id);
51
+ var _component$api$getSel = component.api.getSelfAndParentLCData(),
52
+ node = _component$api$getSel.node;
53
+ var cloneData = cloneDeep(context.pageData);
54
+ modifyById(cloneData, activeNode.node.id, _objectSpread(_objectSpread({}, node.props), {}, _defineProperty({}, field, value)));
55
+ context._setPageData(cloneData).then(function (newData) {
56
+ context.$publisher(context.topics.COMPONENT_MODIFY, {
57
+ id: activeNode.node.id,
58
+ pageData: cloneDeep(newData)
59
+ });
60
+ if (repositioning) context.$publisher(context.topics.COMPONENT_REPOSITIONING, {
61
+ id: activeNode.node.id
62
+ });
63
+ });
64
+ if (nextRef.current.autoClose) {
65
+ setFalse();
66
+ }
67
+ });
68
+ var handleStyleChange = useMemoizedFn(function (newStyle, newCss) {
69
+ console.log('style', newStyle, newCss);
70
+ // setCss(newCss);
71
+ });
72
+ var goNext = useMemoizedFn(function (_next) {
73
+ if (!_next) return;
74
+ nextRef.current = {
75
+ name: _next.name,
76
+ autoClose: _next.autoClose,
77
+ NextComp: renderPanelItems(_next.props)
78
+ };
79
+ setTrue();
80
+ });
81
+ var renderPanelItems = useMemoizedFn(function (items) {
82
+ return items.map(function (_ref) {
83
+ var type = _ref.type,
84
+ key = _ref.key,
85
+ name = _ref.name,
86
+ desc = _ref.desc,
87
+ defaultValue = _ref.default,
88
+ props = _ref.props,
89
+ panelItem = _ref.panelItem,
90
+ _next2 = _ref.next,
91
+ repositioning = _ref.repositioning,
92
+ rest = _objectWithoutProperties(_ref, _excluded);
93
+ var Comp = factory.current.getPanelItemFor(startsWith(type, '_') ? 'dynamic' : type, type);
94
+ if (type === 'group') {
95
+ return /*#__PURE__*/React.createElement(Comp, {
96
+ key: key,
97
+ field: key,
98
+ label: name,
99
+ next: _next2 ? function () {
100
+ return goNext(_next2);
101
+ } : null,
102
+ defaultCollapsed: defaultValue,
103
+ desc: desc
104
+ }, renderPanelItems(props || []));
105
+ }
106
+ var _context$componentMap = context.componentMap.get(activeNode.node.id).api.getSelfAndParentLCData(),
107
+ node = _context$componentMap.node;
108
+ return /*#__PURE__*/React.createElement(PanelItem, _extends({
109
+ key: key,
110
+ field: key,
111
+ label: name,
112
+ desc: desc
113
+ }, panelItem), Comp && /*#__PURE__*/React.createElement(Comp, _extends({
114
+ defaultValue: isNil(node.props[key]) ? defaultValue : node.props[key],
115
+ next: function next() {
116
+ return goNext(_next2);
117
+ },
118
+ onChange: function onChange(value) {
119
+ return handleChange(key, value, repositioning);
120
+ },
121
+ size: "small"
122
+ }, rest)));
123
+ });
124
+ });
125
+ var PropsComps = useCreation(function () {
126
+ setActiveTabKey('attrs');
127
+ var _meta;
128
+ try {
129
+ _meta = require("../engine/meta/".concat(activeNode.node.component.toLowerCase(), ".props.json"));
130
+ } catch (e) {
131
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
132
+ }
133
+ return renderPanelItems(_meta.props);
134
+ }, [activeNode]);
135
+ useEffect(function () {
136
+ if (!open) {
137
+ nextRef.current = null;
138
+ }
139
+ }, [open]);
140
+ useEffect(function () {
141
+ var _id = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
142
+ setFalse();
143
+ if (!payload.id) {
144
+ setActiveNode(null);
145
+ return;
146
+ }
147
+ var component = context.componentMap.get(payload.id);
148
+ var _component$api$getSel2 = component.api.getSelfAndParentLCData(),
149
+ node = _component$api$getSel2.node;
150
+ var levelNodes = takeRight(component.api.getLevelNodes(), 4);
151
+ setActiveNode({
152
+ node: node.props,
153
+ level: levelNodes
154
+ });
155
+ }).watch();
156
+ return function () {
157
+ context.$unsubscriber(context.topics.COMPONENT_ACTIVE, _id);
158
+ };
159
+ }, []);
160
+ useLayoutEffect(function () {
161
+ underLineRef.current.style.left = "".concat(activeTabRef.current.offsetLeft + activeTabRef.current.offsetWidth / 2 - 10, "px");
162
+ }, [activeTabKey, !!activeNode]);
4
163
  return /*#__PURE__*/React.createElement("div", {
5
164
  className: styles['lc-painter-panel']
6
- }, "Panel");
165
+ }, /*#__PURE__*/React.createElement("div", {
166
+ className: classNames(styles['lc-painter-panel-topbar'], _defineProperty({}, styles.hidden, !activeNode))
167
+ }, /*#__PURE__*/React.createElement(Breadcrumb, {
168
+ separator: ">",
169
+ style: {
170
+ fontSize: 12
171
+ }
172
+ }, activeNode === null || activeNode === void 0 ? void 0 : activeNode.level.map(function (_ref2) {
173
+ var id = _ref2.id,
174
+ name = _ref2.name;
175
+ return /*#__PURE__*/React.createElement(Breadcrumb.Item, {
176
+ key: id,
177
+ className: classNames(_defineProperty({}, styles['active-node-level'], id !== activeNode.node.id)),
178
+ onMouseEnter: function onMouseEnter() {
179
+ if (id === activeNode.node.id) return;
180
+ context.$publisher(context.topics.COMPONENT_HOVER, {
181
+ id: id
182
+ });
183
+ },
184
+ onMouseLeave: function onMouseLeave() {
185
+ if (id === activeNode.node.id) return;
186
+ context.$publisher(context.topics.COMPONENT_HOVER, null);
187
+ },
188
+ onClick: function onClick() {
189
+ if (id === activeNode.node.id) return;
190
+ context.$publisher(context.topics.COMPONENT_ACTIVE, {
191
+ id: id
192
+ });
193
+ }
194
+ }, name);
195
+ }))), /*#__PURE__*/React.createElement("div", {
196
+ className: classNames(styles['lc-painter-panel-tabbar'], _defineProperty({}, styles.hidden, !activeNode))
197
+ }, /*#__PURE__*/React.createElement("ul", {
198
+ className: styles.headerList
199
+ }, (activeNode !== null && activeNode !== void 0 && activeNode.node.style ? _TAB_LIST_ : [_TAB_LIST_[0], _TAB_LIST_[2]]).map(function (_item) {
200
+ return /*#__PURE__*/React.createElement("li", {
201
+ key: _item.key,
202
+ ref: activeTabKey === _item.key ? activeTabRef : null,
203
+ className: classNames(_defineProperty({}, styles.actived, activeTabKey === _item.key)),
204
+ onClick: function onClick() {
205
+ return setActiveTabKey(_item.key);
206
+ }
207
+ }, _item.title);
208
+ })), /*#__PURE__*/React.createElement("div", {
209
+ ref: underLineRef,
210
+ className: styles.underline
211
+ })), activeTabKey === _TAB_LIST_[0].key && /*#__PURE__*/React.createElement("div", {
212
+ className: classNames(styles['lc-painter-panel-content'], _defineProperty(_defineProperty({}, styles.hidden, !activeNode), styles.showNext, open))
213
+ }, PropsComps, /*#__PURE__*/React.createElement(Drawer, {
214
+ visible: open,
215
+ width: 320,
216
+ mask: false,
217
+ closable: false,
218
+ getContainer: false,
219
+ destroyOnClose: true,
220
+ style: {
221
+ position: 'absolute'
222
+ },
223
+ bodyStyle: {
224
+ padding: 0,
225
+ height: '100%'
226
+ }
227
+ }, /*#__PURE__*/React.createElement("div", {
228
+ className: styles['next-content']
229
+ }, /*#__PURE__*/React.createElement("div", {
230
+ className: styles['next-content-header'],
231
+ onClick: setFalse
232
+ }, /*#__PURE__*/React.createElement(Icon, {
233
+ type: "left"
234
+ }), (_nextRef$current = nextRef.current) === null || _nextRef$current === void 0 ? void 0 : _nextRef$current.name, /*#__PURE__*/React.createElement(Icon, {
235
+ type: "close"
236
+ })), /*#__PURE__*/React.createElement("div", {
237
+ className: styles['next-content-body']
238
+ }, (_nextRef$current2 = nextRef.current) === null || _nextRef$current2 === void 0 ? void 0 : _nextRef$current2.NextComp)))), activeTabKey === _TAB_LIST_[1].key && /*#__PURE__*/React.createElement(StylePanel, {
239
+ onChange: handleStyleChange,
240
+ value: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.style
241
+ }), activeTabKey === _TAB_LIST_[2].key && /*#__PURE__*/React.createElement("div", null, "\u9AD8\u7EA7\u9762\u677F"), /*#__PURE__*/React.createElement("div", {
242
+ className: classNames(styles['lc-painter-panel-empty'], _defineProperty({}, styles.hidden, !!activeNode))
243
+ }, "\u8BF7\u5728\u5DE6\u4FA7\u753B\u5E03\u9009\u4E2D\u8282\u70B9"));
7
244
  };
8
245
  export default Panel;
@@ -1,15 +1,33 @@
1
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
4
  import React, { useState } from 'react';
5
- import { useCreation } from 'ahooks';
6
- import { dynamic } from 'umi';
7
5
  import { Box } from 'luck-design';
8
6
  import { Icon, Tooltip, Drawer } from 'luck-design/antd';
7
+ import Outline from "./Outline";
8
+ import Components from "./Components";
9
+ import I18n from "./I18n";
9
10
  import { formatMessage } from '@luck-design-biz/base/utils';
10
- import { upperFirst } from 'lodash';
11
11
  import styles from "./style/ribbon.less";
12
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
+ };
13
31
  var _DRAWER_OUTLINE_ = {
14
32
  width: 300,
15
33
  key: 'outline',
@@ -20,7 +38,7 @@ var _DRAWER_COMPONENTS_ = {
20
38
  width: 310,
21
39
  key: 'components',
22
40
  title: '组件',
23
- fix: false
41
+ fix: true
24
42
  };
25
43
  var _DRAWER_I18N_ = {
26
44
  width: 450,
@@ -33,40 +51,6 @@ var Ribbon = function Ribbon() {
33
51
  _useState2 = _slicedToArray(_useState, 2),
34
52
  drawer = _useState2[0],
35
53
  setDrawer = _useState2[1];
36
- var Detail = useCreation(function () {
37
- return dynamic({
38
- loader: function () {
39
- var _loader = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
40
- var name, _yield$import, Comp;
41
- return _regeneratorRuntime().wrap(function _callee$(_context) {
42
- while (1) switch (_context.prev = _context.next) {
43
- case 0:
44
- if (!drawer) {
45
- _context.next = 7;
46
- break;
47
- }
48
- name = upperFirst(drawer.key);
49
- _context.next = 4;
50
- return import("./".concat(name));
51
- case 4:
52
- _yield$import = _context.sent;
53
- Comp = _yield$import.default;
54
- return _context.abrupt("return", Comp);
55
- case 7:
56
- return _context.abrupt("return", null);
57
- case 8:
58
- case "end":
59
- return _context.stop();
60
- }
61
- }, _callee);
62
- }));
63
- function loader() {
64
- return _loader.apply(this, arguments);
65
- }
66
- return loader;
67
- }()
68
- });
69
- }, [drawer]);
70
54
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, {
71
55
  className: styles['lc-painter-ribbon'],
72
56
  width: _WIDTH_,
@@ -109,28 +93,50 @@ var Ribbon = function Ribbon() {
109
93
  onClick: function onClick() {
110
94
  return setDrawer((drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_I18N_.key ? null : _DRAWER_I18N_);
111
95
  }
112
- }))), /*#__PURE__*/React.createElement(Drawer, {
96
+ }))), /*#__PURE__*/React.createElement(Drawer, _extends({
113
97
  title: drawer ? formatMessage({
114
98
  id: "luckda.lowcode.".concat(drawer.key),
115
99
  label: drawer.title
116
100
  }) : '',
117
- placement: "left",
118
101
  width: (drawer === null || drawer === void 0 ? void 0 : drawer.width) || 0,
119
- visible: !!drawer,
120
- mask: false,
121
- getContainer: false,
102
+ visible: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_OUTLINE_.key,
122
103
  onClose: function onClose() {
123
104
  return setDrawer(null);
124
- },
125
- style: {
126
- position: 'absolute',
127
- left: _WIDTH_
128
- },
129
- bodyStyle: {
130
- overflowY: 'auto',
131
- height: 'calc(100% - 55px)',
132
- padding: 0
133
105
  }
134
- }, Detail && /*#__PURE__*/React.createElement(Detail, null)));
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)));
135
141
  };
136
142
  export default Ribbon;
@@ -0,0 +1,90 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useState } from 'react';
3
+ import { useMemoizedFn, useCreation } from 'ahooks';
4
+ import styles from "../style/collapse.less";
5
+ import { Icon, Tooltip } from 'luck-design/antd';
6
+
7
+ /**
8
+ * Collapse 组件是一个可折叠区域的实现,用于显示或隐藏内容。它支持自定义标签、描述以及默认的折叠状态。
9
+ * 该组件还可以通过 `next` 函数来自定义点击操作,而不是简单地切换折叠状态。
10
+ * 提供的工具提示可以显示额外信息,如字段名和描述,以帮助用户更好地理解折叠内容的作用。
11
+ *
12
+ * @component
13
+ * @example
14
+ * <Collapse
15
+ * field="exampleField"
16
+ * label="示例标签"
17
+ * desc="这是一个用于演示的折叠组件"
18
+ * defaultCollapsed={true}
19
+ * next={() => console.log('Custom next function executed')}
20
+ * >
21
+ * <p>这里是可折叠的内容</p>
22
+ * </Collapse>
23
+ *
24
+ * @param {Object} props - 组件的属性。
25
+ * @param {React.ReactNode} children - 折叠区域展开时显示的内容。
26
+ * @param {string} [props.field] - 与折叠内容相关联的字段名。
27
+ * @param {string} props.label - 折叠区域的标签名称。
28
+ * @param {string} [props.desc] - 关于折叠内容的描述信息。
29
+ * @param {boolean} [props.defaultCollapsed=false] - 折叠区域的默认状态。如果为 true,则默认为折叠状态。
30
+ * @param {Function} [props.next] - 点击操作的自定义函数。如果提供,点击时将执行此函数,而不是切换折叠状态。
31
+ *
32
+ * @returns {ReactElement} 返回一个 React 元素,表示一个具有可折叠功能的容器。
33
+ */
34
+ export default function (_ref) {
35
+ var children = _ref.children,
36
+ field = _ref.field,
37
+ label = _ref.label,
38
+ desc = _ref.desc,
39
+ _ref$defaultCollapsed = _ref.defaultCollapsed,
40
+ defaultCollapsed = _ref$defaultCollapsed === void 0 ? false : _ref$defaultCollapsed,
41
+ next = _ref.next;
42
+ var _useState = useState(defaultCollapsed),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ collapsed = _useState2[0],
45
+ setCollapsed = _useState2[1];
46
+ var handleClick = useMemoizedFn(function () {
47
+ if (next) {
48
+ next();
49
+ } else {
50
+ setCollapsed(!collapsed);
51
+ }
52
+ });
53
+ var tip = useCreation(function () {
54
+ var str = void 0;
55
+ if (field) {
56
+ str = "\u5C5E\u6027\uFF1A".concat(field);
57
+ }
58
+ if (desc) {
59
+ str += "".concat(str ? ' | ' : '', "\u8BF4\u660E\uFF1A").concat(desc);
60
+ }
61
+ return str;
62
+ }, [field, desc]);
63
+ return /*#__PURE__*/React.createElement("div", {
64
+ className: styles['lc-painter-components-collapse']
65
+ }, /*#__PURE__*/React.createElement("div", {
66
+ className: styles['head'],
67
+ onClick: handleClick
68
+ }, /*#__PURE__*/React.createElement(Tooltip, {
69
+ overlayStyle: {
70
+ fontSize: '12px'
71
+ },
72
+ title: tip,
73
+ getPopupContainer: function getPopupContainer() {
74
+ return document.getElementById('lc-design-workspace');
75
+ }
76
+ }, /*#__PURE__*/React.createElement("span", {
77
+ className: styles['label'],
78
+ style: {
79
+ cursor: desc ? 'help' : 'default'
80
+ }
81
+ }, label)), /*#__PURE__*/React.createElement("span", {
82
+ className: styles['action']
83
+ }, next ? /*#__PURE__*/React.createElement(Icon, {
84
+ type: "right"
85
+ }) : /*#__PURE__*/React.createElement(Icon, {
86
+ type: collapsed ? 'down' : 'up'
87
+ }))), !collapsed && /*#__PURE__*/React.createElement("div", {
88
+ className: styles['body']
89
+ }, children));
90
+ }
@@ -0,0 +1,125 @@
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ var _excluded = ["value", "onChange", "wrapperStyle"];
6
+ import React, { useState } from 'react';
7
+ import { useUpdateEffect } from 'ahooks';
8
+ import PopConfirm from "./PopConfirm";
9
+ import { Input } from 'luck-design/antd';
10
+ import styles from "../style/color-input.less";
11
+ import { SketchPicker } from 'react-color';
12
+
13
+ /**
14
+ * ColorInput 组件是一个集成颜色选择器的输入框组件,允许用户以 RGBA 或十六进制格式输入颜色值。
15
+ * 组件内部通过 PopConfirm 弹出一个 SketchPicker 颜色选择器,以提供一个直观的颜色选择界面。
16
+ * 用户输入的颜色值在内部转换为适当的格式,并通过 onChange 回调暴露给外部使用。
17
+ * 此组件还支持通过传入的 value 属性初始化颜色值,并响应其后续更改。
18
+ *
19
+ * @component
20
+ * @example
21
+ * const handleColorChange = (newColor) => {
22
+ * console.log('Selected color:', newColor);
23
+ * };
24
+ * <ColorInput
25
+ * value="rgba(255, 0, 0, 0.5)"
26
+ * onChange={handleColorChange}
27
+ * wrapperStyle={{ margin: '20px' }}
28
+ * />
29
+ *
30
+ * @param {Object} props - 组件的属性。
31
+ * @param {string} props.value - 初始化颜色值,支持 RGBA 字符串或十六进制格式。
32
+ * @param {Function} props.onChange - 当颜色值变更时触发的回调函数。传递新的颜色值作为参数。
33
+ * @param {Object} [props.wrapperStyle] - 自定义包装器 div 的样式对象。
34
+ * @param {Object} rest - 传递给 Input 组件的其他属性。
35
+ *
36
+ * @returns {ReactElement} 返回一个 React 元素,表示一个带有颜色选择器的输入框组件。
37
+ */
38
+ export default function (_ref) {
39
+ var value = _ref.value,
40
+ onChange = _ref.onChange,
41
+ wrapperStyle = _ref.wrapperStyle,
42
+ rest = _objectWithoutProperties(_ref, _excluded);
43
+ var _useState = useState(fromRGBA(value)),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ color = _useState2[0],
46
+ setColor = _useState2[1];
47
+ var handleChange = function handleChange(color) {
48
+ changeColor(color.rgb);
49
+ };
50
+ var handleInputChange = function handleInputChange(e) {
51
+ changeColor(e.target.value);
52
+ };
53
+ var changeColor = function changeColor(value) {
54
+ if (onChange) onChange(toRGBA(value));
55
+ setColor(value);
56
+ };
57
+ useUpdateEffect(function () {
58
+ setColor(fromRGBA(value));
59
+ }, [value]);
60
+ var rgbaColor = toRGBA(color);
61
+ return /*#__PURE__*/React.createElement("div", {
62
+ className: styles['lc-painter-components-color-input'],
63
+ style: wrapperStyle
64
+ }, /*#__PURE__*/React.createElement(PopConfirm, {
65
+ placement: "top",
66
+ title: /*#__PURE__*/React.createElement(SketchPicker, {
67
+ color: color !== null && color !== void 0 ? color : '#ffffff',
68
+ onChange: handleChange
69
+ })
70
+ }, /*#__PURE__*/React.createElement("div", {
71
+ className: styles['color-input-wrap']
72
+ }, /*#__PURE__*/React.createElement(Input, _extends({
73
+ onChange: handleInputChange,
74
+ className: styles['color-input'],
75
+ value: rgbaColor,
76
+ size: "small",
77
+ placeholder: "rgba(0,0,0,0)"
78
+ }, rest)), /*#__PURE__*/React.createElement("div", {
79
+ className: "color-display",
80
+ style: {
81
+ backgroundColor: rgbaColor
82
+ }
83
+ }))));
84
+ }
85
+ function toRGBA(colorObj) {
86
+ // 首先检查 colorObj 是否为 null 或 undefined
87
+ if (colorObj === null || typeof colorObj === 'undefined') {
88
+ return null;
89
+ }
90
+
91
+ // 检查是否为对象且包含 r, g, b, a 属性
92
+ if (_typeof(colorObj) === 'object' && 'r' in colorObj && 'g' in colorObj && 'b' in colorObj && 'a' in colorObj) {
93
+ return "rgba(".concat(colorObj.r, ", ").concat(colorObj.g, ", ").concat(colorObj.b, ", ").concat(colorObj.a, ")");
94
+ } else if (typeof colorObj === 'string' && colorObj.startsWith('#')) {
95
+ // 如果是以#号开头的字符串,则直接返回该字符串
96
+ return colorObj;
97
+ }
98
+
99
+ // 如果不符合上述任何一种情况,返回一个空字符串
100
+ return null;
101
+ }
102
+ function fromRGBA(rgbaString) {
103
+ if (rgbaString === null || typeof rgbaString === 'undefined') {
104
+ return null;
105
+ }
106
+
107
+ // 检查输入是否是有效的 rgba 字符串
108
+ var rgbaPattern = /rgba\((\d+),\s*(\d+),\s*(\d+),\s*(\d*\.?\d+)\)/;
109
+ var match = rgbaString.match(rgbaPattern);
110
+ if (match) {
111
+ // 如果匹配成功,则提取 rgba 值
112
+ return {
113
+ r: parseInt(match[1], 10),
114
+ g: parseInt(match[2], 10),
115
+ b: parseInt(match[3], 10),
116
+ a: parseFloat(match[4])
117
+ };
118
+ } else if (typeof rgbaString === 'string' && rgbaString.startsWith('#')) {
119
+ // 对于十六进制颜色字符串,直接返回原始字符串
120
+ return rgbaString;
121
+ }
122
+
123
+ // 如果不符合上述任何一种情况,返回 null
124
+ return null;
125
+ }