@tmagic/editor 1.8.0-manmanyu.8 → 1.8.0

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 (281) hide show
  1. package/dist/es/Editor.vue_vue_type_script_setup_true_lang.js +22 -13
  2. package/dist/es/components/CodeBlockEditor.vue_vue_type_script_setup_true_lang.js +10 -5
  3. package/dist/es/components/CodeParams.vue_vue_type_script_setup_true_lang.js +7 -6
  4. package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +21 -119
  5. package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +21 -5
  6. package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +62 -16
  7. package/dist/es/components/Icon.vue_vue_type_script_setup_true_lang.js +1 -1
  8. package/dist/es/components/Resizer.vue_vue_type_script_setup_true_lang.js +3 -2
  9. package/dist/es/components/ScrollBar.js +0 -1
  10. package/dist/es/components/ScrollBar.vue_vue_type_script_setup_true_lang.js +5 -4
  11. package/dist/es/components/ScrollViewer.vue_vue_type_script_setup_true_lang.js +1 -1
  12. package/dist/es/components/SearchInput.vue_vue_type_script_setup_true_lang.js +1 -1
  13. package/dist/es/components/SplitView.vue_vue_type_script_setup_true_lang.js +1 -1
  14. package/dist/es/components/ToolButton.vue_vue_type_script_setup_true_lang.js +1 -1
  15. package/dist/es/components/Tree.vue_vue_type_script_setup_true_lang.js +1 -1
  16. package/dist/es/components/TreeNode.vue_vue_type_script_setup_true_lang.js +1 -1
  17. package/dist/es/components/ViewForm.js +5 -0
  18. package/dist/es/components/ViewForm.vue_vue_type_script_setup_true_lang.js +56 -0
  19. package/dist/es/editorProps.js +7 -1
  20. package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +1 -1
  21. package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +1 -1
  22. package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +30 -113
  23. package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +2 -2
  24. package/dist/es/fields/CondOpSelect.vue_vue_type_script_setup_true_lang.js +7 -19
  25. package/dist/es/fields/DataSourceFieldSelect/FieldSelect.vue_vue_type_script_setup_true_lang.js +7 -6
  26. package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +4 -2
  27. package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +12 -4
  28. package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +9 -20
  29. package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +2 -2
  30. package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +5 -3
  31. package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +9 -4
  32. package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +2 -2
  33. package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +10 -110
  34. package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +52 -363
  35. package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +1 -1
  36. package/dist/es/fields/PageFragmentSelect.vue_vue_type_script_setup_true_lang.js +1 -1
  37. package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +3 -6
  38. package/dist/es/fields/StyleSetter/components/BackgroundPosition.vue_vue_type_script_setup_true_lang.js +1 -1
  39. package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +4 -35
  40. package/dist/es/fields/StyleSetter/components/Box.vue_vue_type_script_setup_true_lang.js +3 -3
  41. package/dist/es/fields/StyleSetter/configs.js +663 -0
  42. package/dist/es/fields/StyleSetter/icons/align-items/Center.js +1 -1
  43. package/dist/es/fields/StyleSetter/icons/align-items/FlexEnd.js +1 -1
  44. package/dist/es/fields/StyleSetter/icons/align-items/FlexStart.js +1 -1
  45. package/dist/es/fields/StyleSetter/icons/align-items/SpaceAround.js +1 -1
  46. package/dist/es/fields/StyleSetter/icons/align-items/SpaceBetween.js +1 -1
  47. package/dist/es/fields/StyleSetter/icons/background-repeat/NoRepeat.js +1 -1
  48. package/dist/es/fields/StyleSetter/icons/background-repeat/Repeat.js +1 -1
  49. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatX.js +1 -1
  50. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatY.js +1 -1
  51. package/dist/es/fields/StyleSetter/icons/display/Block.js +1 -1
  52. package/dist/es/fields/StyleSetter/icons/display/Flex.js +1 -1
  53. package/dist/es/fields/StyleSetter/icons/display/Inline.js +1 -1
  54. package/dist/es/fields/StyleSetter/icons/display/InlineBlock.js +1 -1
  55. package/dist/es/fields/StyleSetter/icons/display/None.js +1 -1
  56. package/dist/es/fields/StyleSetter/icons/flex-direction/Column.js +1 -1
  57. package/dist/es/fields/StyleSetter/icons/flex-direction/ColumnReverse.js +1 -1
  58. package/dist/es/fields/StyleSetter/icons/flex-direction/Row.js +1 -1
  59. package/dist/es/fields/StyleSetter/icons/flex-direction/RowReverse.js +1 -1
  60. package/dist/es/fields/StyleSetter/icons/justify-content/Center.js +1 -1
  61. package/dist/es/fields/StyleSetter/icons/justify-content/FlexEnd.js +1 -1
  62. package/dist/es/fields/StyleSetter/icons/justify-content/FlexStart.js +1 -1
  63. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceAround.js +1 -1
  64. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceBetween.js +1 -1
  65. package/dist/es/fields/StyleSetter/icons/text-align/Center.js +1 -1
  66. package/dist/es/fields/StyleSetter/icons/text-align/Left.js +1 -1
  67. package/dist/es/fields/StyleSetter/icons/text-align/Right.js +1 -1
  68. package/dist/es/fields/StyleSetter/pro/Background.vue_vue_type_script_setup_true_lang.js +29 -106
  69. package/dist/es/fields/StyleSetter/pro/Border.vue_vue_type_script_setup_true_lang.js +8 -11
  70. package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +30 -89
  71. package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +29 -297
  72. package/dist/es/fields/StyleSetter/pro/Position.vue_vue_type_script_setup_true_lang.js +29 -82
  73. package/dist/es/fields/StyleSetter/pro/Transform.vue_vue_type_script_setup_true_lang.js +8 -24
  74. package/dist/es/fields/UISelect.js +0 -1
  75. package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +1 -1
  76. package/dist/es/fields/configs/codeSelect.js +98 -0
  77. package/dist/es/fields/configs/displayConds.js +158 -0
  78. package/dist/es/fields/configs/eventSelect.js +225 -0
  79. package/dist/es/fields/configs/stickyAddButton.js +21 -0
  80. package/dist/es/fields/headless-validation.js +139 -0
  81. package/dist/es/headless.js +2 -0
  82. package/dist/es/hooks/use-code-block-edit.js +4 -2
  83. package/dist/es/hooks/use-compare-form.js +101 -0
  84. package/dist/es/hooks/use-form-context.js +29 -0
  85. package/dist/es/hooks/use-stage.js +1 -0
  86. package/dist/es/icons/CenterIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  87. package/dist/es/icons/CodeIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  88. package/dist/es/icons/DatasourceIcon.js +1 -1
  89. package/dist/es/icons/FolderMinusIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  90. package/dist/es/index.js +17 -9
  91. package/dist/es/initService.js +52 -16
  92. package/dist/es/layouts/AddPageBox.vue_vue_type_script_setup_true_lang.js +1 -1
  93. package/dist/es/layouts/CodeEditor.vue_vue_type_script_setup_true_lang.js +26 -10
  94. package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +11 -8
  95. package/dist/es/layouts/NavMenu.vue_vue_type_script_setup_true_lang.js +3 -3
  96. package/dist/es/layouts/NavMenuColumn.vue_vue_type_script_setup_true_lang.js +1 -1
  97. package/dist/es/layouts/history-list/Bucket.vue_vue_type_script_setup_true_lang.js +1 -1
  98. package/dist/es/layouts/history-list/BucketTab.vue_vue_type_script_setup_true_lang.js +8 -5
  99. package/dist/es/layouts/history-list/GroupRow.vue_vue_type_script_setup_true_lang.js +1 -1
  100. package/dist/es/layouts/history-list/HistoryDiffDialog.vue_vue_type_script_setup_true_lang.js +26 -10
  101. package/dist/es/layouts/history-list/HistoryListPanel.vue_vue_type_script_setup_true_lang.js +36 -28
  102. package/dist/es/layouts/history-list/InitialRow.vue_vue_type_script_setup_true_lang.js +1 -1
  103. package/dist/es/layouts/history-list/PageTab.vue_vue_type_script_setup_true_lang.js +1 -1
  104. package/dist/es/layouts/history-list/composables.js +1 -1
  105. package/dist/es/layouts/history-list/useHistoryList.js +4 -4
  106. package/dist/es/layouts/history-list/useHistoryRevert.js +38 -33
  107. package/dist/es/layouts/page-bar/AddButton.vue_vue_type_script_setup_true_lang.js +1 -1
  108. package/dist/es/layouts/page-bar/PageBar.vue_vue_type_script_setup_true_lang.js +1 -1
  109. package/dist/es/layouts/page-bar/PageBarScrollContainer.vue_vue_type_script_setup_true_lang.js +1 -1
  110. package/dist/es/layouts/page-bar/PageList.vue_vue_type_script_setup_true_lang.js +1 -1
  111. package/dist/es/layouts/page-bar/Search.vue_vue_type_script_setup_true_lang.js +2 -2
  112. package/dist/es/layouts/props-panel/FormPanel.vue_vue_type_script_setup_true_lang.js +50 -20
  113. package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +53 -35
  114. package/dist/es/layouts/props-panel/use-style-panel.js +3 -2
  115. package/dist/es/layouts/sidebar/ComponentListPanel.vue_vue_type_script_setup_true_lang.js +3 -3
  116. package/dist/es/layouts/sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +21 -36
  117. package/dist/es/layouts/sidebar/code-block/CodeBlockList.vue_vue_type_script_setup_true_lang.js +1 -1
  118. package/dist/es/layouts/sidebar/code-block/CodeBlockListPanel.vue_vue_type_script_setup_true_lang.js +4 -4
  119. package/dist/es/layouts/sidebar/code-block/useContentMenu.js +19 -4
  120. package/dist/es/layouts/sidebar/data-source/DataSourceAddButton.vue_vue_type_script_setup_true_lang.js +1 -1
  121. package/dist/es/layouts/sidebar/data-source/DataSourceConfigPanel.vue_vue_type_script_setup_true_lang.js +9 -4
  122. package/dist/es/layouts/sidebar/data-source/DataSourceList.vue_vue_type_script_setup_true_lang.js +1 -1
  123. package/dist/es/layouts/sidebar/data-source/DataSourceListPanel.vue_vue_type_script_setup_true_lang.js +4 -4
  124. package/dist/es/layouts/sidebar/data-source/useContentMenu.js +19 -4
  125. package/dist/es/layouts/sidebar/layer/LayerMenu.vue_vue_type_script_setup_true_lang.js +3 -3
  126. package/dist/es/layouts/sidebar/layer/LayerNodeContent.js +5 -0
  127. package/dist/es/layouts/sidebar/layer/LayerNodeContent.vue_vue_type_script_setup_true_lang.js +46 -0
  128. package/dist/es/layouts/sidebar/layer/LayerNodeTool.vue_vue_type_script_setup_true_lang.js +1 -1
  129. package/dist/es/layouts/sidebar/layer/LayerPanel.vue_vue_type_script_setup_true_lang.js +6 -4
  130. package/dist/es/layouts/sidebar/layer/use-click.js +3 -3
  131. package/dist/es/layouts/sidebar/layer/use-drag.js +11 -10
  132. package/dist/es/layouts/sidebar/layer/use-node-status.js +2 -2
  133. package/dist/es/layouts/workspace/Breadcrumb.vue_vue_type_script_setup_true_lang.js +1 -1
  134. package/dist/es/layouts/workspace/Workspace.vue_vue_type_script_setup_true_lang.js +1 -1
  135. package/dist/es/layouts/workspace/viewer/NodeListMenu.vue_vue_type_script_setup_true_lang.js +9 -3
  136. package/dist/es/layouts/workspace/viewer/Stage.vue_vue_type_script_setup_true_lang.js +55 -9
  137. package/dist/es/layouts/workspace/viewer/StageOverlay.vue_vue_type_script_setup_true_lang.js +1 -1
  138. package/dist/es/layouts/workspace/viewer/ViewerMenu.vue_vue_type_script_setup_true_lang.js +8 -8
  139. package/dist/es/plugin.js +35 -23
  140. package/dist/es/services/codeBlock.js +40 -31
  141. package/dist/es/services/dataSource.js +46 -34
  142. package/dist/es/services/dep.js +162 -41
  143. package/dist/es/services/editor.js +373 -137
  144. package/dist/es/services/events.js +4 -4
  145. package/dist/es/services/history.js +275 -392
  146. package/dist/es/services/keybinding.js +3 -3
  147. package/dist/es/services/props.js +2 -1
  148. package/dist/es/services/storage.js +2 -2
  149. package/dist/es/services/ui.js +7 -2
  150. package/dist/es/style.css +277 -114
  151. package/dist/es/utils/code-block.js +14 -7
  152. package/dist/es/utils/config.js +4 -1
  153. package/dist/es/utils/const.js +2 -2
  154. package/dist/es/utils/content-menu.js +2 -2
  155. package/dist/es/utils/data-source/index.js +34 -12
  156. package/dist/es/utils/dep/collect-worker-client.js +154 -0
  157. package/dist/es/utils/dep/idle-task.js +70 -22
  158. package/dist/es/utils/dep/worker.js +1 -1
  159. package/dist/es/utils/editor.js +4 -2
  160. package/dist/es/utils/event.js +135 -0
  161. package/dist/es/utils/history.js +35 -47
  162. package/dist/es/utils/monaco-editor.js +22 -6
  163. package/dist/es/utils/operator.js +2 -2
  164. package/dist/es/utils/props.js +50 -106
  165. package/dist/es/utils/type-match-rules.js +356 -0
  166. package/dist/style.css +277 -114
  167. package/dist/themes/magic-admin.css +978 -175
  168. package/dist/tmagic-editor-headless.umd.cjs +10880 -0
  169. package/dist/tmagic-editor.umd.cjs +13047 -11363
  170. package/package.json +18 -13
  171. package/src/Editor.vue +23 -6
  172. package/src/components/CodeBlockEditor.vue +3 -0
  173. package/src/components/CodeParams.vue +10 -4
  174. package/src/components/CompareForm.vue +20 -190
  175. package/src/components/ContentMenu.vue +34 -6
  176. package/src/components/FloatingBox.vue +71 -7
  177. package/src/components/ScrollBar.vue +0 -67
  178. package/src/components/ViewForm.vue +54 -0
  179. package/src/editorProps.ts +23 -10
  180. package/src/fields/Code.vue +1 -1
  181. package/src/fields/CodeSelect.vue +20 -113
  182. package/src/fields/CodeSelectCol.vue +1 -1
  183. package/src/fields/CondOpSelect.vue +5 -26
  184. package/src/fields/DataSourceFieldSelect/FieldSelect.vue +2 -2
  185. package/src/fields/DataSourceFieldSelect/Index.vue +4 -1
  186. package/src/fields/DataSourceFields.vue +5 -1
  187. package/src/fields/DataSourceInput.vue +10 -28
  188. package/src/fields/DataSourceMethodSelect.vue +1 -1
  189. package/src/fields/DataSourceMethods.vue +6 -2
  190. package/src/fields/DataSourceMocks.vue +3 -0
  191. package/src/fields/DataSourceSelect.vue +1 -1
  192. package/src/fields/DisplayConds.vue +17 -139
  193. package/src/fields/EventSelect.vue +29 -416
  194. package/src/fields/KeyValue.vue +1 -1
  195. package/src/fields/StyleSetter/Index.vue +2 -8
  196. package/src/fields/StyleSetter/components/Border.vue +4 -38
  197. package/src/fields/StyleSetter/components/Box.vue +1 -1
  198. package/src/fields/StyleSetter/components/Position.vue +1 -1
  199. package/src/fields/StyleSetter/configs.ts +690 -0
  200. package/src/fields/StyleSetter/pro/Background.vue +9 -64
  201. package/src/fields/StyleSetter/pro/Border.vue +5 -16
  202. package/src/fields/StyleSetter/pro/Font.vue +11 -71
  203. package/src/fields/StyleSetter/pro/Layout.vue +10 -230
  204. package/src/fields/StyleSetter/pro/Position.vue +11 -82
  205. package/src/fields/StyleSetter/pro/Transform.vue +6 -34
  206. package/src/fields/UISelect.vue +0 -12
  207. package/src/fields/configs/codeSelect.ts +127 -0
  208. package/src/fields/configs/displayConds.ts +184 -0
  209. package/src/fields/configs/eventSelect.ts +309 -0
  210. package/src/fields/configs/stickyAddButton.ts +32 -0
  211. package/src/fields/headless-validation.ts +177 -0
  212. package/src/headless.ts +33 -0
  213. package/src/hooks/index.ts +1 -0
  214. package/src/hooks/use-compare-form.ts +166 -0
  215. package/src/hooks/use-form-context.ts +56 -0
  216. package/src/hooks/use-stage.ts +1 -0
  217. package/src/index.ts +9 -0
  218. package/src/initService.ts +73 -18
  219. package/src/layouts/CodeEditor.vue +32 -6
  220. package/src/layouts/Framework.vue +7 -6
  221. package/src/layouts/history-list/BucketTab.vue +2 -2
  222. package/src/layouts/history-list/HistoryDiffDialog.vue +33 -15
  223. package/src/layouts/history-list/HistoryListPanel.vue +16 -18
  224. package/src/layouts/history-list/useHistoryRevert.ts +57 -41
  225. package/src/layouts/props-panel/FormPanel.vue +75 -20
  226. package/src/layouts/props-panel/PropsPanel.vue +81 -30
  227. package/src/layouts/props-panel/use-style-panel.ts +4 -3
  228. package/src/layouts/sidebar/ComponentListPanel.vue +6 -2
  229. package/src/layouts/sidebar/Sidebar.vue +5 -3
  230. package/src/layouts/sidebar/code-block/CodeBlockListPanel.vue +5 -2
  231. package/src/layouts/sidebar/code-block/useContentMenu.ts +14 -2
  232. package/src/layouts/sidebar/data-source/DataSourceConfigPanel.vue +3 -0
  233. package/src/layouts/sidebar/data-source/DataSourceListPanel.vue +3 -3
  234. package/src/layouts/sidebar/data-source/useContentMenu.ts +14 -2
  235. package/src/layouts/sidebar/layer/LayerMenu.vue +2 -2
  236. package/src/layouts/sidebar/layer/LayerNodeContent.vue +57 -0
  237. package/src/layouts/sidebar/layer/LayerPanel.vue +5 -2
  238. package/src/layouts/sidebar/layer/use-click.ts +3 -3
  239. package/src/layouts/sidebar/layer/use-node-status.ts +2 -2
  240. package/src/layouts/workspace/viewer/NodeListMenu.vue +4 -1
  241. package/src/layouts/workspace/viewer/Stage.vue +80 -10
  242. package/src/layouts/workspace/viewer/ViewerMenu.vue +7 -7
  243. package/src/plugin.ts +35 -25
  244. package/src/services/codeBlock.ts +4 -0
  245. package/src/services/dataSource.ts +3 -0
  246. package/src/services/dep.ts +292 -47
  247. package/src/services/editor.ts +383 -120
  248. package/src/services/events.ts +8 -7
  249. package/src/services/history.ts +22 -1
  250. package/src/services/keybinding.ts +3 -3
  251. package/src/services/ui.ts +26 -5
  252. package/src/theme/code-block.scss +0 -37
  253. package/src/theme/display-conds.scss +4 -0
  254. package/src/theme/event.scss +25 -33
  255. package/src/theme/floating-box.scss +9 -1
  256. package/src/theme/framework.scss +4 -1
  257. package/src/theme/layer-node-content.scss +14 -0
  258. package/src/theme/nav-menu.scss +5 -1
  259. package/src/theme/props-panel.scss +17 -3
  260. package/src/theme/scroll-bar.scss +64 -0
  261. package/src/theme/theme.scss +3 -0
  262. package/src/theme/themes/magic-admin/index.scss +109 -9
  263. package/src/theme/ui-select.scss +9 -0
  264. package/src/type.ts +216 -6
  265. package/src/utils/code-block.ts +1 -0
  266. package/src/utils/config.ts +9 -1
  267. package/src/utils/const.ts +3 -3
  268. package/src/utils/content-menu.ts +2 -2
  269. package/src/utils/data-source/index.ts +31 -12
  270. package/src/utils/dep/collect-worker-client.ts +215 -0
  271. package/src/utils/dep/idle-task.ts +104 -35
  272. package/src/utils/dep/worker.ts +113 -9
  273. package/src/utils/event.ts +237 -0
  274. package/src/utils/index.ts +2 -0
  275. package/src/utils/monaco-editor.ts +27 -0
  276. package/src/utils/operator.ts +2 -2
  277. package/src/utils/props.ts +61 -122
  278. package/src/utils/type-match-rules.ts +697 -0
  279. package/types/headless.d.ts +17 -0
  280. package/types/index.d.ts +1494 -978
  281. package/src/fields/StyleSetter/icons/align-items/index copy.ts +0 -5
@@ -1,28 +1,10 @@
1
+ import { createLayoutConfig } from "../configs.js";
1
2
  import Box_default from "../components/Box.js";
2
- import Center_default from "../icons/align-items/Center.js";
3
- import FlexEnd_default from "../icons/align-items/FlexEnd.js";
4
- import FlexStart_default from "../icons/align-items/FlexStart.js";
5
- import SpaceAround_default from "../icons/align-items/SpaceAround.js";
6
- import SpaceBetween_default from "../icons/align-items/SpaceBetween.js";
7
- import Block_default from "../icons/display/Block.js";
8
- import Flex_default from "../icons/display/Flex.js";
9
- import Inline_default from "../icons/display/Inline.js";
10
- import InlineBlock_default from "../icons/display/InlineBlock.js";
11
- import None_default from "../icons/display/None.js";
12
- import Column_default from "../icons/flex-direction/Column.js";
13
- import ColumnReverse_default from "../icons/flex-direction/ColumnReverse.js";
14
- import Row_default from "../icons/flex-direction/Row.js";
15
- import RowReverse_default from "../icons/flex-direction/RowReverse.js";
16
- import Center_default$1 from "../icons/justify-content/Center.js";
17
- import FlexEnd_default$1 from "../icons/justify-content/FlexEnd.js";
18
- import FlexStart_default$1 from "../icons/justify-content/FlexStart.js";
19
- import SpaceAround_default$1 from "../icons/justify-content/SpaceAround.js";
20
- import SpaceBetween_default$1 from "../icons/justify-content/SpaceBetween.js";
21
- import { MContainer, defineFormItem } from "@tmagic/form";
3
+ import { MContainer } from "@tmagic/form";
22
4
  import { useTheme } from "@tmagic/design";
23
- import { Fragment, createElementBlock, createVNode, defineComponent, markRaw, openBlock, unref, vShow, withDirectives } from "vue";
5
+ import { Fragment, computed, createBlock, createElementBlock, createVNode, defineComponent, openBlock, renderList, unref, vShow, withDirectives } from "vue";
24
6
  //#region packages/editor/src/fields/StyleSetter/pro/Layout.vue?vue&type=script&setup=true&lang.ts
25
- var Layout_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
7
+ var Layout_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
26
8
  __name: "Layout",
27
9
  props: {
28
10
  values: {},
@@ -30,292 +12,42 @@ var Layout_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
30
12
  isCompare: { type: Boolean },
31
13
  disabled: { type: Boolean },
32
14
  size: {},
33
- theme: {}
15
+ theme: {},
16
+ prop: {}
34
17
  },
35
18
  emits: ["change", "addDiffCount"],
36
19
  setup(__props, { emit: __emit }) {
37
20
  const props = __props;
38
21
  const emit = __emit;
39
22
  const displayTheme = useTheme(props);
40
- const config = defineFormItem({ items: [
41
- {
42
- name: "display",
43
- text: "模式",
44
- type: "radioGroup",
45
- childType: displayTheme.value !== "magic-admin" ? "button" : "default",
46
- labelWidth: "68px",
47
- options: [
48
- {
49
- value: "inline",
50
- icon: displayTheme.value !== "magic-admin" ? markRaw(Inline_default) : void 0,
51
- tooltip: "内联布局 inline",
52
- text: "内联布局\n inline"
53
- },
54
- {
55
- value: "flex",
56
- icon: displayTheme.value !== "magic-admin" ? markRaw(Flex_default) : void 0,
57
- tooltip: "弹性布局 flex",
58
- text: "弹性布局\n flex"
59
- },
60
- {
61
- value: "block",
62
- icon: displayTheme.value !== "magic-admin" ? markRaw(Block_default) : void 0,
63
- tooltip: "块级布局 block",
64
- text: "块级布局\n block"
65
- },
66
- {
67
- value: "inline-block",
68
- icon: displayTheme.value !== "magic-admin" ? markRaw(InlineBlock_default) : void 0,
69
- tooltip: "内联块布局 inline-block",
70
- text: "内联块布局\n inline-block"
71
- },
72
- {
73
- value: "none",
74
- icon: displayTheme.value !== "magic-admin" ? markRaw(None_default) : void 0,
75
- tooltip: "隐藏 none",
76
- text: "隐藏\n none"
77
- }
78
- ]
79
- },
80
- {
81
- name: "flexDirection",
82
- text: "主轴方向",
83
- type: "radioGroup",
84
- childType: "button",
85
- labelWidth: "68px",
86
- options: [
87
- {
88
- value: "row",
89
- icon: markRaw(Row_default),
90
- tooltip: "水平方向 起点在左侧 row",
91
- text: "左起点"
92
- },
93
- {
94
- value: "row-reverse",
95
- icon: markRaw(RowReverse_default),
96
- tooltip: "水平方向 起点在右侧 row-reverse",
97
- text: "右起点"
98
- },
99
- {
100
- value: "column",
101
- icon: markRaw(Column_default),
102
- tooltip: "垂直方向 起点在上沿 column",
103
- text: "顶部起点"
104
- },
105
- {
106
- value: "column-reverse",
107
- icon: markRaw(ColumnReverse_default),
108
- tooltip: "垂直方向 起点在下沿 column-reverse",
109
- text: "底部起点"
110
- }
111
- ],
112
- display: (_mForm, { model }) => model.display === "flex"
113
- },
114
- {
115
- name: "justifyContent",
116
- text: "主轴对齐",
117
- type: "radioGroup",
118
- childType: "button",
119
- labelWidth: "68px",
120
- options: [
121
- {
122
- value: "flex-start",
123
- icon: markRaw(FlexStart_default$1),
124
- tooltip: "左对齐 flex-start",
125
- text: "左对齐"
126
- },
127
- {
128
- value: "flex-end",
129
- icon: markRaw(FlexEnd_default$1),
130
- tooltip: "右对齐 flex-end",
131
- text: "右对齐"
132
- },
133
- {
134
- value: "center",
135
- icon: markRaw(Center_default$1),
136
- tooltip: "居中 center",
137
- text: "居中"
138
- },
139
- {
140
- value: "space-between",
141
- icon: markRaw(SpaceBetween_default$1),
142
- tooltip: "两端对齐 space-between",
143
- text: "左右对齐"
144
- },
145
- {
146
- value: "space-around",
147
- icon: markRaw(SpaceAround_default$1),
148
- tooltip: "横向平分 space-around",
149
- text: "横向等分"
150
- }
151
- ],
152
- display: (_mForm, { model }) => model.display === "flex"
153
- },
154
- {
155
- name: "alignItems",
156
- text: "辅轴对齐",
157
- type: "radioGroup",
158
- childType: "button",
159
- labelWidth: "68px",
160
- options: [
161
- {
162
- value: "flex-start",
163
- icon: markRaw(FlexStart_default),
164
- tooltip: "左对齐 flex-start",
165
- text: "上对齐"
166
- },
167
- {
168
- value: "flex-end",
169
- icon: markRaw(FlexEnd_default),
170
- tooltip: "右对齐 flex-end",
171
- text: "下对齐"
172
- },
173
- {
174
- value: "center",
175
- icon: markRaw(Center_default),
176
- tooltip: "居中 center",
177
- text: "居中"
178
- },
179
- {
180
- value: "space-between",
181
- icon: markRaw(SpaceBetween_default),
182
- tooltip: "两端对齐 space-between",
183
- text: "上下对齐"
184
- },
185
- {
186
- value: "space-around",
187
- icon: markRaw(SpaceAround_default),
188
- tooltip: "横向平分 space-around",
189
- text: "纵向等分"
190
- }
191
- ],
192
- display: (_mForm, { model }) => model.display === "flex"
193
- },
194
- {
195
- name: "flexWrap",
196
- text: "换行",
197
- type: "radioGroup",
198
- childType: displayTheme.value !== "magic-admin" ? "button" : "default",
199
- labelWidth: "68px",
200
- options: [
201
- {
202
- value: "nowrap",
203
- text: "不换行",
204
- tooltip: "不换行 nowrap"
205
- },
206
- {
207
- value: "wrap",
208
- text: "正换行",
209
- tooltip: "第一行在上方 wrap"
210
- },
211
- {
212
- value: "wrap-reverse",
213
- text: "逆换行",
214
- tooltip: "第一行在下方 wrap-reverse"
215
- }
216
- ],
217
- display: (_mForm, { model }) => model.display === "flex"
218
- },
219
- {
220
- type: "row",
221
- items: [{
222
- name: "width",
223
- text: "宽度(px)",
224
- labelWidth: "90px",
225
- type: "data-source-field-select",
226
- fieldConfig: { type: "text" }
227
- }]
228
- },
229
- {
230
- type: "row",
231
- items: [{
232
- name: "height",
233
- text: "高度(px)",
234
- labelWidth: "90px",
235
- type: "data-source-field-select",
236
- fieldConfig: { type: "text" }
237
- }]
238
- },
239
- {
240
- type: "row",
241
- items: [{
242
- type: "data-source-field-select",
243
- text: "overflow",
244
- name: "overflow",
245
- labelWidth: "90px",
246
- checkStrictly: false,
247
- dataSourceFieldType: ["string"],
248
- fieldConfig: {
249
- type: "select",
250
- clearable: true,
251
- allowCreate: true,
252
- options: [
253
- {
254
- text: "visible",
255
- value: "visible"
256
- },
257
- {
258
- text: "hidden",
259
- value: "hidden"
260
- },
261
- {
262
- text: "clip",
263
- value: "clip"
264
- },
265
- {
266
- text: "scroll",
267
- value: "scroll"
268
- },
269
- {
270
- text: "auto",
271
- value: "auto"
272
- },
273
- {
274
- text: "overlay",
275
- value: "overlay"
276
- },
277
- {
278
- text: "initial",
279
- value: "initial"
280
- }
281
- ]
282
- }
283
- }]
284
- },
285
- {
286
- type: "row",
287
- items: [{
288
- type: "data-source-field-select",
289
- text: "透明度(%)",
290
- name: "opacity",
291
- labelWidth: "90px",
292
- dataSourceFieldType: ["string", "number"],
293
- fieldConfig: { type: "text" }
294
- }]
295
- }
296
- ] });
23
+ const formConfig = computed(() => createLayoutConfig(displayTheme.value));
297
24
  const change = (value, eventData) => {
298
25
  emit("change", value, eventData);
299
26
  };
300
27
  const onAddDiffCount = () => emit("addDiffCount");
301
28
  return (_ctx, _cache) => {
302
- return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(MContainer), {
303
- config: unref(config),
304
- model: __props.values,
305
- "last-values": __props.lastValues,
306
- "is-compare": __props.isCompare,
307
- size: __props.size,
308
- disabled: __props.disabled,
309
- onChange: change,
310
- onAddDiffCount
311
- }, null, 8, [
312
- "config",
313
- "model",
314
- "last-values",
315
- "is-compare",
316
- "size",
317
- "disabled"
318
- ]), withDirectives(createVNode(Box_default, {
29
+ return openBlock(), createElementBlock(Fragment, null, [(openBlock(true), createElementBlock(Fragment, null, renderList(formConfig.value, (item) => {
30
+ return openBlock(), createBlock(unref(MContainer), {
31
+ prop: __props.prop,
32
+ key: item.name,
33
+ config: item,
34
+ model: __props.values,
35
+ "last-values": __props.lastValues,
36
+ "is-compare": __props.isCompare,
37
+ size: __props.size,
38
+ disabled: __props.disabled,
39
+ onChange: change,
40
+ onAddDiffCount
41
+ }, null, 8, [
42
+ "prop",
43
+ "config",
44
+ "model",
45
+ "last-values",
46
+ "is-compare",
47
+ "size",
48
+ "disabled"
49
+ ]);
50
+ }), 128)), withDirectives(createVNode(Box_default, {
319
51
  model: __props.values,
320
52
  "last-values": __props.lastValues,
321
53
  "is-compare": __props.isCompare,
@@ -1,102 +1,49 @@
1
- import { MContainer, defineFormItem } from "@tmagic/form";
2
- import { createBlock, defineComponent, openBlock, unref } from "vue";
1
+ import { createPositionConfig } from "../configs.js";
2
+ import { MContainer } from "@tmagic/form";
3
+ import { Fragment, computed, createBlock, createElementBlock, defineComponent, openBlock, renderList, unref } from "vue";
3
4
  //#region packages/editor/src/fields/StyleSetter/pro/Position.vue?vue&type=script&setup=true&lang.ts
4
- var Position_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
5
+ var Position_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
5
6
  __name: "Position",
6
7
  props: {
7
8
  values: {},
8
9
  lastValues: {},
9
10
  isCompare: { type: Boolean },
10
11
  disabled: { type: Boolean },
11
- size: {}
12
+ size: {},
13
+ prop: {}
12
14
  },
13
15
  emits: ["change", "addDiffCount"],
14
16
  setup(__props, { emit: __emit }) {
15
17
  const props = __props;
16
18
  const emit = __emit;
17
- const positionText = {
18
- static: "不定位",
19
- relative: "相对定位",
20
- absolute: "绝对定位",
21
- fixed: "固定定位",
22
- sticky: "粘性定位"
23
- };
24
- const config = defineFormItem({ items: [
25
- {
26
- name: "position",
27
- text: "定位",
28
- labelWidth: "68px",
29
- type: "data-source-field-select",
30
- fieldConfig: {
31
- type: "select",
32
- options: Object.keys(positionText).map((item) => ({
33
- value: item,
34
- text: `${item}(${positionText[item]})`
35
- }))
36
- }
37
- },
38
- {
39
- type: "row",
40
- labelWidth: "68px",
41
- display: () => props.values.position !== "static",
42
- items: [{
43
- name: "left",
44
- type: "data-source-field-select",
45
- text: "left",
46
- fieldConfig: { type: "text" }
47
- }, {
48
- name: "top",
49
- type: "data-source-field-select",
50
- text: "top",
51
- fieldConfig: { type: "text" }
52
- }]
53
- },
54
- {
55
- type: "row",
56
- labelWidth: "68px",
57
- display: () => props.values.position !== "static",
58
- items: [{
59
- name: "right",
60
- type: "data-source-field-select",
61
- text: "right",
62
- fieldConfig: { type: "text" }
63
- }, {
64
- name: "bottom",
65
- type: "data-source-field-select",
66
- text: "bottom",
67
- fieldConfig: { type: "text" }
68
- }]
69
- },
70
- {
71
- labelWidth: "68px",
72
- name: "zIndex",
73
- text: "zIndex",
74
- type: "data-source-field-select",
75
- fieldConfig: { type: "text" }
76
- }
77
- ] });
19
+ const formConfig = computed(() => createPositionConfig(props.values));
78
20
  const change = (value, eventData) => {
79
21
  emit("change", value, eventData);
80
22
  };
81
23
  const onAddDiffCount = () => emit("addDiffCount");
82
24
  return (_ctx, _cache) => {
83
- return openBlock(), createBlock(unref(MContainer), {
84
- config: unref(config),
85
- model: __props.values,
86
- "last-values": __props.lastValues,
87
- "is-compare": __props.isCompare,
88
- size: __props.size,
89
- disabled: __props.disabled,
90
- onChange: change,
91
- onAddDiffCount
92
- }, null, 8, [
93
- "config",
94
- "model",
95
- "last-values",
96
- "is-compare",
97
- "size",
98
- "disabled"
99
- ]);
25
+ return openBlock(true), createElementBlock(Fragment, null, renderList(formConfig.value, (item, index) => {
26
+ return openBlock(), createBlock(unref(MContainer), {
27
+ prop: __props.prop,
28
+ key: index,
29
+ config: item,
30
+ model: __props.values,
31
+ "last-values": __props.lastValues,
32
+ "is-compare": __props.isCompare,
33
+ size: __props.size,
34
+ disabled: __props.disabled,
35
+ onChange: change,
36
+ onAddDiffCount
37
+ }, null, 8, [
38
+ "prop",
39
+ "config",
40
+ "model",
41
+ "last-values",
42
+ "is-compare",
43
+ "size",
44
+ "disabled"
45
+ ]);
46
+ }), 128);
100
47
  };
101
48
  }
102
49
  });
@@ -1,45 +1,28 @@
1
- import { MContainer, defineFormItem } from "@tmagic/form";
1
+ import { transformConfig } from "../configs.js";
2
+ import { MContainer } from "@tmagic/form";
2
3
  import { createBlock, defineComponent, openBlock, unref } from "vue";
3
4
  //#region packages/editor/src/fields/StyleSetter/pro/Transform.vue?vue&type=script&setup=true&lang.ts
4
- var Transform_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
5
+ var Transform_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
5
6
  __name: "Transform",
6
7
  props: {
7
8
  values: {},
8
9
  lastValues: {},
9
10
  isCompare: { type: Boolean },
10
11
  disabled: { type: Boolean },
11
- size: {}
12
+ size: {},
13
+ prop: {}
12
14
  },
13
15
  emits: ["change", "addDiffCount"],
14
16
  setup(__props, { emit: __emit }) {
15
17
  const emit = __emit;
16
- const config = defineFormItem({ items: [{
17
- name: "transform",
18
- items: [{
19
- name: "rotate",
20
- text: "旋转角度",
21
- labelWidth: "68px",
22
- type: "data-source-field-select",
23
- checkStrictly: false,
24
- dataSourceFieldType: ["string", "number"],
25
- fieldConfig: { type: "text" }
26
- }, {
27
- name: "scale",
28
- text: "缩放",
29
- labelWidth: "68px",
30
- type: "data-source-field-select",
31
- checkStrictly: false,
32
- dataSourceFieldType: ["string", "number"],
33
- fieldConfig: { type: "text" }
34
- }]
35
- }] });
36
18
  const change = (value, eventData) => {
37
19
  emit("change", value, eventData);
38
20
  };
39
21
  const onAddDiffCount = () => emit("addDiffCount");
40
22
  return (_ctx, _cache) => {
41
23
  return openBlock(), createBlock(unref(MContainer), {
42
- config: unref(config),
24
+ prop: __props.prop,
25
+ config: unref(transformConfig),
43
26
  model: __props.values,
44
27
  "last-values": __props.lastValues,
45
28
  "is-compare": __props.isCompare,
@@ -48,6 +31,7 @@ var Transform_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
48
31
  onChange: change,
49
32
  onAddDiffCount
50
33
  }, null, 8, [
34
+ "prop",
51
35
  "config",
52
36
  "model",
53
37
  "last-values",
@@ -1,5 +1,4 @@
1
1
  import UISelect_vue_vue_type_script_setup_true_lang_default from "./UISelect.vue_vue_type_script_setup_true_lang.js";
2
- /* empty css */
3
2
  //#region packages/editor/src/fields/UISelect.vue
4
3
  var UISelect_default = UISelect_vue_vue_type_script_setup_true_lang_default;
5
4
  //#endregion
@@ -11,7 +11,7 @@ var _hoisted_1 = {
11
11
  class: "m-fields-ui-select",
12
12
  style: { "display": "flex" }
13
13
  };
14
- var UISelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
14
+ var UISelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
15
15
  name: "MFieldsUISelect",
16
16
  __name: "UISelect",
17
17
  props: {
@@ -0,0 +1,98 @@
1
+ import codeBlock_default from "../../services/codeBlock.js";
2
+ import dataSource_default from "../../services/dataSource.js";
3
+ import { stickyAddButton } from "./stickyAddButton.js";
4
+ import { HookCodeType, HookType } from "@tmagic/core";
5
+ import { isEmpty } from "lodash-es";
6
+ //#region packages/editor/src/fields/configs/codeSelect.ts
7
+ /**
8
+ * `fields/CodeSelect.vue` 内部渲染的钩子列表配置。
9
+ *
10
+ * 由组件与无渲染校验的嵌套配置共用:组件用它渲染,嵌套配置用它让父表单校验到这些字段。
11
+ */
12
+ var createCodeSelectConfig = (config) => {
13
+ return {
14
+ type: "group-list",
15
+ name: "hookData",
16
+ enableToggleMode: false,
17
+ expandAll: true,
18
+ defaultAdd: () => ({
19
+ codeType: HookCodeType.CODE,
20
+ codeId: ""
21
+ }),
22
+ ...stickyAddButton(`添加${config.text || ""}`),
23
+ title: (_mForm, { model, index }) => {
24
+ if (model.codeType === HookCodeType.DATA_SOURCE_METHOD) {
25
+ if (Array.isArray(model.codeId)) {
26
+ if (model.codeId.length < 2) return index;
27
+ return `${dataSource_default.getDataSourceById(model.codeId[0])?.title} / ${model.codeId[1]}`;
28
+ }
29
+ return Array.isArray(model.codeId) ? model.codeId.join("/") : index;
30
+ }
31
+ const codeContent = codeBlock_default.getCodeContentById(model.codeId);
32
+ if (codeContent) return codeContent.name;
33
+ return model.codeId || index;
34
+ },
35
+ titlePrefix: config.name === void 0 ? void 0 : String(config.name),
36
+ items: [
37
+ {
38
+ text: "代码类型",
39
+ type: "select",
40
+ name: "codeType",
41
+ rules: [{
42
+ typeMatch: true,
43
+ trigger: "change"
44
+ }],
45
+ options: [{
46
+ value: HookCodeType.CODE,
47
+ text: "代码块"
48
+ }, {
49
+ value: HookCodeType.DATA_SOURCE_METHOD,
50
+ text: "数据源方法"
51
+ }],
52
+ defaultValue: HookCodeType.CODE,
53
+ onChange: (_mForm, v, { setModel }) => {
54
+ if (v === HookCodeType.DATA_SOURCE_METHOD) setModel("codeId", []);
55
+ else setModel("codeId", "");
56
+ return v;
57
+ }
58
+ },
59
+ {
60
+ type: "code-select-col",
61
+ name: "codeId",
62
+ text: "代码块",
63
+ rules: [{
64
+ typeMatch: true,
65
+ trigger: "change"
66
+ }],
67
+ display: (_mForm, { model }) => model.codeType !== HookCodeType.DATA_SOURCE_METHOD,
68
+ notEditable: () => !codeBlock_default.getEditStatus()
69
+ },
70
+ {
71
+ type: "data-source-method-select",
72
+ name: "codeId",
73
+ text: "数据源字段",
74
+ rules: [{
75
+ typeMatch: true,
76
+ trigger: "change"
77
+ }],
78
+ display: (_mForm, { model }) => model.codeType === HookCodeType.DATA_SOURCE_METHOD,
79
+ notEditable: () => !dataSource_default.get("editable")
80
+ }
81
+ ]
82
+ };
83
+ };
84
+ /**
85
+ * `code-select` 的旧数据兼容:钩子值可能是空值或空数组,改写成 `{ hookType, hookData }`。
86
+ *
87
+ * 表单值初始化时由 `code-select` 的 `effect` 执行(`applyMountValueEffects`);
88
+ * 组件里的 `watch`(无 immediate)只兜运行期被置空。必须幂等。
89
+ */
90
+ var normalizeCodeSelectValue = (model, name) => {
91
+ if (!model) return;
92
+ if (isEmpty(model[name])) model[name] = {
93
+ hookType: HookType.CODE,
94
+ hookData: []
95
+ };
96
+ };
97
+ //#endregion
98
+ export { createCodeSelectConfig, normalizeCodeSelectValue };