@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,84 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
6
+ var _excluded = ["children"];
7
+ import React, { useEffect, forwardRef } from 'react';
8
+ import BaseEditor from "./BaseEditor";
9
+ import * as monaco from 'monaco-editor';
10
+ var _provideCompletionItems = function provideCompletionItems(monaco, model, position, module) {
11
+ var textUntilPosition = model.getValueInRange({
12
+ startLineNumber: position.lineNumber,
13
+ startColumn: 1,
14
+ endLineNumber: position.lineNumber,
15
+ endColumn: position.column
16
+ });
17
+ if (textUntilPosition.endsWith(module.triggerWord + '.')) {
18
+ var word = model.getWordUntilPosition(position);
19
+ var range = {
20
+ startLineNumber: position.lineNumber,
21
+ endLineNumber: position.lineNumber,
22
+ startColumn: word.startColumn,
23
+ endColumn: word.endColumn
24
+ };
25
+
26
+ // 从模块中调用 completions 函数获取补全项数组
27
+ // 并动态转换 kind 字段
28
+ return module.completions.map(function (completion) {
29
+ return Object.assign({}, completion, {
30
+ range: range,
31
+ // 动态转换 kind 字段
32
+ kind: monaco.languages.CompletionItemKind[completion.kind]
33
+ });
34
+ });
35
+ }
36
+ return [];
37
+ };
38
+ var setupAutocomplete = /*#__PURE__*/function () {
39
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(monaco) {
40
+ var autoCompleteModules;
41
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
42
+ while (1) switch (_context.prev = _context.next) {
43
+ case 0:
44
+ _context.next = 2;
45
+ return import("../../../engine/meta/js-editor/auto-complete.json");
46
+ case 2:
47
+ autoCompleteModules = _context.sent;
48
+ console.log('autoCompleteModules', autoCompleteModules);
49
+ monaco.languages.registerCompletionItemProvider('javascript', _defineProperty({
50
+ triggerCharacters: ['.'],
51
+ provideCompletionItems: function provideCompletionItems(model, position) {
52
+ var allCompletionItems = [];
53
+
54
+ // 从所有模块收集补全项
55
+ autoCompleteModules.default.forEach(function (module) {
56
+ var items = _provideCompletionItems(monaco, model, position, module);
57
+ allCompletionItems = allCompletionItems.concat(items);
58
+ });
59
+ return {
60
+ suggestions: allCompletionItems
61
+ };
62
+ }
63
+ }, "triggerCharacters", ['.']));
64
+ case 5:
65
+ case "end":
66
+ return _context.stop();
67
+ }
68
+ }, _callee);
69
+ }));
70
+ return function setupAutocomplete(_x) {
71
+ return _ref.apply(this, arguments);
72
+ };
73
+ }();
74
+ var JSEditor = /*#__PURE__*/forwardRef(function (_ref2, ref) {
75
+ var children = _ref2.children,
76
+ rest = _objectWithoutProperties(_ref2, _excluded);
77
+ useEffect(function () {
78
+ setupAutocomplete(monaco);
79
+ }, []);
80
+ return /*#__PURE__*/React.createElement(BaseEditor, _extends({
81
+ ref: ref
82
+ }, rest));
83
+ });
84
+ export default /*#__PURE__*/React.memo(JSEditor);
@@ -0,0 +1,2 @@
1
+ export { default as BaseEditor } from "./BaseEditor";
2
+ export { default as JSEditor } from "./JSEditor";
@@ -0,0 +1,45 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import React, { useEffect } from 'react';
3
+ import classNames from 'classnames';
4
+ // import { history } from 'umi';
5
+ // import { formatMessage } from '@luck-design-biz/base/utils';
6
+ import EventBusProvider from "../engine/provider/EventBusProvider";
7
+ import ContextProvider from "../engine/provider/ContextProvider";
8
+ import Ribbon from "./Ribbon";
9
+ import Design from "./Design";
10
+ import Panel from "./Panel";
11
+ import { RUNTIME } from "../constants/index";
12
+ import styles from "./style/index.less";
13
+ var Painter = function Painter(_ref) {
14
+ var className = _ref.className;
15
+ // 修改后刷新提示功能,暂时关掉,等待提供数据对比进行判断
16
+ // useEffect(() => {
17
+ // const handleBeforeUnload = (event) => {
18
+ // event.preventDefault();
19
+ // event.returnValue = null;
20
+ // return null;
21
+ // };
22
+
23
+ // window.addEventListener('beforeunload', handleBeforeUnload);
24
+
25
+ // const unblock = history.block(() =>
26
+ // confirm(`${formatMessage({
27
+ // id: 'app.base.operate.comfire.reload', label: '重新加载此网站?'
28
+ // })}\n${formatMessage({
29
+ // id: 'app.base.operate.comfire.message.reload', label: '系统可能不会保存您所做的更改。'
30
+ // })}`)
31
+ // );
32
+
33
+ // return () => {
34
+ // unblock();
35
+ // window.removeEventListener('beforeunload', handleBeforeUnload);
36
+ // };
37
+ // }, []);
38
+
39
+ return /*#__PURE__*/React.createElement(EventBusProvider, {
40
+ runtime: RUNTIME.DESIGN
41
+ }, /*#__PURE__*/React.createElement(ContextProvider, null, /*#__PURE__*/React.createElement("div", {
42
+ className: classNames(styles['lc-painter'], _defineProperty({}, className, !!className))
43
+ }, /*#__PURE__*/React.createElement(Ribbon, null), /*#__PURE__*/React.createElement(Design, null), /*#__PURE__*/React.createElement(Panel, null))));
44
+ };
45
+ export default Painter;
@@ -0,0 +1,39 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["onChange"];
4
+ import React from 'react';
5
+ import { Select, Button } from 'luck-design/antd';
6
+ import styles from "../style/button-type.less";
7
+ var ButtonType = function ButtonType(_ref) {
8
+ var onChange = _ref.onChange,
9
+ props = _objectWithoutProperties(_ref, _excluded);
10
+ return /*#__PURE__*/React.createElement(Select, _extends({}, props, {
11
+ onChange: onChange,
12
+ className: styles['lc-painter-panel-section-components-buttontype']
13
+ }), /*#__PURE__*/React.createElement(Select.Option, {
14
+ value: "primary"
15
+ }, /*#__PURE__*/React.createElement(Button, {
16
+ type: "primary",
17
+ size: "small",
18
+ className: styles['lc-painter-panel-section-components-buttontype-option']
19
+ }, "primary")), /*#__PURE__*/React.createElement(Select.Option, {
20
+ value: "default"
21
+ }, /*#__PURE__*/React.createElement(Button, {
22
+ type: "default",
23
+ size: "small",
24
+ className: styles['lc-painter-panel-section-components-buttontype-option']
25
+ }, "default")), /*#__PURE__*/React.createElement(Select.Option, {
26
+ value: "dashed"
27
+ }, /*#__PURE__*/React.createElement(Button, {
28
+ type: "dashed",
29
+ size: "small",
30
+ className: styles['lc-painter-panel-section-components-buttontype-option']
31
+ }, "dashed")), /*#__PURE__*/React.createElement(Select.Option, {
32
+ value: "danger"
33
+ }, /*#__PURE__*/React.createElement(Button, {
34
+ type: "danger",
35
+ size: "small",
36
+ className: styles['lc-painter-panel-section-components-buttontype-option']
37
+ }, "danger")));
38
+ };
39
+ export default ButtonType;
@@ -0,0 +1,48 @@
1
+ import React from 'react';
2
+ import { Icon } from 'luck-design/antd';
3
+ import styles from "../style/icon.less";
4
+ import { ICONLIST_JS } from "../../constants/api-url";
5
+
6
+ /**
7
+ * 一个简单的图标选择器组件,展示了一个图标并允许用户点击选择。
8
+ * 该组件使用了`Icon.createFromIconfontCN`来创建一个可以从Iconfont.cn加载图标的`IconFont`组件。
9
+ * 当图标被点击时,会调用`onSelect`回调函数,并传递一个对象,其中包含了`field`字段。
10
+ *
11
+ * @component
12
+ * @example
13
+ * ```jsx
14
+ * <IconSelector
15
+ * field="iconField"
16
+ * onSelect={({ field }) => console.log(`Selected icon field: ${field}`)}
17
+ * value="icon-example"
18
+ * />
19
+ * ```
20
+ *
21
+ * @param {Object} props 组件的props
22
+ * @param {string} props.field 用于识别选择的图标字段的标识符。
23
+ * @param {Function} props.onSelect 当图标被点击时触发的回调函数。
24
+ * 接收一个对象参数,该对象包含`field`字段。
25
+ * @param {string} [props.value='iconyingyongguanli'] 初始化时图标的类型,
26
+ * 默认为'iconyingyongguanli'。
27
+ *
28
+ * @returns {React.Element} 渲染的React元素。
29
+ */
30
+ export default function (_ref) {
31
+ var field = _ref.field,
32
+ onSelect = _ref.onSelect,
33
+ value = _ref.value,
34
+ next = _ref.next;
35
+ var IconFont = Icon.createFromIconfontCN({
36
+ scriptUrl: ICONLIST_JS
37
+ });
38
+ return /*#__PURE__*/React.createElement("div", {
39
+ className: styles['lc-painter-panel-section-icon'],
40
+ onClick: function onClick() {
41
+ return next();
42
+ }
43
+ }, /*#__PURE__*/React.createElement(IconFont, {
44
+ type: value !== null && value !== void 0 ? value : 'iconyingyongguanli'
45
+ }), /*#__PURE__*/React.createElement("span", {
46
+ className: styles['selecor']
47
+ }, "\u8BF7\u9009\u62E9 >"));
48
+ }
@@ -0,0 +1,134 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import React, { useEffect, useState, useMemo, useCallback } from 'react';
5
+ import { Icon, Input, Tooltip } from 'luck-design/antd';
6
+ import { useMemoizedFn } from 'ahooks';
7
+ import styles from "../style/icon-selector.less";
8
+ import { request } from '@luck-design-biz/base/utils';
9
+ import { formatMessage } from '@luck-design-biz/base/utils';
10
+ import { ICONLIST_URL, ICONLIST_JS } from "../../constants/api-url";
11
+ var Search = Input.Search;
12
+
13
+ /**
14
+ * 一个用于选择图标的组件,提供了图标的搜索和选择功能。
15
+ *
16
+ * 该组件首先从预定义的URL加载图标列表,然后显示这些图标。用户可以通过输入框搜索图标,
17
+ * 点击图标时,会通过 `onChange` 回调将选中的图标信息返回给父组件。
18
+ *
19
+ * @component
20
+ * @example
21
+ * ```jsx
22
+ * <IconSelector
23
+ * onChange={(selectedIcon) => console.log(selectedIcon)}
24
+ * />
25
+ * ```
26
+ *
27
+ * @param {Object} props 组件接受的props
28
+ * @param {Function} props.onChange 当图标被选中时触发的回调函数,接受选中图标的信息作为参数
29
+ */
30
+ export default function (_ref) {
31
+ var onChange = _ref.onChange;
32
+ var _useState = useState(null),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ iconData = _useState2[0],
35
+ setIconData = _useState2[1];
36
+ var _useState3 = useState(''),
37
+ _useState4 = _slicedToArray(_useState3, 2),
38
+ searchTerm = _useState4[0],
39
+ setSearchTerm = _useState4[1];
40
+ var IconFont = Icon.createFromIconfontCN({
41
+ scriptUrl: ICONLIST_JS
42
+ });
43
+ function getIconList() {
44
+ return _getIconList.apply(this, arguments);
45
+ }
46
+ function _getIconList() {
47
+ _getIconList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
48
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
49
+ while (1) switch (_context2.prev = _context2.next) {
50
+ case 0:
51
+ return _context2.abrupt("return", request(ICONLIST_URL, {
52
+ method: 'get'
53
+ }));
54
+ case 1:
55
+ case "end":
56
+ return _context2.stop();
57
+ }
58
+ }, _callee2);
59
+ }));
60
+ return _getIconList.apply(this, arguments);
61
+ }
62
+ useEffect(function () {
63
+ var fetchData = /*#__PURE__*/function () {
64
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
65
+ var data;
66
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
67
+ while (1) switch (_context.prev = _context.next) {
68
+ case 0:
69
+ _context.prev = 0;
70
+ _context.next = 3;
71
+ return getIconList();
72
+ case 3:
73
+ data = _context.sent;
74
+ setIconData(data);
75
+ _context.next = 10;
76
+ break;
77
+ case 7:
78
+ _context.prev = 7;
79
+ _context.t0 = _context["catch"](0);
80
+ console.error('获取数据失败', _context.t0);
81
+ case 10:
82
+ case "end":
83
+ return _context.stop();
84
+ }
85
+ }, _callee, null, [[0, 7]]);
86
+ }));
87
+ return function fetchData() {
88
+ return _ref2.apply(this, arguments);
89
+ };
90
+ }();
91
+ fetchData();
92
+ }, []);
93
+ var handleSearch = useCallback(function (e) {
94
+ setSearchTerm(e.target.value.toLowerCase());
95
+ }, []);
96
+ var filteredData = useMemo(function () {
97
+ if (iconData && iconData.glyphs) {
98
+ return iconData.glyphs.filter(function (item) {
99
+ return item.name.toLowerCase().includes(searchTerm) || item.font_class.toLowerCase().includes(searchTerm);
100
+ });
101
+ }
102
+ return [];
103
+ }, [iconData, searchTerm]);
104
+ var handleClick = useMemoizedFn(function (icon) {
105
+ onChange === null || onChange === void 0 || onChange(icon);
106
+ });
107
+ return /*#__PURE__*/React.createElement("div", {
108
+ className: styles['lc-painter-panel-section-iconselector']
109
+ }, /*#__PURE__*/React.createElement("div", {
110
+ className: styles['components-search']
111
+ }, /*#__PURE__*/React.createElement(Search, {
112
+ placeholder: formatMessage({
113
+ id: 'luckda.lowcode.painter.components.search',
114
+ label: '搜索组件'
115
+ }),
116
+ onChange: handleSearch
117
+ })), /*#__PURE__*/React.createElement("div", {
118
+ className: styles['icon-warp']
119
+ }, filteredData && filteredData.length > 0 && filteredData.map(function (iconItem) {
120
+ return /*#__PURE__*/React.createElement("div", {
121
+ key: iconItem.font_class,
122
+ className: styles['icon-box'],
123
+ onClick: function onClick() {
124
+ return handleClick(iconItem);
125
+ }
126
+ }, /*#__PURE__*/React.createElement(Tooltip, {
127
+ placement: "top",
128
+ title: iconItem.name
129
+ }, /*#__PURE__*/React.createElement(IconFont, {
130
+ className: styles['icon-item'],
131
+ type: "".concat(iconData.css_prefix_text).concat(iconItem.font_class)
132
+ })));
133
+ })));
134
+ }
@@ -0,0 +1,130 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useState } from 'react';
3
+ import { useCreation } from 'ahooks';
4
+ import styles from "../style/layout-ratio.less";
5
+ import { formatMessage } from '@luck-design-biz/base/utils';
6
+ import RuleInput from "../components/RuleInput";
7
+ import PanelItem from "../components/PanelItem";
8
+ var _RATIOS_ = ['12', '6:6', '3:9', '9:3', '4:4:4', '3:6:3', '3:3:3:3', '2:2:2:2:2:2'];
9
+ var _DEFAULTRATIO_ = '12:3:9';
10
+
11
+ /**
12
+ * `LayoutRatio`组件提供了一个布局比例选择器,允许用户选择或输入特定的比例配置。
13
+ * 支持的比例配置包括预定义的比例数组`_RATIOS_`,用户还可以通过输入框自定义比例,
14
+ * 自定义比例需要符合一定的规则:是数字或数字与冒号的组合,且数字之和必须等于12。
15
+ * ,
16
+ * 允许父组件获取当前选中的布局比例。
17
+ *
18
+ * @component
19
+ * @example
20
+ * ```jsxsdsdsdsdsdsdsd
21
+ * <LayoutRatio
22
+ * value="6:6"
23
+ * onChange={(option) => console.log(option)}
24
+ * />
25
+ * ```
26
+ *
27
+ * @param {Object} props
28
+ * @param {string} [props.value='12'] 初始化时选中的布局比例,默认为"12"。
29
+ * @param {Function} props.onChange 当用户选择一个新的布局比例时调用的回调函数。
30
+ *
31
+ * @returns {React.Element} 渲染的React元素。
32
+ */
33
+ var LayoutRatio = function LayoutRatio(_ref) {
34
+ var defaultValue = _ref.defaultValue,
35
+ onChange = _ref.onChange;
36
+ var _useState = useState(defaultValue || _DEFAULTRATIO_),
37
+ _useState2 = _slicedToArray(_useState, 2),
38
+ currentRatio = _useState2[0],
39
+ setCurrentRatio = _useState2[1];
40
+ var handleInputChange = function handleInputChange(_, value) {
41
+ // console.log('value', value);
42
+ // if (!value) value = _DEFAULTRATIO_;
43
+ setCurrentRatio(value);
44
+ onChange === null || onChange === void 0 || onChange(value);
45
+ };
46
+ var handGridClick = function handGridClick(selectedRadio) {
47
+ // console.log('selectedRadio', selectedRadio);
48
+ setCurrentRatio(selectedRadio);
49
+ onChange === null || onChange === void 0 || onChange(selectedRadio);
50
+ };
51
+
52
+ // 定义验证规则
53
+ var rules = [{
54
+ func: function func(value) {
55
+ // 首先,检查value是否为字符串
56
+ if (typeof value !== 'string') return false;
57
+
58
+ // 使用正则表达式检查字符串是否只包含数字和冒号,并且不以冒号开始或结束
59
+ return /^[0-9]+(:[0-9]+)*$/.test(value);
60
+ },
61
+ err: formatMessage({
62
+ id: 'luckda.lowcode.painter.panel-section.Layoutratio.err',
63
+ label: '必须是数字或者数字加:号的组合,且数字之和必须等于12'
64
+ })
65
+ }];
66
+ var _useCreation = useCreation(function () {
67
+ return {
68
+ isCurrentInRatios: _RATIOS_.includes(currentRatio),
69
+ currentItemRatios: currentRatio.split(':')
70
+ };
71
+ }, [currentRatio]),
72
+ isCurrentInRatios = _useCreation.isCurrentInRatios,
73
+ currentItemRatios = _useCreation.currentItemRatios;
74
+ return /*#__PURE__*/React.createElement("div", {
75
+ className: styles['lc-painter-panel-section-layoutratio']
76
+ }, /*#__PURE__*/React.createElement("div", {
77
+ className: styles['ratio-view']
78
+ }, /*#__PURE__*/React.createElement("div", {
79
+ className: styles['gridbox-container']
80
+ }, _RATIOS_.map(function (ratio, i) {
81
+ var itemRatios = ratio.split(':');
82
+ var isCurrent = ratio == currentRatio;
83
+ var className = styles['gridbox'];
84
+ if (isCurrent) className = className + ' ' + styles['current'];
85
+ return /*#__PURE__*/React.createElement("div", {
86
+ key: "grid-".concat(i),
87
+ className: className,
88
+ onClick: function onClick() {
89
+ return handGridClick(ratio);
90
+ }
91
+ }, itemRatios.map(function (itemRatio, j) {
92
+ return /*#__PURE__*/React.createElement("div", {
93
+ key: "gridItem-".concat(j),
94
+ className: styles['girditem'],
95
+ style: {
96
+ gridColumn: 'span ' + itemRatio
97
+ }
98
+ });
99
+ }));
100
+ }), !isCurrentInRatios && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
101
+ className: "".concat(styles['gridbox'], " ").concat(styles['current']),
102
+ onClick: function onClick() {
103
+ return handGridClick(ratio);
104
+ }
105
+ }, currentItemRatios.map(function (itemRatio, index) {
106
+ return /*#__PURE__*/React.createElement("div", {
107
+ key: "itemRatio-".concat(index),
108
+ className: styles['girditem'],
109
+ style: {
110
+ gridColumn: 'span ' + itemRatio
111
+ }
112
+ });
113
+ }))))), /*#__PURE__*/React.createElement("div", {
114
+ className: styles['ratio-input']
115
+ }, /*#__PURE__*/React.createElement(PanelItem, {
116
+ label: formatMessage({
117
+ id: 'luckda.lowcode.painter.panel-section.Layoutratio.label',
118
+ label: '列比例'
119
+ })
120
+ }, /*#__PURE__*/React.createElement(RuleInput, {
121
+ placeholder: formatMessage({
122
+ id: 'luckda.lowcode.painter.panel-section.Layoutratio.placeholder',
123
+ label: '请输入列比例'
124
+ }),
125
+ rules: rules,
126
+ onValueChange: handleInputChange,
127
+ value: currentRatio
128
+ }))));
129
+ };
130
+ export default LayoutRatio;