mce 0.15.13 → 0.15.15
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.
- package/dist/index.js +30 -8
- package/dist/mixins/1.timeline.d.ts +4 -4
- package/dist/plugins/panels.d.ts +1 -1
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Node as Node$1, Element2D, Timeline, Engine, Camera2D, DrawboardEffect, Aabb2D, IN_BROWSER, clamp, assets, TimelineNode, Transform2D, Obb2D, render, Vector2 as Vector2$1, customNodes, Animation, IN_MAC_OS } from "modern-canvas";
|
|
1
|
+
import { Node as Node$1, Element2D, Timeline, Engine, Camera2D, DrawboardEffect, Aabb2D, IN_BROWSER, clamp, assets, TimelineNode, Video2D, Transform2D, Obb2D, render, Vector2 as Vector2$1, customNodes, Animation, IN_MAC_OS } from "modern-canvas";
|
|
2
2
|
import { reactive, computed, watch, markRaw, isReactive, ref, warn, shallowRef, onBeforeUnmount, defineComponent, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle, toDisplayString, createVNode, useAttrs, createBlock, resolveDynamicComponent, normalizeClass, mergeProps, createElementVNode, inject, toValue, getCurrentInstance, provide, useId, readonly, toRef, onMounted, onDeactivated, onActivated, onScopeDispose, useModel, useTemplateRef, withDirectives, vShow, vModelText, nextTick, Fragment, renderList, renderSlot, mergeModels, resolveComponent, withModifiers, withCtx, Teleport, createTextVNode, createSlots, normalizeProps, guardReactiveProps, onBeforeMount, h, isRef, useSlots } from "vue";
|
|
3
3
|
import { useFileDialog, useEventListener, isClient, onClickOutside, useDebounceFn, useResizeObserver as useResizeObserver$1, useLocalStorage, useImage } from "@vueuse/core";
|
|
4
4
|
import { getObjectValueByPath, setObjectValueByPath, Observable, Reactivable, idGenerator, property, normalizeTextContent, normalizeCRLF, isEqualObject } from "modern-idoc";
|
|
@@ -1756,9 +1756,15 @@ const _1_timeline = defineMixin((editor) => {
|
|
|
1756
1756
|
timeline.value.currentTime = clamp(val, startTime2, endTime2);
|
|
1757
1757
|
}
|
|
1758
1758
|
});
|
|
1759
|
-
const startTime = computed(
|
|
1760
|
-
|
|
1761
|
-
|
|
1759
|
+
const startTime = computed({
|
|
1760
|
+
get: () => timeline.value.startTime,
|
|
1761
|
+
set: (val) => timeline.value.startTime = val
|
|
1762
|
+
});
|
|
1763
|
+
const endTime = computed({
|
|
1764
|
+
get: () => timeline.value.endTime,
|
|
1765
|
+
set: (val) => timeline.value.endTime = val
|
|
1766
|
+
});
|
|
1767
|
+
const getTimeRange = (node = root.value) => {
|
|
1762
1768
|
const range = { startTime: 0, endTime: 0 };
|
|
1763
1769
|
function handle(node2) {
|
|
1764
1770
|
if (node2 instanceof TimelineNode) {
|
|
@@ -1779,6 +1785,11 @@ const _1_timeline = defineMixin((editor) => {
|
|
|
1779
1785
|
range.endTime = Math.max(range.endTime, node2.globalStartTime + node2.outline.animatedTexture.duration);
|
|
1780
1786
|
}
|
|
1781
1787
|
}
|
|
1788
|
+
if (node2 instanceof Video2D) {
|
|
1789
|
+
if (node2.texture) {
|
|
1790
|
+
range.endTime = Math.max(range.endTime, node2.globalStartTime + node2.videoDuration);
|
|
1791
|
+
}
|
|
1792
|
+
}
|
|
1782
1793
|
return false;
|
|
1783
1794
|
}
|
|
1784
1795
|
const nodes = Array.isArray(node) ? node : [node];
|
|
@@ -1797,6 +1808,10 @@ const _1_timeline = defineMixin((editor) => {
|
|
|
1797
1808
|
on
|
|
1798
1809
|
} = editor;
|
|
1799
1810
|
async function updateEndTime() {
|
|
1811
|
+
console.log("updateEndTime");
|
|
1812
|
+
await renderEngine.value.nextTick();
|
|
1813
|
+
await renderEngine.value.nextTick();
|
|
1814
|
+
await renderEngine.value.nextTick();
|
|
1800
1815
|
await renderEngine.value.nextTick();
|
|
1801
1816
|
timeline.value.endTime = root.value ? getTimeRange(root.value).endTime : 0;
|
|
1802
1817
|
}
|
|
@@ -2247,7 +2262,8 @@ const _4_1_text = defineMixin((editor) => {
|
|
|
2247
2262
|
isElement,
|
|
2248
2263
|
config,
|
|
2249
2264
|
elementSelection,
|
|
2250
|
-
textSelection
|
|
2265
|
+
textSelection,
|
|
2266
|
+
fonts
|
|
2251
2267
|
} = editor;
|
|
2252
2268
|
const element = computed(() => elementSelection.value[0]);
|
|
2253
2269
|
const hasTextSelectionRange = computed(() => {
|
|
@@ -2279,6 +2295,7 @@ const _4_1_text = defineMixin((editor) => {
|
|
|
2279
2295
|
return char2.content;
|
|
2280
2296
|
}).join("");
|
|
2281
2297
|
const { boundingBox } = measureText({
|
|
2298
|
+
fonts,
|
|
2282
2299
|
style: {
|
|
2283
2300
|
...element3.style.toJSON(),
|
|
2284
2301
|
width: "auto"
|
|
@@ -2350,6 +2367,7 @@ const _4_1_text = defineMixin((editor) => {
|
|
|
2350
2367
|
break;
|
|
2351
2368
|
}
|
|
2352
2369
|
const { boundingBox } = measureText({
|
|
2370
|
+
fonts,
|
|
2353
2371
|
style,
|
|
2354
2372
|
content: element3.text.content
|
|
2355
2373
|
});
|
|
@@ -15113,6 +15131,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
15113
15131
|
return false;
|
|
15114
15132
|
}
|
|
15115
15133
|
if (!element.text.isValid()) {
|
|
15134
|
+
element.style.textAlign = "center";
|
|
15116
15135
|
element.text.setContent(" ");
|
|
15117
15136
|
}
|
|
15118
15137
|
element.text.update();
|
|
@@ -15122,13 +15141,16 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
15122
15141
|
await nextTick();
|
|
15123
15142
|
if (editor.pointerDown(e)) {
|
|
15124
15143
|
editor.selectAll();
|
|
15125
|
-
editor._updateSelectionByDom();
|
|
15126
15144
|
return true;
|
|
15127
15145
|
}
|
|
15128
15146
|
return false;
|
|
15129
15147
|
}
|
|
15130
|
-
onBeforeMount(() =>
|
|
15131
|
-
|
|
15148
|
+
onBeforeMount(() => {
|
|
15149
|
+
registerCommand({ command: "startTyping", handle: startTyping });
|
|
15150
|
+
});
|
|
15151
|
+
onBeforeUnmount(() => {
|
|
15152
|
+
unregisterCommand("startTyping");
|
|
15153
|
+
});
|
|
15132
15154
|
__expose({
|
|
15133
15155
|
textEditor
|
|
15134
15156
|
});
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Node } from 'modern-canvas';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Ref, WritableComputedRef } from 'vue';
|
|
3
3
|
declare global {
|
|
4
4
|
namespace Mce {
|
|
5
5
|
interface Editor {
|
|
6
6
|
msPerPx: Ref<number>;
|
|
7
7
|
currentTime: WritableComputedRef<number>;
|
|
8
|
-
startTime:
|
|
9
|
-
endTime:
|
|
10
|
-
getTimeRange: (node
|
|
8
|
+
startTime: WritableComputedRef<number>;
|
|
9
|
+
endTime: WritableComputedRef<number>;
|
|
10
|
+
getTimeRange: (node?: Node | Node[]) => {
|
|
11
11
|
startTime: number;
|
|
12
12
|
endTime: number;
|
|
13
13
|
};
|
package/dist/plugins/panels.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ declare global {
|
|
|
5
5
|
interface Config extends Record<keyof Panels, boolean> {
|
|
6
6
|
}
|
|
7
7
|
interface Commands {
|
|
8
|
-
|
|
8
|
+
panels: <T extends keyof Panels>(panel: T, ...args: Panels[T]) => Promise<boolean>;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mce",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.15.
|
|
4
|
+
"version": "0.15.15",
|
|
5
5
|
"description": "The headless canvas editor framework. only the ESM.",
|
|
6
6
|
"author": "wxm",
|
|
7
7
|
"license": "MIT",
|
|
@@ -61,11 +61,11 @@
|
|
|
61
61
|
"diff": "^8.0.2",
|
|
62
62
|
"file-saver": "^2.0.5",
|
|
63
63
|
"lodash-es": "^4.17.22",
|
|
64
|
-
"modern-canvas": "^0.14.
|
|
64
|
+
"modern-canvas": "^0.14.32",
|
|
65
65
|
"modern-font": "^0.4.4",
|
|
66
66
|
"modern-idoc": "^0.10.8",
|
|
67
|
-
"modern-text": "^1.10.
|
|
68
|
-
"yjs": "^13.6.
|
|
67
|
+
"modern-text": "^1.10.15",
|
|
68
|
+
"yjs": "^13.6.29"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"lottie-web": "^5",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"@vitejs/plugin-vue": "^6.0.3",
|
|
95
95
|
"jiti": "^2.6.1",
|
|
96
96
|
"modern-gif": "^2.0.4",
|
|
97
|
-
"sass-embedded": "^1.97.
|
|
97
|
+
"sass-embedded": "^1.97.2"
|
|
98
98
|
},
|
|
99
99
|
"scripts": {
|
|
100
100
|
"build:code": "vite build",
|