@harbour-enterprises/superdoc 0.21.0-next.8 → 0.21.1
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/chunks/{PdfViewer-BR9iwva-.cjs → PdfViewer-B507M2sz.cjs} +1 -1
- package/dist/chunks/{PdfViewer-CwVW7MVJ.es.js → PdfViewer-DCKxnML6.es.js} +1 -1
- package/dist/chunks/{index-CjQDYBP2.es.js → index-DWR8syta.es.js} +40 -20
- package/dist/chunks/{index-BNA5J__D.cjs → index-djqw1MEc.cjs} +40 -20
- package/dist/chunks/{super-editor.es-C5dhT0uU.es.js → super-editor.es-D__G4K0i.es.js} +429 -115
- package/dist/chunks/{super-editor.es-Ct59l8tt.cjs → super-editor.es-HekVJogH.cjs} +429 -115
- package/dist/core/SuperDoc.d.ts +5 -0
- package/dist/core/SuperDoc.d.ts.map +1 -1
- package/dist/core/types/index.d.ts +4 -4
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/super-editor/ai-writer.es.js +2 -2
- package/dist/super-editor/chunks/{converter-DYAHhSrg.js → converter-B_pO-5Ls.js} +291 -67
- package/dist/super-editor/chunks/{docx-zipper-BDbCmfbE.js → docx-zipper-WaO3WaIz.js} +73 -12
- package/dist/super-editor/chunks/{editor-B1W7AdgQ.js → editor-DInvq7gF.js} +68 -30
- package/dist/super-editor/chunks/{toolbar-CCvglB_X.js → toolbar-C15EomPB.js} +2 -2
- package/dist/super-editor/converter.es.js +1 -1
- package/dist/super-editor/docx-zipper.es.js +2 -2
- package/dist/super-editor/editor.es.js +3 -3
- package/dist/super-editor/file-zipper.es.js +1 -1
- package/dist/super-editor/src/core/DocxZipper.d.ts +1 -1
- package/dist/super-editor/src/core/super-converter/SuperConverter.d.ts +1 -13
- package/dist/super-editor/src/core/super-converter/exporter.d.ts +1 -0
- package/dist/super-editor/src/core/super-converter/helpers/tableFallbackHelpers.d.ts +24 -0
- package/dist/super-editor/src/extensions/custom-selection/custom-selection.d.ts +5 -1
- package/dist/super-editor/src/utils/contextmenu-helpers.d.ts +24 -0
- package/dist/super-editor/super-editor.es.js +7 -15
- package/dist/super-editor/toolbar.es.js +2 -2
- package/dist/super-editor.cjs +1 -1
- package/dist/super-editor.es.js +1 -1
- package/dist/superdoc.cjs +2 -2
- package/dist/superdoc.es.js +2 -2
- package/dist/superdoc.umd.js +467 -133
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +2 -5
- package/dist/super-editor/src/components/slash-menu/contextmenu-helpers.d.ts +0 -1
package/dist/core/SuperDoc.d.ts
CHANGED
|
@@ -50,6 +50,11 @@ export class SuperDoc extends EventEmitter<string | symbol, any> {
|
|
|
50
50
|
documents: any;
|
|
51
51
|
users: any[];
|
|
52
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* Get the SuperDoc container element
|
|
55
|
+
* @returns {HTMLElement | null}
|
|
56
|
+
*/
|
|
57
|
+
get element(): HTMLElement | null;
|
|
53
58
|
app: any;
|
|
54
59
|
pinia: any;
|
|
55
60
|
superdocStore: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuperDoc.d.ts","sourceRoot":"","sources":["../../src/core/SuperDoc.js"],"names":[],"mappings":"AAgBA,6CAA6C;AAC7C,mEAAmE;AACnE,qDAAqD;AACrD,mDAAmD;AACnD,iDAAiD;AACjD,6DAA6D;AAC7D,iDAAiD;AAEjD;;;;;;GAMG;AACH;IACE,4BAA4B;IAC5B,qBADW,KAAK,CAAC,MAAM,CAAC,CACgB;IAwExC;;OAEG;IACH,oBAFW,MAAM,EAKhB;IA5ED,qBAAqB;IACrB,SADW,MAAM,CACT;IAER,qBAAqB;IACrB,OADW,IAAI,EAAE,CACX;IAEN,4CAA4C;IAC5C,MADW,OAAO,KAAK,EAAE,GAAG,GAAG,SAAS,CACnC;IAEL,4EAA4E;IAC5E,UADW,OAAO,sBAAsB,EAAE,kBAAkB,GAAG,SAAS,CAC/D;IAET,qBAAqB;IACrB,QADW,MAAM,CAwDf;IAiBA,4BAA6B;IAC7B,mBAAmB;IAMnB,gBAA+C;IAC/C,YAAgC;IAehC,UAA4B;IAE5B,YAAkB;IAElB,WAAuC;IAEvC,kBAAwB;IACxB,gBAAkB;
|
|
1
|
+
{"version":3,"file":"SuperDoc.d.ts","sourceRoot":"","sources":["../../src/core/SuperDoc.js"],"names":[],"mappings":"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"}
|
|
@@ -185,9 +185,9 @@ export type Config = {
|
|
|
185
185
|
*/
|
|
186
186
|
superdocId?: string;
|
|
187
187
|
/**
|
|
188
|
-
* The selector to mount the SuperDoc into
|
|
188
|
+
* The selector or element to mount the SuperDoc into
|
|
189
189
|
*/
|
|
190
|
-
selector: string;
|
|
190
|
+
selector: string | HTMLElement;
|
|
191
191
|
/**
|
|
192
192
|
* The mode of the document
|
|
193
193
|
*/
|
|
@@ -201,9 +201,9 @@ export type Config = {
|
|
|
201
201
|
*/
|
|
202
202
|
document?: any | string | File | Blob;
|
|
203
203
|
/**
|
|
204
|
-
* The documents to load
|
|
204
|
+
* The documents to load -> Soon to be deprecated
|
|
205
205
|
*/
|
|
206
|
-
documents
|
|
206
|
+
documents?: Array<Document>;
|
|
207
207
|
/**
|
|
208
208
|
* The current user of this SuperDoc
|
|
209
209
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.js"],"names":[],"mappings":";;;;;;;UAEc,MAAM;;;;WACN,MAAM;;;;YACN,MAAM,GAAG,IAAI;;;;;;;;;cAKb,OAAO;;;;iBACP,MAAM;;;;eACN,MAAM;;;;sBACN,MAAM;;;;;;SAKN,MAAM;;;;UACN,MAAM;;;;WACN,IAAI,GAAG,IAAI,GAAG,IAAI;;;;WAClB,MAAM;;;;UACN,MAAM;;;;gBACN,OAAO;;;;WACP,OAAO,KAAK,EAAE,GAAG;;;;eACjB,OAAO,sBAAsB,EAAE,kBAAkB;;;;;;;;;;SAO5D;QAAuB,MAAM,GAAlB,MAAM;QACM,QAAQ,GAApB,MAAM;KACjB;;;;;;;;;;;;gBAGA;QAA6B,WAAW;QACR,YAAY;QACb,mBAAmB,GAAvC,OAAO;KACpB;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, onMounted, onUnmounted, computed, createElementBlock, openBlock, withModifiers, createElementVNode, withDirectives, unref, vModelText, createCommentVNode, nextTick } from "vue";
|
|
2
|
-
import { T as TextSelection } from "./chunks/converter-
|
|
3
|
-
import { _ as _export_sfc } from "./chunks/editor-
|
|
2
|
+
import { T as TextSelection } from "./chunks/converter-B_pO-5Ls.js";
|
|
3
|
+
import { _ as _export_sfc } from "./chunks/editor-DInvq7gF.js";
|
|
4
4
|
const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
|
|
5
5
|
const SYSTEM_PROMPT = "You are an expert copywriter and you are immersed in a document editor. You are to provide document related text responses based on the user prompts. Only write what is asked for. Do not provide explanations. Try to keep placeholders as short as possible. Do not output your prompt. Your instructions are: ";
|
|
6
6
|
async function baseInsightsFetch(payload, options = {}) {
|
|
@@ -24846,17 +24846,16 @@ const getParagraphSpacing = (node, docx, styleId = "", marks = [], options = {})
|
|
|
24846
24846
|
};
|
|
24847
24847
|
const getDefaultParagraphStyle = (docx, styleId = "") => {
|
|
24848
24848
|
const styles = docx["word/styles.xml"];
|
|
24849
|
-
|
|
24849
|
+
const rootElements = styles?.elements?.[0]?.elements;
|
|
24850
|
+
if (!rootElements?.length) {
|
|
24850
24851
|
return {};
|
|
24851
24852
|
}
|
|
24852
|
-
const defaults =
|
|
24853
|
-
const pDefault = defaults
|
|
24853
|
+
const defaults = rootElements.find((el) => el.name === "w:docDefaults");
|
|
24854
|
+
const pDefault = defaults?.elements?.find((el) => el.name === "w:pPrDefault") || {};
|
|
24854
24855
|
const pPrDefault = pDefault?.elements?.find((el) => el.name === "w:pPr");
|
|
24855
24856
|
const pPrDefaultSpacingTag = pPrDefault?.elements?.find((el) => el.name === "w:spacing") || {};
|
|
24856
24857
|
const pPrDefaultIndentTag = pPrDefault?.elements?.find((el) => el.name === "w:ind") || {};
|
|
24857
|
-
const stylesNormal =
|
|
24858
|
-
(el) => el.name === "w:style" && el.attributes["w:styleId"] === "Normal"
|
|
24859
|
-
);
|
|
24858
|
+
const stylesNormal = rootElements.find((el) => el.name === "w:style" && el.attributes["w:styleId"] === "Normal");
|
|
24860
24859
|
const pPrNormal = stylesNormal?.elements?.find((el) => el.name === "w:pPr");
|
|
24861
24860
|
const pPrNormalSpacingTag = pPrNormal?.elements?.find((el) => el.name === "w:spacing") || {};
|
|
24862
24861
|
const pPrNormalIndentTag = pPrNormal?.elements?.find((el) => el.name === "w:ind") || {};
|
|
@@ -24865,9 +24864,7 @@ const getDefaultParagraphStyle = (docx, styleId = "") => {
|
|
|
24865
24864
|
let pPrStyleIdIndentTag = {};
|
|
24866
24865
|
let pPrStyleJc = {};
|
|
24867
24866
|
if (styleId) {
|
|
24868
|
-
const stylesById =
|
|
24869
|
-
(el) => el.name === "w:style" && el.attributes["w:styleId"] === styleId
|
|
24870
|
-
);
|
|
24867
|
+
const stylesById = rootElements.find((el) => el.name === "w:style" && el.attributes["w:styleId"] === styleId);
|
|
24871
24868
|
const pPrById = stylesById?.elements?.find((el) => el.name === "w:pPr");
|
|
24872
24869
|
pPrStyleIdSpacingTag = pPrById?.elements?.find((el) => el.name === "w:spacing") || {};
|
|
24873
24870
|
pPrStyleIdIndentTag = pPrById?.elements?.find((el) => el.name === "w:ind") || {};
|
|
@@ -27170,6 +27167,68 @@ const config$a = {
|
|
|
27170
27167
|
decode: decode$h
|
|
27171
27168
|
};
|
|
27172
27169
|
const translator$a = NodeTranslator.from(config$a);
|
|
27170
|
+
const DEFAULT_PAGE_WIDTH_TWIPS = 12240;
|
|
27171
|
+
const DEFAULT_PAGE_MARGIN_TWIPS = 1440;
|
|
27172
|
+
const DEFAULT_CONTENT_WIDTH_TWIPS = DEFAULT_PAGE_WIDTH_TWIPS - 2 * DEFAULT_PAGE_MARGIN_TWIPS;
|
|
27173
|
+
const MIN_COLUMN_WIDTH_TWIPS = pixelsToTwips(10);
|
|
27174
|
+
const pctToPercent = (value) => {
|
|
27175
|
+
if (value == null) return null;
|
|
27176
|
+
return value / 50;
|
|
27177
|
+
};
|
|
27178
|
+
const resolveContentWidthTwips = () => DEFAULT_CONTENT_WIDTH_TWIPS;
|
|
27179
|
+
const resolveMeasurementWidthPx = (measurement) => {
|
|
27180
|
+
if (!measurement || typeof measurement.value !== "number" || measurement.value <= 0) return null;
|
|
27181
|
+
const { value, type: type2 } = measurement;
|
|
27182
|
+
if (!type2 || type2 === "auto") return null;
|
|
27183
|
+
if (type2 === "dxa") return twipsToPixels(value);
|
|
27184
|
+
if (type2 === "pct") {
|
|
27185
|
+
const percent = pctToPercent(value);
|
|
27186
|
+
if (percent == null || percent <= 0) return null;
|
|
27187
|
+
const widthTwips = resolveContentWidthTwips() * percent / 100;
|
|
27188
|
+
return twipsToPixels(widthTwips);
|
|
27189
|
+
}
|
|
27190
|
+
return null;
|
|
27191
|
+
};
|
|
27192
|
+
const countColumnsInRow = (row) => {
|
|
27193
|
+
if (!row?.elements?.length) return 0;
|
|
27194
|
+
return row.elements.reduce((count, element) => {
|
|
27195
|
+
if (element.name !== "w:tc") return count;
|
|
27196
|
+
const tcPr = element.elements?.find((el) => el.name === "w:tcPr");
|
|
27197
|
+
const gridSpan = tcPr?.elements?.find((el) => el.name === "w:gridSpan");
|
|
27198
|
+
const spanValue = parseInt(gridSpan?.attributes?.["w:val"] || "1", 10);
|
|
27199
|
+
return count + (Number.isFinite(spanValue) && spanValue > 0 ? spanValue : 1);
|
|
27200
|
+
}, 0);
|
|
27201
|
+
};
|
|
27202
|
+
const clampColumnWidthTwips = (value) => Math.max(Math.round(value), MIN_COLUMN_WIDTH_TWIPS);
|
|
27203
|
+
const createFallbackGrid = (columnCount, columnWidthTwips) => Array.from({ length: columnCount }, () => ({ col: clampColumnWidthTwips(columnWidthTwips) }));
|
|
27204
|
+
const buildFallbackGridForTable = ({ params, rows, tableWidth, tableWidthMeasurement }) => {
|
|
27205
|
+
const firstRow = rows.find((row) => row.elements?.some((el) => el.name === "w:tc"));
|
|
27206
|
+
const columnCount = countColumnsInRow(firstRow);
|
|
27207
|
+
if (!columnCount) return null;
|
|
27208
|
+
const schemaDefaultPx = getSchemaDefaultColumnWidthPx(
|
|
27209
|
+
/** @type {any} */
|
|
27210
|
+
params
|
|
27211
|
+
);
|
|
27212
|
+
const minimumColumnWidthPx = Number.isFinite(schemaDefaultPx) && schemaDefaultPx > 0 ? schemaDefaultPx : DEFAULT_COLUMN_WIDTH_PX;
|
|
27213
|
+
let totalWidthPx;
|
|
27214
|
+
if (tableWidthMeasurement) {
|
|
27215
|
+
const resolved = resolveMeasurementWidthPx(tableWidthMeasurement);
|
|
27216
|
+
if (resolved != null) totalWidthPx = resolved;
|
|
27217
|
+
}
|
|
27218
|
+
if (totalWidthPx == null && tableWidth?.width && tableWidth.width > 0) {
|
|
27219
|
+
totalWidthPx = tableWidth.width;
|
|
27220
|
+
}
|
|
27221
|
+
if (totalWidthPx == null) {
|
|
27222
|
+
totalWidthPx = minimumColumnWidthPx * columnCount;
|
|
27223
|
+
}
|
|
27224
|
+
const rawColumnWidthPx = Math.max(totalWidthPx / columnCount, minimumColumnWidthPx);
|
|
27225
|
+
const columnWidthTwips = clampColumnWidthTwips(pixelsToTwips(rawColumnWidthPx));
|
|
27226
|
+
const fallbackColumnWidthPx = twipsToPixels(columnWidthTwips);
|
|
27227
|
+
return {
|
|
27228
|
+
grid: createFallbackGrid(columnCount, columnWidthTwips),
|
|
27229
|
+
columnWidths: Array(columnCount).fill(fallbackColumnWidthPx)
|
|
27230
|
+
};
|
|
27231
|
+
};
|
|
27173
27232
|
const XML_NODE_NAME$9 = "w:tbl";
|
|
27174
27233
|
const SD_NODE_NAME$9 = "table";
|
|
27175
27234
|
const encode$g = (params, encodedAttrs) => {
|
|
@@ -27189,7 +27248,6 @@ const encode$g = (params, encodedAttrs) => {
|
|
|
27189
27248
|
"justification",
|
|
27190
27249
|
"tableLayout",
|
|
27191
27250
|
["tableIndent", ({ value, type: type2 }) => ({ width: twipsToPixels(value), type: type2 })],
|
|
27192
|
-
["tableWidth", ({ value, type: type2 }) => ({ width: twipsToPixels(value), type: type2 })],
|
|
27193
27251
|
["tableCellSpacing", ({ value, type: type2 }) => ({ w: String(value), type: type2 })]
|
|
27194
27252
|
].forEach((prop) => {
|
|
27195
27253
|
let key;
|
|
@@ -27207,6 +27265,21 @@ const encode$g = (params, encodedAttrs) => {
|
|
|
27207
27265
|
if (encodedAttrs.tableCellSpacing) {
|
|
27208
27266
|
encodedAttrs["borderCollapse"] = "separate";
|
|
27209
27267
|
}
|
|
27268
|
+
if (encodedAttrs.tableProperties?.tableWidth) {
|
|
27269
|
+
const tableWidthMeasurement = encodedAttrs.tableProperties.tableWidth;
|
|
27270
|
+
const widthPx = twipsToPixels(tableWidthMeasurement.value);
|
|
27271
|
+
if (widthPx != null) {
|
|
27272
|
+
encodedAttrs.tableWidth = {
|
|
27273
|
+
width: widthPx,
|
|
27274
|
+
type: tableWidthMeasurement.type
|
|
27275
|
+
};
|
|
27276
|
+
} else if (tableWidthMeasurement.type === "auto") {
|
|
27277
|
+
encodedAttrs.tableWidth = {
|
|
27278
|
+
width: 0,
|
|
27279
|
+
type: tableWidthMeasurement.type
|
|
27280
|
+
};
|
|
27281
|
+
}
|
|
27282
|
+
}
|
|
27210
27283
|
const { borders, rowBorders } = _processTableBorders(encodedAttrs.tableProperties?.borders || {});
|
|
27211
27284
|
const referencedStyles = _getReferencedTableStyles(encodedAttrs.tableStyleId, params);
|
|
27212
27285
|
if (referencedStyles?.cellMargins && !encodedAttrs.tableProperties?.cellMargins) {
|
|
@@ -27220,7 +27293,19 @@ const encode$g = (params, encodedAttrs) => {
|
|
|
27220
27293
|
const borderRowData = Object.assign({}, referencedStyles?.rowBorders || {}, rowBorders || {});
|
|
27221
27294
|
encodedAttrs["borders"] = borderData;
|
|
27222
27295
|
const tblStyleTag = tblPr?.elements?.find((el) => el.name === "w:tblStyle");
|
|
27223
|
-
|
|
27296
|
+
let columnWidths = Array.isArray(encodedAttrs["grid"]) ? encodedAttrs["grid"].map((item) => twipsToPixels(item.col)) : [];
|
|
27297
|
+
if (!columnWidths.length) {
|
|
27298
|
+
const fallback = buildFallbackGridForTable({
|
|
27299
|
+
params,
|
|
27300
|
+
rows,
|
|
27301
|
+
tableWidth: encodedAttrs.tableWidth,
|
|
27302
|
+
tableWidthMeasurement: encodedAttrs.tableProperties?.tableWidth
|
|
27303
|
+
});
|
|
27304
|
+
if (fallback) {
|
|
27305
|
+
encodedAttrs.grid = fallback.grid;
|
|
27306
|
+
columnWidths = fallback.columnWidths;
|
|
27307
|
+
}
|
|
27308
|
+
}
|
|
27224
27309
|
const content = [];
|
|
27225
27310
|
rows.forEach((row) => {
|
|
27226
27311
|
const result = translator$G.encode({
|
|
@@ -30601,6 +30686,63 @@ const config = {
|
|
|
30601
30686
|
attributes: validXmlAttributes
|
|
30602
30687
|
};
|
|
30603
30688
|
const translator = NodeTranslator.from(config);
|
|
30689
|
+
const DEFAULT_SECTION_PROPS_TWIPS = Object.freeze({
|
|
30690
|
+
pageSize: Object.freeze({ width: "12240", height: "15840" }),
|
|
30691
|
+
pageMargins: Object.freeze({
|
|
30692
|
+
top: "1440",
|
|
30693
|
+
right: "1440",
|
|
30694
|
+
bottom: "1440",
|
|
30695
|
+
left: "1440",
|
|
30696
|
+
header: "720",
|
|
30697
|
+
footer: "720",
|
|
30698
|
+
gutter: "0"
|
|
30699
|
+
})
|
|
30700
|
+
});
|
|
30701
|
+
const ensureSectionLayoutDefaults = (sectPr, converter) => {
|
|
30702
|
+
if (!sectPr) {
|
|
30703
|
+
return {
|
|
30704
|
+
type: "element",
|
|
30705
|
+
name: "w:sectPr",
|
|
30706
|
+
elements: []
|
|
30707
|
+
};
|
|
30708
|
+
}
|
|
30709
|
+
if (!sectPr.elements) sectPr.elements = [];
|
|
30710
|
+
const ensureChild = (name) => {
|
|
30711
|
+
let child = sectPr.elements.find((n) => n.name === name);
|
|
30712
|
+
if (!child) {
|
|
30713
|
+
child = {
|
|
30714
|
+
type: "element",
|
|
30715
|
+
name,
|
|
30716
|
+
elements: [],
|
|
30717
|
+
attributes: {}
|
|
30718
|
+
};
|
|
30719
|
+
sectPr.elements.push(child);
|
|
30720
|
+
} else {
|
|
30721
|
+
if (!child.elements) child.elements = [];
|
|
30722
|
+
if (!child.attributes) child.attributes = {};
|
|
30723
|
+
}
|
|
30724
|
+
return child;
|
|
30725
|
+
};
|
|
30726
|
+
const pageSize = converter?.pageStyles?.pageSize;
|
|
30727
|
+
const pgSz = ensureChild("w:pgSz");
|
|
30728
|
+
if (pageSize?.width != null) pgSz.attributes["w:w"] = String(inchesToTwips(pageSize.width));
|
|
30729
|
+
if (pageSize?.height != null) pgSz.attributes["w:h"] = String(inchesToTwips(pageSize.height));
|
|
30730
|
+
if (pgSz.attributes["w:w"] == null) pgSz.attributes["w:w"] = DEFAULT_SECTION_PROPS_TWIPS.pageSize.width;
|
|
30731
|
+
if (pgSz.attributes["w:h"] == null) pgSz.attributes["w:h"] = DEFAULT_SECTION_PROPS_TWIPS.pageSize.height;
|
|
30732
|
+
const pageMargins = converter?.pageStyles?.pageMargins;
|
|
30733
|
+
const pgMar = ensureChild("w:pgMar");
|
|
30734
|
+
if (pageMargins) {
|
|
30735
|
+
Object.entries(pageMargins).forEach(([key, value]) => {
|
|
30736
|
+
const converted = inchesToTwips(value);
|
|
30737
|
+
if (converted != null) pgMar.attributes[`w:${key}`] = String(converted);
|
|
30738
|
+
});
|
|
30739
|
+
}
|
|
30740
|
+
Object.entries(DEFAULT_SECTION_PROPS_TWIPS.pageMargins).forEach(([key, value]) => {
|
|
30741
|
+
const attrKey = `w:${key}`;
|
|
30742
|
+
if (pgMar.attributes[attrKey] == null) pgMar.attributes[attrKey] = value;
|
|
30743
|
+
});
|
|
30744
|
+
return sectPr;
|
|
30745
|
+
};
|
|
30604
30746
|
const isLineBreakOnlyRun = (node) => {
|
|
30605
30747
|
if (!node) return false;
|
|
30606
30748
|
if (node.type === "lineBreak" || node.type === "hardBreak") return true;
|
|
@@ -30653,28 +30795,30 @@ function exportSchemaToJson(params) {
|
|
|
30653
30795
|
return handler2(params);
|
|
30654
30796
|
}
|
|
30655
30797
|
function translateBodyNode(params) {
|
|
30656
|
-
let sectPr = params.bodyNode?.elements
|
|
30798
|
+
let sectPr = params.bodyNode?.elements?.find((n) => n.name === "w:sectPr");
|
|
30799
|
+
if (!sectPr) {
|
|
30800
|
+
sectPr = {
|
|
30801
|
+
type: "element",
|
|
30802
|
+
name: "w:sectPr",
|
|
30803
|
+
elements: []
|
|
30804
|
+
};
|
|
30805
|
+
} else if (!sectPr.elements) {
|
|
30806
|
+
sectPr = { ...sectPr, elements: [] };
|
|
30807
|
+
}
|
|
30808
|
+
sectPr = ensureSectionLayoutDefaults(sectPr, params.converter);
|
|
30657
30809
|
if (params.converter) {
|
|
30658
|
-
const hasHeader = sectPr
|
|
30810
|
+
const hasHeader = sectPr.elements?.some((n) => n.name === "w:headerReference");
|
|
30659
30811
|
const hasDefaultHeader = params.converter.headerIds?.default;
|
|
30660
30812
|
if (!hasHeader && hasDefaultHeader && !params.editor.options.isHeaderOrFooter) {
|
|
30661
30813
|
const defaultHeader = generateDefaultHeaderFooter("header", params.converter.headerIds?.default);
|
|
30662
30814
|
sectPr.elements.push(defaultHeader);
|
|
30663
30815
|
}
|
|
30664
|
-
const hasFooter = sectPr
|
|
30816
|
+
const hasFooter = sectPr.elements?.some((n) => n.name === "w:footerReference");
|
|
30665
30817
|
const hasDefaultFooter = params.converter.footerIds?.default;
|
|
30666
30818
|
if (!hasFooter && hasDefaultFooter && !params.editor.options.isHeaderOrFooter) {
|
|
30667
30819
|
const defaultFooter = generateDefaultHeaderFooter("footer", params.converter.footerIds?.default);
|
|
30668
30820
|
sectPr.elements.push(defaultFooter);
|
|
30669
30821
|
}
|
|
30670
|
-
const newMargins = params.converter.pageStyles.pageMargins;
|
|
30671
|
-
const sectPrMargins = sectPr.elements.find((n) => n.name === "w:pgMar");
|
|
30672
|
-
const { attributes } = sectPrMargins;
|
|
30673
|
-
Object.entries(newMargins).forEach(([key, value]) => {
|
|
30674
|
-
const convertedValue = inchesToTwips(value);
|
|
30675
|
-
attributes[`w:${key}`] = convertedValue;
|
|
30676
|
-
});
|
|
30677
|
-
sectPrMargins.attributes = attributes;
|
|
30678
30822
|
}
|
|
30679
30823
|
const elements = translateChildNodes(params);
|
|
30680
30824
|
if (params.isHeaderFooter) {
|
|
@@ -32689,6 +32833,7 @@ const createDocumentJson = (docx, converter, editor) => {
|
|
|
32689
32833
|
const nodeListHandler = defaultNodeListHandler();
|
|
32690
32834
|
const bodyNode = json.elements[0].elements.find((el) => el.name === "w:body");
|
|
32691
32835
|
if (bodyNode) {
|
|
32836
|
+
ensureSectionProperties(bodyNode);
|
|
32692
32837
|
const node = bodyNode;
|
|
32693
32838
|
const contentElements = node.elements?.filter((n) => n.name !== "w:sectPr") ?? [];
|
|
32694
32839
|
const content = pruneIgnoredNodes(contentElements);
|
|
@@ -32922,6 +33067,59 @@ function getDocumentStyles(node, docx, converter, editor) {
|
|
|
32922
33067
|
styles.alternateHeaders = isAlternatingHeadersOddEven(docx);
|
|
32923
33068
|
return styles;
|
|
32924
33069
|
}
|
|
33070
|
+
const DEFAULT_SECTION_PROPS = Object.freeze({
|
|
33071
|
+
pageSize: Object.freeze({ width: "12240", height: "15840" }),
|
|
33072
|
+
pageMargins: Object.freeze({
|
|
33073
|
+
top: "1440",
|
|
33074
|
+
right: "1440",
|
|
33075
|
+
bottom: "1440",
|
|
33076
|
+
left: "1440",
|
|
33077
|
+
header: "720",
|
|
33078
|
+
footer: "720",
|
|
33079
|
+
gutter: "0"
|
|
33080
|
+
})
|
|
33081
|
+
});
|
|
33082
|
+
function ensureSectionProperties(bodyNode, converter) {
|
|
33083
|
+
if (!bodyNode.elements) bodyNode.elements = [];
|
|
33084
|
+
let sectPr = bodyNode.elements.find((el) => el.name === "w:sectPr");
|
|
33085
|
+
if (!sectPr) {
|
|
33086
|
+
sectPr = {
|
|
33087
|
+
type: "element",
|
|
33088
|
+
name: "w:sectPr",
|
|
33089
|
+
elements: []
|
|
33090
|
+
};
|
|
33091
|
+
bodyNode.elements.push(sectPr);
|
|
33092
|
+
} else if (!sectPr.elements) {
|
|
33093
|
+
sectPr.elements = [];
|
|
33094
|
+
}
|
|
33095
|
+
const ensureChild = (name, factory) => {
|
|
33096
|
+
let child = sectPr.elements.find((el) => el.name === name);
|
|
33097
|
+
if (!child) {
|
|
33098
|
+
child = factory();
|
|
33099
|
+
sectPr.elements.push(child);
|
|
33100
|
+
} else if (!child.attributes) {
|
|
33101
|
+
child.attributes = {};
|
|
33102
|
+
}
|
|
33103
|
+
return child;
|
|
33104
|
+
};
|
|
33105
|
+
const pgSz = ensureChild("w:pgSz", () => ({
|
|
33106
|
+
type: "element",
|
|
33107
|
+
name: "w:pgSz",
|
|
33108
|
+
attributes: {}
|
|
33109
|
+
}));
|
|
33110
|
+
pgSz.attributes["w:w"] = pgSz.attributes["w:w"] ?? DEFAULT_SECTION_PROPS.pageSize.width;
|
|
33111
|
+
pgSz.attributes["w:h"] = pgSz.attributes["w:h"] ?? DEFAULT_SECTION_PROPS.pageSize.height;
|
|
33112
|
+
const pgMar = ensureChild("w:pgMar", () => ({
|
|
33113
|
+
type: "element",
|
|
33114
|
+
name: "w:pgMar",
|
|
33115
|
+
attributes: {}
|
|
33116
|
+
}));
|
|
33117
|
+
Object.entries(DEFAULT_SECTION_PROPS.pageMargins).forEach(([key, value]) => {
|
|
33118
|
+
const attrKey = `w:${key}`;
|
|
33119
|
+
if (pgMar.attributes[attrKey] == null) pgMar.attributes[attrKey] = value;
|
|
33120
|
+
});
|
|
33121
|
+
return sectPr;
|
|
33122
|
+
}
|
|
32925
33123
|
function getStyleDefinitions(docx) {
|
|
32926
33124
|
const styles = docx["word/styles.xml"];
|
|
32927
33125
|
if (!styles) return [];
|
|
@@ -33114,6 +33312,36 @@ const FONT_FAMILY_FALLBACKS = Object.freeze({
|
|
|
33114
33312
|
auto: "sans-serif"
|
|
33115
33313
|
});
|
|
33116
33314
|
const DEFAULT_GENERIC_FALLBACK = "sans-serif";
|
|
33315
|
+
const DEFAULT_FONT_SIZE_PT = 10;
|
|
33316
|
+
const collectRunDefaultProperties = (runProps, { allowOverrideTypeface = true, allowOverrideSize = true, themeResolver, state: state2 }) => {
|
|
33317
|
+
if (!runProps?.elements?.length || !state2) return;
|
|
33318
|
+
const fontsNode = runProps.elements.find((el) => el.name === "w:rFonts");
|
|
33319
|
+
if (fontsNode?.attributes) {
|
|
33320
|
+
const themeName = fontsNode.attributes["w:asciiTheme"];
|
|
33321
|
+
if (themeName) {
|
|
33322
|
+
const themeInfo = themeResolver?.(themeName) || {};
|
|
33323
|
+
if ((allowOverrideTypeface || !state2.typeface) && themeInfo.typeface) state2.typeface = themeInfo.typeface;
|
|
33324
|
+
if ((allowOverrideTypeface || !state2.panose) && themeInfo.panose) state2.panose = themeInfo.panose;
|
|
33325
|
+
}
|
|
33326
|
+
const ascii = fontsNode.attributes["w:ascii"];
|
|
33327
|
+
if ((allowOverrideTypeface || !state2.typeface) && ascii) {
|
|
33328
|
+
state2.typeface = ascii;
|
|
33329
|
+
}
|
|
33330
|
+
}
|
|
33331
|
+
const sizeNode = runProps.elements.find((el) => el.name === "w:sz");
|
|
33332
|
+
if (sizeNode?.attributes?.["w:val"]) {
|
|
33333
|
+
const sizeTwips = Number(sizeNode.attributes["w:val"]);
|
|
33334
|
+
if (Number.isFinite(sizeTwips)) {
|
|
33335
|
+
if (state2.fallbackSzTwips === void 0) state2.fallbackSzTwips = sizeTwips;
|
|
33336
|
+
const sizePt = sizeTwips / 2;
|
|
33337
|
+
if (allowOverrideSize || state2.fontSizePt === void 0) state2.fontSizePt = sizePt;
|
|
33338
|
+
}
|
|
33339
|
+
}
|
|
33340
|
+
const kernNode = runProps.elements.find((el) => el.name === "w:kern");
|
|
33341
|
+
if (kernNode?.attributes?.["w:val"]) {
|
|
33342
|
+
if (allowOverrideSize || state2.kern === void 0) state2.kern = kernNode.attributes["w:val"];
|
|
33343
|
+
}
|
|
33344
|
+
};
|
|
33117
33345
|
const _SuperConverter = class _SuperConverter {
|
|
33118
33346
|
constructor(params = null) {
|
|
33119
33347
|
__privateAdd(this, _SuperConverter_instances);
|
|
@@ -33219,7 +33447,7 @@ const _SuperConverter = class _SuperConverter {
|
|
|
33219
33447
|
return;
|
|
33220
33448
|
}
|
|
33221
33449
|
}
|
|
33222
|
-
static updateDocumentVersion(docx = this.convertedXml, version = "0.
|
|
33450
|
+
static updateDocumentVersion(docx = this.convertedXml, version = "0.21.1") {
|
|
33223
33451
|
const customLocation = "docProps/custom.xml";
|
|
33224
33452
|
if (!docx[customLocation]) {
|
|
33225
33453
|
docx[customLocation] = generateCustomXml();
|
|
@@ -33241,49 +33469,45 @@ const _SuperConverter = class _SuperConverter {
|
|
|
33241
33469
|
}
|
|
33242
33470
|
getDocumentDefaultStyles() {
|
|
33243
33471
|
const styles = this.convertedXml["word/styles.xml"];
|
|
33244
|
-
|
|
33245
|
-
const
|
|
33246
|
-
|
|
33247
|
-
|
|
33248
|
-
const
|
|
33249
|
-
const
|
|
33250
|
-
|
|
33251
|
-
|
|
33252
|
-
|
|
33253
|
-
|
|
33254
|
-
|
|
33255
|
-
|
|
33256
|
-
|
|
33257
|
-
|
|
33258
|
-
|
|
33259
|
-
|
|
33260
|
-
|
|
33261
|
-
|
|
33262
|
-
|
|
33263
|
-
|
|
33264
|
-
|
|
33265
|
-
|
|
33266
|
-
|
|
33267
|
-
|
|
33268
|
-
|
|
33269
|
-
|
|
33270
|
-
|
|
33271
|
-
|
|
33272
|
-
|
|
33273
|
-
|
|
33274
|
-
|
|
33275
|
-
|
|
33276
|
-
|
|
33277
|
-
|
|
33278
|
-
|
|
33279
|
-
|
|
33280
|
-
|
|
33281
|
-
|
|
33282
|
-
|
|
33283
|
-
const kern = rElements.find((el) => el.name === "w:kern")?.attributes["w:val"];
|
|
33284
|
-
const fontFamilyCss = _SuperConverter.toCssFontFamily(typeface, this.convertedXml);
|
|
33285
|
-
return { fontSizePt, kern, typeface, panose, fontFamilyCss };
|
|
33286
|
-
}
|
|
33472
|
+
const styleRoot = styles?.elements?.[0];
|
|
33473
|
+
const styleElements = styleRoot?.elements || [];
|
|
33474
|
+
if (!styleElements.length) return {};
|
|
33475
|
+
const defaults = styleElements.find((el) => el.name === "w:docDefaults");
|
|
33476
|
+
const normalStyle = styleElements.find((el) => el.name === "w:style" && el.attributes?.["w:styleId"] === "Normal");
|
|
33477
|
+
const defaultsState = {
|
|
33478
|
+
typeface: void 0,
|
|
33479
|
+
panose: void 0,
|
|
33480
|
+
fontSizePt: void 0,
|
|
33481
|
+
kern: void 0,
|
|
33482
|
+
fallbackSzTwips: void 0
|
|
33483
|
+
};
|
|
33484
|
+
const docDefaultRun = defaults?.elements?.find((el) => el.name === "w:rPrDefault");
|
|
33485
|
+
const docDefaultProps = docDefaultRun?.elements?.find((el) => el.name === "w:rPr") ?? docDefaultRun;
|
|
33486
|
+
collectRunDefaultProperties(docDefaultProps, {
|
|
33487
|
+
allowOverrideTypeface: true,
|
|
33488
|
+
allowOverrideSize: true,
|
|
33489
|
+
themeResolver: (theme) => this.getThemeInfo(theme),
|
|
33490
|
+
state: defaultsState
|
|
33491
|
+
});
|
|
33492
|
+
const normalRunProps = normalStyle?.elements?.find((el) => el.name === "w:rPr") ?? null;
|
|
33493
|
+
collectRunDefaultProperties(normalRunProps, {
|
|
33494
|
+
allowOverrideTypeface: true,
|
|
33495
|
+
allowOverrideSize: true,
|
|
33496
|
+
themeResolver: (theme) => this.getThemeInfo(theme),
|
|
33497
|
+
state: defaultsState
|
|
33498
|
+
});
|
|
33499
|
+
if (defaultsState.fontSizePt === void 0) {
|
|
33500
|
+
if (Number.isFinite(defaultsState.fallbackSzTwips)) defaultsState.fontSizePt = defaultsState.fallbackSzTwips / 2;
|
|
33501
|
+
else defaultsState.fontSizePt = DEFAULT_FONT_SIZE_PT;
|
|
33502
|
+
}
|
|
33503
|
+
const fontFamilyCss = defaultsState.typeface ? _SuperConverter.toCssFontFamily(defaultsState.typeface, this.convertedXml) : void 0;
|
|
33504
|
+
const result = {};
|
|
33505
|
+
if (defaultsState.fontSizePt !== void 0) result.fontSizePt = defaultsState.fontSizePt;
|
|
33506
|
+
if (defaultsState.kern !== void 0) result.kern = defaultsState.kern;
|
|
33507
|
+
if (defaultsState.typeface) result.typeface = defaultsState.typeface;
|
|
33508
|
+
if (defaultsState.panose) result.panose = defaultsState.panose;
|
|
33509
|
+
if (fontFamilyCss) result.fontFamilyCss = fontFamilyCss;
|
|
33510
|
+
return result;
|
|
33287
33511
|
}
|
|
33288
33512
|
getDocumentFonts() {
|
|
33289
33513
|
const fontTable = this.convertedXml["word/fontTable.xml"];
|
|
@@ -33715,7 +33939,7 @@ function storeSuperdocVersion(docx) {
|
|
|
33715
33939
|
function generateCustomXml() {
|
|
33716
33940
|
return DEFAULT_CUSTOM_XML;
|
|
33717
33941
|
}
|
|
33718
|
-
function generateSuperdocVersion(pid = 2, version = "0.
|
|
33942
|
+
function generateSuperdocVersion(pid = 2, version = "0.21.1") {
|
|
33719
33943
|
return {
|
|
33720
33944
|
type: "element",
|
|
33721
33945
|
name: "property",
|