ooxml-core 1.8.3 → 1.9.0
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/PptxHandler-AT7FVG5Q.mjs +2 -0
- package/dist/{PptxHandler-BL4B7CZO.mjs → PptxHandler-EX4WBIQQ.mjs} +2 -2
- package/dist/PptxHandler-VFSCECPL.cjs +11 -0
- package/dist/automation/index.cjs +7380 -4682
- package/dist/automation/index.mjs +7380 -4682
- package/dist/chunk-AT66SA5M.cjs +44423 -0
- package/dist/{chunk-TTPZITQN.mjs → chunk-FIELY5PI.mjs} +1 -1
- package/dist/{chunk-ZAP5WLEN.mjs → chunk-IGOA57LE.mjs} +1 -1
- package/dist/chunk-LCS3J3QI.mjs +87604 -0
- package/dist/{chunk-NIHPA63A.mjs → chunk-M76PHYRR.mjs} +54 -37
- package/dist/chunk-OB277ZGE.mjs +44107 -0
- package/dist/{chunk-GAGSCAR3.mjs → chunk-OXHMZS7B.mjs} +552 -178
- package/dist/chunk-SWF7KVL5.cjs +87610 -0
- package/dist/{chunk-Z7IQR4S4.mjs → chunk-WSO4T2LJ.mjs} +246 -21
- package/dist/docx/block-parser.d.ts.map +1 -1
- package/dist/docx/cell-blocks.d.ts +4 -0
- package/dist/docx/cell-blocks.d.ts.map +1 -0
- package/dist/docx/document-paragraphs.d.ts.map +1 -1
- package/dist/docx/document-parts.d.ts +2 -0
- package/dist/docx/document-parts.d.ts.map +1 -1
- package/dist/docx/embedded.cjs +189 -20
- package/dist/docx/embedded.mjs +189 -20
- package/dist/docx/index.cjs +219 -24
- package/dist/docx/index.mjs +219 -24
- package/dist/docx/layout/adapt-table.d.ts.map +1 -1
- package/dist/docx/layout/adapter.d.ts.map +1 -1
- package/dist/docx/layout/flow-paragraph.d.ts +5 -0
- package/dist/docx/layout/flow-paragraph.d.ts.map +1 -1
- package/dist/docx/layout/flow-table.d.ts +2 -1
- package/dist/docx/layout/flow-table.d.ts.map +1 -1
- package/dist/docx/layout/footnote-columns.d.ts +22 -0
- package/dist/docx/layout/footnote-columns.d.ts.map +1 -0
- package/dist/docx/layout/footnote-flow.d.ts +27 -0
- package/dist/docx/layout/footnote-flow.d.ts.map +1 -0
- package/dist/docx/layout/footnote-split.d.ts +7 -0
- package/dist/docx/layout/footnote-split.d.ts.map +1 -0
- package/dist/docx/layout/index.cjs +1099 -92
- package/dist/docx/layout/index.mjs +1099 -92
- package/dist/docx/layout/input.d.ts +17 -1
- package/dist/docx/layout/input.d.ts.map +1 -1
- package/dist/docx/layout/legacy-footnote-flow.d.ts +18 -0
- package/dist/docx/layout/legacy-footnote-flow.d.ts.map +1 -0
- package/dist/docx/layout/line-metrics.d.ts.map +1 -1
- package/dist/docx/layout/page-cursor.d.ts +13 -8
- package/dist/docx/layout/page-cursor.d.ts.map +1 -1
- package/dist/docx/layout/page-flow.d.ts.map +1 -1
- package/dist/docx/layout/paragraph-layout.d.ts.map +1 -1
- package/dist/docx/layout/paragraph-tokens.d.ts +2 -0
- package/dist/docx/layout/paragraph-tokens.d.ts.map +1 -1
- package/dist/docx/layout/reference-footnotes.d.ts +7 -0
- package/dist/docx/layout/reference-footnotes.d.ts.map +1 -0
- package/dist/docx/layout/result.d.ts +31 -0
- package/dist/docx/layout/result.d.ts.map +1 -1
- package/dist/docx/layout/section-flow.d.ts +2 -0
- package/dist/docx/layout/section-flow.d.ts.map +1 -1
- package/dist/docx/layout/table-cell-layout.d.ts +11 -0
- package/dist/docx/layout/table-cell-layout.d.ts.map +1 -0
- package/dist/docx/layout/table-footnotes.d.ts +27 -0
- package/dist/docx/layout/table-footnotes.d.ts.map +1 -0
- package/dist/docx/layout/table-layout.d.ts +10 -4
- package/dist/docx/layout/table-layout.d.ts.map +1 -1
- package/dist/docx/load/index.cjs +194 -25
- package/dist/docx/load/index.mjs +194 -25
- package/dist/docx/model-run.d.ts +2 -0
- package/dist/docx/model-run.d.ts.map +1 -1
- package/dist/docx/model.d.ts +7 -0
- package/dist/docx/model.d.ts.map +1 -1
- package/dist/docx/notes.d.ts +5 -0
- package/dist/docx/notes.d.ts.map +1 -1
- package/dist/docx/parse-table.d.ts.map +1 -1
- package/dist/docx/parse.d.ts.map +1 -1
- package/dist/docx/save.d.ts.map +1 -1
- package/dist/docx/section-model.d.ts +2 -0
- package/dist/docx/section-model.d.ts.map +1 -1
- package/dist/docx/sections.d.ts.map +1 -1
- package/dist/docx/settings.d.ts +2 -0
- package/dist/docx/settings.d.ts.map +1 -1
- package/dist/docx/table-model.d.ts +3 -1
- package/dist/docx/table-model.d.ts.map +1 -1
- package/dist/docx/ui/index.cjs +55 -0
- package/dist/docx/ui/index.d.ts +1 -0
- package/dist/docx/ui/index.d.ts.map +1 -1
- package/dist/docx/ui/index.mjs +55 -1
- package/dist/docx/ui/table-structure-guard.d.ts +4 -0
- package/dist/docx/ui/table-structure-guard.d.ts.map +1 -0
- package/dist/docx/write-footnote-columns.d.ts +3 -0
- package/dist/docx/write-footnote-columns.d.ts.map +1 -0
- package/dist/docx/write-notes.d.ts.map +1 -1
- package/dist/docx/write-run.d.ts.map +1 -1
- package/dist/docx/write-sections.d.ts.map +1 -1
- package/dist/index.cjs +8 -5
- package/dist/index.mjs +8 -5
- package/dist/opc/clone-part-graph.d.ts +4 -0
- package/dist/opc/clone-part-graph.d.ts.map +1 -1
- package/dist/opc/index.cjs +8 -5
- package/dist/opc/index.mjs +8 -5
- package/dist/pptx/automation/index.cjs +621 -207
- package/dist/pptx/automation/index.d.ts +3 -3
- package/dist/pptx/automation/index.mjs +5 -5
- package/dist/pptx/chunks/{index-Cn-GzYGp.d.ts → index-B4cnSPNz.d.ts} +33 -4
- package/dist/pptx/chunks/index-B4cnSPNz.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-CKIUurnd.d.ts → index-BZh-IMkN.d.ts} +14 -9
- package/dist/pptx/chunks/{index-CKIUurnd.d.ts.map → index-BZh-IMkN.d.ts.map} +1 -1
- package/dist/pptx/chunks/{text-operations-BHfAm5K9.d.ts → text-operations-BLodkuXE.d.ts} +29 -12
- package/dist/pptx/chunks/text-operations-BLodkuXE.d.ts.map +1 -0
- package/dist/pptx/cli/index.cjs +622 -213
- package/dist/pptx/cli/index.d.ts +1 -1
- package/dist/pptx/cli/index.mjs +4 -4
- package/dist/pptx/converter/index.cjs +53 -36
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +2 -2
- package/dist/pptx/editor/render/find-replace.cjs +416 -45
- package/dist/pptx/editor/render/find-replace.d.ts +35 -4
- package/dist/pptx/editor/render/find-replace.d.ts.map +1 -1
- package/dist/pptx/editor/render/find-replace.mjs +416 -46
- package/dist/pptx/editor/render/slide-operations.cjs +87 -0
- package/dist/pptx/editor/render/slide-operations.d.ts +17 -1
- package/dist/pptx/editor/render/slide-operations.d.ts.map +1 -1
- package/dist/pptx/editor/render/slide-operations.mjs +83 -1
- package/dist/pptx/editor/render/slide-search.cjs +6 -10
- package/dist/pptx/editor/render/slide-search.d.ts +1 -1
- package/dist/pptx/editor/render/slide-search.mjs +6 -10
- package/dist/pptx/editor/render/template-editing.d.ts +1 -1
- package/dist/pptx/editor/render/template-editing.d.ts.map +1 -1
- package/dist/pptx/index.cjs +889 -237
- package/dist/pptx/index.d.ts +4 -4
- package/dist/pptx/index.mjs +5 -5
- package/dist/teams/index.cjs +672 -37
- package/dist/teams/index.mjs +672 -37
- package/dist/visio/accessibility.d.ts +10 -0
- package/dist/visio/accessibility.d.ts.map +1 -0
- package/dist/visio/cell-formula.d.ts +2 -0
- package/dist/visio/cell-formula.d.ts.map +1 -1
- package/dist/visio/connector-curve-aligned.d.ts +5 -0
- package/dist/visio/connector-curve-aligned.d.ts.map +1 -0
- package/dist/visio/connector-curve-spans.d.ts +14 -0
- package/dist/visio/connector-curve-spans.d.ts.map +1 -0
- package/dist/visio/connector-jumps.d.ts +5 -0
- package/dist/visio/connector-jumps.d.ts.map +1 -0
- package/dist/visio/connector-route-walk.d.ts +2 -1
- package/dist/visio/connector-route-walk.d.ts.map +1 -1
- package/dist/visio/edit-alt-text-scope.d.ts +5 -0
- package/dist/visio/edit-alt-text-scope.d.ts.map +1 -0
- package/dist/visio/edit-alt-text.d.ts +3 -0
- package/dist/visio/edit-alt-text.d.ts.map +1 -0
- package/dist/visio/edit-commands.d.ts +7 -2
- package/dist/visio/edit-commands.d.ts.map +1 -1
- package/dist/visio/edit-formatting-commands.d.ts +5 -0
- package/dist/visio/edit-formatting-commands.d.ts.map +1 -1
- package/dist/visio/edit-formatting-paint.d.ts.map +1 -1
- package/dist/visio/edit-formatting-scope.d.ts.map +1 -1
- package/dist/visio/edit-line-jump-cache.d.ts +4 -0
- package/dist/visio/edit-line-jump-cache.d.ts.map +1 -0
- package/dist/visio/edit-master-index.d.ts.map +1 -1
- package/dist/visio/edit-metadata-commands.d.ts +10 -2
- package/dist/visio/edit-metadata-commands.d.ts.map +1 -1
- package/dist/visio/edit-metadata.d.ts +3 -1
- package/dist/visio/edit-metadata.d.ts.map +1 -1
- package/dist/visio/edit-page-alt-text.d.ts +4 -0
- package/dist/visio/edit-page-alt-text.d.ts.map +1 -0
- package/dist/visio/edit-page-layout.d.ts.map +1 -1
- package/dist/visio/edit-page-rename.d.ts.map +1 -1
- package/dist/visio/edit-page-setup-commands.d.ts +7 -1
- package/dist/visio/edit-page-setup-commands.d.ts.map +1 -1
- package/dist/visio/edit-page-size.d.ts.map +1 -1
- package/dist/visio/edit-pages.d.ts.map +1 -1
- package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
- package/dist/visio/edit-scope.d.ts.map +1 -1
- package/dist/visio/edit-shape-create.d.ts.map +1 -1
- package/dist/visio/edit-stencil-connector-write.d.ts.map +1 -1
- package/dist/visio/edit-style-admission.d.ts.map +1 -1
- package/dist/visio/edit-text.d.ts.map +1 -1
- package/dist/visio/edit.d.ts +1 -1
- package/dist/visio/edit.d.ts.map +1 -1
- package/dist/visio/index.cjs +1091 -233
- package/dist/visio/index.d.ts +2 -1
- package/dist/visio/index.d.ts.map +1 -1
- package/dist/visio/index.mjs +1091 -234
- package/dist/visio/line-jumps.d.ts +1 -5
- package/dist/visio/line-jumps.d.ts.map +1 -1
- package/dist/visio/model.d.ts +13 -0
- package/dist/visio/model.d.ts.map +1 -1
- package/dist/visio/page-layout.d.ts +11 -2
- package/dist/visio/page-layout.d.ts.map +1 -1
- package/dist/visio/parser.d.ts.map +1 -1
- package/dist/visio/shape-metadata.d.ts +6 -0
- package/dist/visio/shape-metadata.d.ts.map +1 -1
- package/dist/visio/shapes.d.ts.map +1 -1
- package/dist/visio/text-field-case.d.ts +2 -0
- package/dist/visio/text-field-case.d.ts.map +1 -0
- package/dist/visio/text-field-display.d.ts.map +1 -1
- package/dist/visio/text-field-numeric.d.ts +4 -0
- package/dist/visio/text-field-numeric.d.ts.map +1 -0
- package/dist/visio/ui/connector-preview.d.ts +1 -1
- package/dist/visio/ui/connector-preview.d.ts.map +1 -1
- package/dist/visio/ui/data-graphic-rules.d.ts +2 -0
- package/dist/visio/ui/data-graphic-rules.d.ts.map +1 -1
- package/dist/visio/ui/data-graphics.d.ts +3 -2
- package/dist/visio/ui/data-graphics.d.ts.map +1 -1
- package/dist/visio/ui/edit-commands.d.ts.map +1 -1
- package/dist/visio/ui/index.cjs +16898 -15855
- package/dist/visio/ui/index.mjs +16898 -15856
- package/dist/visio/ui/scene-details.d.ts.map +1 -1
- package/dist/visio/ui/scene-validation.d.ts.map +1 -1
- package/dist/visio/ui/snapshot-scene.d.ts +2 -1
- package/dist/visio/ui/snapshot-scene.d.ts.map +1 -1
- package/dist/visio/xml-attribute-whitespace.d.ts +5 -0
- package/dist/visio/xml-attribute-whitespace.d.ts.map +1 -0
- package/dist/xlsx/edit/index.d.ts +1 -0
- package/dist/xlsx/edit/index.d.ts.map +1 -1
- package/dist/xlsx/edit/insert-guard.d.ts.map +1 -1
- package/dist/xlsx/edit/merge.d.ts.map +1 -1
- package/dist/xlsx/edit/page-breaks.d.ts +5 -0
- package/dist/xlsx/edit/page-breaks.d.ts.map +1 -0
- package/dist/xlsx/edit/pivots.d.ts +8 -0
- package/dist/xlsx/edit/pivots.d.ts.map +1 -0
- package/dist/xlsx/edit/print-titles.d.ts +7 -0
- package/dist/xlsx/edit/print-titles.d.ts.map +1 -0
- package/dist/xlsx/edit/session.d.ts.map +1 -1
- package/dist/xlsx/edit/sheets.d.ts.map +1 -1
- package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -1
- package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -1
- package/dist/xlsx/edit/sparkline-ranges.d.ts +11 -0
- package/dist/xlsx/edit/sparkline-ranges.d.ts.map +1 -0
- package/dist/xlsx/edit/sparkline-xml.d.ts +13 -0
- package/dist/xlsx/edit/sparkline-xml.d.ts.map +1 -0
- package/dist/xlsx/edit/sparklines.d.ts +16 -0
- package/dist/xlsx/edit/sparklines.d.ts.map +1 -0
- package/dist/xlsx/edit/table-edits.d.ts.map +1 -1
- package/dist/xlsx/edit/tables.d.ts.map +1 -1
- package/dist/xlsx/edit/types.d.ts +22 -1
- package/dist/xlsx/edit/types.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/text-regex.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +3415 -1374
- package/dist/xlsx/index.d.ts +1 -0
- package/dist/xlsx/index.d.ts.map +1 -1
- package/dist/xlsx/index.mjs +3396 -1375
- package/dist/xlsx/layout/cell-view.d.ts +2 -0
- package/dist/xlsx/layout/cell-view.d.ts.map +1 -1
- package/dist/xlsx/layout/header-footer.d.ts +58 -0
- package/dist/xlsx/layout/header-footer.d.ts.map +1 -0
- package/dist/xlsx/layout/index.d.ts +5 -0
- package/dist/xlsx/layout/index.d.ts.map +1 -1
- package/dist/xlsx/layout/print-breaks.d.ts +11 -0
- package/dist/xlsx/layout/print-breaks.d.ts.map +1 -0
- package/dist/xlsx/layout/print-layout.d.ts +34 -0
- package/dist/xlsx/layout/print-layout.d.ts.map +1 -0
- package/dist/xlsx/layout/print-merges.d.ts +18 -0
- package/dist/xlsx/layout/print-merges.d.ts.map +1 -0
- package/dist/xlsx/layout/print-repeat.d.ts +12 -0
- package/dist/xlsx/layout/print-repeat.d.ts.map +1 -0
- package/dist/xlsx/layout/print-titles.d.ts +20 -0
- package/dist/xlsx/layout/print-titles.d.ts.map +1 -0
- package/dist/xlsx/layout/sparkline-data.d.ts.map +1 -1
- package/dist/xlsx/layout/sparkline-view.d.ts.map +1 -1
- package/dist/xlsx/load/index.cjs +7831 -6961
- package/dist/xlsx/load/index.mjs +7831 -6961
- package/dist/xlsx/model-pivots.d.ts +46 -0
- package/dist/xlsx/model-pivots.d.ts.map +1 -0
- package/dist/xlsx/model.d.ts +5 -0
- package/dist/xlsx/model.d.ts.map +1 -1
- package/dist/xlsx/pivot/admission.d.ts +5 -0
- package/dist/xlsx/pivot/admission.d.ts.map +1 -0
- package/dist/xlsx/pivot/aggregate.d.ts +19 -0
- package/dist/xlsx/pivot/aggregate.d.ts.map +1 -0
- package/dist/xlsx/pivot/cache-xml.d.ts +9 -0
- package/dist/xlsx/pivot/cache-xml.d.ts.map +1 -0
- package/dist/xlsx/pivot/data.d.ts +12 -0
- package/dist/xlsx/pivot/data.d.ts.map +1 -0
- package/dist/xlsx/pivot/hierarchy.d.ts +7 -0
- package/dist/xlsx/pivot/hierarchy.d.ts.map +1 -0
- package/dist/xlsx/pivot/index.d.ts +3 -0
- package/dist/xlsx/pivot/index.d.ts.map +1 -0
- package/dist/xlsx/pivot/read.d.ts +5 -0
- package/dist/xlsx/pivot/read.d.ts.map +1 -0
- package/dist/xlsx/pivot/table-xml.d.ts +5 -0
- package/dist/xlsx/pivot/table-xml.d.ts.map +1 -0
- package/dist/xlsx/pivot/write.d.ts +11 -0
- package/dist/xlsx/pivot/write.d.ts.map +1 -0
- package/dist/xlsx/read/load.d.ts.map +1 -1
- package/dist/xlsx/read/sheet-props.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/pivots.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/print-layout.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/print-layout.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/sparklines.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/sparklines.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/tools.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/page-breaks.d.ts +3 -0
- package/dist/xlsx/ui/commands/page-breaks.d.ts.map +1 -0
- package/dist/xlsx/ui/index.cjs +2451 -737
- package/dist/xlsx/ui/index.d.ts +1 -0
- package/dist/xlsx/ui/index.d.ts.map +1 -1
- package/dist/xlsx/ui/index.mjs +2451 -738
- package/dist/xlsx/write/chart-cache.d.ts +8 -0
- package/dist/xlsx/write/chart-cache.d.ts.map +1 -0
- package/dist/xlsx/write/page-setup.d.ts.map +1 -1
- package/dist/xlsx/write/save.d.ts.map +1 -1
- package/dist/xlsx/write/sheet-parts.d.ts +1 -0
- package/dist/xlsx/write/sheet-parts.d.ts.map +1 -1
- package/dist/xlsx/write/workbook-part.d.ts +1 -1
- package/dist/xlsx/write/workbook-part.d.ts.map +1 -1
- package/dist/xlsx/write/worksheet.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/pptx/chunks/index-Cn-GzYGp.d.ts.map +0 -1
- package/dist/pptx/chunks/text-operations-BHfAm5K9.d.ts.map +0 -1
package/dist/docx/ui/index.cjs
CHANGED
|
@@ -5507,6 +5507,10 @@ function createRun(doc, run, base, old, allocator) {
|
|
|
5507
5507
|
node.appendChild(code);
|
|
5508
5508
|
return node;
|
|
5509
5509
|
}
|
|
5510
|
+
if (run.noteSeparator) {
|
|
5511
|
+
node.appendChild(makeW(doc, run.noteSeparator));
|
|
5512
|
+
return node;
|
|
5513
|
+
}
|
|
5510
5514
|
if (run.noteMark) {
|
|
5511
5515
|
node.appendChild(makeW(doc, run.noteMark === "footnote" ? "footnoteRef" : "endnoteRef"));
|
|
5512
5516
|
return node;
|
|
@@ -5973,6 +5977,7 @@ function documentBlockLists(model) {
|
|
|
5973
5977
|
(slots) => Object.values(slots ?? {}).flatMap((content) => content ? [content.blocks] : [])
|
|
5974
5978
|
)
|
|
5975
5979
|
),
|
|
5980
|
+
...Object.values(model.footnoteSeparators ?? {}).map((note) => note.blocks),
|
|
5976
5981
|
...[...model.footnotes ?? [], ...model.endnotes ?? []].map((note) => note.blocks)
|
|
5977
5982
|
];
|
|
5978
5983
|
}
|
|
@@ -8012,6 +8017,55 @@ var DirtyState = class {
|
|
|
8012
8017
|
this.changed(dirty);
|
|
8013
8018
|
}
|
|
8014
8019
|
};
|
|
8020
|
+
function tableStructureGuardPlugin() {
|
|
8021
|
+
const cache = /* @__PURE__ */ new WeakMap();
|
|
8022
|
+
const tables = (node) => {
|
|
8023
|
+
const prior = cache.get(node);
|
|
8024
|
+
if (prior) return prior;
|
|
8025
|
+
const result = /* @__PURE__ */ new Map();
|
|
8026
|
+
if (node.type.name === "table") result.set(String(node.attrs.id), node);
|
|
8027
|
+
else if (!node.isTextblock && !node.isLeaf)
|
|
8028
|
+
node.forEach((child) => {
|
|
8029
|
+
for (const [id, table] of tables(child)) result.set(id, table);
|
|
8030
|
+
});
|
|
8031
|
+
cache.set(node, result);
|
|
8032
|
+
return result;
|
|
8033
|
+
};
|
|
8034
|
+
const sameStructure = (before, after) => {
|
|
8035
|
+
if (before.childCount !== after.childCount) return false;
|
|
8036
|
+
for (let rowIndex = 0; rowIndex < before.childCount; rowIndex++) {
|
|
8037
|
+
const row = before.child(rowIndex), next = after.child(rowIndex);
|
|
8038
|
+
if (row.childCount !== next.childCount) return false;
|
|
8039
|
+
for (let cellIndex = 0; cellIndex < row.childCount; cellIndex++) {
|
|
8040
|
+
const cell = row.child(cellIndex), target = next.child(cellIndex);
|
|
8041
|
+
if (cell.type !== target.type || cell.childCount !== target.childCount) return false;
|
|
8042
|
+
for (const attr2 of ["sourceCellKey", "colspan", "rowspan", "widthTwips"])
|
|
8043
|
+
if (cell.attrs[attr2] !== target.attrs[attr2]) return false;
|
|
8044
|
+
for (let i = 0; i < cell.childCount; i++) {
|
|
8045
|
+
const child = cell.child(i), other = target.child(i);
|
|
8046
|
+
if (child.type !== other.type) return false;
|
|
8047
|
+
if (child.type.name === "paragraph") {
|
|
8048
|
+
if (child.attrs.id !== other.attrs.id) return false;
|
|
8049
|
+
} else if (!child.eq(other)) return false;
|
|
8050
|
+
}
|
|
8051
|
+
}
|
|
8052
|
+
}
|
|
8053
|
+
return true;
|
|
8054
|
+
};
|
|
8055
|
+
return new prosemirrorState.Plugin({
|
|
8056
|
+
filterTransaction(transaction, state) {
|
|
8057
|
+
if (!transaction.docChanged) return true;
|
|
8058
|
+
const after = tables(transaction.doc);
|
|
8059
|
+
for (const [id, before] of tables(state.doc)) {
|
|
8060
|
+
if (before.attrs.structureEditable !== false) continue;
|
|
8061
|
+
const target = after.get(id);
|
|
8062
|
+
if (target && target !== before && (target.attrs.structureEditable !== false || !sameStructure(before, target)))
|
|
8063
|
+
return false;
|
|
8064
|
+
}
|
|
8065
|
+
return true;
|
|
8066
|
+
}
|
|
8067
|
+
});
|
|
8068
|
+
}
|
|
8015
8069
|
var SectionPartsStep = class _SectionPartsStep extends prosemirrorTransform.DocAttrStep {
|
|
8016
8070
|
constructor(value) {
|
|
8017
8071
|
super("sectionParts", value);
|
|
@@ -10600,6 +10654,7 @@ exports.setReviewRecordingPreferences = setReviewRecordingPreferences;
|
|
|
10600
10654
|
exports.svgMarkupSpec = svgMarkupSpec;
|
|
10601
10655
|
exports.swatchColor = swatchColor;
|
|
10602
10656
|
exports.tableCellStyle = tableCellStyle;
|
|
10657
|
+
exports.tableStructureGuardPlugin = tableStructureGuardPlugin;
|
|
10603
10658
|
exports.tableStyle = tableStyle;
|
|
10604
10659
|
exports.themeDrawing = themeDrawing;
|
|
10605
10660
|
exports.themeToCssVars = themeToCssVars;
|
package/dist/docx/ui/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export * from './yjs-presence.js';
|
|
|
14
14
|
export * from './defined.js';
|
|
15
15
|
export * from './dirty-state.js';
|
|
16
16
|
export * from './field-guard.js';
|
|
17
|
+
export * from './table-structure-guard.js';
|
|
17
18
|
export * from './field-results.js';
|
|
18
19
|
export * from './header-footer-history.js';
|
|
19
20
|
export * from './hard-break-command.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../docx/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACvE,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../docx/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACvE,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/docx/ui/index.mjs
CHANGED
|
@@ -5485,6 +5485,10 @@ function createRun(doc, run, base, old, allocator) {
|
|
|
5485
5485
|
node.appendChild(code);
|
|
5486
5486
|
return node;
|
|
5487
5487
|
}
|
|
5488
|
+
if (run.noteSeparator) {
|
|
5489
|
+
node.appendChild(makeW(doc, run.noteSeparator));
|
|
5490
|
+
return node;
|
|
5491
|
+
}
|
|
5488
5492
|
if (run.noteMark) {
|
|
5489
5493
|
node.appendChild(makeW(doc, run.noteMark === "footnote" ? "footnoteRef" : "endnoteRef"));
|
|
5490
5494
|
return node;
|
|
@@ -5951,6 +5955,7 @@ function documentBlockLists(model) {
|
|
|
5951
5955
|
(slots) => Object.values(slots ?? {}).flatMap((content) => content ? [content.blocks] : [])
|
|
5952
5956
|
)
|
|
5953
5957
|
),
|
|
5958
|
+
...Object.values(model.footnoteSeparators ?? {}).map((note) => note.blocks),
|
|
5954
5959
|
...[...model.footnotes ?? [], ...model.endnotes ?? []].map((note) => note.blocks)
|
|
5955
5960
|
];
|
|
5956
5961
|
}
|
|
@@ -7990,6 +7995,55 @@ var DirtyState = class {
|
|
|
7990
7995
|
this.changed(dirty);
|
|
7991
7996
|
}
|
|
7992
7997
|
};
|
|
7998
|
+
function tableStructureGuardPlugin() {
|
|
7999
|
+
const cache = /* @__PURE__ */ new WeakMap();
|
|
8000
|
+
const tables = (node) => {
|
|
8001
|
+
const prior = cache.get(node);
|
|
8002
|
+
if (prior) return prior;
|
|
8003
|
+
const result = /* @__PURE__ */ new Map();
|
|
8004
|
+
if (node.type.name === "table") result.set(String(node.attrs.id), node);
|
|
8005
|
+
else if (!node.isTextblock && !node.isLeaf)
|
|
8006
|
+
node.forEach((child) => {
|
|
8007
|
+
for (const [id, table] of tables(child)) result.set(id, table);
|
|
8008
|
+
});
|
|
8009
|
+
cache.set(node, result);
|
|
8010
|
+
return result;
|
|
8011
|
+
};
|
|
8012
|
+
const sameStructure = (before, after) => {
|
|
8013
|
+
if (before.childCount !== after.childCount) return false;
|
|
8014
|
+
for (let rowIndex = 0; rowIndex < before.childCount; rowIndex++) {
|
|
8015
|
+
const row = before.child(rowIndex), next = after.child(rowIndex);
|
|
8016
|
+
if (row.childCount !== next.childCount) return false;
|
|
8017
|
+
for (let cellIndex = 0; cellIndex < row.childCount; cellIndex++) {
|
|
8018
|
+
const cell = row.child(cellIndex), target = next.child(cellIndex);
|
|
8019
|
+
if (cell.type !== target.type || cell.childCount !== target.childCount) return false;
|
|
8020
|
+
for (const attr2 of ["sourceCellKey", "colspan", "rowspan", "widthTwips"])
|
|
8021
|
+
if (cell.attrs[attr2] !== target.attrs[attr2]) return false;
|
|
8022
|
+
for (let i = 0; i < cell.childCount; i++) {
|
|
8023
|
+
const child = cell.child(i), other = target.child(i);
|
|
8024
|
+
if (child.type !== other.type) return false;
|
|
8025
|
+
if (child.type.name === "paragraph") {
|
|
8026
|
+
if (child.attrs.id !== other.attrs.id) return false;
|
|
8027
|
+
} else if (!child.eq(other)) return false;
|
|
8028
|
+
}
|
|
8029
|
+
}
|
|
8030
|
+
}
|
|
8031
|
+
return true;
|
|
8032
|
+
};
|
|
8033
|
+
return new Plugin({
|
|
8034
|
+
filterTransaction(transaction, state) {
|
|
8035
|
+
if (!transaction.docChanged) return true;
|
|
8036
|
+
const after = tables(transaction.doc);
|
|
8037
|
+
for (const [id, before] of tables(state.doc)) {
|
|
8038
|
+
if (before.attrs.structureEditable !== false) continue;
|
|
8039
|
+
const target = after.get(id);
|
|
8040
|
+
if (target && target !== before && (target.attrs.structureEditable !== false || !sameStructure(before, target)))
|
|
8041
|
+
return false;
|
|
8042
|
+
}
|
|
8043
|
+
return true;
|
|
8044
|
+
}
|
|
8045
|
+
});
|
|
8046
|
+
}
|
|
7993
8047
|
var SectionPartsStep = class _SectionPartsStep extends DocAttrStep {
|
|
7994
8048
|
constructor(value) {
|
|
7995
8049
|
super("sectionParts", value);
|
|
@@ -10458,4 +10512,4 @@ function fitZoomPercent(mode, viewport, page) {
|
|
|
10458
10512
|
return Math.max(10, Math.min(500, Math.floor(ratio * 100)));
|
|
10459
10513
|
}
|
|
10460
10514
|
|
|
10461
|
-
export { CollaborationAuthority, CollaborationClient, DirtyState, EDITOR_THEME_MODES, FIELD_RESULT_REPAIR_META, HEADER_FOOTER_INPUT, NotePartsStep, PAGE_GAP, PARAGRAPH_KEEP_KEYS, REMOTE_TRANSACTION_META, RIBBON_ACTION_IDS, RIBBON_ACTION_LABELS, SectionPartsStep, THEME_KEYS, WordYjsCollaboration, WordYjsComments, WordYjsMedia, acceptAllChanges, acceptChangeAtCursor, acceptRevisionRange, addComment, appendInlineNode, applyMarkFormatting, applyRunFormattingPatch, applyThemeColors, applyWordLink, authorColor, backstageFocus, chartNodeSpec, clearDirectRunFormatting, collectRevisionRanges, commentAnchors, commentHistoryAttributes, commentIdsAtSelection, commentIdsFromMarks, commentIdsFromNode, commentThreadsFromDoc, countWords, createCollaborationIdGenerator, createToggleFormat, cssBorderSide, darkTheme, deleteAroundMarkers, deleteComment, deleteFieldSelection, dispatchIsolatedCommand, expectDefined, explicitOffFields, extraRunFields, extraRunProperties, fieldGuardPlugin, fieldMarkerNodeSpec, fieldResultRanges, fieldsBalanced, fitZoomPercent, formattingRevision, freezeBatch, goToComment, goToNextChange, goToPreviousChange, hardBreakNodeSpec, hasAnyChange, hasChangeAtCursor, hasNoteRevisions, imageNodeSpec, inlineNodeRun, insertWordHardBreak, isNavigableHref, isRibbonActionId, isWordYjsRemoteTransaction, ligatureCss, ligatureStyle, lightTheme, linkFromMarks, linkMarkSpec, markSpecs, marksForRun, moveName, nodeChart, nodeNumbering, normalizeRibbonActions, normalizeThemeMode, notePartsJson, noteReferenceNodeSpec, pageBreakNodeSpec, paragraphAttrs, paragraphBoxCss, paragraphFormattingRevision, paragraphFromAttrs, parseBatch, parseBordersJson, placementClass, refreshWordYjsPresence, rejectAllChanges, rejectChangeAtCursor, rejectRevisionRange, removeCommentAnchor, removeCommentThread, removeWordLink, repairCollaborativeDocumentIds, repairCollaborativeParagraphIds, replaceAroundMarkers, replyToComment, resolveCellVisuals, resolveComment, resolveNoteRevisions, restoreNoteParts, restoreSectionParts, reviewMarks, ribbonActionIdForLabel, runPropertiesMark, runToInlineNodes, sameJson2 as sameJson, sameRuns, sectionPartsJson, setCommentThreads, setReviewRecordingPreferences, svgMarkupSpec, swatchColor, tableCellStyle, tableStyle, themeDrawing, themeToCssVars, toggleTrackChanges, toggleTrackFormatting, toggleTrackMoves, trackChangesPlugin, trackChangesPluginKey, updateCommentThreads, wordHighlightColors, wordLinkRangeAt, wordYjsPluginKey, wordYjsPresencePlugin, wordYjsRedo, wordYjsUndo };
|
|
10515
|
+
export { CollaborationAuthority, CollaborationClient, DirtyState, EDITOR_THEME_MODES, FIELD_RESULT_REPAIR_META, HEADER_FOOTER_INPUT, NotePartsStep, PAGE_GAP, PARAGRAPH_KEEP_KEYS, REMOTE_TRANSACTION_META, RIBBON_ACTION_IDS, RIBBON_ACTION_LABELS, SectionPartsStep, THEME_KEYS, WordYjsCollaboration, WordYjsComments, WordYjsMedia, acceptAllChanges, acceptChangeAtCursor, acceptRevisionRange, addComment, appendInlineNode, applyMarkFormatting, applyRunFormattingPatch, applyThemeColors, applyWordLink, authorColor, backstageFocus, chartNodeSpec, clearDirectRunFormatting, collectRevisionRanges, commentAnchors, commentHistoryAttributes, commentIdsAtSelection, commentIdsFromMarks, commentIdsFromNode, commentThreadsFromDoc, countWords, createCollaborationIdGenerator, createToggleFormat, cssBorderSide, darkTheme, deleteAroundMarkers, deleteComment, deleteFieldSelection, dispatchIsolatedCommand, expectDefined, explicitOffFields, extraRunFields, extraRunProperties, fieldGuardPlugin, fieldMarkerNodeSpec, fieldResultRanges, fieldsBalanced, fitZoomPercent, formattingRevision, freezeBatch, goToComment, goToNextChange, goToPreviousChange, hardBreakNodeSpec, hasAnyChange, hasChangeAtCursor, hasNoteRevisions, imageNodeSpec, inlineNodeRun, insertWordHardBreak, isNavigableHref, isRibbonActionId, isWordYjsRemoteTransaction, ligatureCss, ligatureStyle, lightTheme, linkFromMarks, linkMarkSpec, markSpecs, marksForRun, moveName, nodeChart, nodeNumbering, normalizeRibbonActions, normalizeThemeMode, notePartsJson, noteReferenceNodeSpec, pageBreakNodeSpec, paragraphAttrs, paragraphBoxCss, paragraphFormattingRevision, paragraphFromAttrs, parseBatch, parseBordersJson, placementClass, refreshWordYjsPresence, rejectAllChanges, rejectChangeAtCursor, rejectRevisionRange, removeCommentAnchor, removeCommentThread, removeWordLink, repairCollaborativeDocumentIds, repairCollaborativeParagraphIds, replaceAroundMarkers, replyToComment, resolveCellVisuals, resolveComment, resolveNoteRevisions, restoreNoteParts, restoreSectionParts, reviewMarks, ribbonActionIdForLabel, runPropertiesMark, runToInlineNodes, sameJson2 as sameJson, sameRuns, sectionPartsJson, setCommentThreads, setReviewRecordingPreferences, svgMarkupSpec, swatchColor, tableCellStyle, tableStructureGuardPlugin, tableStyle, themeDrawing, themeToCssVars, toggleTrackChanges, toggleTrackFormatting, toggleTrackMoves, trackChangesPlugin, trackChangesPluginKey, updateCommentThreads, wordHighlightColors, wordLinkRangeAt, wordYjsPluginKey, wordYjsPresencePlugin, wordYjsRedo, wordYjsUndo };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-structure-guard.d.ts","sourceRoot":"","sources":["../../../docx/ui/table-structure-guard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,mGAAmG;AACnG,wBAAgB,yBAAyB,IAAI,MAAM,CAwDlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-footnote-columns.d.ts","sourceRoot":"","sources":["../../docx/write-footnote-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAgB7E,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,GAAG,SAAS,GACvB,IAAI,CAkBN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-notes.d.ts","sourceRoot":"","sources":["../../docx/write-notes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAQ,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA+BpD,wBAAsB,cAAc,CACnC,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,aAAa,EACnB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACpD,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"write-notes.d.ts","sourceRoot":"","sources":["../../docx/write-notes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAQ,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA+BpD,wBAAsB,cAAc,CACnC,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,aAAa,EACnB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACpD,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CAmEf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-run.d.ts","sourceRoot":"","sources":["../../docx/write-run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,UAAU,EAAW,MAAM,OAAO,CAAC;AAI3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAYtE,oGAAoG;AACpG,wBAAgB,SAAS,CACxB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,GAAG,SAAS,GACxB,IAAI,CAMN;AAiND,wBAAgB,SAAS,CACxB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,OAAO,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,GAAG,CAAC,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,qBAAqB,GAC/B,UAAU,
|
|
1
|
+
{"version":3,"file":"write-run.d.ts","sourceRoot":"","sources":["../../docx/write-run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,UAAU,EAAW,MAAM,OAAO,CAAC;AAI3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAYtE,oGAAoG;AACpG,wBAAgB,SAAS,CACxB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,GAAG,SAAS,GACxB,IAAI,CAMN;AAiND,wBAAgB,SAAS,CACxB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,OAAO,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,GAAG,CAAC,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,qBAAqB,GAC/B,UAAU,CAuEZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-sections.d.ts","sourceRoot":"","sources":["../../docx/write-sections.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"write-sections.d.ts","sourceRoot":"","sources":["../../docx/write-sections.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAK3E,OAAO,EAAmC,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAsO3F;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,KAAK,EAAE,EACf,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,IAAI,EAAE,iBAAiB,EAAE;AACzB,mFAAmF;AACnF,UAAU,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,GACjD,IAAI,CAsDN"}
|
package/dist/index.cjs
CHANGED
|
@@ -29921,10 +29921,13 @@ function relativePartTarget(basePart, targetPart) {
|
|
|
29921
29921
|
}
|
|
29922
29922
|
async function clonePartGraph(options) {
|
|
29923
29923
|
const { zip, sourcePart, targetPart, shouldClone } = options;
|
|
29924
|
-
const
|
|
29925
|
-
const
|
|
29924
|
+
const sourceZip = options.sourceZip ?? zip;
|
|
29925
|
+
const copies = options.copies ?? /* @__PURE__ */ new Map();
|
|
29926
|
+
copies.set(sourcePart, targetPart);
|
|
29927
|
+
const types = parseContentTypes(await sourceZip.file("[Content_Types].xml")?.async("string"));
|
|
29926
29928
|
const reserved = new Set(Object.keys(zip.files));
|
|
29927
29929
|
reserved.add(targetPart);
|
|
29930
|
+
for (const target of copies.values()) reserved.add(target);
|
|
29928
29931
|
const allocate = (source) => {
|
|
29929
29932
|
const match = /^(?<stem>.*?)(?:\d+)?(?<extension>\.[^/.]+)$/u.exec(source);
|
|
29930
29933
|
const stem = match?.groups?.stem ?? source;
|
|
@@ -29936,9 +29939,9 @@ async function clonePartGraph(options) {
|
|
|
29936
29939
|
return path2;
|
|
29937
29940
|
};
|
|
29938
29941
|
const copyRelationships = async (source, destination) => {
|
|
29939
|
-
const contentType = types
|
|
29942
|
+
const contentType = contentTypeForPart(types, source);
|
|
29940
29943
|
if (contentType) await ensureContentTypeOverride(zip, destination, contentType);
|
|
29941
|
-
const xml = await
|
|
29944
|
+
const xml = await sourceZip.file(relationshipsPartFor(source))?.async("string");
|
|
29942
29945
|
if (!xml) return;
|
|
29943
29946
|
const relationships = parseRelationships(xml);
|
|
29944
29947
|
for (const relationship2 of relationships.values()) {
|
|
@@ -29946,7 +29949,7 @@ async function clonePartGraph(options) {
|
|
|
29946
29949
|
const originalTarget = resolvePartPath(source, relationship2.target);
|
|
29947
29950
|
let newTarget = copies.get(originalTarget);
|
|
29948
29951
|
if (!newTarget && shouldClone(relationship2, originalTarget)) {
|
|
29949
|
-
const file =
|
|
29952
|
+
const file = sourceZip.file(originalTarget);
|
|
29950
29953
|
if (!file) throw new Error(`Cannot clone missing package part: ${originalTarget}`);
|
|
29951
29954
|
newTarget = allocate(originalTarget);
|
|
29952
29955
|
copies.set(originalTarget, newTarget);
|
package/dist/index.mjs
CHANGED
|
@@ -29915,10 +29915,13 @@ function relativePartTarget(basePart, targetPart) {
|
|
|
29915
29915
|
}
|
|
29916
29916
|
async function clonePartGraph(options) {
|
|
29917
29917
|
const { zip, sourcePart, targetPart, shouldClone } = options;
|
|
29918
|
-
const
|
|
29919
|
-
const
|
|
29918
|
+
const sourceZip = options.sourceZip ?? zip;
|
|
29919
|
+
const copies = options.copies ?? /* @__PURE__ */ new Map();
|
|
29920
|
+
copies.set(sourcePart, targetPart);
|
|
29921
|
+
const types = parseContentTypes(await sourceZip.file("[Content_Types].xml")?.async("string"));
|
|
29920
29922
|
const reserved = new Set(Object.keys(zip.files));
|
|
29921
29923
|
reserved.add(targetPart);
|
|
29924
|
+
for (const target of copies.values()) reserved.add(target);
|
|
29922
29925
|
const allocate = (source) => {
|
|
29923
29926
|
const match = /^(?<stem>.*?)(?:\d+)?(?<extension>\.[^/.]+)$/u.exec(source);
|
|
29924
29927
|
const stem = match?.groups?.stem ?? source;
|
|
@@ -29930,9 +29933,9 @@ async function clonePartGraph(options) {
|
|
|
29930
29933
|
return path2;
|
|
29931
29934
|
};
|
|
29932
29935
|
const copyRelationships = async (source, destination) => {
|
|
29933
|
-
const contentType = types
|
|
29936
|
+
const contentType = contentTypeForPart(types, source);
|
|
29934
29937
|
if (contentType) await ensureContentTypeOverride(zip, destination, contentType);
|
|
29935
|
-
const xml = await
|
|
29938
|
+
const xml = await sourceZip.file(relationshipsPartFor(source))?.async("string");
|
|
29936
29939
|
if (!xml) return;
|
|
29937
29940
|
const relationships = parseRelationships(xml);
|
|
29938
29941
|
for (const relationship2 of relationships.values()) {
|
|
@@ -29940,7 +29943,7 @@ async function clonePartGraph(options) {
|
|
|
29940
29943
|
const originalTarget = resolvePartPath(source, relationship2.target);
|
|
29941
29944
|
let newTarget = copies.get(originalTarget);
|
|
29942
29945
|
if (!newTarget && shouldClone(relationship2, originalTarget)) {
|
|
29943
|
-
const file =
|
|
29946
|
+
const file = sourceZip.file(originalTarget);
|
|
29944
29947
|
if (!file) throw new Error(`Cannot clone missing package part: ${originalTarget}`);
|
|
29945
29948
|
newTarget = allocate(originalTarget);
|
|
29946
29949
|
copies.set(originalTarget, newTarget);
|
|
@@ -4,6 +4,10 @@ import { type Relationship } from './relationships.js';
|
|
|
4
4
|
export declare function relativePartTarget(basePart: string, targetPart: string): string;
|
|
5
5
|
export interface ClonePartGraphOptions {
|
|
6
6
|
zip: JSZip;
|
|
7
|
+
/** Separate source archive for cross-package imports. Defaults to zip. */
|
|
8
|
+
sourceZip?: JSZip;
|
|
9
|
+
/** Shared source-to-target map, optionally seeded with all imported roots. */
|
|
10
|
+
copies?: Map<string, string>;
|
|
7
11
|
sourcePart: string;
|
|
8
12
|
targetPart: string;
|
|
9
13
|
/** Return false for shared infrastructure or references to other document parts. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone-part-graph.d.ts","sourceRoot":"","sources":["../../opc/clone-part-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAKN,KAAK,YAAY,EACjB,MAAM,iBAAiB,CAAC;AAEzB,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ/E;AAED,MAAM,WAAW,qBAAqB;IACrC,GAAG,EAAE,KAAK,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,WAAW,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACzE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"clone-part-graph.d.ts","sourceRoot":"","sources":["../../opc/clone-part-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAKN,KAAK,YAAY,EACjB,MAAM,iBAAiB,CAAC;AAEzB,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ/E;AAED,MAAM,WAAW,qBAAqB;IACrC,GAAG,EAAE,KAAK,CAAC;IACX,0EAA0E;IAC1E,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,WAAW,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACzE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA8CjG"}
|
package/dist/opc/index.cjs
CHANGED
|
@@ -312,10 +312,13 @@ function relativePartTarget(basePart, targetPart) {
|
|
|
312
312
|
}
|
|
313
313
|
async function clonePartGraph(options) {
|
|
314
314
|
const { zip, sourcePart, targetPart, shouldClone } = options;
|
|
315
|
-
const
|
|
316
|
-
const
|
|
315
|
+
const sourceZip = options.sourceZip ?? zip;
|
|
316
|
+
const copies = options.copies ?? /* @__PURE__ */ new Map();
|
|
317
|
+
copies.set(sourcePart, targetPart);
|
|
318
|
+
const types = parseContentTypes(await sourceZip.file("[Content_Types].xml")?.async("string"));
|
|
317
319
|
const reserved = new Set(Object.keys(zip.files));
|
|
318
320
|
reserved.add(targetPart);
|
|
321
|
+
for (const target of copies.values()) reserved.add(target);
|
|
319
322
|
const allocate = (source) => {
|
|
320
323
|
const match = /^(?<stem>.*?)(?:\d+)?(?<extension>\.[^/.]+)$/u.exec(source);
|
|
321
324
|
const stem = match?.groups?.stem ?? source;
|
|
@@ -327,9 +330,9 @@ async function clonePartGraph(options) {
|
|
|
327
330
|
return path;
|
|
328
331
|
};
|
|
329
332
|
const copyRelationships = async (source, destination) => {
|
|
330
|
-
const contentType = types
|
|
333
|
+
const contentType = contentTypeForPart(types, source);
|
|
331
334
|
if (contentType) await ensureContentTypeOverride(zip, destination, contentType);
|
|
332
|
-
const xml = await
|
|
335
|
+
const xml = await sourceZip.file(relationshipsPartFor(source))?.async("string");
|
|
333
336
|
if (!xml) return;
|
|
334
337
|
const relationships = parseRelationships(xml);
|
|
335
338
|
for (const relationship of relationships.values()) {
|
|
@@ -337,7 +340,7 @@ async function clonePartGraph(options) {
|
|
|
337
340
|
const originalTarget = resolvePartPath(source, relationship.target);
|
|
338
341
|
let newTarget = copies.get(originalTarget);
|
|
339
342
|
if (!newTarget && shouldClone(relationship, originalTarget)) {
|
|
340
|
-
const file =
|
|
343
|
+
const file = sourceZip.file(originalTarget);
|
|
341
344
|
if (!file) throw new Error(`Cannot clone missing package part: ${originalTarget}`);
|
|
342
345
|
newTarget = allocate(originalTarget);
|
|
343
346
|
copies.set(originalTarget, newTarget);
|
package/dist/opc/index.mjs
CHANGED
|
@@ -306,10 +306,13 @@ function relativePartTarget(basePart, targetPart) {
|
|
|
306
306
|
}
|
|
307
307
|
async function clonePartGraph(options) {
|
|
308
308
|
const { zip, sourcePart, targetPart, shouldClone } = options;
|
|
309
|
-
const
|
|
310
|
-
const
|
|
309
|
+
const sourceZip = options.sourceZip ?? zip;
|
|
310
|
+
const copies = options.copies ?? /* @__PURE__ */ new Map();
|
|
311
|
+
copies.set(sourcePart, targetPart);
|
|
312
|
+
const types = parseContentTypes(await sourceZip.file("[Content_Types].xml")?.async("string"));
|
|
311
313
|
const reserved = new Set(Object.keys(zip.files));
|
|
312
314
|
reserved.add(targetPart);
|
|
315
|
+
for (const target of copies.values()) reserved.add(target);
|
|
313
316
|
const allocate = (source) => {
|
|
314
317
|
const match = /^(?<stem>.*?)(?:\d+)?(?<extension>\.[^/.]+)$/u.exec(source);
|
|
315
318
|
const stem = match?.groups?.stem ?? source;
|
|
@@ -321,9 +324,9 @@ async function clonePartGraph(options) {
|
|
|
321
324
|
return path;
|
|
322
325
|
};
|
|
323
326
|
const copyRelationships = async (source, destination) => {
|
|
324
|
-
const contentType = types
|
|
327
|
+
const contentType = contentTypeForPart(types, source);
|
|
325
328
|
if (contentType) await ensureContentTypeOverride(zip, destination, contentType);
|
|
326
|
-
const xml = await
|
|
329
|
+
const xml = await sourceZip.file(relationshipsPartFor(source))?.async("string");
|
|
327
330
|
if (!xml) return;
|
|
328
331
|
const relationships = parseRelationships(xml);
|
|
329
332
|
for (const relationship of relationships.values()) {
|
|
@@ -331,7 +334,7 @@ async function clonePartGraph(options) {
|
|
|
331
334
|
const originalTarget = resolvePartPath(source, relationship.target);
|
|
332
335
|
let newTarget = copies.get(originalTarget);
|
|
333
336
|
if (!newTarget && shouldClone(relationship, originalTarget)) {
|
|
334
|
-
const file =
|
|
337
|
+
const file = sourceZip.file(originalTarget);
|
|
335
338
|
if (!file) throw new Error(`Cannot clone missing package part: ${originalTarget}`);
|
|
336
339
|
newTarget = allocate(originalTarget);
|
|
337
340
|
copies.set(originalTarget, newTarget);
|