@mce/bigesj 0.13.13 → 0.13.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/convert/background.d.ts +3 -0
- package/dist/convert/element.d.ts +2 -1
- package/dist/convert/index.d.ts +3 -0
- package/dist/convert/layout.d.ts +2 -1
- package/dist/convert/style.d.ts +1 -0
- package/dist/convert/text.d.ts +5 -6
- package/dist/convert/types.d.ts +2 -0
- package/dist/index.js +36 -29
- package/package.json +2 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NormalizedElement } from 'modern-idoc';
|
|
2
|
-
|
|
2
|
+
import type { BigeElement } from './types';
|
|
3
|
+
export declare function convertElement(el: BigeElement, parent: Record<string, any> | undefined, context?: {
|
|
3
4
|
endTime: number;
|
|
4
5
|
}): Promise<NormalizedElement>;
|
package/dist/convert/index.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export * from './animation';
|
|
2
|
+
export * from './background';
|
|
2
3
|
export * from './doc';
|
|
3
4
|
export * from './element';
|
|
4
5
|
export * from './image';
|
|
5
6
|
export * from './layout';
|
|
7
|
+
export * from './style';
|
|
6
8
|
export * from './svg';
|
|
7
9
|
export * from './text';
|
|
10
|
+
export * from './types';
|
package/dist/convert/layout.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NormalizedElement } from 'modern-idoc';
|
|
2
|
-
|
|
2
|
+
import type { BigeLayout } from './types';
|
|
3
|
+
export declare function convertLayout(layout: BigeLayout, isFrame?: boolean, context?: {
|
|
3
4
|
endTime: number;
|
|
4
5
|
}): Promise<NormalizedElement>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getStyle(el: Record<string, any>): any;
|
package/dist/convert/text.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { NormalizedTextContent, StyleObject } from 'modern-idoc';
|
|
2
|
-
type
|
|
3
|
-
export declare function convertTextStyle(el:
|
|
4
|
-
export declare function convertTextEffects(el:
|
|
5
|
-
export declare function getTextContents(el:
|
|
6
|
-
export declare function convertTextContent(el:
|
|
7
|
-
export {};
|
|
2
|
+
import type { BigeElement } from './types';
|
|
3
|
+
export declare function convertTextStyle(el: BigeElement, isByWord?: boolean): Promise<Partial<StyleObject>>;
|
|
4
|
+
export declare function convertTextEffects(el: BigeElement): Promise<Partial<StyleObject>[] | undefined>;
|
|
5
|
+
export declare function getTextContents(el: BigeElement): BigeElement['contents'];
|
|
6
|
+
export declare function convertTextContent(el: BigeElement, isByWord?: boolean): Promise<NormalizedTextContent>;
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEditor, definePlugin } from "mce";
|
|
2
2
|
import { ref, onBeforeUnmount } from "vue";
|
|
3
3
|
import { createSharedComposable } from "@vueuse/core";
|
|
4
|
-
import { idGenerator,
|
|
4
|
+
import { idGenerator, isGradient, normalizeCRLF } from "modern-idoc";
|
|
5
5
|
import { assets } from "modern-canvas";
|
|
6
6
|
import { gunzipSync } from "fflate";
|
|
7
7
|
const bigeFonts = ref([]);
|
|
@@ -581,6 +581,28 @@ function parseAnimations(el) {
|
|
|
581
581
|
animations: animations2.filter((v) => !!v?.keyframes)
|
|
582
582
|
};
|
|
583
583
|
}
|
|
584
|
+
function convertBackground(el) {
|
|
585
|
+
let background;
|
|
586
|
+
const backgroundColor = el.backgroundColor ?? el.background?.color;
|
|
587
|
+
const backgroundImage = el.backgroundImage ?? el.background?.image;
|
|
588
|
+
if (backgroundColor) {
|
|
589
|
+
if (isGradient(backgroundColor ?? "")) {
|
|
590
|
+
background = {
|
|
591
|
+
image: backgroundColor
|
|
592
|
+
};
|
|
593
|
+
} else {
|
|
594
|
+
background = {
|
|
595
|
+
color: backgroundColor
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
if (backgroundImage) {
|
|
600
|
+
background = {
|
|
601
|
+
image: backgroundImage
|
|
602
|
+
};
|
|
603
|
+
}
|
|
604
|
+
return background;
|
|
605
|
+
}
|
|
584
606
|
async function convertImageElementToUrl(el) {
|
|
585
607
|
const {
|
|
586
608
|
transform = {},
|
|
@@ -813,6 +835,9 @@ function getContours(ctx) {
|
|
|
813
835
|
trace();
|
|
814
836
|
return paths;
|
|
815
837
|
}
|
|
838
|
+
function getStyle(el) {
|
|
839
|
+
return el.style ?? el;
|
|
840
|
+
}
|
|
816
841
|
async function convertSvgElementToUrl(el) {
|
|
817
842
|
const {
|
|
818
843
|
id,
|
|
@@ -870,14 +895,15 @@ async function convertSvgElementToUrl(el) {
|
|
|
870
895
|
const highlightReferImage = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNzIgNzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDcyIDcyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTE5LjMsMzguMWMwLjIsMC41LDAuNCwwLjksMC43LDEuNGMwLjIsMC4zLDAuNCwwLjQsMC44LDAuNGMwLjMsMCwwLjUtMC4xLDAuNi0wLjRjMC4xLTAuMywwLjEtMC42LDAuMi0wLjkgICBjMC0wLjIsMC4xLTAuNCwwLjMtMC41YzAuMi0wLjEsMC40LTAuMiwwLjYtMC4xYzAuMiwwLDAuNCwwLjEsMC41LDAuM2MwLjEsMC4yLDAuMiwwLjQsMC4xLDAuNmMtMC4xLDAuNi0wLjIsMS4yLTAuNCwxLjcgICBjLTAuMywwLjgtMC45LDEuMi0xLjcsMS4yYy0wLjksMC0xLjYtMC40LTIuMS0xLjJjLTAuMy0wLjQtMC41LTAuOC0wLjctMS4zYy0wLjQsMC4zLTEsMC42LTEuNywxYy0wLjUsMC4yLTAuOCwwLjEtMS4xLTAuMyAgIGMtMC4yLTAuNS0wLjEtMC45LDAuMy0xLjFjMC43LTAuNCwxLjQtMC44LDEuOS0xLjFjLTAuMi0wLjktMC40LTIuMS0wLjUtMy43TDE1LjksMzRjLTAuMiwwLTAuNCwwLTAuNi0wLjEgICBjLTAuMi0wLjEtMC4zLTAuMy0wLjMtMC41YzAtMC4yLDAtMC40LDAuMi0wLjZzMC4zLTAuMywwLjUtMC4zbDEuMi0wLjFjLTAuMS0wLjktMC4xLTEuOS0wLjEtMi45YzAtMC4yLDAuMS0wLjQsMC4yLTAuNiAgIGMwLjItMC4xLDAuMy0wLjIsMC42LTAuMmMwLjIsMCwwLjQsMC4xLDAuNiwwLjJjMC4yLDAuMSwwLjIsMC4zLDAuMywwLjZjMCwwLjEsMCwxLDAuMSwyLjdsMy4yLTAuNGMwLjIsMCwwLjQsMCwwLjUsMC4xICAgYzAuMiwwLjEsMC4zLDAuMywwLjMsMC41czAsMC40LTAuMSwwLjVjLTAuMSwwLjItMC4zLDAuMy0wLjUsMC4zbC0zLjMsMC40YzAuMSwxLjIsMC4yLDIuMSwwLjMsMi44YzAuNy0wLjYsMS40LTEuNCwyLTIuMiAgIGMwLjMtMC40LDAuNy0wLjQsMS4xLTAuMmMwLjQsMC4zLDAuNCwwLjcsMC4yLDFDMjEuMywzNi4zLDIwLjQsMzcuMywxOS4zLDM4LjF6IE0yMC42LDMxLjFjLTAuMy0wLjItMC43LTAuNS0xLjEtMC44ICAgYy0wLjMtMC4zLTAuMy0wLjYtMC4xLTAuOWMwLjMtMC4zLDAuNi0wLjQsMS0wLjJjMC40LDAuMiwwLjcsMC41LDEuMSwwLjdjMC40LDAuMywwLjQsMC42LDAuMiwxQzIxLjMsMzEuMywyMSwzMS4zLDIwLjYsMzEuMXogICAgTTIzLjMsMzAuOWMwLTAuMiwwLjEtMC40LDAuMi0wLjVjMC4xLTAuMSwwLjMtMC4yLDAuNi0wLjJzMC40LDAuMSwwLjYsMC4yYzAuMSwwLjEsMC4yLDAuMywwLjIsMC41djYuNWMwLDAuMi0wLjEsMC40LTAuMiwwLjUgICBjLTAuMSwwLjEtMC4zLDAuMi0wLjYsMC4ycy0wLjQtMC4xLTAuNi0wLjJjLTAuMS0wLjEtMC4yLTAuMy0wLjItMC41VjMwLjl6IE0yNC4zLDQxLjZjLTAuMiwwLTAuNC0wLjEtMC42LTAuMiAgIGMtMC4yLTAuMS0wLjItMC4zLTAuMi0wLjZjMC0wLjIsMC4xLTAuNCwwLjItMC42YzAuMi0wLjEsMC4zLTAuMiwwLjYtMC4yaDAuOWMwLjYsMCwxLTAuNCwxLTEuMXYtOS40YzAtMC4yLDAuMS0wLjQsMC4yLTAuNiAgIGMwLjItMC4xLDAuMy0wLjIsMC42LTAuMmMwLjIsMCwwLjQsMC4xLDAuNiwwLjJjMC4yLDAuMSwwLjIsMC4zLDAuMiwwLjZWMzljMCwwLjgtMC4yLDEuNS0wLjcsMS45cy0xLjEsMC43LTEuOCwwLjdIMjQuM3oiLz4KCTxwYXRoIGQ9Ik00MC42LDM3LjdoLTMuOHYwLjdoNC40YzAuMSwwLDAuMywwLjEsMC40LDAuMmMwLjEsMC4xLDAuMiwwLjIsMC4yLDAuNGMwLDAuMS0wLjEsMC4zLTAuMiwwLjRjLTAuMSwwLjEtMC4yLDAuMi0wLjQsMC4yICAgaC00LjR2MC43SDQyYzAuMiwwLDAuMywwLjEsMC40LDAuMmMwLjEsMC4xLDAuMiwwLjIsMC4yLDAuNHMtMC4xLDAuMy0wLjIsMC40Yy0wLjEsMC4xLTAuMiwwLjItMC40LDAuMkgzMGMtMC4yLDAtMC4zLTAuMS0wLjQtMC4yICAgYy0wLjEtMC4xLTAuMi0wLjItMC4yLTAuNHMwLjEtMC4zLDAuMi0wLjRjMC4xLTAuMSwwLjItMC4yLDAuNC0wLjJoNS4ydi0wLjdoLTQuNGMtMC4xLDAtMC4zLTAuMS0wLjQtMC4ycy0wLjItMC4yLTAuMi0wLjQgICBjMC0wLjEsMC4xLTAuMywwLjItMC40czAuMi0wLjIsMC40LTAuMmg0LjR2LTAuN2gtMy43aDBjLTAuMiwwLTAuNC0wLjEtMC42LTAuMnMtMC4yLTAuMy0wLjItMC42di0zLjFjMC0wLjIsMC4xLTAuNCwwLjItMC42ICAgYzAuMS0wLjEsMC4zLTAuMiwwLjYtMC4yaDMuOHYtMC44SDMwYy0wLjIsMC0wLjMtMC4xLTAuNC0wLjJjLTAuMS0wLjEtMC4yLTAuMi0wLjItMC40czAuMS0wLjMsMC4yLTAuNGMwLjEtMC4xLDAuMi0wLjIsMC40LTAuMiAgIGg1LjJ2LTAuOGMtMS40LDAtMi45LDAuMS00LjMsMC4xYy0wLjIsMC0wLjMsMC0wLjQtMC4xYy0wLjEtMC4xLTAuMi0wLjItMC4yLTAuNGMwLTAuMiwwLTAuMywwLjItMC40YzAuMS0wLjEsMC4zLTAuMiwwLjQtMC4yICAgYzMuMywwLDYuOC0wLjEsMTAuMi0wLjNjMC4yLDAsMC4zLDAsMC40LDAuMmMwLjEsMC4xLDAuMiwwLjMsMC4yLDAuNGMwLDAuMiwwLDAuMy0wLjEsMC40Yy0wLjEsMC4xLTAuMiwwLjItMC40LDAuMiAgIGMtMS4xLDAtMi41LDAuMS00LjMsMC4xdjAuOGg1LjFjMC4yLDAsMC4zLDAuMSwwLjQsMC4yYzAuMSwwLjEsMC4yLDAuMiwwLjIsMC40cy0wLjEsMC4zLTAuMiwwLjRjLTAuMSwwLjEtMC4yLDAuMi0wLjQsMC4yaC01LjEgICB2MC44aDMuOGMwLjIsMCwwLjQsMC4xLDAuNiwwLjJjMC4xLDAuMSwwLjIsMC4zLDAuMiwwLjZ2My4xYzAsMC4yLTAuMSwwLjQtMC4yLDAuNkM0MSwzNy43LDQwLjgsMzcuNyw0MC42LDM3Ljd6IE0zNS4xLDM0LjlWMzQgICBoLTIuOXYwLjlIMzUuMXogTTM1LjEsMzYuN3YtMC45aC0yLjl2MC45SDM1LjF6IE0zOS44LDM0LjlWMzRoLTIuOXYwLjlIMzkuOHogTTM5LjgsMzYuN3YtMC45aC0yLjl2MC45SDM5Ljh6Ii8+Cgk8cGF0aCBkPSJNNDUuNSw0MS4xYy0wLjMsMC40LTAuNywwLjUtMS4xLDAuM2MtMC40LTAuMy0wLjUtMC43LTAuMy0xLjFsMS0xLjdjMC4zLTAuNCwwLjctMC41LDEuMS0wLjNjMC40LDAuMywwLjUsMC43LDAuMywxLjEgICBMNDUuNSw0MS4xeiBNNTUsMzcuN2MtMC4xLDAtMC4xLDAtMC4yLDBoLTguOWMtMC4zLDAtMC41LTAuMS0wLjYtMC4yYy0wLjItMC4yLTAuMi0wLjQtMC4yLTAuNnYtMy40YzAtMC4yLDAuMS0wLjQsMC4yLTAuNiAgIGMwLjEtMC4xLDAuMy0wLjIsMC42LTAuMmgzLjN2LTMuMWMwLTAuMiwwLjEtMC40LDAuMi0wLjZjMC4yLTAuMiwwLjQtMC4yLDAuNi0wLjJzMC40LDAuMSwwLjYsMC4yYzAuMiwwLjIsMC4yLDAuNCwwLjIsMC42djAuM0g1NiAgIGMwLjIsMCwwLjQsMC4xLDAuNiwwLjJjMC4xLDAuMSwwLjIsMC4zLDAuMiwwLjZzLTAuMSwwLjQtMC4yLDAuNWMtMC4xLDAuMS0wLjMsMC4yLTAuNiwwLjJoLTUuMnYxLjNoNGMwLjIsMCwwLjQsMC4xLDAuNiwwLjIgICBjMC4xLDAuMSwwLjIsMC4zLDAuMiwwLjZ2My40QzU1LjYsMzcuMyw1NS40LDM3LjYsNTUsMzcuN3ogTTUzLjksMzYuMnYtMmgtNy4xdjJINTMuOXogTTQ5LjYsNDAuN2MwLDAuMy0wLjEsMC41LTAuMiwwLjYgICBjLTAuMiwwLjEtMC40LDAuMi0wLjYsMC4yYy0wLjIsMC0wLjQtMC4xLTAuNi0wLjJjLTAuMS0wLjItMC4yLTAuNC0wLjItMC42bDAtMS42YzAtMC4yLDAuMS0wLjQsMC4yLTAuNmMwLjItMC4yLDAuMy0wLjIsMC42LTAuMiAgIHMwLjQsMC4xLDAuNiwwLjJjMC4yLDAuMiwwLjIsMC40LDAuMiwwLjZWNDAuN3ogTTUyLjgsNDAuN2MwLDAuMi0wLjEsMC40LTAuMiwwLjZjLTAuMiwwLjEtMC40LDAuMi0wLjYsMC4yICAgYy0wLjIsMC0wLjQtMC4xLTAuNi0wLjJjLTAuMi0wLjEtMC4yLTAuMy0wLjItMC42bDAtMS42YzAtMC4yLDAuMS0wLjQsMC4yLTAuNmMwLjItMC4yLDAuMy0wLjIsMC42LTAuMmMwLjIsMCwwLjQsMC4xLDAuNiwwLjIgICBjMC4yLDAuMiwwLjIsMC40LDAuMiwwLjZWNDAuN3ogTTU2LjYsNDAuM2MwLjIsMC40LDAuMSwwLjgtMC4zLDEuMWMtMC41LDAuMy0wLjgsMC4yLTEuMS0wLjNsLTEtMS43Yy0wLjItMC41LTAuMS0wLjgsMC4zLTEuMSAgIGMwLjUtMC4yLDAuOS0wLjEsMS4xLDAuM0w1Ni42LDQwLjN6Ii8+CjwvZz4KPC9zdmc+";
|
|
871
896
|
async function convertTextStyle(el, isByWord = false) {
|
|
872
897
|
const { fetchToText } = useSharedTextAssets();
|
|
898
|
+
const elStyle = getStyle(el);
|
|
873
899
|
const style = {
|
|
874
|
-
...
|
|
900
|
+
...elStyle,
|
|
875
901
|
highlightReferImage,
|
|
876
902
|
listStyleType: "none",
|
|
877
903
|
listStyleImage: "none"
|
|
878
904
|
};
|
|
879
|
-
if (
|
|
880
|
-
style.fontSize = Math.floor(
|
|
905
|
+
if (elStyle.fontSize) {
|
|
906
|
+
style.fontSize = Math.floor(elStyle.fontSize);
|
|
881
907
|
}
|
|
882
908
|
if (el.listStyle?.colormap) {
|
|
883
909
|
style.listStyleColormap = el.listStyle?.colormap;
|
|
@@ -1030,7 +1056,7 @@ async function convertTextContent(el, isByWord = false) {
|
|
|
1030
1056
|
}
|
|
1031
1057
|
const percentageToPx = (per) => (Number.parseFloat(per) || 0) / 100;
|
|
1032
1058
|
async function convertElement(el, parent, context) {
|
|
1033
|
-
const style = { ...el
|
|
1059
|
+
const style = { ...getStyle(el) };
|
|
1034
1060
|
delete style.bottom;
|
|
1035
1061
|
delete style.right;
|
|
1036
1062
|
const { children: _children, ...raw } = el;
|
|
@@ -1190,9 +1216,7 @@ async function convertElement(el, parent, context) {
|
|
|
1190
1216
|
}
|
|
1191
1217
|
async function convertLayout(layout, isFrame = true, context) {
|
|
1192
1218
|
const id = idGenerator();
|
|
1193
|
-
const style = {
|
|
1194
|
-
...layout.style ?? layout
|
|
1195
|
-
};
|
|
1219
|
+
const style = { ...getStyle(layout) };
|
|
1196
1220
|
delete style.right;
|
|
1197
1221
|
delete style.bottom;
|
|
1198
1222
|
if (isFrame) {
|
|
@@ -1208,31 +1232,12 @@ async function convertLayout(layout, isFrame = true, context) {
|
|
|
1208
1232
|
if (layout.name) {
|
|
1209
1233
|
meta.rawName = layout.name;
|
|
1210
1234
|
}
|
|
1211
|
-
let background;
|
|
1212
|
-
if (layout.background) {
|
|
1213
|
-
if (layout.background.color) {
|
|
1214
|
-
if (isGradient(layout.background.color ?? "")) {
|
|
1215
|
-
background = {
|
|
1216
|
-
image: layout.background.color
|
|
1217
|
-
};
|
|
1218
|
-
} else {
|
|
1219
|
-
background = {
|
|
1220
|
-
color: layout.background.color
|
|
1221
|
-
};
|
|
1222
|
-
}
|
|
1223
|
-
}
|
|
1224
|
-
if (layout.background.image) {
|
|
1225
|
-
background = {
|
|
1226
|
-
image: layout.background.image
|
|
1227
|
-
};
|
|
1228
|
-
}
|
|
1229
|
-
}
|
|
1230
1235
|
return {
|
|
1231
1236
|
id,
|
|
1232
1237
|
name: isFrame ? `Frame ${id}` : layout.name,
|
|
1233
1238
|
style,
|
|
1234
1239
|
// TODO 过滤掉部分属性
|
|
1235
|
-
background,
|
|
1240
|
+
background: convertBackground(layout),
|
|
1236
1241
|
children: (await Promise.all(
|
|
1237
1242
|
layout.elements.map(async (element) => {
|
|
1238
1243
|
try {
|
|
@@ -1269,7 +1274,7 @@ async function convertDoc(doc, gap = 0) {
|
|
|
1269
1274
|
element.style.top = top;
|
|
1270
1275
|
top += Number(element.style.height) + gap;
|
|
1271
1276
|
}
|
|
1272
|
-
element.name =
|
|
1277
|
+
element.name = `画板 ${index + 1}`;
|
|
1273
1278
|
return element;
|
|
1274
1279
|
});
|
|
1275
1280
|
const minmax = children.reduce((child) => {
|
|
@@ -1456,6 +1461,7 @@ export {
|
|
|
1456
1461
|
bidTidLoader,
|
|
1457
1462
|
bigeLoader,
|
|
1458
1463
|
convertAnimation,
|
|
1464
|
+
convertBackground,
|
|
1459
1465
|
convertDoc,
|
|
1460
1466
|
convertElement,
|
|
1461
1467
|
convertImageElementToUrl,
|
|
@@ -1465,6 +1471,7 @@ export {
|
|
|
1465
1471
|
convertTextEffects,
|
|
1466
1472
|
convertTextStyle,
|
|
1467
1473
|
plugin as default,
|
|
1474
|
+
getStyle,
|
|
1468
1475
|
getTextContents,
|
|
1469
1476
|
parseAnimations,
|
|
1470
1477
|
plugin,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mce/bigesj",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.13.
|
|
4
|
+
"version": "0.13.15",
|
|
5
5
|
"description": "Plugin for mce",
|
|
6
6
|
"author": "wxm",
|
|
7
7
|
"license": "MIT",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"fflate": "^0.8.2"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"mce": "0.13.
|
|
51
|
+
"mce": "0.13.15"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"mce": "^0"
|