@bendyline/squisq-formats 2.8.5 → 2.8.7
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/README.md +1 -1
- package/dist/{chunk-ZULJFSA4.js → chunk-4A3EHQJP.js} +1 -1
- package/dist/{chunk-AVOZAKGP.js → chunk-BZ5SHMOY.js} +3 -0
- package/dist/{chunk-CJUOAGGS.js → chunk-DHAK4PII.js} +3 -1
- package/dist/{chunk-AOY3UPE3.js → chunk-IYNDHW2C.js} +1 -1
- package/dist/{chunk-BIERSSDF.js → chunk-KROH7FNT.js} +2 -2
- package/dist/{chunk-QRDJOYT3.js → chunk-QU4EVC62.js} +2 -2
- package/dist/{chunk-GESOAVYN.js → chunk-SVYTUYZM.js} +3 -2
- package/dist/{chunk-GLIUMDYD.js → chunk-TMOXUUTG.js} +107 -26
- package/dist/docx/index.js +3 -3
- package/dist/epub/index.js +2 -2
- package/dist/index.js +9 -9
- package/dist/outside-in/index.js +2 -2
- package/dist/pdf/index.js +1 -1
- package/dist/pptx/index.js +3 -3
- package/dist/registry/index.js +1 -1
- package/dist/xlsx/index.js +2 -2
- package/package.json +2 -2
- /package/dist/{chunk-X6WFQDZD.js → chunk-ALDCFHZT.js} +0 -0
package/README.md
CHANGED
|
@@ -87,7 +87,7 @@ const imported = await pdfToMarkdownDoc(pdfBuffer);
|
|
|
87
87
|
const container = await pdfToContainer(pdfBuffer);
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
**Fidelity:** export uses pdf-lib's standard 14 fonts (`themeId` affects colors only). Text they cannot encode — Greek, Cyrillic, Vietnamese, arrows, math, box drawing, symbols — is drawn with an embedded Unicode font: the bundled DejaVu Sans faces, loaded and subset only for a document that needs them (`unicodeFonts` supplies your own faces, or `false` turns this off). CJK and emoji are still replaced, and reported once through `onWarning`. Pages stay white for printing. Theme text, heading, and link colors are retained when they meet 4.5:1 contrast against both white paper and the shaded table header; otherwise the exporter uses its default dark ink for that role. This also applies to inherited and custom themes. Pass `images` (keyed by the markdown URL, as for DOCX) to draw PNG and JPEG images that stand alone in a paragraph; other images print as an `[Image: alt]` note. PDF has no semantic structure, so import is heuristic and best-effort: headings are detected by font size, and tables / code blocks / blockquotes / links via the `detectTables` / `detectCodeBlocks` / `detectBlockquotes` / `detectLinks` options (all default true). `pdfToMarkdownDoc` is text-only; `pdfToContainer` also extracts embedded XObject and inline raster images in browsers and Node, placed **by page** — each image is inserted after the last content block from its page (image-only pages fall back to the nearest preceding page with content, else the document end). Placement is page-level only; masks, vector artwork, and images that PDF.js cannot expose as decoded pixels are not emitted.
|
|
90
|
+
**Fidelity:** export uses pdf-lib's standard 14 fonts (`themeId` affects colors only). Text they cannot encode — Greek, Cyrillic, Vietnamese, arrows, math, box drawing, symbols — is drawn with an embedded Unicode font: the bundled DejaVu Sans faces, loaded and subset only for a document that needs them (`unicodeFonts` supplies your own faces, or `false` turns this off). CJK and most emoji are still replaced, and reported once through `onWarning`. Lines break at a `<br>` (the only line break a table cell can hold), table columns are sized to their content, and a word too long for its line or cell breaks between characters. Pages stay white for printing. Theme text, heading, and link colors are retained when they meet 4.5:1 contrast against both white paper and the shaded table header; otherwise the exporter uses its default dark ink for that role. This also applies to inherited and custom themes. Pass `images` (keyed by the markdown URL, as for DOCX) to draw PNG and JPEG images that stand alone in a paragraph; other images print as an `[Image: alt]` note. PDF has no semantic structure, so import is heuristic and best-effort: headings are detected by font size, and tables / code blocks / blockquotes / links via the `detectTables` / `detectCodeBlocks` / `detectBlockquotes` / `detectLinks` options (all default true). `pdfToMarkdownDoc` is text-only; `pdfToContainer` also extracts embedded XObject and inline raster images in browsers and Node, placed **by page** — each image is inserted after the last content block from its page (image-only pages fall back to the nearest preceding page with content, else the document end). Placement is page-level only; masks, vector artwork, and images that PDF.js cannot expose as decoded pixels are not emitted.
|
|
91
91
|
|
|
92
92
|
### Diagrams as pictures
|
|
93
93
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// src/shared/text.ts
|
|
2
|
+
import { isHtmlLineBreak } from "@bendyline/squisq/markdown";
|
|
2
3
|
function stripHtmlTags(html) {
|
|
3
4
|
return html.replace(/<[^>]*>/g, "");
|
|
4
5
|
}
|
|
@@ -21,6 +22,8 @@ function inlineToPlainText(node) {
|
|
|
21
22
|
return `{[${node.token}]}`;
|
|
22
23
|
case "break":
|
|
23
24
|
return " ";
|
|
25
|
+
case "htmlInline":
|
|
26
|
+
return isHtmlLineBreak(node.rawHtml) ? " " : "";
|
|
24
27
|
default:
|
|
25
28
|
return "";
|
|
26
29
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
stripHtmlTags
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BZ5SHMOY.js";
|
|
4
4
|
|
|
5
5
|
// src/ooxml/relIds.ts
|
|
6
6
|
var RelIdAllocator = class {
|
|
@@ -75,6 +75,7 @@ function hasControls(value) {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
// src/shared/inlineRuns.ts
|
|
78
|
+
import { isHtmlLineBreak } from "@bendyline/squisq/markdown";
|
|
78
79
|
function inlineNodesToRuns(nodes, handlers, format = {}) {
|
|
79
80
|
let out = "";
|
|
80
81
|
for (const node of nodes) {
|
|
@@ -101,6 +102,7 @@ function inlineNodeToRuns(node, handlers, format) {
|
|
|
101
102
|
case "inlineMath":
|
|
102
103
|
return handlers.run(node.value, { ...format, code: true });
|
|
103
104
|
case "htmlInline":
|
|
105
|
+
if (isHtmlLineBreak(node.rawHtml)) return handlers.lineBreak();
|
|
104
106
|
return handlers.run(stripHtmlTags(node.rawHtml), format);
|
|
105
107
|
case "link":
|
|
106
108
|
if (node.wikiTarget !== void 0 && !node.url)
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
inlineNodesToRuns,
|
|
6
6
|
normalizeOoxmlHex,
|
|
7
7
|
sanitizeOfficeHyperlink
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-DHAK4PII.js";
|
|
9
9
|
import {
|
|
10
10
|
docHasSvgIslands,
|
|
11
11
|
isSvgImageEntry,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-VCZUXQUL.js";
|
|
15
15
|
import {
|
|
16
16
|
stripHtmlTags
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-BZ5SHMOY.js";
|
|
18
18
|
import {
|
|
19
19
|
createPackage
|
|
20
20
|
} from "./chunk-ILCJ3WFD.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
inlineNodesToRuns,
|
|
9
9
|
sanitizeOfficeHyperlink,
|
|
10
10
|
toOoxmlHex
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-DHAK4PII.js";
|
|
12
12
|
import {
|
|
13
13
|
svgImageFromBytes,
|
|
14
14
|
svgIslandImage
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
extractPlainText,
|
|
18
18
|
stripHtmlTags
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-BZ5SHMOY.js";
|
|
20
20
|
import {
|
|
21
21
|
createPackage
|
|
22
22
|
} from "./chunk-ILCJ3WFD.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-VCZUXQUL.js";
|
|
9
9
|
import {
|
|
10
10
|
extractPlainText
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-BZ5SHMOY.js";
|
|
12
12
|
import {
|
|
13
13
|
escapeXml
|
|
14
14
|
} from "./chunk-JU2RHXUB.js";
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
import JSZip from "jszip";
|
|
30
30
|
import { resolveFontFamily } from "@bendyline/squisq/schemas";
|
|
31
31
|
import { resolveThemeForDoc } from "@bendyline/squisq/doc";
|
|
32
|
-
import { readFrontmatterThemeId, sanitizeUrl } from "@bendyline/squisq/markdown";
|
|
32
|
+
import { isHtmlLineBreak, readFrontmatterThemeId, sanitizeUrl } from "@bendyline/squisq/markdown";
|
|
33
33
|
async function markdownDocToEpub(sourceDoc, options = {}) {
|
|
34
34
|
options.signal?.throwIfAborted();
|
|
35
35
|
const themeId = options.themeId ?? readFrontmatterThemeId(sourceDoc.frontmatter);
|
|
@@ -442,6 +442,7 @@ function inlineToXhtml(node, ctx) {
|
|
|
442
442
|
case "inlineMath":
|
|
443
443
|
return `<span class="math">${escapeXml(node.value)}</span>`;
|
|
444
444
|
case "htmlInline":
|
|
445
|
+
if (isHtmlLineBreak(node.rawHtml)) return "<br/>";
|
|
445
446
|
return escapeXml(node.rawHtml.replace(/<[^>]+>/g, ""));
|
|
446
447
|
case "inlineIcon": {
|
|
447
448
|
const icon = node;
|
|
@@ -23,7 +23,7 @@ import { PDFDocument, StandardFonts, rgb, PDFString } from "pdf-lib";
|
|
|
23
23
|
import fontkit2 from "@pdf-lib/fontkit";
|
|
24
24
|
import { contrastRatio } from "@bendyline/squisq/schemas";
|
|
25
25
|
import { docToMarkdown, resolveThemeForDoc } from "@bendyline/squisq/doc";
|
|
26
|
-
import { readFrontmatterThemeId, sanitizeUrl } from "@bendyline/squisq/markdown";
|
|
26
|
+
import { isHtmlLineBreak, readFrontmatterThemeId, sanitizeUrl } from "@bendyline/squisq/markdown";
|
|
27
27
|
|
|
28
28
|
// src/pdf/winAnsi.ts
|
|
29
29
|
var CP1252_HIGH_SPECIALS = /* @__PURE__ */ new Set([
|
|
@@ -333,7 +333,7 @@ var WinAnsiTracker = class {
|
|
|
333
333
|
warning(options = {}) {
|
|
334
334
|
if (this.count === 0) return void 0;
|
|
335
335
|
if (options.unicodeFont) {
|
|
336
|
-
return `PDF export replaced ${this.count} character(s) that its fonts cannot draw (${this.samples.join(", ")}).
|
|
336
|
+
return `PDF export replaced ${this.count} character(s) that its fonts cannot draw (${this.samples.join(", ")}). The PDF fonts do not cover CJK scripts or most emoji.`;
|
|
337
337
|
}
|
|
338
338
|
return `PDF export replaced ${this.count} character(s) that the standard PDF fonts cannot encode (${this.samples.join(", ")}). Scripts such as emoji, CJK and Cyrillic require an embedded Unicode font.`;
|
|
339
339
|
}
|
|
@@ -741,16 +741,13 @@ function flattenInlines(nodes, ctx, state) {
|
|
|
741
741
|
break;
|
|
742
742
|
}
|
|
743
743
|
case "break":
|
|
744
|
-
spans.push(
|
|
745
|
-
text: "\n",
|
|
746
|
-
font: ctx.fonts.regular,
|
|
747
|
-
fontSize: ctx.fontSize,
|
|
748
|
-
color: ctx.colors.text
|
|
749
|
-
});
|
|
744
|
+
spans.push(lineBreakSpan(ctx));
|
|
750
745
|
break;
|
|
751
746
|
case "htmlInline": {
|
|
752
747
|
const html = node.rawHtml;
|
|
753
|
-
if (html) {
|
|
748
|
+
if (isHtmlLineBreak(html)) {
|
|
749
|
+
spans.push(lineBreakSpan(ctx));
|
|
750
|
+
} else if (html) {
|
|
754
751
|
spans.push(
|
|
755
752
|
...textSpans(ctx, html, ctx.fonts.mono, {
|
|
756
753
|
fontSize: CODE_FONT_SIZE,
|
|
@@ -799,6 +796,9 @@ function flattenInlines(nodes, ctx, state) {
|
|
|
799
796
|
}
|
|
800
797
|
return spans;
|
|
801
798
|
}
|
|
799
|
+
function lineBreakSpan(ctx) {
|
|
800
|
+
return { text: "\n", font: ctx.fonts.regular, fontSize: ctx.fontSize, color: ctx.colors.text };
|
|
801
|
+
}
|
|
802
802
|
var STANDARD_FONT_NAMES = new Set(Object.values(StandardFonts));
|
|
803
803
|
function drawnWidth(font, text, size) {
|
|
804
804
|
if (!STANDARD_FONT_NAMES.has(font.name)) return font.widthOfTextAtSize(text, size);
|
|
@@ -895,7 +895,7 @@ function wrapSpans(spans, maxWidth) {
|
|
|
895
895
|
lineWidth = 0;
|
|
896
896
|
continue;
|
|
897
897
|
}
|
|
898
|
-
const words = splitIntoWords(span.text);
|
|
898
|
+
const words = splitIntoWords(span.text).flatMap((word) => breakLongWord(word, span, maxWidth));
|
|
899
899
|
for (const word of words) {
|
|
900
900
|
const wordWidth = drawnWidth(span.font, word, span.fontSize);
|
|
901
901
|
if (lineWidth + wordWidth > maxWidth && currentLine.length > 0 && word.trim().length > 0) {
|
|
@@ -916,6 +916,42 @@ function wrapSpans(spans, maxWidth) {
|
|
|
916
916
|
}
|
|
917
917
|
return lines.length > 0 ? lines : [[]];
|
|
918
918
|
}
|
|
919
|
+
function breakLongWord(word, span, maxWidth) {
|
|
920
|
+
if (word.trim().length === 0 || drawnWidth(span.font, word, span.fontSize) <= maxWidth) {
|
|
921
|
+
return [word];
|
|
922
|
+
}
|
|
923
|
+
const pieces = [];
|
|
924
|
+
let piece = "";
|
|
925
|
+
let pieceWidth = 0;
|
|
926
|
+
for (const cluster of characterClusters(word)) {
|
|
927
|
+
const width = drawnWidth(span.font, cluster, span.fontSize);
|
|
928
|
+
if (piece && pieceWidth + width > maxWidth) {
|
|
929
|
+
pieces.push(piece);
|
|
930
|
+
piece = "";
|
|
931
|
+
pieceWidth = 0;
|
|
932
|
+
}
|
|
933
|
+
piece += cluster;
|
|
934
|
+
pieceWidth += width;
|
|
935
|
+
}
|
|
936
|
+
if (piece) pieces.push(piece);
|
|
937
|
+
return pieces;
|
|
938
|
+
}
|
|
939
|
+
function continuesCluster(ch) {
|
|
940
|
+
const codePoint = ch.codePointAt(0);
|
|
941
|
+
return /\p{M}/u.test(ch) || codePoint === 8205 || codePoint === 65038 || codePoint === 65039 || codePoint >= 127995 && codePoint <= 127999;
|
|
942
|
+
}
|
|
943
|
+
function characterClusters(text) {
|
|
944
|
+
const clusters = [];
|
|
945
|
+
for (const ch of text) {
|
|
946
|
+
const last = clusters.length - 1;
|
|
947
|
+
if (last >= 0 && (continuesCluster(ch) || clusters[last].endsWith("\u200D"))) {
|
|
948
|
+
clusters[last] += ch;
|
|
949
|
+
} else {
|
|
950
|
+
clusters.push(ch);
|
|
951
|
+
}
|
|
952
|
+
}
|
|
953
|
+
return clusters;
|
|
954
|
+
}
|
|
919
955
|
function splitIntoWords(text) {
|
|
920
956
|
const tokens = [];
|
|
921
957
|
let current = "";
|
|
@@ -1145,18 +1181,29 @@ function renderTable(node, ctx, extraIndent) {
|
|
|
1145
1181
|
...node.children.map((row) => row.children.length)
|
|
1146
1182
|
);
|
|
1147
1183
|
if (numCols === 0) return;
|
|
1148
|
-
const
|
|
1149
|
-
|
|
1150
|
-
const row = node.children[rowIdx];
|
|
1184
|
+
const rows = node.children.map((rowNode, rowIdx) => {
|
|
1185
|
+
const row = rowNode;
|
|
1151
1186
|
const isHeader = rowIdx === 0 && row.children.some((c) => c.isHeader);
|
|
1152
|
-
const
|
|
1153
|
-
|
|
1154
|
-
const spans = flattenInlines(cellNode.children, ctx, {
|
|
1187
|
+
const cells = row.children.map(
|
|
1188
|
+
(cell) => flattenInlines(cell.children, ctx, {
|
|
1155
1189
|
bold: isHeader,
|
|
1156
1190
|
italic: false,
|
|
1157
1191
|
code: false
|
|
1158
|
-
})
|
|
1159
|
-
|
|
1192
|
+
})
|
|
1193
|
+
);
|
|
1194
|
+
return { isHeader, cells };
|
|
1195
|
+
});
|
|
1196
|
+
const colWidths = tableColumnWidths(
|
|
1197
|
+
rows.map((row) => row.cells),
|
|
1198
|
+
tableWidth,
|
|
1199
|
+
numCols
|
|
1200
|
+
);
|
|
1201
|
+
const colX = colWidths.map(
|
|
1202
|
+
(_, colIdx) => colWidths.slice(0, colIdx).reduce((sum, width) => sum + width, x0)
|
|
1203
|
+
);
|
|
1204
|
+
for (const { isHeader, cells } of rows) {
|
|
1205
|
+
const rowCellHeights = cells.map((spans, colIdx) => {
|
|
1206
|
+
const lines = wrapSpans(spans, colWidths[colIdx] - 2 * TABLE_CELL_PAD_X);
|
|
1160
1207
|
return lines.length * ctx.fontSize * LINE_HEIGHT_FACTOR + 2 * TABLE_CELL_PAD_Y;
|
|
1161
1208
|
});
|
|
1162
1209
|
const rowHeight = Math.max(
|
|
@@ -1174,7 +1221,8 @@ function renderTable(node, ctx, extraIndent) {
|
|
|
1174
1221
|
});
|
|
1175
1222
|
}
|
|
1176
1223
|
for (let colIdx = 0; colIdx < numCols; colIdx++) {
|
|
1177
|
-
const cellX =
|
|
1224
|
+
const cellX = colX[colIdx];
|
|
1225
|
+
const colWidth = colWidths[colIdx];
|
|
1178
1226
|
ctx.page.drawRectangle({
|
|
1179
1227
|
x: cellX,
|
|
1180
1228
|
y: ctx.y - rowHeight,
|
|
@@ -1183,13 +1231,8 @@ function renderTable(node, ctx, extraIndent) {
|
|
|
1183
1231
|
borderColor: rgb(COLOR_TABLE_BORDER.r, COLOR_TABLE_BORDER.g, COLOR_TABLE_BORDER.b),
|
|
1184
1232
|
borderWidth: TABLE_BORDER_WIDTH
|
|
1185
1233
|
});
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
const spans = flattenInlines(cellNode.children, ctx, {
|
|
1189
|
-
bold: isHeader,
|
|
1190
|
-
italic: false,
|
|
1191
|
-
code: false
|
|
1192
|
-
});
|
|
1234
|
+
const spans = cells[colIdx];
|
|
1235
|
+
if (spans) {
|
|
1193
1236
|
const savedY = ctx.y;
|
|
1194
1237
|
ctx.y = ctx.y - TABLE_CELL_PAD_Y;
|
|
1195
1238
|
const cellAvailableWidth = colWidth - 2 * TABLE_CELL_PAD_X;
|
|
@@ -1215,6 +1258,44 @@ function renderTable(node, ctx, extraIndent) {
|
|
|
1215
1258
|
}
|
|
1216
1259
|
ctx.y -= PARAGRAPH_SPACING;
|
|
1217
1260
|
}
|
|
1261
|
+
function tableColumnWidths(rows, tableWidth, numCols) {
|
|
1262
|
+
const pad = 2 * TABLE_CELL_PAD_X;
|
|
1263
|
+
const minimum = new Array(numCols).fill(pad);
|
|
1264
|
+
const preferred = new Array(numCols).fill(pad);
|
|
1265
|
+
for (const cells of rows) {
|
|
1266
|
+
cells.forEach((spans, colIdx) => {
|
|
1267
|
+
let longestLine = 0;
|
|
1268
|
+
let longestWord = 0;
|
|
1269
|
+
let line = 0;
|
|
1270
|
+
for (const span of spans) {
|
|
1271
|
+
if (span.text === "\n") {
|
|
1272
|
+
line = 0;
|
|
1273
|
+
continue;
|
|
1274
|
+
}
|
|
1275
|
+
for (const word of splitIntoWords(span.text)) {
|
|
1276
|
+
const width = drawnWidth(span.font, word, span.fontSize);
|
|
1277
|
+
line += width;
|
|
1278
|
+
if (word.trim().length > 0) longestWord = Math.max(longestWord, width);
|
|
1279
|
+
}
|
|
1280
|
+
longestLine = Math.max(longestLine, line);
|
|
1281
|
+
}
|
|
1282
|
+
minimum[colIdx] = Math.max(minimum[colIdx], longestWord + pad);
|
|
1283
|
+
preferred[colIdx] = Math.max(preferred[colIdx], longestLine + pad);
|
|
1284
|
+
});
|
|
1285
|
+
}
|
|
1286
|
+
const share = tableWidth / numCols;
|
|
1287
|
+
const floor = minimum.map((width) => Math.min(width, share));
|
|
1288
|
+
const wish = preferred.map((width, colIdx) => Math.max(width, floor[colIdx]));
|
|
1289
|
+
const sum = (values) => values.reduce((total, value) => total + value, 0);
|
|
1290
|
+
const wished = sum(wish);
|
|
1291
|
+
if (wished <= tableWidth) return wish.map((width) => width / wished * tableWidth);
|
|
1292
|
+
const spare = tableWidth - sum(floor);
|
|
1293
|
+
const wants = wish.map((width, colIdx) => width - floor[colIdx]);
|
|
1294
|
+
const wanted = sum(wants);
|
|
1295
|
+
return floor.map(
|
|
1296
|
+
(width, colIdx) => wanted > 0 ? width + spare * wants[colIdx] / wanted : width + spare / numCols
|
|
1297
|
+
);
|
|
1298
|
+
}
|
|
1218
1299
|
function renderThematicBreak(ctx, extraIndent) {
|
|
1219
1300
|
ctx.y -= PARAGRAPH_SPACING;
|
|
1220
1301
|
ensureSpace(ctx, 10);
|
package/dist/docx/index.js
CHANGED
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
docxToDoc,
|
|
5
5
|
docxToMarkdownDoc,
|
|
6
6
|
markdownDocToDocx
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-KROH7FNT.js";
|
|
8
|
+
import "../chunk-DHAK4PII.js";
|
|
9
9
|
import "../chunk-VCZUXQUL.js";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-BZ5SHMOY.js";
|
|
11
11
|
import "../chunk-ILCJ3WFD.js";
|
|
12
12
|
import "../chunk-JU2RHXUB.js";
|
|
13
13
|
import "../chunk-S5PCVMKU.js";
|
package/dist/epub/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
docToEpub,
|
|
3
3
|
markdownDocToEpub
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-SVYTUYZM.js";
|
|
5
5
|
import "../chunk-WMIDXNGR.js";
|
|
6
6
|
import "../chunk-VCZUXQUL.js";
|
|
7
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-BZ5SHMOY.js";
|
|
8
8
|
import "../chunk-JU2RHXUB.js";
|
|
9
9
|
import "../chunk-BXWNU4T5.js";
|
|
10
10
|
import "../chunk-LBXBRFBZ.js";
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
docToEpub,
|
|
11
11
|
markdownDocToEpub
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-SVYTUYZM.js";
|
|
13
13
|
import {
|
|
14
14
|
BUILTIN_FORMAT_IDS
|
|
15
15
|
} from "./chunk-2P5HJAQL.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
renderOutsideInDocument,
|
|
29
29
|
withOutsideInMarkdownEditing,
|
|
30
30
|
withOutsideInMetadata
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-IYNDHW2C.js";
|
|
32
32
|
import {
|
|
33
33
|
DEFAULT_CONVERSION_LIMITS,
|
|
34
34
|
convert,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
defaultRegistry,
|
|
38
38
|
prepareConversion,
|
|
39
39
|
resolveConversionLimits
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-ALDCFHZT.js";
|
|
41
41
|
import {
|
|
42
42
|
ConversionError
|
|
43
43
|
} from "./chunk-KXOZMWBS.js";
|
|
@@ -52,23 +52,23 @@ import {
|
|
|
52
52
|
docxToDoc,
|
|
53
53
|
docxToMarkdownDoc,
|
|
54
54
|
markdownDocToDocx
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-KROH7FNT.js";
|
|
56
56
|
import {
|
|
57
57
|
docToPptx,
|
|
58
58
|
markdownDocToPptx,
|
|
59
59
|
pptxToDoc,
|
|
60
60
|
pptxToMarkdownDoc
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-QU4EVC62.js";
|
|
62
62
|
import "./chunk-6N2J7C2B.js";
|
|
63
63
|
import "./chunk-WMIDXNGR.js";
|
|
64
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-DHAK4PII.js";
|
|
65
65
|
import "./chunk-VCZUXQUL.js";
|
|
66
66
|
import {
|
|
67
67
|
docToXlsx,
|
|
68
68
|
markdownDocToXlsx,
|
|
69
69
|
xlsxToDoc
|
|
70
|
-
} from "./chunk-
|
|
71
|
-
import "./chunk-
|
|
70
|
+
} from "./chunk-4A3EHQJP.js";
|
|
71
|
+
import "./chunk-BZ5SHMOY.js";
|
|
72
72
|
import {
|
|
73
73
|
gridToTables,
|
|
74
74
|
xlsxToMarkdownDoc,
|
|
@@ -94,7 +94,7 @@ import {
|
|
|
94
94
|
markdownDocToPdf,
|
|
95
95
|
pdfToDoc,
|
|
96
96
|
pdfToMarkdownDoc
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-TMOXUUTG.js";
|
|
98
98
|
import "./chunk-34KECNZO.js";
|
|
99
99
|
import "./chunk-BXWNU4T5.js";
|
|
100
100
|
import "./chunk-IIQYS2YH.js";
|
package/dist/outside-in/index.js
CHANGED
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
renderOutsideInDocument,
|
|
7
7
|
withOutsideInMarkdownEditing,
|
|
8
8
|
withOutsideInMetadata
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-IYNDHW2C.js";
|
|
10
|
+
import "../chunk-ALDCFHZT.js";
|
|
11
11
|
import "../chunk-KXOZMWBS.js";
|
|
12
12
|
import {
|
|
13
13
|
OUTSIDE_IN_FORMAT_IDS,
|
package/dist/pdf/index.js
CHANGED
package/dist/pptx/index.js
CHANGED
|
@@ -4,15 +4,15 @@ import {
|
|
|
4
4
|
pptxToContainer,
|
|
5
5
|
pptxToDoc,
|
|
6
6
|
pptxToMarkdownDoc
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-QU4EVC62.js";
|
|
8
8
|
import {
|
|
9
9
|
analyzePptxLayouts,
|
|
10
10
|
inspectPptxLayouts
|
|
11
11
|
} from "../chunk-6N2J7C2B.js";
|
|
12
12
|
import "../chunk-WMIDXNGR.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-DHAK4PII.js";
|
|
14
14
|
import "../chunk-VCZUXQUL.js";
|
|
15
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-BZ5SHMOY.js";
|
|
16
16
|
import "../chunk-ILCJ3WFD.js";
|
|
17
17
|
import "../chunk-JU2RHXUB.js";
|
|
18
18
|
import "../chunk-S5PCVMKU.js";
|
package/dist/registry/index.js
CHANGED
package/dist/xlsx/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/squisq-formats",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.7",
|
|
4
4
|
"description": "Document format converters — DOCX, PDF, OOXML import/export",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bendyline",
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"typecheck": "tsc --noEmit"
|
|
126
126
|
},
|
|
127
127
|
"dependencies": {
|
|
128
|
-
"@bendyline/squisq": "2.13.
|
|
128
|
+
"@bendyline/squisq": "2.13.6",
|
|
129
129
|
"@pdf-lib/fontkit": "1.1.1",
|
|
130
130
|
"@pdf-lib/upng": "1.0.1",
|
|
131
131
|
"@xmldom/xmldom": "0.9.12",
|
|
File without changes
|