@tmagic/editor 1.7.7 → 1.7.8-beta.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 (242) hide show
  1. package/LICENSE +235 -164
  2. package/dist/es/Editor.js +5 -0
  3. package/dist/es/Editor.vue_vue_type_script_setup_true_lang.js +214 -0
  4. package/dist/es/_virtual/_plugin-vue_export-helper.js +8 -0
  5. package/dist/es/components/CodeBlockEditor.js +5 -0
  6. package/dist/es/components/CodeBlockEditor.vue_vue_type_script_setup_true_lang.js +337 -0
  7. package/dist/es/components/CodeParams.js +5 -0
  8. package/dist/es/components/CodeParams.vue_vue_type_script_setup_true_lang.js +63 -0
  9. package/dist/es/components/ContentMenu.js +5 -0
  10. package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +160 -0
  11. package/dist/es/components/FloatingBox.js +5 -0
  12. package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +161 -0
  13. package/dist/es/components/Icon.js +5 -0
  14. package/dist/es/components/Icon.vue_vue_type_script_setup_true_lang.js +39 -0
  15. package/dist/es/components/Resizer.js +5 -0
  16. package/dist/es/components/Resizer.vue_vue_type_script_setup_true_lang.js +20 -0
  17. package/dist/es/components/ScrollBar.js +6 -0
  18. package/dist/es/components/ScrollBar.vue_vue_type_script_setup_true_lang.js +72 -0
  19. package/dist/es/components/ScrollViewer.js +5 -0
  20. package/dist/es/components/ScrollViewer.vue_vue_type_script_setup_true_lang.js +104 -0
  21. package/dist/es/components/SearchInput.js +5 -0
  22. package/dist/es/components/SearchInput.vue_vue_type_script_setup_true_lang.js +40 -0
  23. package/dist/es/components/SplitView.js +5 -0
  24. package/dist/es/components/SplitView.vue_vue_type_script_setup_true_lang.js +135 -0
  25. package/dist/es/components/ToolButton.js +5 -0
  26. package/dist/es/components/ToolButton.vue_vue_type_script_setup_true_lang.js +131 -0
  27. package/dist/es/components/Tree.js +5 -0
  28. package/dist/es/components/Tree.vue_vue_type_script_setup_true_lang.js +60 -0
  29. package/dist/es/components/TreeNode.js +5 -0
  30. package/dist/es/components/TreeNode.vue_vue_type_script_setup_true_lang.js +126 -0
  31. package/dist/es/editorProps.js +34 -0
  32. package/dist/es/fields/Code.js +5 -0
  33. package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +54 -0
  34. package/dist/es/fields/CodeLink.js +5 -0
  35. package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +69 -0
  36. package/dist/es/fields/CodeSelect.js +5 -0
  37. package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +116 -0
  38. package/dist/es/fields/CodeSelectCol.js +5 -0
  39. package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +145 -0
  40. package/dist/es/fields/CondOpSelect.js +5 -0
  41. package/dist/es/fields/CondOpSelect.vue_vue_type_script_setup_true_lang.js +81 -0
  42. package/dist/es/fields/DataSourceFieldSelect/FieldSelect.js +5 -0
  43. package/dist/es/fields/DataSourceFieldSelect/FieldSelect.vue_vue_type_script_setup_true_lang.js +158 -0
  44. package/dist/es/fields/DataSourceFieldSelect/Index.js +5 -0
  45. package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +155 -0
  46. package/dist/es/fields/DataSourceFields.js +5 -0
  47. package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +390 -0
  48. package/dist/es/fields/DataSourceInput.js +5 -0
  49. package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +268 -0
  50. package/dist/es/fields/DataSourceMethodSelect.js +5 -0
  51. package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +144 -0
  52. package/dist/es/fields/DataSourceMethods.js +5 -0
  53. package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +148 -0
  54. package/dist/es/fields/DataSourceMocks.js +5 -0
  55. package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +259 -0
  56. package/dist/es/fields/DataSourceSelect.js +5 -0
  57. package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +101 -0
  58. package/dist/es/fields/DisplayConds.js +5 -0
  59. package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +156 -0
  60. package/dist/es/fields/EventSelect.js +5 -0
  61. package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +338 -0
  62. package/dist/es/fields/KeyValue.js +5 -0
  63. package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +158 -0
  64. package/dist/es/fields/PageFragmentSelect.js +5 -0
  65. package/dist/es/fields/PageFragmentSelect.vue_vue_type_script_setup_true_lang.js +81 -0
  66. package/dist/es/fields/StyleSetter/Index.js +5 -0
  67. package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +92 -0
  68. package/dist/es/fields/StyleSetter/components/BackgroundPosition.js +5 -0
  69. package/dist/es/fields/StyleSetter/components/BackgroundPosition.vue_vue_type_script_setup_true_lang.js +96 -0
  70. package/dist/es/fields/StyleSetter/components/Border.js +5 -0
  71. package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +100 -0
  72. package/dist/es/fields/StyleSetter/components/Box.js +5 -0
  73. package/dist/es/fields/StyleSetter/components/Box.vue_vue_type_script_setup_true_lang.js +81 -0
  74. package/dist/es/fields/StyleSetter/icons/background-repeat/NoRepeat.js +17 -0
  75. package/dist/es/fields/StyleSetter/icons/background-repeat/Repeat.js +14 -0
  76. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatX.js +17 -0
  77. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatY.js +17 -0
  78. package/dist/es/fields/StyleSetter/icons/display/Block.js +14 -0
  79. package/dist/es/fields/StyleSetter/icons/display/Flex.js +14 -0
  80. package/dist/es/fields/StyleSetter/icons/display/Inline.js +14 -0
  81. package/dist/es/fields/StyleSetter/icons/display/InlineBlock.js +14 -0
  82. package/dist/es/fields/StyleSetter/icons/display/None.js +14 -0
  83. package/dist/es/fields/StyleSetter/icons/flex-direction/Column.js +14 -0
  84. package/dist/es/fields/StyleSetter/icons/flex-direction/ColumnReverse.js +14 -0
  85. package/dist/es/fields/StyleSetter/icons/flex-direction/Row.js +14 -0
  86. package/dist/es/fields/StyleSetter/icons/flex-direction/RowReverse.js +14 -0
  87. package/dist/es/fields/StyleSetter/icons/justify-content/Center.js +14 -0
  88. package/dist/es/fields/StyleSetter/icons/justify-content/FlexEnd.js +14 -0
  89. package/dist/es/fields/StyleSetter/icons/justify-content/FlexStart.js +14 -0
  90. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceAround.js +14 -0
  91. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceBetween.js +14 -0
  92. package/dist/es/fields/StyleSetter/icons/text-align/Center.js +14 -0
  93. package/dist/es/fields/StyleSetter/icons/text-align/Left.js +14 -0
  94. package/dist/es/fields/StyleSetter/icons/text-align/Right.js +14 -0
  95. package/dist/es/fields/StyleSetter/pro/Background.js +5 -0
  96. package/dist/es/fields/StyleSetter/pro/Background.vue_vue_type_script_setup_true_lang.js +114 -0
  97. package/dist/es/fields/StyleSetter/pro/Border.js +5 -0
  98. package/dist/es/fields/StyleSetter/pro/Border.vue_vue_type_script_setup_true_lang.js +50 -0
  99. package/dist/es/fields/StyleSetter/pro/Font.js +5 -0
  100. package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +98 -0
  101. package/dist/es/fields/StyleSetter/pro/Layout.js +5 -0
  102. package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +288 -0
  103. package/dist/es/fields/StyleSetter/pro/Position.js +5 -0
  104. package/dist/es/fields/StyleSetter/pro/Position.vue_vue_type_script_setup_true_lang.js +95 -0
  105. package/dist/es/fields/UISelect.js +6 -0
  106. package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +161 -0
  107. package/dist/es/hooks/use-code-block-edit.js +54 -0
  108. package/dist/es/hooks/use-data-source-edit.js +29 -0
  109. package/dist/es/hooks/use-editor-content-height.js +17 -0
  110. package/dist/es/hooks/use-filter.js +35 -0
  111. package/dist/es/hooks/use-float-box.js +76 -0
  112. package/dist/es/hooks/use-getso.js +28 -0
  113. package/dist/es/hooks/use-next-float-box-position.js +27 -0
  114. package/dist/es/hooks/use-node-status.js +28 -0
  115. package/dist/es/hooks/use-services.js +9 -0
  116. package/dist/es/hooks/use-stage.js +107 -0
  117. package/dist/es/hooks/use-window-rect.js +19 -0
  118. package/dist/es/icons/CenterIcon.js +5 -0
  119. package/dist/es/icons/CenterIcon.vue_vue_type_script_setup_true_lang.js +40 -0
  120. package/dist/es/icons/CodeIcon.js +5 -0
  121. package/dist/es/icons/CodeIcon.vue_vue_type_script_setup_true_lang.js +19 -0
  122. package/dist/es/icons/FolderMinusIcon.js +5 -0
  123. package/dist/es/icons/FolderMinusIcon.vue_vue_type_script_setup_true_lang.js +27 -0
  124. package/dist/es/index.js +79 -0
  125. package/dist/es/initService.js +392 -0
  126. package/dist/es/layouts/AddPageBox.js +5 -0
  127. package/dist/es/layouts/AddPageBox.vue_vue_type_script_setup_true_lang.js +38 -0
  128. package/dist/es/layouts/CodeEditor.js +5 -0
  129. package/dist/es/layouts/CodeEditor.vue_vue_type_script_setup_true_lang.js +270 -0
  130. package/dist/es/layouts/Framework.js +5 -0
  131. package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +134 -0
  132. package/dist/es/layouts/NavMenu.js +5 -0
  133. package/dist/es/layouts/NavMenu.vue_vue_type_script_setup_true_lang.js +181 -0
  134. package/dist/es/layouts/page-bar/AddButton.js +5 -0
  135. package/dist/es/layouts/page-bar/AddButton.vue_vue_type_script_setup_true_lang.js +57 -0
  136. package/dist/es/layouts/page-bar/PageBar.js +5 -0
  137. package/dist/es/layouts/page-bar/PageBar.vue_vue_type_script_setup_true_lang.js +135 -0
  138. package/dist/es/layouts/page-bar/PageBarScrollContainer.js +5 -0
  139. package/dist/es/layouts/page-bar/PageBarScrollContainer.vue_vue_type_script_setup_true_lang.js +119 -0
  140. package/dist/es/layouts/page-bar/PageList.js +5 -0
  141. package/dist/es/layouts/page-bar/PageList.vue_vue_type_script_setup_true_lang.js +54 -0
  142. package/dist/es/layouts/page-bar/Search.js +5 -0
  143. package/dist/es/layouts/page-bar/Search.vue_vue_type_script_setup_true_lang.js +60 -0
  144. package/dist/es/layouts/props-panel/FormPanel.js +5 -0
  145. package/dist/es/layouts/props-panel/FormPanel.vue_vue_type_script_setup_true_lang.js +129 -0
  146. package/dist/es/layouts/props-panel/PropsPanel.js +5 -0
  147. package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +179 -0
  148. package/dist/es/layouts/props-panel/use-style-panel.js +40 -0
  149. package/dist/es/layouts/sidebar/ComponentListPanel.js +5 -0
  150. package/dist/es/layouts/sidebar/ComponentListPanel.vue_vue_type_script_setup_true_lang.js +121 -0
  151. package/dist/es/layouts/sidebar/Sidebar.js +5 -0
  152. package/dist/es/layouts/sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +314 -0
  153. package/dist/es/layouts/sidebar/code-block/CodeBlockList.js +5 -0
  154. package/dist/es/layouts/sidebar/code-block/CodeBlockList.vue_vue_type_script_setup_true_lang.js +161 -0
  155. package/dist/es/layouts/sidebar/code-block/CodeBlockListPanel.js +5 -0
  156. package/dist/es/layouts/sidebar/code-block/CodeBlockListPanel.vue_vue_type_script_setup_true_lang.js +113 -0
  157. package/dist/es/layouts/sidebar/code-block/useContentMenu.js +60 -0
  158. package/dist/es/layouts/sidebar/data-source/DataSourceAddButton.js +5 -0
  159. package/dist/es/layouts/sidebar/data-source/DataSourceAddButton.vue_vue_type_script_setup_true_lang.js +44 -0
  160. package/dist/es/layouts/sidebar/data-source/DataSourceConfigPanel.js +5 -0
  161. package/dist/es/layouts/sidebar/data-source/DataSourceConfigPanel.vue_vue_type_script_setup_true_lang.js +103 -0
  162. package/dist/es/layouts/sidebar/data-source/DataSourceList.js +5 -0
  163. package/dist/es/layouts/sidebar/data-source/DataSourceList.vue_vue_type_script_setup_true_lang.js +162 -0
  164. package/dist/es/layouts/sidebar/data-source/DataSourceListPanel.js +5 -0
  165. package/dist/es/layouts/sidebar/data-source/DataSourceListPanel.vue_vue_type_script_setup_true_lang.js +133 -0
  166. package/dist/es/layouts/sidebar/data-source/useContentMenu.js +59 -0
  167. package/dist/es/layouts/sidebar/layer/LayerMenu.js +5 -0
  168. package/dist/es/layouts/sidebar/layer/LayerMenu.vue_vue_type_script_setup_true_lang.js +90 -0
  169. package/dist/es/layouts/sidebar/layer/LayerNodeTool.js +5 -0
  170. package/dist/es/layouts/sidebar/layer/LayerNodeTool.vue_vue_type_script_setup_true_lang.js +35 -0
  171. package/dist/es/layouts/sidebar/layer/LayerPanel.js +5 -0
  172. package/dist/es/layouts/sidebar/layer/LayerPanel.vue_vue_type_script_setup_true_lang.js +99 -0
  173. package/dist/es/layouts/sidebar/layer/use-click.js +68 -0
  174. package/dist/es/layouts/sidebar/layer/use-drag.js +118 -0
  175. package/dist/es/layouts/sidebar/layer/use-keybinding.js +36 -0
  176. package/dist/es/layouts/sidebar/layer/use-node-status.js +75 -0
  177. package/dist/es/layouts/workspace/Breadcrumb.js +5 -0
  178. package/dist/es/layouts/workspace/Breadcrumb.vue_vue_type_script_setup_true_lang.js +39 -0
  179. package/dist/es/layouts/workspace/Workspace.js +5 -0
  180. package/dist/es/layouts/workspace/Workspace.vue_vue_type_script_setup_true_lang.js +43 -0
  181. package/dist/es/layouts/workspace/viewer/NodeListMenu.js +5 -0
  182. package/dist/es/layouts/workspace/viewer/NodeListMenu.vue_vue_type_script_setup_true_lang.js +88 -0
  183. package/dist/es/layouts/workspace/viewer/Stage.js +5 -0
  184. package/dist/es/layouts/workspace/viewer/Stage.vue_vue_type_script_setup_true_lang.js +206 -0
  185. package/dist/es/layouts/workspace/viewer/StageOverlay.js +5 -0
  186. package/dist/es/layouts/workspace/viewer/StageOverlay.vue_vue_type_script_setup_true_lang.js +89 -0
  187. package/dist/es/layouts/workspace/viewer/ViewerMenu.js +5 -0
  188. package/dist/es/layouts/workspace/viewer/ViewerMenu.vue_vue_type_script_setup_true_lang.js +132 -0
  189. package/dist/es/plugin.js +61 -0
  190. package/dist/es/services/BaseService.js +148 -0
  191. package/dist/es/services/codeBlock.js +251 -0
  192. package/dist/es/services/componentList.js +29 -0
  193. package/dist/es/services/dataSource.js +157 -0
  194. package/dist/es/services/dep.js +173 -0
  195. package/dist/es/services/editor.js +752 -0
  196. package/dist/es/services/events.js +64 -0
  197. package/dist/es/services/history.js +84 -0
  198. package/dist/es/services/keybinding.js +182 -0
  199. package/dist/es/services/props.js +216 -0
  200. package/dist/es/services/stageOverlay.js +161 -0
  201. package/dist/es/services/storage.js +127 -0
  202. package/dist/es/services/ui.js +112 -0
  203. package/dist/es/style.css +1937 -0
  204. package/dist/es/type.js +90 -0
  205. package/dist/es/utils/compose.js +44 -0
  206. package/dist/es/utils/config.js +8 -0
  207. package/dist/es/utils/const.js +15 -0
  208. package/dist/es/utils/content-menu.js +76 -0
  209. package/dist/es/utils/data-source/formConfigs/base.js +28 -0
  210. package/dist/es/utils/data-source/formConfigs/http.js +74 -0
  211. package/dist/es/utils/data-source/index.js +202 -0
  212. package/dist/es/utils/dep/idle-task.js +76 -0
  213. package/dist/es/utils/dep/worker.js +19 -0
  214. package/dist/es/utils/editor.js +261 -0
  215. package/dist/es/utils/keybinding-config.js +106 -0
  216. package/dist/es/utils/logger.js +18 -0
  217. package/dist/es/utils/monaco-editor.js +13 -0
  218. package/dist/es/utils/operator.js +73 -0
  219. package/dist/es/utils/props.js +232 -0
  220. package/dist/es/utils/scroll-viewer.js +115 -0
  221. package/dist/es/utils/tree.js +11 -0
  222. package/dist/es/utils/undo-redo.js +43 -0
  223. package/dist/style.css +10 -10
  224. package/dist/tmagic-editor.umd.cjs +18430 -21979
  225. package/package.json +16 -12
  226. package/src/components/CodeBlockEditor.vue +2 -8
  227. package/src/fields/CodeLink.vue +2 -2
  228. package/src/fields/CodeSelectCol.vue +1 -1
  229. package/src/fields/DataSourceFieldSelect/Index.vue +16 -3
  230. package/src/fields/DataSourceFields.vue +4 -1
  231. package/src/fields/EventSelect.vue +11 -11
  232. package/src/fields/StyleSetter/components/BackgroundPosition.vue +2 -2
  233. package/src/fields/StyleSetter/pro/Layout.vue +8 -8
  234. package/src/index.ts +1 -73
  235. package/src/plugin.ts +92 -0
  236. package/src/services/props.ts +3 -1
  237. package/src/type.ts +1 -1
  238. package/src/utils/data-source/index.ts +71 -73
  239. package/src/utils/index.ts +1 -0
  240. package/src/utils/props.ts +9 -7
  241. package/types/index.d.ts +3369 -3319
  242. package/dist/tmagic-editor.js +0 -17053
@@ -0,0 +1,75 @@
1
+ import { updateStatus } from "../../../utils/tree.js";
2
+ import { getNodePath, isPage, isPageFragment, traverseNode } from "@tmagic/utils";
3
+ import { computed, onBeforeUnmount, ref, watch } from "vue";
4
+ //#region packages/editor/src/layouts/sidebar/layer/use-node-status.ts
5
+ var createPageNodeStatus = (page, initialLayerNodeStatus) => {
6
+ const map = /* @__PURE__ */ new Map();
7
+ map.set(page.id, {
8
+ visible: true,
9
+ expand: true,
10
+ selected: true,
11
+ draggable: false
12
+ });
13
+ page.items.forEach((node) => traverseNode(node, (node) => {
14
+ map.set(node.id, initialLayerNodeStatus?.get(node.id) || {
15
+ visible: true,
16
+ expand: false,
17
+ selected: false,
18
+ draggable: true
19
+ });
20
+ }));
21
+ return map;
22
+ };
23
+ var useNodeStatus = ({ editorService }) => {
24
+ const page = computed(() => editorService.get("page"));
25
+ const nodes = computed(() => editorService.get("nodes"));
26
+ /** 所有页面的节点状态 */
27
+ const nodeStatusMaps = ref(/* @__PURE__ */ new Map());
28
+ /** 当前页面的节点状态 */
29
+ const nodeStatusMap = computed(() => page.value ? nodeStatusMaps.value.get(page.value.id) : /* @__PURE__ */ new Map());
30
+ watch(() => page.value?.id, (pageId) => {
31
+ if (!pageId) return;
32
+ nodeStatusMaps.value.set(pageId, createPageNodeStatus(page.value, nodeStatusMaps.value.get(pageId)));
33
+ }, { immediate: true });
34
+ watch(nodes, (nodes) => {
35
+ if (!nodeStatusMap.value) return;
36
+ for (const [id, status] of nodeStatusMap.value.entries()) {
37
+ status.selected = nodes.some((node) => node.id === id);
38
+ if (status.selected) getNodePath(id, page.value?.items).forEach((node) => {
39
+ updateStatus(nodeStatusMap.value, node.id, { expand: true });
40
+ });
41
+ }
42
+ }, { immediate: true });
43
+ const addHandler = (newNodes) => {
44
+ newNodes.forEach((node) => {
45
+ if (isPage(node) || isPageFragment(node)) return;
46
+ traverseNode(node, (node) => {
47
+ nodeStatusMap.value?.set(node.id, {
48
+ visible: true,
49
+ expand: Array.isArray(node.items),
50
+ selected: true,
51
+ draggable: true
52
+ });
53
+ });
54
+ });
55
+ };
56
+ editorService.on("add", addHandler);
57
+ const removeHandler = (nodes) => {
58
+ nodes.forEach((node) => {
59
+ traverseNode(node, (node) => {
60
+ nodeStatusMap.value?.delete(node.id);
61
+ });
62
+ });
63
+ };
64
+ editorService.on("remove", removeHandler);
65
+ onBeforeUnmount(() => {
66
+ editorService.off("remove", removeHandler);
67
+ editorService.off("add", addHandler);
68
+ });
69
+ return {
70
+ nodeStatusMaps,
71
+ nodeStatusMap
72
+ };
73
+ };
74
+ //#endregion
75
+ export { useNodeStatus };
@@ -0,0 +1,5 @@
1
+ import Breadcrumb_vue_vue_type_script_setup_true_lang_default from "./Breadcrumb.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/editor/src/layouts/workspace/Breadcrumb.vue
3
+ var Breadcrumb_default = Breadcrumb_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { Breadcrumb_default as default };
@@ -0,0 +1,39 @@
1
+ import { useServices } from "../../hooks/use-services.js";
2
+ import { TMagicButton } from "@tmagic/design";
3
+ import { getNodePath } from "@tmagic/utils";
4
+ import { Fragment, computed, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, openBlock, renderList, toDisplayString, unref, withCtx } from "vue";
5
+ //#region packages/editor/src/layouts/workspace/Breadcrumb.vue?vue&type=script&setup=true&lang.ts
6
+ var _hoisted_1 = {
7
+ key: 0,
8
+ class: "m-editor-breadcrumb"
9
+ };
10
+ var _hoisted_2 = { key: 0 };
11
+ var Breadcrumb_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
12
+ name: "MEditorBreadcrumb",
13
+ __name: "Breadcrumb",
14
+ setup(__props) {
15
+ const { editorService } = useServices();
16
+ const node = computed(() => editorService.get("node"));
17
+ const nodes = computed(() => editorService.get("nodes"));
18
+ const root = computed(() => editorService.get("root"));
19
+ const path = computed(() => getNodePath(node.value?.id || "", root.value?.items || []));
20
+ const select = async (node) => {
21
+ await editorService.select(node);
22
+ editorService.get("stage")?.select(node.id);
23
+ };
24
+ return (_ctx, _cache) => {
25
+ return nodes.value.length === 1 ? (openBlock(), createElementBlock("div", _hoisted_1, [(openBlock(true), createElementBlock(Fragment, null, renderList(path.value, (item, index) => {
26
+ return openBlock(), createElementBlock(Fragment, { key: item.id }, [createVNode(unref(TMagicButton), {
27
+ link: "",
28
+ disabled: item.id === node.value?.id,
29
+ onClick: ($event) => select(item)
30
+ }, {
31
+ default: withCtx(() => [createTextVNode(toDisplayString(item.name), 1)]),
32
+ _: 2
33
+ }, 1032, ["disabled", "onClick"]), index < path.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_2, "/")) : createCommentVNode("v-if", true)], 64);
34
+ }), 128))])) : createCommentVNode("v-if", true);
35
+ };
36
+ }
37
+ });
38
+ //#endregion
39
+ export { Breadcrumb_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,5 @@
1
+ import Workspace_vue_vue_type_script_setup_true_lang_default from "./Workspace.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/editor/src/layouts/workspace/Workspace.vue
3
+ var Workspace_default = Workspace_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { Workspace_default as default };
@@ -0,0 +1,43 @@
1
+ import { useServices } from "../../hooks/use-services.js";
2
+ import Stage_default from "./viewer/Stage.js";
3
+ import Breadcrumb_default from "./Breadcrumb.js";
4
+ import { computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, inject, openBlock, renderSlot, unref } from "vue";
5
+ //#region packages/editor/src/layouts/workspace/Workspace.vue?vue&type=script&setup=true&lang.ts
6
+ var _hoisted_1 = { class: "m-editor-workspace" };
7
+ var Workspace_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
8
+ name: "MEditorWorkspace",
9
+ __name: "Workspace",
10
+ props: {
11
+ stageContentMenu: {},
12
+ disabledStageOverlay: {
13
+ type: Boolean,
14
+ default: false
15
+ },
16
+ customContentMenu: {}
17
+ },
18
+ setup(__props) {
19
+ const stageOptions = inject("stageOptions");
20
+ const { editorService } = useServices();
21
+ const page = computed(() => editorService.get("page"));
22
+ return (_ctx, _cache) => {
23
+ return openBlock(), createElementBlock("div", _hoisted_1, [
24
+ createVNode(Breadcrumb_default),
25
+ renderSlot(_ctx.$slots, "stage", {}, () => [page.value && (unref(stageOptions)?.render || unref(stageOptions)?.runtimeUrl) ? (openBlock(), createBlock(Stage_default, {
26
+ key: 0,
27
+ "stage-options": unref(stageOptions),
28
+ "disabled-stage-overlay": __props.disabledStageOverlay,
29
+ "stage-content-menu": __props.stageContentMenu,
30
+ "custom-content-menu": __props.customContentMenu
31
+ }, null, 8, [
32
+ "stage-options",
33
+ "disabled-stage-overlay",
34
+ "stage-content-menu",
35
+ "custom-content-menu"
36
+ ])) : createCommentVNode("v-if", true)]),
37
+ renderSlot(_ctx.$slots, "workspace-content")
38
+ ]);
39
+ };
40
+ }
41
+ });
42
+ //#endregion
43
+ export { Workspace_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,5 @@
1
+ import NodeListMenu_vue_vue_type_script_setup_true_lang_default from "./NodeListMenu.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/editor/src/layouts/workspace/viewer/NodeListMenu.vue
3
+ var NodeListMenu_default = NodeListMenu_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { NodeListMenu_default as default };
@@ -0,0 +1,88 @@
1
+ import { useServices } from "../../../hooks/use-services.js";
2
+ import { useFilter } from "../../../hooks/use-filter.js";
3
+ import FloatingBox_default from "../../../components/FloatingBox.js";
4
+ import Tree_default from "../../../components/Tree.js";
5
+ import { useNodeStatus } from "../../sidebar/layer/use-node-status.js";
6
+ import { TMagicTooltip } from "@tmagic/design";
7
+ import { getIdFromEl } from "@tmagic/utils";
8
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, nextTick, openBlock, ref, unref, useTemplateRef, watch, withCtx } from "vue";
9
+ //#region packages/editor/src/layouts/workspace/viewer/NodeListMenu.vue?vue&type=script&setup=true&lang.ts
10
+ var NodeListMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
11
+ __name: "NodeListMenu",
12
+ setup(__props) {
13
+ const services = useServices();
14
+ const { editorService } = services;
15
+ const visible = ref(false);
16
+ const buttonVisible = ref(false);
17
+ const buttonEl = useTemplateRef("button");
18
+ const boxRef = useTemplateRef("box");
19
+ const stage = computed(() => editorService.get("stage"));
20
+ const page = computed(() => editorService.get("page"));
21
+ const nodes = computed(() => editorService.get("nodes"));
22
+ const nodeData = computed(() => !page.value ? [] : [page.value]);
23
+ const { nodeStatusMap } = useNodeStatus(services);
24
+ const filterNodeMethod = (value, data) => data.id === value;
25
+ const { filterTextChangeHandler } = useFilter(nodeData, nodeStatusMap, filterNodeMethod);
26
+ const unWatch = watch(stage, (stage) => {
27
+ if (!stage) return;
28
+ nextTick(() => unWatch());
29
+ stage.on("select", (el, event) => {
30
+ const ids = (stage.renderer?.getElementsFromPoint(event) || []).map((el) => getIdFromEl()(el)).filter((id) => Boolean(id));
31
+ buttonVisible.value = ids.length > 3;
32
+ filterTextChangeHandler(ids);
33
+ });
34
+ }, { immediate: true });
35
+ watch(nodes, (nodes) => {
36
+ if (!nodeStatusMap.value) return;
37
+ for (const [id, status] of nodeStatusMap.value.entries()) status.selected = nodes.some((node) => node.id === id);
38
+ }, { immediate: true });
39
+ const clickHandler = async (event, data) => {
40
+ await editorService.select(data.id);
41
+ stage.value?.select(data.id);
42
+ };
43
+ const menuPosition = ref({
44
+ left: 0,
45
+ top: 0
46
+ });
47
+ watch(visible, async (visible) => {
48
+ if (!buttonEl.value || !visible) return;
49
+ await nextTick();
50
+ const rect = buttonEl.value.getBoundingClientRect();
51
+ const height = boxRef.value?.target?.clientHeight || 0;
52
+ menuPosition.value = {
53
+ left: rect.left + rect.width + 5,
54
+ top: rect.top - height / 2 + rect.height / 2
55
+ };
56
+ });
57
+ return (_ctx, _cache) => {
58
+ return openBlock(), createElementBlock(Fragment, null, [page.value && buttonVisible.value ? (openBlock(), createBlock(unref(TMagicTooltip), {
59
+ key: 0,
60
+ content: "点击查看当前位置下的组件"
61
+ }, {
62
+ default: withCtx(() => [createElementVNode("div", {
63
+ ref: "button",
64
+ class: "m-editor-stage-float-button",
65
+ onClick: _cache[0] || (_cache[0] = ($event) => visible.value = true)
66
+ }, "可选组件", 512)]),
67
+ _: 1
68
+ })) : createCommentVNode("v-if", true), page.value && unref(nodeStatusMap) && buttonVisible.value ? (openBlock(), createBlock(FloatingBox_default, {
69
+ key: 1,
70
+ ref: "box",
71
+ visible: visible.value,
72
+ "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => visible.value = $event),
73
+ title: "当前位置下的组件",
74
+ position: menuPosition.value
75
+ }, {
76
+ body: withCtx(() => [createVNode(Tree_default, {
77
+ class: "m-editor-node-list-menu magic-editor-layer-tree",
78
+ data: nodeData.value,
79
+ "node-status-map": unref(nodeStatusMap),
80
+ onNodeClick: clickHandler
81
+ }, null, 8, ["data", "node-status-map"])]),
82
+ _: 1
83
+ }, 8, ["visible", "position"])) : createCommentVNode("v-if", true)], 64);
84
+ };
85
+ }
86
+ });
87
+ //#endregion
88
+ export { NodeListMenu_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,5 @@
1
+ import Stage_vue_vue_type_script_setup_true_lang_default from "./Stage.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/editor/src/layouts/workspace/viewer/Stage.vue
3
+ var Stage_default = Stage_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { Stage_default as default };
@@ -0,0 +1,206 @@
1
+ import { DragType, Layout } from "../../../type.js";
2
+ import { getEditorConfig } from "../../../utils/config.js";
3
+ import { useStage } from "../../../hooks/use-stage.js";
4
+ import { useServices } from "../../../hooks/use-services.js";
5
+ import { KeyBindingContainerKey } from "../../../utils/keybinding-config.js";
6
+ import ScrollViewer_default from "../../../components/ScrollViewer.js";
7
+ import NodeListMenu_default from "./NodeListMenu.js";
8
+ import StageOverlay_default from "./StageOverlay.js";
9
+ import ViewerMenu_default from "./ViewerMenu.js";
10
+ import { getOffset } from "@tmagic/stage";
11
+ import { calcValueByFontsize, getIdFromEl } from "@tmagic/utils";
12
+ import { Teleport, computed, createBlock, createCommentVNode, createElementVNode, createVNode, defineComponent, markRaw, nextTick, normalizeStyle, onBeforeUnmount, onMounted, openBlock, resolveDirective, useTemplateRef, watch, watchEffect, withCtx, withDirectives } from "vue";
13
+ //#region packages/editor/src/layouts/workspace/viewer/Stage.vue?vue&type=script&setup=true&lang.ts
14
+ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
15
+ name: "MEditorStage",
16
+ __name: "Stage",
17
+ props: {
18
+ stageOptions: {},
19
+ stageContentMenu: {},
20
+ disabledStageOverlay: {
21
+ type: Boolean,
22
+ default: false
23
+ },
24
+ customContentMenu: {}
25
+ },
26
+ setup(__props) {
27
+ const props = __props;
28
+ let stage = null;
29
+ let runtime = null;
30
+ const { editorService, uiService, keybindingService } = useServices();
31
+ const stageLoading = computed(() => editorService.get("stageLoading"));
32
+ const stageWrapRef = useTemplateRef("stageWrap");
33
+ const stageContainerEl = useTemplateRef("stageContainer");
34
+ const menuRef = useTemplateRef("menu");
35
+ const nodes = computed(() => editorService.get("nodes"));
36
+ const isMultiSelect = computed(() => nodes.value.length > 1);
37
+ const stageRect = computed(() => uiService.get("stageRect"));
38
+ const stageContainerRect = computed(() => uiService.get("stageContainerRect"));
39
+ const root = computed(() => editorService.get("root"));
40
+ const page = computed(() => editorService.get("page"));
41
+ const zoom = computed(() => uiService.get("zoom"));
42
+ const node = computed(() => editorService.get("node"));
43
+ watchEffect(() => {
44
+ if (stage || !page.value) return;
45
+ if (!stageContainerEl.value) return;
46
+ if (!(props.stageOptions?.runtimeUrl || props.stageOptions?.render) || !root.value) return;
47
+ stage = useStage(props.stageOptions);
48
+ stage.on("select", () => {
49
+ stageWrapRef.value?.container?.focus();
50
+ });
51
+ editorService.set("stage", markRaw(stage));
52
+ stage.mount(stageContainerEl.value);
53
+ if (!node.value?.id) return;
54
+ stage.on("runtime-ready", (rt) => {
55
+ runtime = rt;
56
+ });
57
+ });
58
+ onBeforeUnmount(() => {
59
+ stage?.destroy();
60
+ editorService.set("stage", null);
61
+ });
62
+ watch(zoom, (zoom) => {
63
+ if (!stage || !zoom) return;
64
+ stage.setZoom(zoom);
65
+ });
66
+ let timeoutId = null;
67
+ watch(page, (page) => {
68
+ if (runtime && page) {
69
+ editorService.set("stageLoading", true);
70
+ if (timeoutId) globalThis.clearTimeout(timeoutId);
71
+ timeoutId = globalThis.setTimeout(() => {
72
+ editorService.set("stageLoading", false);
73
+ timeoutId = null;
74
+ }, 3e3);
75
+ runtime.updatePageId?.(page.id);
76
+ const unWatch = watch(stageLoading, () => {
77
+ if (stageLoading.value) return;
78
+ nextTick(() => {
79
+ stage?.select(page.id);
80
+ unWatch();
81
+ });
82
+ }, { immediate: true });
83
+ }
84
+ });
85
+ const resizeObserver = new globalThis.ResizeObserver((entries) => {
86
+ for (const { contentRect } of entries) uiService.set("stageContainerRect", {
87
+ width: contentRect.width,
88
+ height: contentRect.height
89
+ });
90
+ });
91
+ onMounted(() => {
92
+ if (stageWrapRef.value?.container) {
93
+ resizeObserver.observe(stageWrapRef.value.container);
94
+ keybindingService.registerEl(KeyBindingContainerKey.STAGE, stageWrapRef.value.container);
95
+ }
96
+ });
97
+ onBeforeUnmount(() => {
98
+ stage?.destroy();
99
+ stage = null;
100
+ resizeObserver.disconnect();
101
+ editorService.set("stage", null);
102
+ keybindingService.unregisterEl("stage");
103
+ });
104
+ const parseDSL = getEditorConfig("parseDSL");
105
+ const contextmenuHandler = (e) => {
106
+ e.preventDefault();
107
+ menuRef.value?.show(e);
108
+ };
109
+ const dragoverHandler = (e) => {
110
+ if (!e.dataTransfer) return;
111
+ e.preventDefault();
112
+ e.dataTransfer.dropEffect = "move";
113
+ };
114
+ const dropHandler = async (e) => {
115
+ if (!e.dataTransfer) return;
116
+ const data = e.dataTransfer.getData("text/json");
117
+ if (!data) return;
118
+ const config = parseDSL(`(${data})`);
119
+ if (!config || config.dragType !== DragType.COMPONENT_LIST) return;
120
+ e.preventDefault();
121
+ const doc = stage?.renderer?.contentWindow?.document;
122
+ const parentEl = doc?.querySelector(`.${props.stageOptions?.containerHighlightClassName}`);
123
+ let parent = page.value;
124
+ const parentId = getIdFromEl()(parentEl);
125
+ if (parentId) parent = editorService.getNodeById(parentId, false);
126
+ if (parent && stageContainerEl.value && stage) {
127
+ const layout = await editorService.getLayout(parent);
128
+ const containerRect = stageContainerEl.value.getBoundingClientRect();
129
+ const { scrollTop, scrollLeft } = stage.mask;
130
+ const { style = {} } = config.data;
131
+ let top = 0;
132
+ let left = 0;
133
+ let position = "relative";
134
+ if (style.position === "fixed") {
135
+ position = "fixed";
136
+ top = e.clientY - containerRect.top;
137
+ left = e.clientX - containerRect.left;
138
+ } else if (layout === Layout.ABSOLUTE) {
139
+ position = "absolute";
140
+ top = e.clientY - containerRect.top + scrollTop;
141
+ left = e.clientX - containerRect.left + scrollLeft;
142
+ if (parentEl) {
143
+ const { left: parentLeft, top: parentTop } = getOffset(parentEl);
144
+ left = left - parentLeft * zoom.value;
145
+ top = top - parentTop * zoom.value;
146
+ }
147
+ }
148
+ config.data.style = {
149
+ ...style,
150
+ position,
151
+ top: calcValueByFontsize(doc, top / zoom.value),
152
+ left: calcValueByFontsize(doc, left / zoom.value)
153
+ };
154
+ config.data.inputEvent = e;
155
+ editorService.add(config.data, parent);
156
+ }
157
+ };
158
+ return (_ctx, _cache) => {
159
+ const _directive_loading = resolveDirective("loading");
160
+ return withDirectives((openBlock(), createBlock(ScrollViewer_default, {
161
+ class: "m-editor-stage",
162
+ ref: "stageWrap",
163
+ tabindex: "-1",
164
+ "element-loading-text": "Runtime 加载中...",
165
+ width: stageRect.value?.width,
166
+ height: stageRect.value?.height,
167
+ "wrap-width": stageContainerRect.value?.width,
168
+ "wrap-height": stageContainerRect.value?.height,
169
+ zoom: zoom.value,
170
+ "correction-scroll-size": {
171
+ width: 60,
172
+ height: 50
173
+ },
174
+ onClick: _cache[0] || (_cache[0] = ($event) => stageWrapRef.value?.container?.focus())
175
+ }, {
176
+ content: withCtx(() => [!__props.disabledStageOverlay ? (openBlock(), createBlock(StageOverlay_default, { key: 0 })) : createCommentVNode("v-if", true), (openBlock(), createBlock(Teleport, { to: "body" }, [createVNode(ViewerMenu_default, {
177
+ ref: "menu",
178
+ "is-multi-select": isMultiSelect.value,
179
+ "stage-content-menu": __props.stageContentMenu,
180
+ "custom-content-menu": __props.customContentMenu
181
+ }, null, 8, [
182
+ "is-multi-select",
183
+ "stage-content-menu",
184
+ "custom-content-menu"
185
+ ])]))]),
186
+ default: withCtx(() => [createElementVNode("div", {
187
+ class: "m-editor-stage-container",
188
+ ref: "stageContainer",
189
+ style: normalizeStyle(`transform: scale(${zoom.value});`),
190
+ onContextmenu: contextmenuHandler,
191
+ onDrop: dropHandler,
192
+ onDragover: dragoverHandler
193
+ }, null, 36), createVNode(NodeListMenu_default)]),
194
+ _: 1
195
+ }, 8, [
196
+ "width",
197
+ "height",
198
+ "wrap-width",
199
+ "wrap-height",
200
+ "zoom"
201
+ ])), [[_directive_loading, stageLoading.value]]);
202
+ };
203
+ }
204
+ });
205
+ //#endregion
206
+ export { Stage_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,5 @@
1
+ import StageOverlay_vue_vue_type_script_setup_true_lang_default from "./StageOverlay.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/editor/src/layouts/workspace/viewer/StageOverlay.vue
3
+ var StageOverlay_default = StageOverlay_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { StageOverlay_default as default };
@@ -0,0 +1,89 @@
1
+ import { useServices } from "../../../hooks/use-services.js";
2
+ import ScrollViewer_default from "../../../components/ScrollViewer.js";
3
+ import { TMagicIcon } from "@tmagic/design";
4
+ import { computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, inject, normalizeStyle, onBeforeUnmount, openBlock, unref, useTemplateRef, watch, withCtx } from "vue";
5
+ import { CloseBold } from "@element-plus/icons-vue";
6
+ //#region packages/editor/src/layouts/workspace/viewer/StageOverlay.vue?vue&type=script&setup=true&lang.ts
7
+ var _hoisted_1 = {
8
+ key: 0,
9
+ class: "m-editor-stage-overlay"
10
+ };
11
+ var StageOverlay_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
12
+ __name: "StageOverlay",
13
+ setup(__props) {
14
+ const { stageOverlayService, editorService, uiService } = useServices();
15
+ const stageOptions = inject("stageOptions");
16
+ const stageOverlayEl = useTemplateRef("stageOverlay");
17
+ const stageOverlayVisible = computed(() => stageOverlayService.get("stageOverlayVisible"));
18
+ const wrapWidth = computed(() => stageOverlayService.get("wrapWidth"));
19
+ const wrapHeight = computed(() => stageOverlayService.get("wrapHeight"));
20
+ const stage = computed(() => editorService.get("stage"));
21
+ const zoom = computed(() => uiService.get("zoom"));
22
+ const columnWidth = computed(() => uiService.get("columnWidth"));
23
+ const frameworkRect = computed(() => uiService.get("frameworkRect"));
24
+ const style = computed(() => ({ transform: `scale(${zoom.value})` }));
25
+ watch(stage, (stage) => {
26
+ if (stage) stage.on("dblclick", async (event) => {
27
+ const el = await stage.actionManager?.getElementFromPoint(event) || null;
28
+ stageOverlayService.openOverlay(el);
29
+ });
30
+ else stageOverlayService.closeOverlay();
31
+ });
32
+ watch(zoom, (zoom) => {
33
+ const stage = stageOverlayService.get("stage");
34
+ if (!stage || !zoom) return;
35
+ stage.setZoom(zoom);
36
+ });
37
+ watch(stageOverlayEl, (stageOverlay) => {
38
+ const subStage = stageOverlayService.createStage(stageOptions);
39
+ stageOverlayService.set("stage", subStage);
40
+ if (stageOverlay && subStage) {
41
+ subStage.mount(stageOverlay);
42
+ const { mask, renderer } = subStage;
43
+ const { contentWindow } = renderer;
44
+ mask?.showRule(false);
45
+ stageOverlayService.updateOverlay();
46
+ contentWindow?.magic.onRuntimeReady({});
47
+ }
48
+ });
49
+ onBeforeUnmount(() => {
50
+ stageOverlayService.get("stage")?.destroy();
51
+ stageOverlayService.set("stage", null);
52
+ });
53
+ const closeOverlayHandler = () => {
54
+ stageOverlayService.closeOverlay();
55
+ };
56
+ return (_ctx, _cache) => {
57
+ return stageOverlayVisible.value ? (openBlock(), createElementBlock("div", _hoisted_1, [createVNode(unref(TMagicIcon), {
58
+ class: "m-editor-stage-overlay-close",
59
+ size: "30",
60
+ onClick: closeOverlayHandler
61
+ }, {
62
+ default: withCtx(() => [createVNode(unref(CloseBold))]),
63
+ _: 1
64
+ }), createVNode(ScrollViewer_default, {
65
+ class: "m-editor-stage",
66
+ width: wrapWidth.value,
67
+ height: wrapHeight.value,
68
+ "wrap-width": columnWidth.value.center,
69
+ "wrap-height": frameworkRect.value.height,
70
+ zoom: zoom.value
71
+ }, {
72
+ default: withCtx(() => [createElementVNode("div", {
73
+ ref: "stageOverlay",
74
+ class: "m-editor-stage-container",
75
+ style: normalizeStyle(style.value)
76
+ }, null, 4)]),
77
+ _: 1
78
+ }, 8, [
79
+ "width",
80
+ "height",
81
+ "wrap-width",
82
+ "wrap-height",
83
+ "zoom"
84
+ ])])) : createCommentVNode("v-if", true);
85
+ };
86
+ }
87
+ });
88
+ //#endregion
89
+ export { StageOverlay_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,5 @@
1
+ import ViewerMenu_vue_vue_type_script_setup_true_lang_default from "./ViewerMenu.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/editor/src/layouts/workspace/viewer/ViewerMenu.vue
3
+ var ViewerMenu_default = ViewerMenu_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { ViewerMenu_default as default };