@versa_ai/vmml-editor 1.0.22 → 1.0.23
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/.turbo/turbo-build.log +9 -9
- package/dist/index.js +19 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +19 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/components/EditorCanvas.tsx +21 -3
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @versa_ai/vmml-editor@1.0.
|
|
2
|
+
> @versa_ai/vmml-editor@1.0.23 build D:\code\work\vmml-player\packages\editor
|
|
3
3
|
> tsup
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/index.tsx
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
[34mCLI[39m Target: node16
|
|
10
10
|
[34mCJS[39m Build start
|
|
11
11
|
[34mESM[39m Build start
|
|
12
|
+
[34mDTS[39m Build start
|
|
12
13
|
|
|
13
14
|
[43m[30m WARN [39m[49m [33m▲ [43;33m[[43;30mWARNING[43;33m][0m [1mUsing / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
|
|
14
15
|
|
|
@@ -123,13 +124,12 @@ More info and automated migrator: https://sass-lang.com/d/slash-div[0m [1m[35
|
|
|
123
124
|
|
|
124
125
|
|
|
125
126
|
|
|
126
|
-
[
|
|
127
|
-
[
|
|
128
|
-
[
|
|
129
|
-
[32mCJS[39m
|
|
130
|
-
[
|
|
131
|
-
[
|
|
132
|
-
[
|
|
133
|
-
[32mDTS[39m ⚡️ Build success in 2259ms
|
|
127
|
+
[32mESM[39m [1mdist\index.mjs [22m[32m113.36 KB[39m
|
|
128
|
+
[32mESM[39m [1mdist\index.mjs.map [22m[32m217.80 KB[39m
|
|
129
|
+
[32mESM[39m ⚡️ Build success in 820ms
|
|
130
|
+
[32mCJS[39m [1mdist\index.js [22m[32m115.00 KB[39m
|
|
131
|
+
[32mCJS[39m [1mdist\index.js.map [22m[32m218.10 KB[39m
|
|
132
|
+
[32mCJS[39m ⚡️ Build success in 821ms
|
|
133
|
+
[32mDTS[39m ⚡️ Build success in 2291ms
|
|
134
134
|
[32mDTS[39m [1mdist\index.d.ts [22m[32m158.00 B[39m
|
|
135
135
|
[32mDTS[39m [1mdist\index.d.mts [22m[32m158.00 B[39m
|
package/dist/index.js
CHANGED
|
@@ -1407,9 +1407,10 @@ var EditorCanvas = react.forwardRef(
|
|
|
1407
1407
|
if (lower.includes(".ttf")) return "truetype";
|
|
1408
1408
|
return null;
|
|
1409
1409
|
};
|
|
1410
|
-
const embedFontInSVG = async (svgString, url) => {
|
|
1410
|
+
const embedFontInSVG = async (svgString, url, fontBase64) => {
|
|
1411
1411
|
if (url) {
|
|
1412
|
-
|
|
1412
|
+
let res = fontBase64;
|
|
1413
|
+
if (!res) await vmmlUtils.urlToBlob({ url });
|
|
1413
1414
|
const format = detectFontFormat(url);
|
|
1414
1415
|
const fontFamilyName = getFontFamilyName(url);
|
|
1415
1416
|
const srcValue = format ? `url('${res}') format('${format}')` : `url('${res}')`;
|
|
@@ -1425,7 +1426,22 @@ var EditorCanvas = react.forwardRef(
|
|
|
1425
1426
|
}
|
|
1426
1427
|
return svgString;
|
|
1427
1428
|
};
|
|
1429
|
+
const loadFont = async (url) => {
|
|
1430
|
+
if (!url) return null;
|
|
1431
|
+
try {
|
|
1432
|
+
const base64 = await vmmlUtils.urlToBlob({ url });
|
|
1433
|
+
const fontFamilyName = getFontFamilyName(url);
|
|
1434
|
+
const format = detectFontFormat(url);
|
|
1435
|
+
const fontFace = new FontFace(fontFamilyName, `url(${base64})${format ? ` format('${format}')` : ""}`);
|
|
1436
|
+
await fontFace.load();
|
|
1437
|
+
document.fonts.add(fontFace);
|
|
1438
|
+
return base64;
|
|
1439
|
+
} catch (e) {
|
|
1440
|
+
return null;
|
|
1441
|
+
}
|
|
1442
|
+
};
|
|
1428
1443
|
const createTextImg = async ({ textContent, bgColor, textColor, stColor, strokeW, fontAssetUrl = null, textBasicInfo }) => {
|
|
1444
|
+
const fontBase64 = await loadFont(fontAssetUrl);
|
|
1429
1445
|
const container = document.createElement("div");
|
|
1430
1446
|
container.style.backgroundColor = bgColor;
|
|
1431
1447
|
container.style.boxSizing = "content-box";
|
|
@@ -1467,7 +1483,7 @@ var EditorCanvas = react.forwardRef(
|
|
|
1467
1483
|
const { width, height } = container == null ? void 0 : container.getBoundingClientRect();
|
|
1468
1484
|
const dataurl = await domToImage.toSvg(container);
|
|
1469
1485
|
document.body.removeChild(container);
|
|
1470
|
-
const base64Image = await embedFontInSVG(dataurl, fontAssetUrl);
|
|
1486
|
+
const base64Image = await embedFontInSVG(dataurl, fontAssetUrl, fontBase64);
|
|
1471
1487
|
return { base64Image, height, width };
|
|
1472
1488
|
};
|
|
1473
1489
|
const createText = async ({ textContent, bgColor, textColor, position, textBasicInfo, id }, fc2) => {
|